diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots.png b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots.png new file mode 100644 index 00000000..ce8e12dc Binary files /dev/null and b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots.png differ diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/failed.png b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/failed.png new file mode 100644 index 00000000..1da677b4 Binary files /dev/null and b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/failed.png differ diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/headless_0.png b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/headless_0.png new file mode 100644 index 00000000..f6a59c6d Binary files /dev/null and b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/headless_0.png differ diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/headless_1.png b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/headless_1.png new file mode 100644 index 00000000..b0e3987f Binary files /dev/null and b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/headless_1.png differ diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/headless_2.png b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/headless_2.png new file mode 100644 index 00000000..59231533 Binary files /dev/null and b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/headless_2.png differ diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/initialize_0.png b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/initialize_0.png new file mode 100644 index 00000000..42b0d989 Binary files /dev/null and b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/initialize_0.png differ diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/initialize_1.png b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/initialize_1.png new file mode 100644 index 00000000..826c0f3e Binary files /dev/null and b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/initialize_1.png differ diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/initialize_2.png b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/initialize_2.png new file mode 100644 index 00000000..d2bd37ef Binary files /dev/null and b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/initialize_2.png differ diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/initialize_3.png b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/initialize_3.png new file mode 100644 index 00000000..76513d5f Binary files /dev/null and b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/initialize_3.png differ diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/initialize_4.png b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/initialize_4.png new file mode 100644 index 00000000..6580419b Binary files /dev/null and b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/initialize_4.png differ diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/installation_default_program.png b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/installation_default_program.png new file mode 100644 index 00000000..2eaf8796 Binary files /dev/null and b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/installation_default_program.png differ diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/installation_urcaps.png b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/installation_urcaps.png new file mode 100644 index 00000000..a4c06bc6 Binary files /dev/null and b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/installation_urcaps.png differ diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/program_urcaps.png b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/program_urcaps.png new file mode 100644 index 00000000..904add53 Binary files /dev/null and b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/program_urcaps.png differ diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/settings_network.png b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/settings_network.png new file mode 100644 index 00000000..6342b7dd Binary files /dev/null and b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/settings_network.png differ diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/settings_remote_control.png b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/settings_remote_control.png new file mode 100644 index 00000000..b5388a4b Binary files /dev/null and b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/settings_remote_control.png differ diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/settings_urcaps.png b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/settings_urcaps.png new file mode 100644 index 00000000..f1bbc1b3 Binary files /dev/null and b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/universal_robots/settings_urcaps.png differ diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/universal_robots.mdx b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/universal_robots.mdx new file mode 100644 index 00000000..1a63bde1 --- /dev/null +++ b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/universal_robots.mdx @@ -0,0 +1,216 @@ + + + + + +
+
+
+ +
+
+
+ +```yaml +manipulators: + arms: + - model: universal_robots + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ur_type: ur5e + robot_ip: 192.168.131.40 + headless: false +``` +
+ +#### Package and Setup +The Universal Robots arms use the `ur_description` and `ur_driver` ROS 2 Packages. The description and driver are open source, maintained by Universal Robots, and are hosted on GitHub. Refer to the [description repository](https://github.com/UniversalRobots/Universal_Robots_ROS2_Description) and [driver repository](https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver). + +For more specifics on the way Clearpath's configuration system adds the arm to the robot description, see the [description file](https://github.com/clearpathrobotics/clearpath_common/blob/humble/clearpath_manipulators_description/urdf/arm/universal_robots.urdf.xacro). Note, all parameters to the `xacro:macro universal_robots` can be passed through the `robot.yaml` entry above. For examples, read the sections below. + + +#### Teach Pendant Setup +The following sub-sections will cover the standard UR teach pendant setup, but with the specific Clearpath parameters. For the UR instructions see: [**Setting up a UR robot for ur_robot_driver**](https://docs.universal-robots.com/Universal_Robots_ROS2_Documentation/doc/ur_robot_driver/ur_robot_driver/doc/installation/robot_setup.html) and [**Installing a URCap on a e-Series robot**](https://docs.universal-robots.com/Universal_Robots_ROS2_Documentation/doc/ur_robot_driver/ur_robot_driver/doc/installation/install_urcap_e_series.html). + +##### Networking Settings +At Clearpath, we use the `192.168.131.x` subnet and assign manipulators to the range `192.168.131.40-49`. Therefore, when setting up a UR arm, we encourage the use of the `192.168.131.40` address. + +Navigate to the **Settings/System/Networking** page of the UR teach pendant and set the following: + +
+
+ +
+
+ +##### URCap +In order to control the arm from an external device, the `External Control` URCap needs to be setup. You can find the latest `externalcontrol-x.x.x.urcap` in its [repository](https://github.com/UniversalRobots/Universal_Robots_ExternalControl_URCap/releases). Install it by adding it to the `programs` folder in the `/`, root directory of the arm's control box. Use a USB stick or `scp`. + +Navigate to the **Settings/System/URCaps** page to install the URCap. Note, you will be prompted and must restart before using the URCap. +
+
+ +
+
+ +Navigate to the **Installation/URCaps** page to configure the IP address and hostname of the external device. The standard Clearpath robot computer IP address is `192.168.131.40`. Each robot has its own hostname, we will use `cpr-a300-0000` as a placeholder: +
+
+ +
+
+ +##### External Control Program +Once the URCap has been installed and configured, a program that launches the **ExternalControl** task needs to be created and set as default. + +Begin by navigating to the **Programs/URCap** section, make sure the program is empty except for the addition of the **ExternalControl** task. Save the program as `external_control.urp`: +
+
+ +
+
+ +Now, set the program as default so that it is automatically loaded and ready to run on start-up. Navigate to the **Installation/General/Startup** page and set the `external_control.urp` program as the default: +
+
+ +
+
+ + +##### Initializing the Arm +At start up, the arm needs to be turned on and initialized. Press the button in the bottom left corner which will bring-up the arm start-up sequence window. Follow the instructions to initialize the arm: + + + + + + + + + + + + + + +
+
+
+ +
+
+
+
+
+ +
+
+
+
+
+ +
+
+
+
+
+ +
+
+
+
+
+ +
+
+
+ +Once the robot is in normal mode, you can proceed to initialize the external control program. + + +#### Standard Initialization (Recommended) +At start up, the robot computer will launch the arm's controller using the `clearpath-manipulators.service`. Once the arm is on and initialized through the teach pendant, start the `external_control` program, which will begin communication with the ROS driver. + +Start the program by pressing the play button on the **Run** page. + +##### Troubleshooting +If the following error pop-up window appears, then ensure that the arm's URCap configuration matches the robot's computer and that the robot's computer is able to ping the arm. The error also indicates that the ROS driver is not currently running or has been stopped. Restart the `clearpath-manipulators.service` and try again: +```yaml +sudo systemctl stop clearpath-manipulators.service +sudo systemctl start clearpath-manipulators.service +``` + +
+
+ +
+
+ + +#### Headless Initialization +If the arm has been setup to accept external control by surrendering manual control in the teach pendant, then it is possible to bypass the manual initialization of the UR program on the tablet. If this is the case, make sure the arm has been turned on and initialized through the teach pendant, then set, `headless: true` in the `robot.yaml`. This will restart the services and the arm should connect automatically. + +##### Setup +The headless setup is not recommended as it is more complicated, however it exposes the entire teach pendant's functionality to the ROS interface, and thus, provides experienced ROS users with the ability to detect arm faults, clear faults, and restart the arm programmatically. + +To begin the setup, make sure that remote control is enabled in the **Settings/System/Remote Control** page: + +
+
+ +
+
+ +To enter **Remote Control** mode, first put the teach pendant in **Automatic**: +
+
+ +
+
+ +Then, you will be able to switch from **Automatic** to **Remote Control**: +
+
+ +
+
+
+
+ +
+
+ +In this mode, you will be unable to interface with the arm directly from the tablet. Instead, all commands must be sent by the external device. You can restore manual control by following the steps above in reverse. + +#### Parameter: Device IP +The `robot_ip` must be set to match the networking settings of the arm's control box. By default, we use the `192.168.131.40` address. + +#### Parameter: UR Type +The `ur_type` parameter can be modified to change the type of the arm. By default, it is set to `ur5e`. But, it is critical that it is changed to match the real arm type. The following types are supported: `ur3`, `ur3e`, `ur5`, `ur5e`, `ur10`, `ur10e`, `ur16e`, `ur20`, `ur30`. + +#### Parameter: Calibration Parameters +By default, the default kinematics parameter file is passed to the arm's ROS controller. Because each arm has it's own measurable offsets, it is likely that without updating this calibration file the arm's movements will not be as accurate as could be. Therefore, use the [`ur_calibration`](https://docs.universal-robots.com/Universal_Robots_ROS2_Documentation/doc/ur_robot_driver/ur_robot_driver/doc/installation/robot_setup.html#extract-calibration-information) package to obtain the calibration parameter file. + +```bash +ros2 launch ur_calibration calibration_correction.launch.py robot_ip:= target_filename:="${HOME}/my_robot_calibration.yaml" +``` + +Then, in the entry to the configuration file, pass in the path to the calibrated kinematics file. +```yaml +manipulators: + arms: + - model: universal_robots + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ur_type: ur5e # ur3, ur3e, ur5, ur5e, ur10, ur10e, ur16e, ur20, ur30 + robot_ip: 192.168.131.40 + headless: false + kinematics_parameters_file: "/path/to/my_robot_calibration.yaml" +``` +Note, you can also pass in substitution arguments: +```yaml + kinematics_parameters_file: "$(find package_name)/path/to/my_robot_calibration.yaml" +``` diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/sensors/axis_camera.mdx b/docs_versioned_docs/version-ros2humble/components/yaml/sensors/axis_camera.mdx new file mode 100644 index 00000000..f4f0b59c --- /dev/null +++ b/docs_versioned_docs/version-ros2humble/components/yaml/sensors/axis_camera.mdx @@ -0,0 +1,112 @@ + + + + + +
+
+
+ +
+
+
+ +```yaml +camera: + - model: axis_camera + urdf_enabled: true + launch_enabled: true + parent: base_link + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ros_parameters: + axis_camera: + device_type: dome_ptz + + hostname: "192.168.0.90" + http_port: 80 + username: "root" + password: "" + camera_info_url: "" + use_encrypted_password : False + camera : 1 + + width: 640 + height: 480 + fps: 20 + tf_prefix: "axis" + + ptz: True + min_pan: -3.141592653589793 + max_pan: 3.141592653589793 + min_tilt: 0.0 + max_tilt: 1.5707963267948966 + min_zoom: 1 + max_zoom: 24 + max_pan_speed: 2.61 + max_tilt_speed: 2.61 + + ptz_teleop: True + button_enable_pan_tilt : -1 + button_enable_zoom : -1 + axis_pan : 3 + axis_tilt : 4 + invert_tilt : False + axis_zoom_in: 5 + axis_zoom_out: 2 + zoom_in_offset: -1.0 + zoom_out_offset: -1.0 + zoom_in_scale: -0.5 + zoom_out_scale: 0.5 + scale_pan : 2.61 + scale_tilt : 2.61 + scale_zoom : 100.0 + + ir: False + defog: False + wiper: False +``` +
+ +#### Package and Setup +The Axis cameras use the `axis_camera` ROS 2 driver. The driver is open source, maintained by the ROS Drivers community, and hosted on [GitHub](https://github.com/ros-drivers/axis_camera). + +For specifics on the way Clearpath's configuration system launches the camera, see the Axis Camera [launch file](https://github.com/clearpathrobotics/clearpath_robot/blob/main/clearpath_sensors/launch/axis_camera.launch.py) and the [default parameter file](https://github.com/clearpathrobotics/clearpath_robot/blob/main/clearpath_sensors/config/axis_camera.yaml) in `clearpath_sensors`. + +#### Device Type +The `device_type` parameter must be set accurately to successfully launch the node. Supported `device_type` values are: +- `q62`: the Axis Q62 camera +- `dome_ptz`: any Axis PTZ dome camera +- `dome_fixed`: any fixed-position dome camera + +#### Network Connection +Axis cameras communicate over HTTP. The `hostname` parameter specifies either the resolvable hostname or IP address of the camera. By default Axis cameras use port 80 for their HTTP interface, but if this has been reconfigured on the camera the `http_port` parameter should be used to specify the port. + +The `username` and `password` parameters should be set to allow the ROS node to authenticate to the camera. The specified user must have permission to control the camera's PTZ position. Refer to the Axis camera's web setup tool for information on creating and configuring users on the camera. + +Some newer Axis cameras require the use of encrypted passwords for authentication. If this is required, set `use_encrypted_password` to `True`. Some older Axis cameras do not support encrypted passwords. + +The `camera` parameter is an integer in the range 1-4, used to specify which camera at the given IP address/hostname is being controlled. This is only necessary if a multi-camera controller is being used, such as the [Axis F34](https://www.axis.com/products/axis-f34-surveillance-system/). + +#### ROS Image and TF configuration +The resolution and framerate of the images published by the driver can be specified with the `height`, `width`, and `fps` parameters. + +The `tf_prefix` parameter specifies the prefix added to the camera model's frames in the URDF. The camera model's root link is `${tf_prefix}_base_link`, and the optical frame is `${tf_prefix}_camera_link`. If multiple cameras are specified in `robot.yaml` the `tf_prefix` parameter must be unique to each camera. + +#### PTZ Configuration +Pan and tilt limits can be specified in radians by using the `max_pan`, `min_pan`, `max_tilt` and `min_tilt` parameters. Pan and tilt speed are expressed in rad/s. + +Zoom range is expressed in zoon factors. For example, a camera with a 24x optical zoom should specify `min_zoom` as `1` and `max_zoom` as `24`. + +If the camera is a fixed-lens camera, set `ptz` to `False`. All PTZ and PTZ teleop parameters will be ignored if `ptz` is `False`. + +#### PTZ Teleop Configuration +If `ptz_teleop` is `True` the `axis_camera` driver will subscribe to the robot's `joy` controller input, allowing the camera to be controlled via the game controller. The default parameters are configured for a Playstation 4/Dualshock family controller: +- Right thumbstick controls pan & tilt (`axis_pan` and `axis_tilt`). The pitch axis may be inverted by setting `invert_tilt` to `True` +- Left analogue trigger zooms out (`axis_zoom_in`) +- Right analogue trigger zooms in (`axis_zoom_out`) + +For additional details on configuring PTZ teleoperation, please refer to the `axis_camera` package [on github](https://github.com/ros-drivers/axis_camera). + +#### Q62-Specfic Features +The Axis Q62 camera features a wiper, infrared/night-vision mode, and a defogger. Services to control these features can be enabled by setting the `wiper`, `ir`, and `defog` parameters to `True`. diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/sensors/img/axis_camera.png b/docs_versioned_docs/version-ros2humble/components/yaml/sensors/img/axis_camera.png new file mode 100644 index 00000000..727a0d36 Binary files /dev/null and b/docs_versioned_docs/version-ros2humble/components/yaml/sensors/img/axis_camera.png differ diff --git a/docs_versioned_docs/version-ros2humble/robots/accessories/sensors/cameras/axis_m5525_e.mdx b/docs_versioned_docs/version-ros2humble/robots/accessories/sensors/cameras/axis_m5525_e.mdx index 2961ab1c..cfb30a20 100644 --- a/docs_versioned_docs/version-ros2humble/robots/accessories/sensors/cameras/axis_m5525_e.mdx +++ b/docs_versioned_docs/version-ros2humble/robots/accessories/sensors/cameras/axis_m5525_e.mdx @@ -4,6 +4,7 @@ sidebar_position: 2 --- import Support from "/components/support.mdx"; +import YAML from "/docs_versioned_docs/version-ros2humble/components/yaml/sensors/axis_camera.mdx";
+ +
+ +## Item Numbers + +| Description | CPR Item | Sales Kit | Installation Kit, With Fasteners | +| :------------------ | :------------------------------------------------------: | :-------: | :------------------------------: | +| Axis Q62 sensor | 030647 | n/a | n/a | + +--- + +## Specifications + +### M5525-E + +| Description | Value | +| :-------------------------- | :------------------- | +| Mass, Camera | 8.7kg | +| Voltage, Minimum | PoE, 20 V | +| Voltage, Maximum | PoE, 28 V | +| Voltage, Sensor | PoE, 24 V | +| Power, Average | 16W | +| Data | Ethernet, 100Mbit/s | +| View, Horizontal | 68.3° - 2.2° | +| View, Vertical | 37° - 1.3° | +| Ingress Protection, Solids | 6 | +| Ingress Protection, Liquids | 6 | +| Operating Temperature, Min | -50°C | +| Operating Temperature, Max | 50°C | + +--- + +## Software Bringup + +This sensor is not currently included in the Clearpath Robotics robot package but may be in the future. +If you purchased this sensor with your Clearpath robot, we will install the necessary ROS packages and configuration details on the robot's computer. + +Refer to this page's Further Reading section for more details. + +--- + +## Troubleshooting + + + +--- + +## Further Reading + +1. [Datasheet](/assets/pdf/clearpath_robotics_030647-TDS1.pdf) +2. [Axis website](https://www.axis.com/products/axis-q6225-le) +3. [ROS webpage](http://wiki.ros.org/axis_camera) +4. [ROS tutorial](http://wiki.ros.org/axis_camera/Tutorials/SettingUpAxisNetworkCamera) +5. [GitHub](https://github.com/ros-drivers/axis_camera) diff --git a/docs_versioned_docs/version-ros2humble/robots/accessories/sensors/cameras/flir_blackfly_s.mdx b/docs_versioned_docs/version-ros2humble/robots/accessories/sensors/cameras/flir_blackfly_s.mdx index f31c090e..5dce2260 100644 --- a/docs_versioned_docs/version-ros2humble/robots/accessories/sensors/cameras/flir_blackfly_s.mdx +++ b/docs_versioned_docs/version-ros2humble/robots/accessories/sensors/cameras/flir_blackfly_s.mdx @@ -1,6 +1,6 @@ --- title: FLIR Blackfly S -sidebar_position: 3 +sidebar_position: 4 --- import Support from "/components/support.mdx"; diff --git a/docs_versioned_docs/version-ros2humble/robots/accessories/sensors/cameras/flir_ladybug5p.mdx b/docs_versioned_docs/version-ros2humble/robots/accessories/sensors/cameras/flir_ladybug5p.mdx index 9f56a53e..0a172c2e 100644 --- a/docs_versioned_docs/version-ros2humble/robots/accessories/sensors/cameras/flir_ladybug5p.mdx +++ b/docs_versioned_docs/version-ros2humble/robots/accessories/sensors/cameras/flir_ladybug5p.mdx @@ -1,6 +1,6 @@ --- title: FLIR Ladybug5+ -sidebar_position: 4 +sidebar_position: 5 --- import Support from "/components/support.mdx"; diff --git a/docs_versioned_docs/version-ros2humble/robots/accessories/sensors/cameras/occam_omni_60.mdx b/docs_versioned_docs/version-ros2humble/robots/accessories/sensors/cameras/occam_omni_60.mdx index 1c23a41a..e4af277d 100644 --- a/docs_versioned_docs/version-ros2humble/robots/accessories/sensors/cameras/occam_omni_60.mdx +++ b/docs_versioned_docs/version-ros2humble/robots/accessories/sensors/cameras/occam_omni_60.mdx @@ -1,6 +1,6 @@ --- title: Occam Omni 60 -sidebar_position: 5 +sidebar_position: 6 --- import Support from "/components/support.mdx"; diff --git a/docs_versioned_docs/version-ros2humble/robots/accessories/sensors/cameras/realsense_d435.mdx b/docs_versioned_docs/version-ros2humble/robots/accessories/sensors/cameras/realsense_d435.mdx index 1d1fd29a..1269c401 100644 --- a/docs_versioned_docs/version-ros2humble/robots/accessories/sensors/cameras/realsense_d435.mdx +++ b/docs_versioned_docs/version-ros2humble/robots/accessories/sensors/cameras/realsense_d435.mdx @@ -1,6 +1,6 @@ --- title: RealSense D435 -sidebar_position: 6 +sidebar_position: 7 --- import Support from "/components/support.mdx"; diff --git a/docs_versioned_docs/version-ros2humble/robots/accessories/sensors/cameras/stereolabs_zed_2.mdx b/docs_versioned_docs/version-ros2humble/robots/accessories/sensors/cameras/stereolabs_zed_2.mdx index 59404302..e3dca986 100644 --- a/docs_versioned_docs/version-ros2humble/robots/accessories/sensors/cameras/stereolabs_zed_2.mdx +++ b/docs_versioned_docs/version-ros2humble/robots/accessories/sensors/cameras/stereolabs_zed_2.mdx @@ -1,6 +1,6 @@ --- title: Stereolabs Zed 2 -sidebar_position: 7 +sidebar_position: 8 --- import Support from "/components/support.mdx"; diff --git a/docs_versioned_docs/version-ros2humble/ros/config/services.mdx b/docs_versioned_docs/version-ros2humble/ros/config/services.mdx index b5148174..e3dd53b3 100644 --- a/docs_versioned_docs/version-ros2humble/ros/config/services.mdx +++ b/docs_versioned_docs/version-ros2humble/ros/config/services.mdx @@ -24,6 +24,10 @@ in Rviz, and get platform data. This service can be stopped or started without i The `clearpath-sensors` service launches the `sensors-service.launch.py` file found under `/etc/clearpath/sensors/launch/`. This will launch any sensors defined in the robot YAML. This service can be stopped or started without interrupting the platform service. +### Clearpath Manipulators + +The `clearpath-manipulators` service launched the `manipulators-service.launch.py` file generated to `/etc/clearpath/manipulators/launch`. This service will launch a secondary `controller_manager` with the hardware interfaces and controllers required by the manipulators defined in the robot YAML. Additionally, it will launch **MoveIt!** with the default configuration for all manipulators. This service can be stopped or started without interrupting the platform service, allowing for the arms controllers to fail without compromising the ability for the platform to drive. + ### Clearpath Robot The `clearpath-robot` service is the "parent" service of `clearpath-platform` and `clearpath-sensors`. If it is restarted, then both the platform and sensors services diff --git a/docs_versioned_docs/version-ros2humble/ros/config/yaml/manipulators.mdx b/docs_versioned_docs/version-ros2humble/ros/config/yaml/manipulators.mdx index b9a3ab6e..b9b0c899 100644 --- a/docs_versioned_docs/version-ros2humble/ros/config/yaml/manipulators.mdx +++ b/docs_versioned_docs/version-ros2humble/ros/config/yaml/manipulators.mdx @@ -11,6 +11,7 @@ import KinovaGen37Dof from "/docs_versioned_docs/version-ros2humble/components/y import Kinova2FLite from "/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_2f_lite.mdx"; import Robotiq2F85 from "/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/robotiq_2f_85.mdx"; import Robotiq2F140 from "/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/robotiq_2f_140.mdx"; +import UniversalRobots from "/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/universal_robots.mdx"; Manipulators include all robotic arms and grippers. Unlike sensors, manipulators are not controlled by external drivers. Instead, a hardware controller must be loaded into the controller manager to handle the joint interface to move the specific manipulator joints. @@ -39,3 +40,7 @@ Every arm can have at most one gripper, and grippers can only be added to an exi
+ +## Universal Robots {#universal-robots} + +
diff --git a/docs_versioned_docs/version-ros2humble/ros/config/yaml/platform/battery.mdx b/docs_versioned_docs/version-ros2humble/ros/config/yaml/platform/battery.mdx index 591fc3fb..655ba028 100644 --- a/docs_versioned_docs/version-ros2humble/ros/config/yaml/platform/battery.mdx +++ b/docs_versioned_docs/version-ros2humble/ros/config/yaml/platform/battery.mdx @@ -52,9 +52,6 @@ For systems without a BMS, the state of charge should be treated as a rough esti - - - diff --git a/docs_versioned_docs/version-ros2humble/ros/ros.mdx b/docs_versioned_docs/version-ros2humble/ros/ros.mdx index 1c3fe7e4..10aee10f 100644 --- a/docs_versioned_docs/version-ros2humble/ros/ros.mdx +++ b/docs_versioned_docs/version-ros2humble/ros/ros.mdx @@ -31,9 +31,9 @@ of ROS 2 topics and services defined by Clearpath which are used by all supporte | Jackal | J100 | Yes (As of 0.1) | Coming | | Warthog | W200 | Yes (As of 0.2) | Coming | | Dingo | DD100 | Yes (As of 0.3) | Coming | -| | DO100 | Coming | Coming | +| | DO100 | Yes (As of 1.0) | Coming | | | DD150 | Yes (As of 0.3) | Coming | -| | DO150 | Coming | Coming | +| | DO150 | Yes (As of 1.0) | Coming | | Ridgeback | R100 | Yes (As of 0.3) | Coming | | Boxer | B250 | No | No | @@ -61,7 +61,11 @@ sensors that have been validated by Clearpath. | [Garmin GPS 18x](../robots/accessories/sensors/gps/garmin_gps_18x.mdx) | GPS | Debian | [nmea_navsat_driver](https://github.com/ros-drivers/nmea_navsat_driver/tree/ros2) | | NovAtel SMART6 and SMART7 | GPS | Debian | [nmea_navsat_driver](https://github.com/ros-drivers/nmea_navsat_driver/tree/ros2) | | [Swift Navigation Duro](../robots/accessories/sensors/gps/swift_navigation_duro.mdx) | GPS | Source | [duro_gps_driver](https://github.com/szenergy/duro_gps_driver/tree/ros2-humble) | +| [Axis F1035-E](../robots/accessories/sensors/cameras/axis_f1035_e.mdx) | Camera | Debian | [axis_camera](https://github.com/ros-drivers/axis_camera.git) | +| [Axis M5525-E](../robots/accessories/sensors/cameras/axis_m5525_e.mdx) | Camera | Debian | [axis_camera](https://github.com/ros-drivers/axis_camera.git) | +| [Axis Q6225-LE-E](../robots/accessories/sensors/cameras/axis_q6225_le.mdx) | Camera | Debian | [axis_camera](https://github.com/ros-drivers/axis_camera.git) | | [Flir Blackfly S](../robots/accessories/sensors/cameras/flir_blackfly_s.mdx) | Camera | Debian | [flir_camera_driver](https://github.com/ros-drivers/flir_camera_driver/tree/humble-devel) | +| [Flir Ladybug 5P](../robots/accessories/sensors/cameras/flir_ladybug5p.mdx) | Camera | Debian | [flir_camera_driver](https://github.com/ros-drivers/flir_camera_driver/tree/humble-devel) | | [Intel Realsense D435](../robots/accessories/sensors/cameras/realsense_d435.mdx) | Depth Camera | Debian | [realsense-ros](https://github.com/IntelRealSense/realsense-ros/tree/ros2-development) | | [Stereolabs Zed 2](../robots/accessories/sensors/cameras/stereolabs_zed_2.mdx) | Depth Camera | Source | [zed-ros2-wrapper](https://github.com/stereolabs/zed-ros2-wrapper.git) | @@ -74,6 +78,26 @@ Debian drivers are automatically installed on robots as part of the ## Changelog +### [1.0] 2024-11-27 + +#### New Features + - DO100 and DO150 Platform + - Added support for Ridgeback and Dingo to `clearpath_nav2_demos` + - Added support Axis cameras + - Added pointcloud support to OakD + - Updated CAN interface for Pumas + - Updated `clearpath_platform_msgs` + - Added `clearpath_motor_msgs` + - Removed `clearpath_platform` and `clearpath_hardware_interfaces` to `clearpath_robot` + - Added vcan service + - Move `battery_state` to `clearpath_hardware_interfaces` + - Add clearpath_motor_drivers, puma_motor_driver + - Play simulation automatically + +#### Fixed + - Jackal driving performance issues at high speeds + - Fixed issues with setting Domain ID on MCU robots + ### [0.3.0] 2024-09-10 :::warning The `StopStatus` message in `clearpath_msgs` has an additional field in the `0.3.0` release. This message type is used by the MicroROS enabled, robot MCU; therefore, the firmware must be updated on all robot platforms, except the A200. See, the [robot installation section](./installation/robot.mdx#firmware-update) for information on updating the firmware. diff --git a/static/assets/pdf/clearpath_robotics_030647-TDS1.pdf b/static/assets/pdf/clearpath_robotics_030647-TDS1.pdf new file mode 100644 index 00000000..d528b964 Binary files /dev/null and b/static/assets/pdf/clearpath_robotics_030647-TDS1.pdf differ diff --git a/static/img/sensor_images/sensor_axis_q6225_le.png b/static/img/sensor_images/sensor_axis_q6225_le.png new file mode 100644 index 00000000..1972baed Binary files /dev/null and b/static/img/sensor_images/sensor_axis_q6225_le.png differ