Skip to content

Commit

Permalink
Merge pull request #557 from iRobotEducation/shamlian/release_H.2.5
Browse files Browse the repository at this point in the history
Release H.2.5
  • Loading branch information
shamlian authored Feb 27, 2024
2 parents 1afef26 + 27bbba8 commit e439da3
Show file tree
Hide file tree
Showing 5 changed files with 110 additions and 4 deletions.
62 changes: 62 additions & 0 deletions docs/releases/h_2_5.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# iRobot® Create® 3 Release H.2.5
[[Click here to download release H.2.5]](https://edu.irobot.com/create3/firmware/H.2.5)

!!! warning
When using Fast-DDS, startup times are about 30s longer than in our Galactic release.

## This release is running ROS 2 Humble with the following interface library versions:

- [irobot_create_msgs - 2.1.0](https://github.com/iRobotEducation/irobot_create_msgs/tree/2.1.0)
- [cyclonedds - 0.10.0](https://github.com/eclipse-cyclonedds/cyclonedds/tree/0.10.3)
- [Fast-DDS - 2.6.4](https://github.com/eProsima/Fast-DDS/tree/2.6.4)

## Release Overview
For ROS 2[^1] users, this is a bugfix release.
For iRobot® Education Bluetooth[^2] users, there are no changes.
See below for details.

## Changelog (from H.2.4)
### Core Robot
* Overall
* The robot uses less RAM when idle in this release than in previous releases.
* Webserver
* 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.

### ROS 2
* Library Versions
* Update Cyclone DDS from 0.9.0 to 0.10.3
* Parameters
* 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.
* Add the following ROS 2 parameters to the `/robot_state` node to control (and disable) unnecessary ROS 2 publications to improve robot performance:
* `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.
* `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`.
* `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.
The following topics are affected by this parameter: `/imu`, `/mouse`, `/wheel_status`, `/wheel_ticks`, `/wheel_vels`.
If you are not interested in subscribing to these topics, it's recommended to set this parameter's value to `-1`.
* `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`

As a summary, the best performance can be obtained via
```
robot_state:
ros__parameters:
publish_hazard_msgs: false
publish_odom_tfs: false
raw_kinematics_min_pub_period_ms: -1
```
Note that `publish_odom_tfs: true` is required to interact with the navigation stack.
This new version changes the default timing of some ROS 2 topics to improve the CPU performance.
To restore the previous behavior users can use the following configuration
```
robot_state:
ros__parameters:
hazards_pub_fixed_period_ms: 16
raw_kinematics_min_pub_period_ms: 1
```
[^1]: ROS 2 is governed by Open Robotics.
[^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.
[^3]: All other trademarks mentioned are the property of their respective owners.
6 changes: 3 additions & 3 deletions docs/releases/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ Downloads of a particular version can be found on each individual release page.
## Releases

### Humble

* [H.2.4](../h_2_4) (humble-latest)
* [H.2.5](../h_2_5) (humble-latest, latest)
* [H.2.4](../h_2_4)
* [H.2.3](../h_2_3)
* [H.2.2](../h_2_2)
* [H.2.1](../h_2_1)
Expand All @@ -40,7 +40,7 @@ Downloads of a particular version can be found on each individual release page.
* [H.0.0](../h_0_0)

### Galactic
* [G.5.4](../g_5_4) (galactic-latest, latest)
* [G.5.4](../g_5_4) (galactic-latest)
* [G.5.3](../g_5_3)
* [G.5.2](../g_5_2)
* [G.5.1](../g_5_1)
Expand Down
Binary file added docs/webserver/data/edit-wpa-supp.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
42 changes: 42 additions & 0 deletions docs/webserver/wpa-supp-override.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# iRobot® Create® 3 Webserver - Override wpa_supplicant.conf
The wpa_supplicant override page of the Create® 3 webserver allows the user to replace the normal provisioning workflow by supplying a wpa_supplicant.conf file to the robot.

!!!warning
Please note that this is a beta feature, and as such is not supported by the customer service team.
Please exercise caution, as improper use of beta features may result in an inoperable robot.

![Picture of edit wpa_supplicant.conf page](data/edit-wpa-supp.png)

To access this page, it is necessary to manually navigate to the `/wpa-supp-override` URL on the robot.
This page is not accessible from the "beta menu" because it conflicts with the normal provisioning workflow of the robot in a way that could be confusing if activated by accident.

This page allows the user to directly change `wpa_supplicant.conf` on the robot.
This file is read in ONLY at boot time.
Any other provisioning done through the [normal workflow](../webserver/connect.md) will be ignored.
After pressing "save," the robot must be rebooted for the supplied wpa_supplicant.conf file to be used.
To revert to the normal provisioning workflow, either delete the text of the file from this page, save, and reboot; or factory reset the robot.

Here is an example file:
```
network={
ssid="MyAwesomeNetwork"
psk="$3kr1tP4s$w0rD!"
priority=2
scan_ssid=1
}
network={
ssid=5461686c65656e53686168616e4172656e
psk=e6fc52f4df9d9dfb32b149e3b6afd324d7ecc7db3852b47bb2a953d9aaca8b02
priority=1
scan_ssid=1
}
eapol_version=1
fast_reauth=1
ap_scan=1
filter_ssids=1
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=apps
```

[^1]: All trademarks mentioned are the property of their respective owners.
4 changes: 3 additions & 1 deletion mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ nav:
- Set Wired Subnet: webserver/set-wired-subnet.md
- Override RMW Profile: webserver/rmw-profile-override.md
- Forget Wi-Fi Network: webserver/forget-wifi.md
- Override wpa_supplicant: webserver/wpa-supp-override.md
- About: webserver/about.md
- Setup:
- Connect to Wi-Fi: setup/provision.md
Expand Down Expand Up @@ -131,7 +132,7 @@ nav:
- G.5.2: releases/g_5_2.md
- G.5.3: releases/g_5_3.md
- Humble:
- H.2.4: releases/h_2_4.md
- H.2.5: releases/h_2_5.md
- Older:
- H.0.0: releases/h_0_0.md
- H.1.0: releases/h_1_0.md
Expand All @@ -140,3 +141,4 @@ nav:
- H.2.1: releases/h_2_1.md
- H.2.2: releases/h_2_2.md
- H.2.3: releases/h_2_3.md
- H.2.4: releases/h_2_4.md

0 comments on commit e439da3

Please sign in to comment.