|
| 1 | +# iRobot® Create® 3 Release H.2.5 |
| 2 | +[[Click here to download release H.2.5]](https://edu.irobot.com/create3/firmware/H.2.5) |
| 3 | + |
| 4 | +!!! warning |
| 5 | + When using Fast-DDS, startup times are about 30s longer than in our Galactic release. |
| 6 | + |
| 7 | +## This release is running ROS 2 Humble with the following interface library versions: |
| 8 | + |
| 9 | +- [irobot_create_msgs - 2.1.0](https://github.com/iRobotEducation/irobot_create_msgs/tree/2.1.0) |
| 10 | +- [cyclonedds - 0.10.0](https://github.com/eclipse-cyclonedds/cyclonedds/tree/0.10.3) |
| 11 | +- [Fast-DDS - 2.6.4](https://github.com/eProsima/Fast-DDS/tree/2.6.4) |
| 12 | + |
| 13 | +## Release Overview |
| 14 | +For ROS 2[^1] users, this is a bugfix release. |
| 15 | +For iRobot® Education Bluetooth[^2] users, there are no changes. |
| 16 | +See below for details. |
| 17 | + |
| 18 | +## Changelog (from H.2.4) |
| 19 | +### Core Robot |
| 20 | +* Overall |
| 21 | + * The robot uses less RAM when idle in this release than in previous releases. |
| 22 | +* Webserver |
| 23 | + * Add hidden [beta feature](../../webserver/wpa-supp-override/) to use a user-supplied wpa_supplicant.conf file. Note that this workflow conflicts with the normal provisioning workflow, so it has not been added to the beta menu, so that it is not accessed by accident. |
| 24 | + |
| 25 | +### ROS 2 |
| 26 | +* Library Versions |
| 27 | + * Update Cyclone DDS from 0.9.0 to 0.10.3 |
| 28 | +* Parameters |
| 29 | + * Add ROS 2 parameter `wheels_stop_threshold_sec` to the `/motion_control` node. This parameter controls the amount of time that the robot will keep executing the last provided velocity command (on the `/cmd_vel` topic) before considering it stale and stopping the wheels. Default value is 0.5 seconds. |
| 30 | + * Add the following ROS 2 parameters to the `/robot_state` node to control (and disable) unnecessary ROS 2 publications to improve robot performance: |
| 31 | + * `publish_hazard_msgs`: default `true`. If set to false, the robot will not publish the `/hazard_detection` topic. Disabling this can noticeably reduce the CPU and RAM usage of the robot. |
| 32 | + * `hazards_pub_fixed_period_ms`: default `-1`. This controls whether the robot should publish hazard information even if the hazards are not changing. Set it to `-1` to disable fixed period hazard publications and have hazards be published only when they change. This parameter will be ignored if `publish_hazard_msgs` is set to `false`. |
| 33 | + * `raw_kinematics_min_pub_period_ms`: default `25`. This controls the minimum period at which the robot should publish raw kinematics information. If set to `-1`, it will disable raw kinematics publications. This can noticeably reduce the CPU and RAM usage of the robot. A value of `1` indicates that raw data should be published as soon as they are available. Values higher than `1` will throttle publications and will give some CPU improvement, but won't help RAM usage. |
| 34 | + The following topics are affected by this parameter: `/imu`, `/mouse`, `/wheel_status`, `/wheel_ticks`, `/wheel_vels`. |
| 35 | + If you are not interested in subscribing to these topics, it's recommended to set this parameter's value to `-1`. |
| 36 | + * `publish_odom_tfs`: default `true`. If set to false, the robot will not publish odometry information in the `/tf` topic. This can reduce the CPU and RAM usage of the robot if not needed. Note: this parameter is independent from `raw_kinematics_min_pub_period_ms` |
| 37 | + |
| 38 | + As a summary, the best performance can be obtained via |
| 39 | + ``` |
| 40 | + robot_state: |
| 41 | + ros__parameters: |
| 42 | + publish_hazard_msgs: false |
| 43 | + publish_odom_tfs: false |
| 44 | + raw_kinematics_min_pub_period_ms: -1 |
| 45 | + ``` |
| 46 | +
|
| 47 | + Note that `publish_odom_tfs: true` is required to interact with the navigation stack. |
| 48 | + |
| 49 | + This new version changes the default timing of some ROS 2 topics to improve the CPU performance. |
| 50 | + To restore the previous behavior users can use the following configuration |
| 51 | +
|
| 52 | + ``` |
| 53 | + robot_state: |
| 54 | + ros__parameters: |
| 55 | + hazards_pub_fixed_period_ms: 16 |
| 56 | + raw_kinematics_min_pub_period_ms: 1 |
| 57 | + ``` |
| 58 | +
|
| 59 | +
|
| 60 | +[^1]: ROS 2 is governed by Open Robotics. |
| 61 | +[^2]: The Bluetooth® word mark and logos are registered trademarks owned by Bluetooth SIG, Inc. and any use of such marks by iRobot is under license. |
| 62 | +[^3]: All other trademarks mentioned are the property of their respective owners. |
0 commit comments