diff --git a/docs/releases/h_2_5.md b/docs/releases/h_2_5.md new file mode 100644 index 00000000..e078b53d --- /dev/null +++ b/docs/releases/h_2_5.md @@ -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. \ 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 00000000..0ae404f0 Binary files /dev/null and b/docs/webserver/data/edit-wpa-supp.png differ 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