From 858f1b568d6bf80cf123fdcfd79d336819855603 Mon Sep 17 00:00:00 2001 From: Steven Shamlian Date: Wed, 21 Feb 2024 16:04:41 -0500 Subject: [PATCH 1/2] Release H.2.5 --- docs/releases/h_2_5.md | 49 ++++++++++++++++++++++++++ docs/releases/overview.md | 6 ++-- docs/webserver/data/edit-wpa-supp.png | Bin 0 -> 107970 bytes docs/webserver/wpa-supp-override.md | 42 ++++++++++++++++++++++ mkdocs.yml | 4 ++- 5 files changed, 97 insertions(+), 4 deletions(-) create mode 100644 docs/releases/h_2_5.md create mode 100644 docs/webserver/data/edit-wpa-supp.png create mode 100644 docs/webserver/wpa-supp-override.md diff --git a/docs/releases/h_2_5.md b/docs/releases/h_2_5.md new file mode 100644 index 00000000..64146838 --- /dev/null +++ b/docs/releases/h_2_5.md @@ -0,0 +1,49 @@ +# 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 parameter `/motion_control wheels_stop_threshold_sec` + * Add the following ROS 2 parameters 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. This can noticeably reduce the CPU and RAM usage of the robot. + * `hazards_pub_fixed_period_ms`: default `15`. 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 `1`. 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. Values higher than `1` can still give some CPU improvement, but won't help RAM usage. + * `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 not related to `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. + +[^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. \ No newline at end of file diff --git a/docs/releases/overview.md b/docs/releases/overview.md index 5b1953bc..7d5048de 100644 --- a/docs/releases/overview.md +++ b/docs/releases/overview.md @@ -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) @@ -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) diff --git a/docs/webserver/data/edit-wpa-supp.png b/docs/webserver/data/edit-wpa-supp.png new file mode 100644 index 0000000000000000000000000000000000000000..0ae404f097431102107b39947765e55ead077057 GIT binary patch literal 107970 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 literal 0 HcmV?d00001 diff --git a/docs/webserver/wpa-supp-override.md b/docs/webserver/wpa-supp-override.md new file mode 100644 index 00000000..2099982f --- /dev/null +++ b/docs/webserver/wpa-supp-override.md @@ -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. \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index b88665d3..71b9937d 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -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 @@ -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 @@ -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 From 27bbba8ee92fd812fcc6e26bfccd2e9c084ab2d5 Mon Sep 17 00:00:00 2001 From: Alberto Soragna Date: Wed, 21 Feb 2024 13:21:07 -0800 Subject: [PATCH 2/2] improve h2.5 parameters changelog --- docs/releases/h_2_5.md | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/docs/releases/h_2_5.md b/docs/releases/h_2_5.md index 64146838..e078b53d 100644 --- a/docs/releases/h_2_5.md +++ b/docs/releases/h_2_5.md @@ -26,23 +26,36 @@ See below for details. * Library Versions * Update Cyclone DDS from 0.9.0 to 0.10.3 * Parameters - * Add parameter `/motion_control wheels_stop_threshold_sec` - * Add the following ROS 2 parameters 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. This can noticeably reduce the CPU and RAM usage of the robot. - * `hazards_pub_fixed_period_ms`: default `15`. 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 `1`. 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. Values higher than `1` can still give some CPU improvement, but won't help RAM usage. - * `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 not related to `raw_kinematics_min_pub_period_ms` + * 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: + 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.