From 35d664a2913d1e205cf0f8311e3c82d26dd09026 Mon Sep 17 00:00:00 2001 From: Drew O'Brien Date: Wed, 8 Nov 2023 06:07:19 -0500 Subject: [PATCH 01/14] 0.11.0: Added in a fix where the mission scheduler is missing from the api overview --- docs_outdoornav_user_manual/api/api_overview.mdx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs_outdoornav_user_manual/api/api_overview.mdx b/docs_outdoornav_user_manual/api/api_overview.mdx index 3b69afd0..d9c6d616 100644 --- a/docs_outdoornav_user_manual/api/api_overview.mdx +++ b/docs_outdoornav_user_manual/api/api_overview.mdx @@ -53,7 +53,9 @@ sections, whose details are provided below: by OutdoorNav Software, for use by the client to modify/control the behaviour of the Autonomy. - [Mission Manager API](api_endpoints/mission_manager_api.mdx): The set of [ROS - Services](http://wiki.ros.org/Services) that are used for creating, deleting, and modifying OutdoorNav missions + Services](http://wiki.ros.org/Services) that are used for creating, deleting, and modifying OutdoorNav Missions +- [Mission Scheduler API](api_endpoints/mission_scheduler_api.mdx): The set of [ROS Services](http://wiki.ros.org/Services) + that are used for creating, deleting, and modifying OutdoorNav Mission Schedules - [Definitions](api_endpoints/definitions.mdx): The set of custom [ROS Message](http://wiki.ros.org/Messages), [ROS Service](http://wiki.ros.org/Services), and [ROS From 71aae2365eab2f550770d160d743e8d70c92e606 Mon Sep 17 00:00:00 2001 From: Drew O'Brien Date: Thu, 21 Dec 2023 13:56:30 -0500 Subject: [PATCH 02/14] development-onav-0.11.0: Added in Eula and IndoorNav documentation --- .../indoor_nav_with_outdoor_nav.mdx | 28 ++++++++++++++++++ .../getting_started/system_setup.mdx | 5 +++- .../IndoorNav/ui_indoor_nav.png | Bin 0 -> 984773 bytes 3 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 docs_indoornav_user_manual/using_indoornav/indoor_nav_with_outdoor_nav.mdx create mode 100644 static/img/indoornav_images/IndoorNav/ui_indoor_nav.png diff --git a/docs_indoornav_user_manual/using_indoornav/indoor_nav_with_outdoor_nav.mdx b/docs_indoornav_user_manual/using_indoornav/indoor_nav_with_outdoor_nav.mdx new file mode 100644 index 00000000..4b7d0f6d --- /dev/null +++ b/docs_indoornav_user_manual/using_indoornav/indoor_nav_with_outdoor_nav.mdx @@ -0,0 +1,28 @@ +--- +title: IndoorNav with OutdoorNav +sidebar_label: IndoorNav with OutdoorNav +sidebar_position: 5 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +IndoorNav can be executed through the OutdoorNav software if both are available. +To switch between the modes in OutdoorNav select the 'Navigation Mode' option found +in the hamburger menu. This will navigate to a page that shows the current mode and +provides an option to switch modes. When in IndoorNav mode the user may navigate to +the IndoorNav Web GUI directly or work within the OutdoorNav view as can be seen +below. + +
+
+ +
+
+ +:::note + +When in IndoorNav mode the OutdoorNav Autonomy software is switched off. The UI will +disable OutdoorNav UI features related to Autonomy but will still allow users the +option to view camera streams. + +::: diff --git a/docs_outdoornav_user_manual/getting_started/system_setup.mdx b/docs_outdoornav_user_manual/getting_started/system_setup.mdx index e5062958..ed52d725 100644 --- a/docs_outdoornav_user_manual/getting_started/system_setup.mdx +++ b/docs_outdoornav_user_manual/getting_started/system_setup.mdx @@ -57,7 +57,10 @@ Follow the steps below to connect to the Web UI. The above steps will open the Web UI, which will allow the user to operate the UGV in Manual Mode (teleoperation) or in Autonomous Mode -(missions). +(missions). Upon startup the user will be presented with a page that +shows the End-User License Agreement. This page will be visible each +time the UGV is restarted but only on the first navigation to the page. +The EULA should be reviewed prior to using the system. ## Loading Map Tiles {#loading_map_tiles} diff --git a/static/img/indoornav_images/IndoorNav/ui_indoor_nav.png b/static/img/indoornav_images/IndoorNav/ui_indoor_nav.png new file mode 100644 index 0000000000000000000000000000000000000000..3d91f5ce94d3dcf08c92273dedf0e9f6fd294bf1 GIT binary patch literal 984773 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

H3f{was9;}DOld7+;_B()GWIJyL~e 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

pn<8Y1G{m&oU!S_e$M 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 EYy*==R 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%0AV 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Ý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

kU@->k^qDS%1BUe0oe|Rf7x8i^71mO`^n2~ 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�Yj!T03 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%0Ae;bL)=P9qimMkp&VeaIWj{AMWD!oG6hjV^ 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 z%0A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≷8p!EiPKl(uN(I;-D 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�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≠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

e0SsI4&3k#P4M{))rrK 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 QaGwZ+)93VZPCDHE4`V}K!T Date: Fri, 22 Dec 2023 14:00:03 -0500 Subject: [PATCH 03/14] modify software installation steps for new cli tool use case --- .../software_integration_instructions.mdx | 106 ++++++------------ 1 file changed, 34 insertions(+), 72 deletions(-) diff --git a/docs_outdoornav_user_manual/integration_requirements/software_integration_instructions.mdx b/docs_outdoornav_user_manual/integration_requirements/software_integration_instructions.mdx index 9ee7ab79..3ca4c3ad 100644 --- a/docs_outdoornav_user_manual/integration_requirements/software_integration_instructions.mdx +++ b/docs_outdoornav_user_manual/integration_requirements/software_integration_instructions.mdx @@ -13,66 +13,24 @@ Prior to installing the OutdoorNav software, ensure that you have completed the All the following instructions, unless otherwise specified, are to be run on the OutdoorNav computer. -### Clone OutdoorNav Repository {#clone-install-repo} - -The following repository is required to run the instructions in the subsequent sections. +### Install Command-line Interface Tool (CLI) {#install-cli} {` -cd ~/ -git clone -b ${versions.outdoornav} https://gitlab.clearpathrobotics.com/cpr-outdoornav/cpr_outdoornav_launch.git +sudo apt update +sudo apt install python3-onav-cli `} -For remote installations, please contact Clearpath Robotics customer support in order to obtain the relevant information required to proceed. - -### Install Docker {#install-docker} - -``` bash -cd ~/cpr_outdoornav_launch/scripts/ -./install_docker.sh -``` - -### Configure OutdoorNav Sensors {#configure-outdoornav-sensors} - -Prior to configuring the sensors, ensure that you have measured the position (XYZ) and orientation (RPY) of each of your sensors with respect to the `base_link`. See your results from the [Integration Requirements](hardware_integration_requirements/hardware_integration_requirements.mdx). - -``` bash -cd ~/cpr_outdoornav_launch/scripts/ -./configure_outdoornav.sh -``` - -### Finalize Setup {#final-setup} - -The script in the sections below will reboot the computer it is run on. - -##### UGV Computer - -For installations of the OutdoorNav software on the UGV computer (not a secondary or Starter Kit computer), run the following: - -``` bash -cd ~/cpr_outdoornav_launch/scripts/ -sudo ./setup_computers.sh -``` -##### Secondary or Starter Kit Computer - -Prior to running the script on the secondary or Starter Kit computer, ensure that you have the user and IP of the UGV computer that the secondary/starter kit computer is connected to. Run the following: - -``` bash -cd ~/cpr_outdoornav_launch/scripts/ -sudo ./setup_computers.sh -b -``` - -### Install OutdoorNav Software {#install-outdoornav} +### Install OutdoorNav -``` bash -cd ~/cpr_outdoornav_launch/ -docker compose --profile outdoornav pull -``` + +{` +onav install -k +`} + -:::note -If you are installing the OutdoorNav software on a secondary or Starter Kit computer, you must also complete the [UGV Computer Checklist](platform_computer_checklist.mdx) -::: +where `license_key` is the the license key that you have been assigned. Only one license key can be used per UGV. ### Configure UGV Footprint {#configure-platform-footprint} @@ -86,8 +44,8 @@ If the UGV has sensors and/or parts that protrude outside of the UGV body, then Change the environment variables from the Table below, in the following file: ``` -cd ~/cpr_outdoornav_launch -nano outdoornav_tuning.env +cd /opt/onav//config +nano autonomy.env ``` | Environment Variable | Description | Default | @@ -98,22 +56,27 @@ nano outdoornav_tuning.env | **FOOTPRINT_OFFSET_NEG_Y** | Distance from base_link to the furthest edge of any part/sensor at the right of the robot | -0.35 | +### Start/Stop the OutdoorNav -### Start OutdoorNav +To start up the outdoronav software run: -For standard CPR UGVs (ie. not including Husky Observer), run the following to start OutdoorNav: + +{` +onav start +`} + -``` bash -cd ~/cpr_outdoornav_launch/ # directory with docker-compose.yaml -docker compose --profile outdoornav up -d --build -``` +If you wish to start individual profiles or services, run `onav start -h` to see available profiles/services. -For Husky Observers, run the following to start OutdoorNav: +To stop the OutdoorNav sotfware run: -``` bash -cd ~/cpr_outdoornav_launch/ # directory with docker-compose.yaml -docker compose --profile outdoornav --profile power up -d --build -``` + +{` +onav stop +`} + + +For more information and available ONAV CLI commands, see the [Terminal Interface](../getting_started/terminal_interface.mdx) section. ### Test OutdoorNav Installation @@ -129,7 +92,6 @@ rostopic echo -n 1 /localization/odom # GNSS units rostopic echo /sensors/gps_/fix -rostopic echo /sensors/gps_/vel # IMU (if included) rostopic echo -n 1 /sensors/imu_/data @@ -139,14 +101,14 @@ rostopic echo /sensors/lidar_/pointcloud rostopic echo /sensors/lidar_/scan # Realsense D435 Front (if included) -rostopic echo -n 1 /sensors/stereo_0/pointcloud -rostopic echo -n 1 /sensors/stereo_0/image -rostopic echo -n 1 /sensors/stereo_0/depth/image_rect_raw +rostopic echo -n 1 /sensors/stereo_0/pointcloud --noarr +rostopic echo -n 1 /sensors/stereo_0/image --noarr +rostopic echo -n 1 /sensors/stereo_0/depth/image_rect_raw --noarr # Realsense D435 Rear (if included) -rostopic echo -n 1 /sensors/stereo_1/pointcloud -rostopic echo -n 1 /sensors/stereo_1/image -rostopic echo -n 1 /sensors/stereo_1/depth/image_rect_raw +rostopic echo -n 1 /sensors/stereo_1/pointcloud --noarr +rostopic echo -n 1 /sensors/stereo_1/image --noarr +rostopic echo -n 1 /sensors/stereo_1/depth/image_rect_raw --noarr ``` will be the number of the sensor as it was loaded into the software. Eg. If you have a VLP and an LMS1XX, then the VLP will be lidar_0, and the LMS1XX will be lidar_1. If we only have an LMS1XX, then it would be lidar_0. Ie. the 3D lidars have a higher "priority" and therefore will be loaded first. From 3c77ef764a4ce5987e1c78f0b0727326a6ea378e Mon Sep 17 00:00:00 2001 From: Drew O'Brien Date: Fri, 22 Dec 2023 14:49:21 -0500 Subject: [PATCH 04/14] development-onav-0.11.0: Added in further changes for 0.11.0 --- .../indoor_nav_with_outdoor_nav.mdx | 28 ------------------ docs_outdoornav_user_manual/release_notes.mdx | 24 +++++++++++++++ .../web_user_interface/ui_autonomous_mode.mdx | 23 ++++++++++++++ .../web_user_interface/ui_overview.mdx | 1 + .../user_manual_husky_observer.mdx | 17 ++++++++++- .../ui_indoor_nav.png | Bin 6 files changed, 64 insertions(+), 29 deletions(-) delete mode 100644 docs_indoornav_user_manual/using_indoornav/indoor_nav_with_outdoor_nav.mdx rename static/img/{indoornav_images/IndoorNav => outdoornav_images}/ui_indoor_nav.png (100%) diff --git a/docs_indoornav_user_manual/using_indoornav/indoor_nav_with_outdoor_nav.mdx b/docs_indoornav_user_manual/using_indoornav/indoor_nav_with_outdoor_nav.mdx deleted file mode 100644 index 4b7d0f6d..00000000 --- a/docs_indoornav_user_manual/using_indoornav/indoor_nav_with_outdoor_nav.mdx +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: IndoorNav with OutdoorNav -sidebar_label: IndoorNav with OutdoorNav -sidebar_position: 5 -toc_min_heading_level: 2 -toc_max_heading_level: 4 ---- - -IndoorNav can be executed through the OutdoorNav software if both are available. -To switch between the modes in OutdoorNav select the 'Navigation Mode' option found -in the hamburger menu. This will navigate to a page that shows the current mode and -provides an option to switch modes. When in IndoorNav mode the user may navigate to -the IndoorNav Web GUI directly or work within the OutdoorNav view as can be seen -below. - -

-
- -
-
- -:::note - -When in IndoorNav mode the OutdoorNav Autonomy software is switched off. The UI will -disable OutdoorNav UI features related to Autonomy but will still allow users the -option to view camera streams. - -::: diff --git a/docs_outdoornav_user_manual/release_notes.mdx b/docs_outdoornav_user_manual/release_notes.mdx index 2d3d91ce..caf4f7cc 100644 --- a/docs_outdoornav_user_manual/release_notes.mdx +++ b/docs_outdoornav_user_manual/release_notes.mdx @@ -6,6 +6,30 @@ toc_min_heading_level: 2 toc_max_heading_level: 4 --- +## 0.11.0 + +### New Features + +- Command Line Tool used to install/update/manage OutdoorNav +- Added the End User License Agreement to the UI upon start up +- Light and PTZ Pan/Tilt controls can now be mapped to a controller +- OutdoorNav/IndoorNav switch over improvements +- Can now place waypoints at UGV location via shortcut key (Shift + X) + +### API Features + +- Can now delete multiple mission objects (missions, waypoints, tasks) in single call +- Stack Light can now be manually overridden/muted + +### Bug Fixes + +- 1688: Move PTZ task only ever uses the first PTZ camera's positions + +### Known Issues + +- 1396: Robot gets temporarily stuck at start of mission when near a Waypoint +- 1844: [MPC] Maximum acceleration param doesn't appear to have any effect + ## 0.10.0 ### New Features diff --git a/docs_outdoornav_user_manual/web_user_interface/ui_autonomous_mode.mdx b/docs_outdoornav_user_manual/web_user_interface/ui_autonomous_mode.mdx index 164380eb..3fc9b9c2 100644 --- a/docs_outdoornav_user_manual/web_user_interface/ui_autonomous_mode.mdx +++ b/docs_outdoornav_user_manual/web_user_interface/ui_autonomous_mode.mdx @@ -409,3 +409,26 @@ If for any reason, the docking or undocking tasks fail, the user can: suggested that the user reverse roughly 2-3 meters away from the target, then wait 1-2 minutes before starting any autonomous navigation missions. + +## Switching to IndoorNav + +If it is included in the UGV, IndoorNav can be executed through the OutdoorNav software. +To switch between the modes in OutdoorNav select the 'Navigation Mode' option found +in the hamburger menu. This will navigate to a page that shows the current mode and +provides an option to switch. When in IndoorNav mode the user may navigate to +the IndoorNav Web GUI directly or work within the OutdoorNav view as can be seen +below. + +
+
+ +
+
+ +:::note + +When in IndoorNav mode the OutdoorNav Autonomy software is switched off. The UI will +disable OutdoorNav UI features related to Autonomy but will still allow users the +option to view camera streams. + +::: \ No newline at end of file diff --git a/docs_outdoornav_user_manual/web_user_interface/ui_overview.mdx b/docs_outdoornav_user_manual/web_user_interface/ui_overview.mdx index aafe45f2..8919c358 100644 --- a/docs_outdoornav_user_manual/web_user_interface/ui_overview.mdx +++ b/docs_outdoornav_user_manual/web_user_interface/ui_overview.mdx @@ -95,6 +95,7 @@ mode. 15. **Waypoint Drop Button:** The Waypoint indicator marker on the bottom bar allows the Operator to place a Waypoint at the location of the UGV. + This action can also be triggered by using the shortcut key combination Shift + X. 16. **Start Button:** Start the current Mission. diff --git a/docs_versioned_docs/version-ros1noetic/robots/solutions/husky_observer/user_manual_husky_observer.mdx b/docs_versioned_docs/version-ros1noetic/robots/solutions/husky_observer/user_manual_husky_observer.mdx index a790402f..8af517e5 100644 --- a/docs_versioned_docs/version-ros1noetic/robots/solutions/husky_observer/user_manual_husky_observer.mdx +++ b/docs_versioned_docs/version-ros1noetic/robots/solutions/husky_observer/user_manual_husky_observer.mdx @@ -115,7 +115,17 @@ The stack lights are composed of two lights, the details of which are described | On | Blue | Robot is driving (autonomous mode). | | On | White | Robot is ready to drive, but currently idle. | -The Stack Lights can also be visible in the UI in both the upper right hand corner and as a widget in the status page. +The stack lights can be muted by calling the `/lights/set_stack_mute` service with a value of True. Users can also override Idle, Teleop and +Autonomous LED patterns by publishing to the `/lights/custom_stack_pattern` topic at 2Hz or faster. This topic takes a StackLightState message +object as input which consists of the following parameters: + +- `RYG color` - The RYG color of the stack light's top light +- `bool strobe_on` - Boolean flag for whether the strobe light is on or not +- `string message` - Human readable message for this particular stack light state + +The charging, error and warning states will override any custom patterns. + +The stack lights can also be visible in the UI in both the upper right hand corner and as a widget in the status page.
@@ -850,6 +860,11 @@ enable button (either slow or turbo mode) and use the left thumbstick to drive H
+Both the PTZ camera and the driving lights can also be controlled through the controller. While holding the +X button the left thumbstick controls the Pan and Tilt of the camera. While holding the O button the left thumbstick +controls the zoom. The D-Pad is used to control the driving lights, with the top button controlling the front driving +lights and the bottom button controlling the read driving lights. + #### Using ROS diff --git a/static/img/indoornav_images/IndoorNav/ui_indoor_nav.png b/static/img/outdoornav_images/ui_indoor_nav.png similarity index 100% rename from static/img/indoornav_images/IndoorNav/ui_indoor_nav.png rename to static/img/outdoornav_images/ui_indoor_nav.png From e8ffa59a8a4b6019bbb60e06b14ca7c812b36b5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Mastrangelo?= Date: Fri, 22 Dec 2023 15:44:59 -0500 Subject: [PATCH 05/14] review fixes --- .../software_integration_instructions.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs_outdoornav_user_manual/integration_requirements/software_integration_instructions.mdx b/docs_outdoornav_user_manual/integration_requirements/software_integration_instructions.mdx index 3ca4c3ad..f09675da 100644 --- a/docs_outdoornav_user_manual/integration_requirements/software_integration_instructions.mdx +++ b/docs_outdoornav_user_manual/integration_requirements/software_integration_instructions.mdx @@ -58,7 +58,7 @@ nano autonomy.env ### Start/Stop the OutdoorNav -To start up the outdoronav software run: +To start up the OutdoorNav software run: {` @@ -68,7 +68,7 @@ onav start If you wish to start individual profiles or services, run `onav start -h` to see available profiles/services. -To stop the OutdoorNav sotfware run: +To stop the OutdoorNav software run: {` From f9a356e881340f66b15393a68cf901055f943ce1 Mon Sep 17 00:00:00 2001 From: Tony Baltovski Date: Thu, 11 Jan 2024 13:07:18 -0500 Subject: [PATCH 06/14] Removed warning about micro-ros-agent. --- .../version-ros2humble/ros/installation/remote_pc.mdx | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/docs_versioned_docs/version-ros2humble/ros/installation/remote_pc.mdx b/docs_versioned_docs/version-ros2humble/ros/installation/remote_pc.mdx index e0d5c45e..49c8b992 100644 --- a/docs_versioned_docs/version-ros2humble/ros/installation/remote_pc.mdx +++ b/docs_versioned_docs/version-ros2humble/ros/installation/remote_pc.mdx @@ -72,10 +72,4 @@ Add the following line to your `~/.bashrc` file to automatically source the gene ``` source ~/clearpath/setup.bash -``` -:::note - -You may get the warning `bash: /home/administrator/micro_ros_ws/install/setup.bash: No such file or directory` when you source -this file. This is not a concern on the remote computer. The micro ROS workspace is only required on the primary computer. - -::: +``` \ No newline at end of file From 386e5ecfddf96c5271caaac41b3b936bbd1e399d Mon Sep 17 00:00:00 2001 From: Tony Baltovski Date: Thu, 11 Jan 2024 13:42:46 -0500 Subject: [PATCH 07/14] Added Warthog W200. --- docs_versioned_docs/version-ros2humble/ros/ros.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs_versioned_docs/version-ros2humble/ros/ros.mdx b/docs_versioned_docs/version-ros2humble/ros/ros.mdx index 3675b0c5..cd54b791 100644 --- a/docs_versioned_docs/version-ros2humble/ros/ros.mdx +++ b/docs_versioned_docs/version-ros2humble/ros/ros.mdx @@ -29,7 +29,7 @@ of ROS 2 topics and services defined by Clearpath which are used by all supporte | :-------- | :------------ | :-------------------- | | Husky | A200 | Yes | | Jackal | J100 | Yes | -| Warthog | W200 | Coming soon | +| Warthog | W200 | As of 0.2 | | Dingo | DD100 | Coming | | | DO100 | Coming | | | DD150 | Coming | From 4782ce3b8f8e1357d6b311ab321427950003c4d8 Mon Sep 17 00:00:00 2001 From: Drew O'Brien Date: Tue, 16 Jan 2024 09:30:19 -0500 Subject: [PATCH 08/14] development-onav-0.11.0: Added in some minor fixes --- .../software_integration_instructions.mdx | 2 +- docs_outdoornav_user_manual/release_notes.mdx | 1 + .../solutions/husky_observer/user_manual_husky_observer.mdx | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docs_outdoornav_user_manual/integration_requirements/software_integration_instructions.mdx b/docs_outdoornav_user_manual/integration_requirements/software_integration_instructions.mdx index f09675da..182e6cb1 100644 --- a/docs_outdoornav_user_manual/integration_requirements/software_integration_instructions.mdx +++ b/docs_outdoornav_user_manual/integration_requirements/software_integration_instructions.mdx @@ -30,7 +30,7 @@ onav install -k `} -where `license_key` is the the license key that you have been assigned. Only one license key can be used per UGV. +where `license_key` is the license key that you have been assigned. Only one license key can be used per UGV. ### Configure UGV Footprint {#configure-platform-footprint} diff --git a/docs_outdoornav_user_manual/release_notes.mdx b/docs_outdoornav_user_manual/release_notes.mdx index caf4f7cc..9b275f03 100644 --- a/docs_outdoornav_user_manual/release_notes.mdx +++ b/docs_outdoornav_user_manual/release_notes.mdx @@ -24,6 +24,7 @@ toc_max_heading_level: 4 ### Bug Fixes - 1688: Move PTZ task only ever uses the first PTZ camera's positions +- 2011: Filter false "Move PTZ Failure" notifications when moving PTZ camera ### Known Issues diff --git a/docs_versioned_docs/version-ros1noetic/robots/solutions/husky_observer/user_manual_husky_observer.mdx b/docs_versioned_docs/version-ros1noetic/robots/solutions/husky_observer/user_manual_husky_observer.mdx index 8af517e5..503e1b83 100644 --- a/docs_versioned_docs/version-ros1noetic/robots/solutions/husky_observer/user_manual_husky_observer.mdx +++ b/docs_versioned_docs/version-ros1noetic/robots/solutions/husky_observer/user_manual_husky_observer.mdx @@ -863,7 +863,7 @@ enable button (either slow or turbo mode) and use the left thumbstick to drive H Both the PTZ camera and the driving lights can also be controlled through the controller. While holding the X button the left thumbstick controls the Pan and Tilt of the camera. While holding the O button the left thumbstick controls the zoom. The D-Pad is used to control the driving lights, with the top button controlling the front driving -lights and the bottom button controlling the read driving lights. +lights and the bottom button controlling the rear driving lights. #### Using ROS From 78a4f17f6769ca66531e3d4b001be8b7e9edbd0e Mon Sep 17 00:00:00 2001 From: Drew O'Brien Date: Tue, 16 Jan 2024 09:36:41 -0500 Subject: [PATCH 09/14] development-onav-0.11.0: Added in a missing release note --- docs_outdoornav_user_manual/release_notes.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/docs_outdoornav_user_manual/release_notes.mdx b/docs_outdoornav_user_manual/release_notes.mdx index 9b275f03..8638b24a 100644 --- a/docs_outdoornav_user_manual/release_notes.mdx +++ b/docs_outdoornav_user_manual/release_notes.mdx @@ -20,6 +20,7 @@ toc_max_heading_level: 4 - Can now delete multiple mission objects (missions, waypoints, tasks) in single call - Stack Light can now be manually overridden/muted +- Added ability to import single missions to the robot ### Bug Fixes From 2bf67cb42520d60f73e75282884e5eb0904efb38 Mon Sep 17 00:00:00 2001 From: Tony Baltovski Date: Wed, 17 Jan 2024 08:54:38 -0500 Subject: [PATCH 10/14] [ROS 2 Humble] Updated install script name. --- .../version-ros2humble/ros/installation/robot.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs_versioned_docs/version-ros2humble/ros/installation/robot.mdx b/docs_versioned_docs/version-ros2humble/ros/installation/robot.mdx index ee3fead4..b2149382 100644 --- a/docs_versioned_docs/version-ros2humble/ros/installation/robot.mdx +++ b/docs_versioned_docs/version-ros2humble/ros/installation/robot.mdx @@ -94,7 +94,7 @@ All platforms with the exception of the A200 will require a firmware update to r #### Package Sourcing, and Install ``` -wget -c https://raw.githubusercontent.com/clearpathrobotics/clearpath_computer_installer/main/install.sh && bash -e install.sh +wget -c https://raw.githubusercontent.com/clearpathrobotics/clearpath_computer_installer/main/clearpath_computer_installer.sh && bash -e clearpath_computer_installer.sh ``` #### Network Configuration From ee461afc7d66ad1f45b8ab3a50b0f6109a1a182e Mon Sep 17 00:00:00 2001 From: Tony Baltovski Date: Wed, 17 Jan 2024 08:58:35 -0500 Subject: [PATCH 11/14] [ROS 2 Humble] Updated wording for supported platforms. --- docs_versioned_docs/version-ros2humble/ros/ros.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs_versioned_docs/version-ros2humble/ros/ros.mdx b/docs_versioned_docs/version-ros2humble/ros/ros.mdx index cd54b791..3312dd7a 100644 --- a/docs_versioned_docs/version-ros2humble/ros/ros.mdx +++ b/docs_versioned_docs/version-ros2humble/ros/ros.mdx @@ -27,9 +27,9 @@ of ROS 2 topics and services defined by Clearpath which are used by all supporte | Platform | Platform code | Supports ROS 2 Humble | | :-------- | :------------ | :-------------------- | -| Husky | A200 | Yes | -| Jackal | J100 | Yes | -| Warthog | W200 | As of 0.2 | +| Husky | A200 | Yes (As of 0.1) | +| Jackal | J100 | Yes (As of 0.1) | +| Warthog | W200 | Yes (As of 0.2) | | Dingo | DD100 | Coming | | | DO100 | Coming | | | DD150 | Coming | From bdbfa3933370db608968129cc3368d5da14a6d26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Mastrangelo?= Date: Wed, 17 Jan 2024 09:56:01 -0500 Subject: [PATCH 12/14] fix file paths for new 0.11.0 file structure --- .../api/api_endpoints/definitions.mdx | 2 +- .../differential_drive_dynamics.mdx | 18 +++++++++++++----- .../collision_avoidance_parameters.mdx | 4 ++-- .../navigation_parameters.mdx | 4 +++- docs_outdoornav_user_manual/faq.mdx | 6 +++--- .../features/collision_avoidance.mdx | 14 ++++++++------ .../features/custom_tasks.mdx | 5 ++++- .../features/navigation.mdx | 8 ++++---- .../features/rosbag_recorder.mdx | 2 +- .../web_user_interface/ui_autonomous_mode.mdx | 4 ++-- 10 files changed, 41 insertions(+), 26 deletions(-) diff --git a/docs_outdoornav_user_manual/api/api_endpoints/definitions.mdx b/docs_outdoornav_user_manual/api/api_endpoints/definitions.mdx index dea5fe4b..fc20e59a 100644 --- a/docs_outdoornav_user_manual/api/api_endpoints/definitions.mdx +++ b/docs_outdoornav_user_manual/api/api_endpoints/definitions.mdx @@ -1084,7 +1084,7 @@ string data clearpath_mission_scheduler_msgs/StorageState state ``` -#### clearpath_mission_scheduler_msgs/srv/UpdateSchedule.srv {scheduler-updateschedule} +#### clearpath_mission_scheduler_msgs/srv/UpdateSchedule.srv {#scheduler-updateschedule} ``` # The ID of the mission to edit diff --git a/docs_outdoornav_user_manual/customized_tuning/tuning_instructions/differential_drive_dynamics.mdx b/docs_outdoornav_user_manual/customized_tuning/tuning_instructions/differential_drive_dynamics.mdx index b2ca5067..66ae5bee 100644 --- a/docs_outdoornav_user_manual/customized_tuning/tuning_instructions/differential_drive_dynamics.mdx +++ b/docs_outdoornav_user_manual/customized_tuning/tuning_instructions/differential_drive_dynamics.mdx @@ -269,7 +269,14 @@ then proceed to the respective issue listed in #### Initialize Parameters {#initialize_parameters} -1. Update the footprint offsets of the UGV in the `${HOME}/cpr_outdoornav_launch/outdoornav_tuning.env` file. +1. Update the footprint offsets of the UGV in the `/opt/onav//config/autonomy.env` file, where *onav_version* +is the version of OutdoorNav that you are currently running. + +:::note + +This above file path is only valid for version after and including version 0.11.0. + +:::note
@@ -386,10 +393,11 @@ The following parameters should then be modified to the desired velocity ($v_{de Finally, if you are increasing the velocity to a value greater than or equal to 4.0 m/s or if you are seeing that the velocity is being limited even after changing the above parameters, it is possible to try and increase the size (width and height) of the local costmap in file: -`~/cpr_outdoornav_launch/onav_robots/params/platform/navigation/costmap_local.yaml`. -The limit in the velcoity is due to the fact that the lookahead distance at higher speeds ends -up exceeding the size of the local costmap. By increasing it, we allow the controller to -lookahead further and allow for that velocity increase. +`/opt/onav//app/autonomy/params/platform/navigation/costmap_local.yaml`, +where *onav_version* is the currently running version of OutdoorNav. The limit in the velcoity +is due to the fact that the lookahead distance at higher speeds ends up exceeding the size of +the local costmap. By increasing it, we allow the controller to lookahead further and allow for +that velocity increase. #### Tune Goal State {#tune_goal_state} diff --git a/docs_outdoornav_user_manual/customized_tuning/tuning_parameters/collision_avoidance_parameters.mdx b/docs_outdoornav_user_manual/customized_tuning/tuning_parameters/collision_avoidance_parameters.mdx index a48e4e01..fa4b1ce2 100644 --- a/docs_outdoornav_user_manual/customized_tuning/tuning_parameters/collision_avoidance_parameters.mdx +++ b/docs_outdoornav_user_manual/customized_tuning/tuning_parameters/collision_avoidance_parameters.mdx @@ -10,7 +10,7 @@ toc_max_heading_level: 3 | Parameter | Description | File | Default | |-----------|-------------|------|---------| -| `ENABLE_COLLISION_AVOIDANCE` | Flag to enable/disable collision avoidance | ~/cpr_outdoornav_launch/outdoornav_tuning.env | false | +| `ENABLE_COLLISION_AVOIDANCE` | Flag to enable/disable collision avoidance | `/opt/onav//config/autonomy.env` | false | ## Costmap {#costmap_params} @@ -20,7 +20,7 @@ toc_max_heading_level: 3 The parameters related to the costmap, can be found here: ``` bash -~/cpr_outdoornav_launch/onav_robots/params//navigation/costmap_.yaml +/opt/onav//app/autonomy/params//navigation/costmap_.yaml ``` If they are not listed in the above file, it is because they are using the default values and are not being overwritten. diff --git a/docs_outdoornav_user_manual/customized_tuning/tuning_parameters/navigation_parameters.mdx b/docs_outdoornav_user_manual/customized_tuning/tuning_parameters/navigation_parameters.mdx index 72b6da38..fa47f224 100644 --- a/docs_outdoornav_user_manual/customized_tuning/tuning_parameters/navigation_parameters.mdx +++ b/docs_outdoornav_user_manual/customized_tuning/tuning_parameters/navigation_parameters.mdx @@ -15,7 +15,9 @@ import versions from "@site/static/versions.js" The parameters related to the controller, can be found here: ``` bash -~/cpr_outdoornav_launch/onav_robots/params//navigation/controls_general.yaml +/opt/onav//app/autonomy/params//navigation/controls_general.yaml +/opt/onav//app/autonomy/params//navigation/mpc_controller.yaml +/opt/onav//app/autonomy/params//navigation/mpc_dock_controller.yaml ``` If they are not listed in the above file, it is because they are using the default values and are not being overwritten. diff --git a/docs_outdoornav_user_manual/faq.mdx b/docs_outdoornav_user_manual/faq.mdx index 82d0a296..1ec8a2c7 100644 --- a/docs_outdoornav_user_manual/faq.mdx +++ b/docs_outdoornav_user_manual/faq.mdx @@ -53,8 +53,8 @@ toc_max_heading_level: 4 5. **Where do all the video/audio/images get saved from the mission tasks?** - All of the data that gets saved (ROSbags, video recordings, audio recordings, and saved images) get stored on - UGV's computer at the following location: `~/clearpath_files/...` + All of the data that gets saved (ROSbags, video recordings, audio recordings, and saved images) gets stored on + UGV's computer at the following location: `/opt/onav/saved_files/...` ## Autonomy @@ -104,7 +104,7 @@ ping 192.168.131.30 Enable the visualization of the [path contraint](./web_user_interface/ui_autonomous_mode.mdx#constrained_path) and Teleop the robot back into the navigable space. -6. **How can I remove certain sensors from the collision avoidance pipeline?** +6. **How can I remove certain sensors from the collision avoidance!/ pipeline?** If your robot is equipped with collision avoidance sensors (eg. Velodyne, Hokuyo, Sick LMS), it is possible to enable/disable the throughput of each sensor data into the collision avoidance pipeline. diff --git a/docs_outdoornav_user_manual/features/collision_avoidance.mdx b/docs_outdoornav_user_manual/features/collision_avoidance.mdx index f32f5f66..e9a983d6 100644 --- a/docs_outdoornav_user_manual/features/collision_avoidance.mdx +++ b/docs_outdoornav_user_manual/features/collision_avoidance.mdx @@ -52,7 +52,8 @@ The following table lists the sensors that are useable with the OutdoorNav software. The sensor drivers can be turned on/off using these environment variables, however, the sensor will always remain powered on. The environment variables, should be added to the -`~/cpr_outdoornav_launch/env/sensors_customization.env` file. +`/opt/onav//config/sensors.env` file, where *onav_version* +is the currently running version of OutdoorNav. | Environment Variable | Description | Data Type |--------------------------------|-------------------------------------------|-------------- @@ -179,7 +180,8 @@ Eg. Realsense [`DepthImage`](http://docs.ros.org/en/noetic/api/sensor_msgs/html/ The following section provides a list of environment variables that can be modified in order to tune OutdoorNav. All of the environment variables listed below -can be modified in the `~/cpr_outdoornav_launch/env/autonomy_customization.env` file. +can be modified in the `/opt/onav//config/autonomy.env` file, where *onav_version* +is the currently running version of OutdoorNav. ### Costmap Inputs @@ -278,12 +280,12 @@ detection bounds for the Starter Sensor Kit have yet to be determined. 1) Apply either a radial filter or a statistical outlier filter on the pointcloud data to filter out the stray detections. -- File: `~/cpr_outdoornav_launch/env/sensors_customization.env` +- File: `/opt/onav//config/sensors.env` - Environment variable(s): `_ENABLE_FILTER_RADIUS_OUTLIER`, `_ENABLE_FILTER_STATISTICAL_OUTLIER` 2) Increase the pointcloud to laserscan conversion filter minimum height parameter. The environment variable -- File: `~/cpr_outdoornav_launch/env/sensors_customization.env` +- File: `/opt/onav//config/sensors.env` - Environment variable(s): `PCL_TO_SCAN_MIN_HEIGHT` #### Pitch changes @@ -301,7 +303,7 @@ the range at which the 2D LiDAR will generate obstacles since the 3D LiDAR will of the detections. You would be able to reduce the range that the 2D LiDAR generates obstacles, so that it does not overlap with the detection field of the 3D LiDAR. -- File: `~/cpr_outdoornav_launch/env/autonomy_customization.env` +- File: `/opt/onav//config/autonomy.env` - Environment variable(s): `COSTMAP_LIDAR_2D_OBSTACLE_RANGE` and/or `COSTMAP_REAR_LIDAR_2D_OBSTACLE_RANGE` #### Branches across narrow path @@ -314,7 +316,7 @@ the navigation may not be able to maneuver through them. **Mitigating Solution**: Reduction of the global costmap `inflation_radius` and/or `costmap_scaling_factor` parameters may provide sufficient space for the navigation to replan though the branches. -- File: `~/cpr_outdoornav_launch/env/onav_robots/params//navigation/costmap_global.yaml` +- File: `/opt/onav//app/autonomy/params//navigation/costmap_global.yaml` - Environment variable(s): `/navigation/global_costmap/inflation/inflation_radius` and/or `/navigation/global_costmap/inflation/cost_scaling_factor` :::info diff --git a/docs_outdoornav_user_manual/features/custom_tasks.mdx b/docs_outdoornav_user_manual/features/custom_tasks.mdx index 32c3115e..5ecbb813 100644 --- a/docs_outdoornav_user_manual/features/custom_tasks.mdx +++ b/docs_outdoornav_user_manual/features/custom_tasks.mdx @@ -6,7 +6,10 @@ toc_min_heading_level: 2 toc_max_heading_level: 4 --- -Users can create their custom tasks for their application following a specific template. When creating these tasks, the user should begin by creating a python file in the **~/cpr_outdoornav_launch/custom_tasks** directory. The file should be written following +Users can create their custom tasks for their application following a specific template. +When creating these tasks, the user should begin by creating a python file in the +**/opt/onav//app/custom_tasks/** directory, where *onav_version* +is the currently running version of OutdoorNav. The file should be written following the instructions provided below: 1. Import the `custom_task_base` package. diff --git a/docs_outdoornav_user_manual/features/navigation.mdx b/docs_outdoornav_user_manual/features/navigation.mdx index e4c0b864..852097a0 100644 --- a/docs_outdoornav_user_manual/features/navigation.mdx +++ b/docs_outdoornav_user_manual/features/navigation.mdx @@ -23,10 +23,10 @@ The OutdoorNav Software contains a set of features that can be enabled or disabled according to your required application requirements. These features can be enabled or disabled through the use of environment variables, which should be added to the -`~/cpr_outdoornav_launch/env/autonomy_customization.env` file. The -following table describes the available features, their default state -and any additional parameters that we expose that may also be included -to tune the feature. +`/opt/onav//config/autonomy.env` file, where *onav_version* +is the currently running version of OutdoorNav. The following table describes +the available features, their default state and any additional parameters +that we expose that may also be included to tune the feature. | Feature | Description | |-----------------------------|----------------------------------------| diff --git a/docs_outdoornav_user_manual/features/rosbag_recorder.mdx b/docs_outdoornav_user_manual/features/rosbag_recorder.mdx index 503d94ae..70a6c687 100644 --- a/docs_outdoornav_user_manual/features/rosbag_recorder.mdx +++ b/docs_outdoornav_user_manual/features/rosbag_recorder.mdx @@ -31,4 +31,4 @@ following topics (or all the topics in the namespace if followed by a To stop the recording navigate to the Settings drop down and select **Stop rosbag recording**. This will save the rosbag with the date and -time as its file name in the `~/clearpath_files/rosbag_data` folder. +time as its file name in the `/opt/onav/saved_files/rosbags/` directory. diff --git a/docs_outdoornav_user_manual/web_user_interface/ui_autonomous_mode.mdx b/docs_outdoornav_user_manual/web_user_interface/ui_autonomous_mode.mdx index 3fc9b9c2..61acab87 100644 --- a/docs_outdoornav_user_manual/web_user_interface/ui_autonomous_mode.mdx +++ b/docs_outdoornav_user_manual/web_user_interface/ui_autonomous_mode.mdx @@ -168,14 +168,14 @@ To add a Task to the end of a Mission: - Save Image: Will save an image using one of the UGV camera(s) - to the **~/clearpath_files** folder and can be retrieved using a tool + to the **/opt/onav/saved_files/media/...** directory and can be retrieved using a tool such as Filezilla. Settings: Select which camera the image will be saved from. - Start/Stop Video Recording: Will start/stop recording video using one of the - UGV camera(s) to the **~/clearpath_files** folder and can be retrieved + UGV camera(s) to the **/opt/onav/saved_files/media/...** folder and can be retrieved using a tool such as Filezilla. Settings: Select which camera the recording will come from. From 5a7e06f6a582d2772b016b683a1dfc171f70bba5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Mastrangelo?= Date: Wed, 17 Jan 2024 10:10:41 -0500 Subject: [PATCH 13/14] review fixes --- .../tuning_instructions/differential_drive_dynamics.mdx | 4 ++-- docs_outdoornav_user_manual/faq.mdx | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs_outdoornav_user_manual/customized_tuning/tuning_instructions/differential_drive_dynamics.mdx b/docs_outdoornav_user_manual/customized_tuning/tuning_instructions/differential_drive_dynamics.mdx index 66ae5bee..ba6ee960 100644 --- a/docs_outdoornav_user_manual/customized_tuning/tuning_instructions/differential_drive_dynamics.mdx +++ b/docs_outdoornav_user_manual/customized_tuning/tuning_instructions/differential_drive_dynamics.mdx @@ -274,7 +274,7 @@ is the version of OutdoorNav that you are currently running. :::note -This above file path is only valid for version after and including version 0.11.0. +This above file path is only valid for versions after and including version 0.11.0. :::note @@ -394,7 +394,7 @@ Finally, if you are increasing the velocity to a value greater than or equal to are seeing that the velocity is being limited even after changing the above parameters, it is possible to try and increase the size (width and height) of the local costmap in file: `/opt/onav//app/autonomy/params/platform/navigation/costmap_local.yaml`, -where *onav_version* is the currently running version of OutdoorNav. The limit in the velcoity +where *onav_version* is the currently running version of OutdoorNav. The limit in the velocity is due to the fact that the lookahead distance at higher speeds ends up exceeding the size of the local costmap. By increasing it, we allow the controller to lookahead further and allow for that velocity increase. diff --git a/docs_outdoornav_user_manual/faq.mdx b/docs_outdoornav_user_manual/faq.mdx index 1ec8a2c7..a086c447 100644 --- a/docs_outdoornav_user_manual/faq.mdx +++ b/docs_outdoornav_user_manual/faq.mdx @@ -104,7 +104,7 @@ ping 192.168.131.30 Enable the visualization of the [path contraint](./web_user_interface/ui_autonomous_mode.mdx#constrained_path) and Teleop the robot back into the navigable space. -6. **How can I remove certain sensors from the collision avoidance!/ pipeline?** +6. **How can I remove certain sensors from the collision avoidance pipeline?** If your robot is equipped with collision avoidance sensors (eg. Velodyne, Hokuyo, Sick LMS), it is possible to enable/disable the throughput of each sensor data into the collision avoidance pipeline. From a449e5839de472ab6cd4e8f8e87fc824cdf7c6df Mon Sep 17 00:00:00 2001 From: Drew O'Brien Date: Wed, 17 Jan 2024 16:21:57 -0500 Subject: [PATCH 14/14] development-onav-0.11.0: Ran the version build command for 0.11.0 --- .../version-0.11.0/_category_.json | 4 + .../version-0.11.0/api/_category_.json | 4 + .../api/api_endpoints/_category_.json | 4 + .../api/api_endpoints/api_endpoints.mdx | 16 + .../api/api_endpoints/autonomy_api.mdx | 493 +++++++ .../api/api_endpoints/definitions.mdx | 1296 +++++++++++++++++ .../api/api_endpoints/mission_manager_api.mdx | 300 ++++ .../api_endpoints/mission_scheduler_api.mdx | 213 +++ .../api/api_endpoints/platform_api.mdx | 203 +++ .../api/api_examples/api_examples.mdx | 20 + .../api/api_examples/mission_from_file.mdx | 210 +++ .../mission_with_custom_tasks.mdx | 233 +++ .../api/api_examples/monitor_status.mdx | 152 ++ .../version-0.11.0/api/api_overview.mdx | 63 + .../version-0.11.0/cpr_hardware.mdx | 405 ++++++ .../customized_tuning/_category_.json | 4 + .../sensor_customization.mdx | 9 + .../tuning_instructions/_category_.json | 4 + .../ackermann_drive_dynamics.mdx | 9 + .../differential_drive_dynamics.mdx | 570 ++++++++ .../tuning_instructions/footprint_tuning.mdx | 9 + .../customized_tuning/tuning_overview.mdx | 25 + .../tuning_parameters/_category_.json | 4 + .../collision_avoidance_parameters.mdx | 37 + .../localization_parameters.mdx | 9 + .../navigation_parameters.mdx | 169 +++ .../user_interface_customization.mdx | 9 + .../version-0.11.0/faq.mdx | 194 +++ .../version-0.11.0/features/_category_.json | 4 + .../features/collision_avoidance.mdx | 336 +++++ .../version-0.11.0/features/custom_tasks.mdx | 206 +++ .../features/foxglove_visualization.mdx | 27 + .../features/mission_scheduler.mdx | 43 + .../version-0.11.0/features/navigation.mdx | 38 + .../features/rosbag_recorder.mdx | 34 + .../getting_started/_category_.json | 4 + .../getting_started/first_time_checklist.mdx | 114 ++ .../getting_started/system_setup.mdx | 239 +++ .../getting_started/terminal_interface.mdx | 249 ++++ .../getting_started/tf_validation.mdx | 80 + .../version-0.11.0/index.mdx | 18 + .../integration_requirements/_category_.json | 4 + .../_category_.json | 4 + .../custom_kit_hardware_checklist.mdx | 19 + .../hardware_integration_requirements.mdx | 44 + .../standard_kit_hardware_checklist.mdx | 24 + .../starter_kit_hardware_checklist.mdx | 51 + .../integration_overview.mdx | 34 + .../interface_control_requirements.mdx | 119 ++ .../platform_computer_checklist.mdx | 24 + .../software_integration_instructions.mdx | 122 ++ .../version-0.11.0/overview/_category_.json | 4 + .../overview_hardware_requirements.mdx | 44 + .../overview/overview_introduction.mdx | 93 ++ .../overview_operating_conditions.mdx | 177 +++ .../overview/overview_scope.mdx | 15 + .../version-0.11.0/release_notes.mdx | 273 ++++ .../version-0.11.0/safety.mdx | 144 ++ .../version-0.11.0/simulation.mdx | 20 + .../version-0.11.0/support.mdx | 11 + .../web_user_interface/_category_.json | 4 + .../web_user_interface/ui_autonomous_mode.mdx | 434 ++++++ .../web_user_interface/ui_manual_mode.mdx | 49 + .../web_user_interface/ui_overview.mdx | 423 ++++++ .../version-0.11.0-sidebars.json | 8 + outdoornav_user_manual_versions.json | 1 + static/versions.js | 2 +- 67 files changed, 8206 insertions(+), 1 deletion(-) create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/_category_.json create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/api/_category_.json create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_endpoints/_category_.json create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_endpoints/api_endpoints.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_endpoints/autonomy_api.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_endpoints/definitions.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_endpoints/mission_manager_api.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_endpoints/mission_scheduler_api.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_endpoints/platform_api.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_examples/api_examples.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_examples/mission_from_file.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_examples/mission_with_custom_tasks.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_examples/monitor_status.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_overview.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/cpr_hardware.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/_category_.json create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/sensor_customization.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/tuning_instructions/_category_.json create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/tuning_instructions/ackermann_drive_dynamics.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/tuning_instructions/differential_drive_dynamics.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/tuning_instructions/footprint_tuning.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/tuning_overview.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/tuning_parameters/_category_.json create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/tuning_parameters/collision_avoidance_parameters.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/tuning_parameters/localization_parameters.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/tuning_parameters/navigation_parameters.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/user_interface_customization.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/faq.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/features/_category_.json create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/features/collision_avoidance.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/features/custom_tasks.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/features/foxglove_visualization.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/features/mission_scheduler.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/features/navigation.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/features/rosbag_recorder.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/getting_started/_category_.json create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/getting_started/first_time_checklist.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/getting_started/system_setup.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/getting_started/terminal_interface.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/getting_started/tf_validation.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/index.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/integration_requirements/_category_.json create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/integration_requirements/hardware_integration_requirements/_category_.json create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/integration_requirements/hardware_integration_requirements/custom_kit_hardware_checklist.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/integration_requirements/hardware_integration_requirements/hardware_integration_requirements.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/integration_requirements/hardware_integration_requirements/standard_kit_hardware_checklist.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/integration_requirements/hardware_integration_requirements/starter_kit_hardware_checklist.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/integration_requirements/integration_overview.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/integration_requirements/interface_control_requirements.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/integration_requirements/platform_computer_checklist.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/integration_requirements/software_integration_instructions.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/overview/_category_.json create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/overview/overview_hardware_requirements.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/overview/overview_introduction.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/overview/overview_operating_conditions.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/overview/overview_scope.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/release_notes.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/safety.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/simulation.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/support.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/web_user_interface/_category_.json create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/web_user_interface/ui_autonomous_mode.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/web_user_interface/ui_manual_mode.mdx create mode 100644 outdoornav_user_manual_versioned_docs/version-0.11.0/web_user_interface/ui_overview.mdx create mode 100644 outdoornav_user_manual_versioned_sidebars/version-0.11.0-sidebars.json diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/_category_.json b/outdoornav_user_manual_versioned_docs/version-0.11.0/_category_.json new file mode 100644 index 00000000..c123e1bc --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "OutdoorNav User Manual", + "position": 1 +} diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/api/_category_.json b/outdoornav_user_manual_versioned_docs/version-0.11.0/api/_category_.json new file mode 100644 index 00000000..a6e53920 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/api/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Application Programming Interface", + "position": 7 +} diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_endpoints/_category_.json b/outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_endpoints/_category_.json new file mode 100644 index 00000000..21746ac4 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_endpoints/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "API Endpoints", + "position": 2 +} diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_endpoints/api_endpoints.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_endpoints/api_endpoints.mdx new file mode 100644 index 00000000..c65c4150 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_endpoints/api_endpoints.mdx @@ -0,0 +1,16 @@ +--- +title: API Endpoints +sidebar_label: API Endpoints +sidebar_position: 2 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +The ROS 1 Noetic API can be used to monitor and manage OutdoorNav Software. Details +are available through the child pages. + +- [Platform API](platform_api.mdx) +- [Autonomy API](autonomy_api.mdx) +- [Mission Manager API](mission_manager_api.mdx) +- [Definitions](definitions.mdx) + diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_endpoints/autonomy_api.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_endpoints/autonomy_api.mdx new file mode 100644 index 00000000..ee7a9147 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_endpoints/autonomy_api.mdx @@ -0,0 +1,493 @@ +--- +title: Autonomy API +sidebar_label: Autonomy API +sidebar_position: 3 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +The Autonomy provides some relevant topics and services suitable for +controlling and monitoring the robot as it is performing autonomous +navigation. + +### Topics Published by Autonomy + +The OutdoorNav software publishes to the topics in this section either +all the time or while an autonomous navigation missions is running. They +can be used to monitor the behaviour of OutdoorNav. + +#### /control_selection/control_state + +  **Message Type:** [clearpath_control_msgs/ControlSelectionState](definitions.mdx#msg-control-selection-state) + +  **Description:** Indicates the complete state of control selection +including autonomy state and mode. + +#### /control_selection/current_mode + +  **Message Type:** [clearpath_control_msgs/ControlMode](definitions.mdx#msg-control-mode) + +  **Description:** Current control mode (NEUTRAL, MANUAL, AUTONOMY). + +#### /dock/feedback + +  **Message Type:** [clearpath_dock_msgs/DockActionFeedback](definitions.mdx#action-dock) + +  **Description:** Feedback topic from the dock action. + +#### /dock/result + +  **Message Type:** [clearpath_dock_msgs/DockActionResult](definitions.mdx#action-dock) + +  **Description:** Result topic from the dock action. + +#### /dock/properties + +  **Message Type:** [clearpath_dock_msgs/DockProperties](definitions.mdx#msg-dock-properties) + +  **Description:** A list of docks, in which each dock includes information related to +the location, id, etc... + +#### /dock/state + +  **Message Type:** [clearpath_dock_msgs/DockState](definitions.mdx#msg-dock-state) + +  **Description:** The current state of the docking process. + +#### /localization/odom + +  **Message Type:** nav_msgs/Odometry + +  **Description:** The robot's current pose and velocity. + +#### /localization/status + +  **Message Type:** [clearpath_localization_msgs/LocalizationStatus](definitions.mdx#msg-localization-status) + +  **Description:** Current localization status. Includes accuracy, GNSS +status, and whether the robot is dead reckoning. + +#### /mission/feedback + +  **Message Type:** clearpath_navigation_msgs/MissionActionFeedback + +  **Description:** Feedback topic from the mission action. + +#### /mission/result + +  **Message Type:** clearpath_navigation_msgs/MissionActionResult + +  **Description:** Result topic from the mission action. + +#### /navigation/cmd_vel + +  **Message Type:** geometry_msgs/Twist + +  **Description:** This output commanded velocity from the autonomy +software (OutdoorNav) to control the velocity of the platform. It is +commonly relayed directly into the UGV's velocity controller. + +#### /navigation/distance_to_goal + +  **Message Type:** [clearpath_navigation_msgs/DistanceToGoal](definitions.mdx#msg-distance-to-goal) + +  **Description:** The current Euclidean distance and the path distance, +in meters, from the robot to its current goal. + +#### /navigation/footprint + +  **Message Type:** geometry_msgs/Polygon + +  **Description:** The footprint of the robot. + +#### /navigation/global_costmap + +  **Message Type:** nav_msgs/OccupancyGrid + +  **Description:** An occupancy grid consisting of the Free, Occupied or +Unknown space that the robot uses to plan paths in the environment. + +#### /navigation/local_costmap + +  **Message Type:** nav_msgs/OccupancyGrid + +  **Description:** An occupancy grid consisting of the Free, Occupied or +Unknown space that the robot uses to detect obstacles. + +#### /navigation/local_plan + +  **Message Type:** nav_msgs/msg/Path + +  **Description:** The MPC local plan that the navigation uses to control +the robot along the reference path. + +#### /navigation/metrics + +  **Message Type:** [clearpath_navigation_msgs/Metrics](definitions.mdx#msg-metrics) + +  **Description:** This topic provides metric information regarding the lifetime of +the navigation. This includes the total distance travelled, duration run, as well as mission +information such as how many missions have been sent, how many have been completed and the number +of replanning maneuvers, recoveries and number of tasks executed. + +#### /navigation/motion_state + +  **Message Type:** [clearpath_navigation_msgs/MotionState](definitions.mdx#msg-motion-state) + +  **Description:** This topic provides information about the motion state +of the robot. This includes information about whether the robot is +moving or stopped. Whether it is about to make a turn and the direction +of the turn, and the direction of travel of the robot in regards to its +physical orientation. + +#### /navigation/odom_intent (IN DEVELOPMENT) + +  **Message Type:** [clearpath_navigation_msgs/OdomIntent](definitions.mdx#msg-odom-intent) + +  **Description:** The robot's current pose and velocity as well as an +intended pose and velocity in the immediate future. + +#### /navigation/path + +  **Message Type:** geometry_msgs/PoseArray + +  **Description:** The path that the robot is currently traversing. This +is initialized with the initial path and may be updated with paths +generated from replanning maneuvers. + +#### /navigation/progress (BETA) + +  **Message Type:** [clearpath_navigation_msgs/Progress](definitions.mdx#msg-navigation-progress) + +  **Description:** The completion percentage of the current path, the +current goal and the current mission. + +#### /navigation/safety_footprints + +  **Message Type:** geometry_msgs/PolygonStamped + +  **Description:** Footprint sets used for detecting obstacles and slowing +down the robot to a standstill. The footprints are modular in size +according to the current velocity of the robot. + +#### /navigation/scan_points (IN DEVELOPMENT) + +  **Message Type:** [clearpath_navigation_msgs/ScanPoints](definitions.mdx#msg-scan-points) + +  **Description:** Scans and pointclouds from the various ROS message +formats converted into a simple PointVector format that can be easily +consumed by the UI. + +#### /navigation/state (BETA) + +  **Message Type:** [clearpath_navigation_msgs/NavigationState](definitions.mdx#msg-navigation-state) + +  **Description:** The current navigation state. The available states are +COMPUTE PATH, EXECUTE, REPLAN, NAVIGATING AROUND OBSTACLE, RECOVERY, +IDLE, PAUSE, ESTOP, LOST. Multiple simultaneous states are possible. + +#### /navigation/track_error + +  **Message Type:** [clearpath_navigation_msgs/TrackError](definitions.mdx#msg-track-error) + +  **Description:** The current crosstrack error (ie. the off-path distance +between the robot and the reference path) and as well as the heading +error (ie. the difference between the current heading and the path +direction). + +#### /safety/safety_stop + +  **Message Type:** [clearpath_safety_msgs/Safety](definitions.mdx#msg-safety) + +  **Description:** Flag denoting if autonomy should be stopped due to any +of the following reasons: emergency stop active, one of the sensors has +triggered the safety monitor watchdog. + +#### /safety/watchdog_status (IN DEVELOPMENT) + +  **Message Type:** [clearpath_safety_msgs/WatchdogStatus](definitions.mdx#msg-safety-watchdog) + +  **Description:** Provides a list of status flags for each of the +possible sensors that may trigger a safety stop. The watchdog will +trigger if the sensor times out (ie. does not publish a relevant ROS +message for 1 second). + +#### /target_tracker/state + +  **Message Type:** [clearpath_dock_msgs/TargetTrackerState](definitions.mdx#msg-target-tracker-state) + +  **Description:** The state information for target tracker used as part of docking. + +#### /undock/feedback + +  **Message Type:** [clearpath_dock_msgs/UndockActionFeedback](definitions.mdx#action-undock) + +  **Description:** Feedback topic from the undock action. + +#### /undock/result + +  **Message Type:** [clearpath_dock_msgs/UndockActionResult](definitions.mdx#action-undock) + +  **Description:** Result topic from the undock action. + +------------------------------------------------------------------------ + +### Topics Subscribed to by Autonomy + +The OutdoorNav software subscribes to the topics in this section. They +can be used to control the behaviour of OutdoorNav. + +#### /platform/cmd_vel + +  **Message Type:** geometry_msgs/Twist + +  **Description:** Platform-level commanded velocity. This should be the velocity tracked by the platforms velocity controller. + +#### /mission/cancel + +  **Message Type:** actionlib_msgs/GoalID + +  **Description:** This topic is used to cancel all the missions that have +been sent to the OutdoorNav software. + +#### /mission/goal + +  **Message Type:** clearpath_navigation_msgs/msg/MissionActionGoal + +  **Description:** This topic is used to send a goal to the OutdoorNav +software. The goal can consist of a series of Waypoints and must include +a Goal point. + +#### /dock/cancel + +  **Message Type:** actionlib_msgs/GoalID + +  **Description:** This topic is used to cancel the docking process that has been +initialized by a previously sent goal. + +#### /dock/goal + +  **Message Type:** [clearpath_dock_msgs/msg/DockActionGoal](definitions.mdx#action-dock) + +  **Description:** This topic is used to send a goal to the docking process. +The goal consists of the UUID of the dock to dock at as well as wether or not local docking +should be performed. + +#### /undock/cancel + +  **Message Type:** actionlib_msgs/GoalID + +  **Description:** This topic is used to cancel the undocking process that has been +initialized by a previously sent goal. + +#### /undock/goal + +  **Message Type:** [clearpath_dock_msgs/msg/UndockActionGoal](definitions.mdx#action-undock) + +  **Description:** This topic is used to send a goal to the undocking process. +The goal is empty since we always consider undocking to be a local undocking process. + +------------------------------------------------------------------------ + +### Services Exported by Autonomy + +#### /control_selection/set_mode + +  **Service Type:** [clearpath_control_msgs/srv/SetControlMode](definitions.mdx#srv-set-control-mode) + +  **Description:** Change the current control mode from NEUTRAL to MANUAL +or AUTONOMY. + +#### /control_selection/autonomy_pause + +  **Service Type:** std_srvs/SetBool + +  **Description:** Pause the autonomy when it is currently in AUTONOMY +mode. Will only pause when autonomy is active. + +#### /control_selection/autonomy_resume + +  **Service Type:** std_srvs/SetBool + +  **Description:** Resume the autonomy when it is current mode is in +AUTONOMY. Will only resume if the robot is in a paused state. + +#### /dock/add + +  **Service Type:** [clearpath_dock_msgs/srv/AddDock](definitions.mdx#srv-add-dock) + +  **Description:** Add a dock to the database of docks. Complete list of dock information is required as input. +The new dock will appear on the UI. + +#### /dock/remove + +  **Service Type:** [clearpath_dock_msgs/srv/RemoveDock](definitions.mdx#srv-remove-dock) + +  **Description:** Remove and existing dock from the database. Input to this service requires ether the UUID +or the semantic name of the dock. + +#### /dock/clear_data + +  **Service Type:** [std_srvs/srv/Trigger](definitions.mdx#srv-clear-dock-data) + +  **Description:** Remove all existing dock data from storage. + +#### /dock/set_location/by_id + +  **Service Type:** [clearpath_dock_msgs/srv/SetDockLocationByID](definitions.mdx#srv-set-dock-location-by-id) + +  **Description:** Can be used to either set up a new dock (empty string in the uuid field), or update +the location of an existing dock (where the `uuid` field is required). + +#### /dock/set_location/by_name + +  **Service Type:** [clearpath_dock_msgs/srv/SetDockLocationByName](definitions.mdx#srv-set-dock-location-by-name) + +  **Description:** Can be used to update the location of an existing dock. Requires the semantic name +of the dock to be input into the `name` field. + +#### /localization/set_datum + +  **Service Type:** [clearpath_localization_msgs/srv/SetDatum](definitions.mdx#srv-set-datum) + +  **Description:** This service is used to manually set the datum +parameters of OutdoorNav running on the UGV. After setting the datum +parameter, this service also reinitializes the states of the +localization according to the current sensor readings. If you are +sending a mission to the UGV without using the UI and through the API, +you must call this service before sending the mission. + +#### /localization/reset + +  **Service Type:** [clearpath_localization_msgs/srv/ResetLocalization](definitions.mdx#srv-reset-localization) + +  **Description:** This service can be used to trigger a reset of the UGVs localization. + +#### /navigation/set_collision_avoidance + +  **Service Type:** std_srvs/SetBool + +  **Description:** Modify the state of the collision avoidance feature. If +True, collision avoidance is ENABLED and the robot will use its lidar(s) +to detect and maneuver around obstacles. If False, collision avoidance +is DISABLED and the robot will NOT use its lidar(s) to detect and +maneuver around obstacles. Disabling this feature is not recommended and +should be used with caution. + +:::note + +1. This feature does not take effect immediately when the service is + called, but only takes effect at the next Goal. + +2. Disabling collision avoidance also disables the continuous planner, in such a case where the + continuous planner is enabled. When re-enabling the collision avoidance, + the continuous planner must also be re-enabled using the following API service. + +::: + +#### /navigation/set_continuous_planner + +  **Service Type:** std_srvs/SetBool + +  **Description:** Modify the state of the continuous planning feature. If +True, continuous planning is ENABLED and the robot will proactively +attempt to generate a path around detected obstacles. If False, +continuous planning is DISABLED and the robot will stop in front of +obstacles before generating a path around the obstacle. + +:::note + +1. This feature takes effect immediately once the service is called. +2. This service needs to be called if you are re-enabling the collision + avoidance and want the continuous planner to be active. Disabling + collision avoidance will have disabled the continous planner. + +::: + +#### /navigation/set_path_smoother + +  **Service Type:** [clearpath_navigation_msgs/srv/SetPathSmoother](definitions.mdx#srv-set-path-smoother) + +  **Description:** Modify the state of the path smoothing feature. If +True, path smoothing is ENABLED and curved paths will be generated +according to the specified turning radius. If False, path smoothing is +DISABLED and point-to-point paths will be generated. + +:::note + +This feature takes effect immediately once the service is called. + +::: + +#### /navigation/set_path shifter + +  **Service Type:** [clearpath_navigation_msgs/srv/SetPathShifter](definitions.mdx#srv-set-path-shifter) + +  **Description:** Modify the state of the path shifting feature. If True, +path shifting is ENABLED and the reference path will be automatically +shifted as it veers off the reference path (to prevent oscillations). If +False, path shifting is DISABLED and normal behaviour is active. + +:::note + +This feature takes effect immediately once the service is called. + +::: + +#### /navigation/set_stop_distance (IN DEVELOPMENT) + +  **Service Type:** [clearpath_navigation_msgs/srv/SetStopDistance](definitions.mdx#srv-set-stop-distance) + +  **Description:** Modify the state of the stop distance feature. If True, +the stop distance feature is ENABLED and the robot will stop the +specified distance from obstacles. If False, the stop distance feature +is DISABLED and the robot will stop the default distance from obstacles. + +#### /navigation/set_delay_compensation (IN DEVELOPMENT) + +  **Service Type:** [clearpath_navigation_msgs/srv/SetDelayCompensation](definitions.mdx#srv-set-delay-compensation) + +  **Description:** Modify the state of the delay compensation feature. If +True, delay compensation is ENABLED and the controller will compensate +for low-level mechanical delays. If False, delay compensation is +DISABLED and the normal behaviour is expected. + +------------------------------------------------------------------------ + +### Actions Exported by Autonomy + +#### /dock + +  **Action Type:** [clearpath_dock_msgs/action/Dock](definitions.mdx#action-dock) + +  **Description:** Send the robot to the charging dock, if the docking +package has been included. + +#### /localization/survey + +  **Action Type:** [clearpath_localization_msgs/action/SurveyBaseStation](definitions.mdx#action-survey-base-station) + +  **Description:** Start surveying the base station, if available. + +#### /mission + +  **Action Type:** [clearpath_navigation_msgs/action/Mission](definitions.mdx#action-mission) + +  **Description:** Send goals for execution by the robot. This will +include the goal, the waypoint(s), tasks, goal tolerances, goal +heading, a from_start flag, and an optional start_waypoint_uuid. + +#### /mission/by_id + +  **Action Type:** [clearpath_navigation_msgs/action/ExecuteMissionByUuid](definitions.mdx#action-execute-mission-by-uuid) + +  **Description:** Send goals for execution by the robot +according to the specific mission uuid. This will include the goal, the waypoint(s), tasks, +goal tolerances, goal heading, an optional start_waypoint_uuid, and a from_start flag. + +#### /undock + +  **Action Type:** [clearpath_dock_msgs/action/Dock](definitions.mdx#action-undock) + +  **Description:** Undock the robot to the charging dock, if the docking +package has been included. \ No newline at end of file diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_endpoints/definitions.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_endpoints/definitions.mdx new file mode 100644 index 00000000..fc20e59a --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_endpoints/definitions.mdx @@ -0,0 +1,1296 @@ +--- +title: Definitions +sidebar_label: Definitions +sidebar_position: 6 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +### Message Definitions + +#### clearpath_control_msgs/ControlMode.msg {#msg-control-mode} + +``` +# Control mode message + +int8 NEUTRAL=0 +int8 MANUAL=1 +int8 AUTONOMY=2 + +int8 mode +``` + +#### clearpath_control_msgs/ControlSelectionState.msg {#msg-control-selection-state} + +``` +# The complete state of the control selection module. This message includes the autonomy state as well as the navigation mode. + +ControlState autonomy +ControlMode mode +``` + +#### clearpath_control_msgs/ControlState.msg {#msg-control-state} + +``` +# The autonomy state message, The autonomy can be either enabled/disabled and active/paused. + +bool enabled +bool paused +``` + +#### clearpath_dock_msgs/DockInfo.msg {#msg-dock-info} + +``` +# Message definition containing the information of a single dock. This includes identifiers, lat/lon and orientation of the location of a dock. + +string name +string uuid +string frame +string target_template + +# ISO 8601 date/time format of last successfull dock location setting +string last_location_set_time + +# maximum allowable distance to allow for predocking. (ie. the distance within which the dock waypoint must be located) +float32 max_predock_distance +# the distance from the dock that the robot will navigate to prior to start docking +float32 predock_distance + +# location of the dock +float64 latitude +float64 longitude +float64 heading +``` + +#### clearpath_dock_msgs/DockProperties.msg {#msg-dock-properties} + +``` +# Message definition containing the properties for each of the docks available. + +clearpath_dock_msgs/DockInfo[] docks +``` + +#### clearpath_dock_msgs/DockState.msg {#msg-dock-state} + +``` +# Message definition containing information on what state the docking process is in. + +uint8 UNDOCKED = 0 +uint8 DOCKED = 1 +uint8 IN_PROGRESS = 2 +uint8 FAILED = 3 +uint8 CANCELLED = 4 + +uint8 state +``` + +#### clearpath_dock_msgs/TargetTrackerState.msg {#msg-target-tracker-state} + +``` +# Message definition containing the state information of the target tracker. +# This includes whether or not the tracker is active, whether the target is visible/lost, and the target pose and score of that pose. + +bool active + +# flag indicates if the target is visible or not +bool target_locked + +geometry_msgs/PoseWithCovarianceStamped target_pose +float32 score + +# the distance of the sensor_link to the dock target +float64 distance_to_target +``` + +#### clearpath_localization_msgs/LocalizationStatus.msg {#msg-localization-status} + +``` +# Localization status message for all sources of localization + +std_msgs/Header header +float32 accuracy # IN DEVELOPMENT + +# status information related to the GPS receiver units +GNSSStatus position_gnss +GNSSStatus heading_gnss +GNSSStatus base_station_gnss + +bool dead_reckoning +``` + +#### clearpath_localization_msgs/GNSSStatus.msg {#msg-gnss-status} + +``` +# GNSS receiver status message + +uint8 POSITION_RECEIVER = 0 +uint8 HEADING_RECEIVER = 1 +uint8 BASE_STATION_RECEIVER = 2 +uint8 receiver_type + +uint8 POSITION_NO_FIX = 0 +uint8 POSITION_SPP = 1 +uint8 POSITION_SBAS = 2 +uint8 POSITION_RTK_FLOAT = 3 +uint8 POSITION_RTK_FIXED = 4 +uint8 position_fix_type + +uint8 HEADING_NOT_APPLICABLE = 0 +uint8 HEADING_NO_SOLUTION = 1 +uint8 HEADING_RTK_FLOAT = 2 +uint8 HEADING_RTK_FIXED = 3 +uint8 heading_fix_type + +uint8 num_connected_sats # Number of satellites connected to the antenna/receiver +uint8 num_sats_solution # Number of sats used in solution +float32[] cn0 # The carrier-to-noise ratio of each connected satellite +float64 correction_age # Age of RTK corrections. -1 indicates none received +``` + +#### clearpath_mission_manager_msgs/msg/StorageState.msg {#storage-storagestate} + +``` +# The entire contents of the Mission database +# Note that all of the following cases are valid: +# - a Task can be referenced in multiple Waypoints +# - a Waypoint can be referenced in multiple Missions +# - a Waypoint can be orphaned (i.e. not included in any Missions) +# - a Task can be orphaned (i.e. not included in any Waypoints) + +# All missions defined in the database +clearpath_navigation_msgs/Mission[] missions + +# All waypoints defined in the database +clearpath_navigation_msgs/Waypoint[] waypoints + +# All tasks defined in the database +clearpath_navigation_msgs/Task[] tasks +``` + +#### clearpath_mission_scheduler_msgs/msg/NextSchedule.msg + +``` +# The ID of the next schedule to start +# Empty if nothing is scheduled +string uuid + +# The time until the schedule starts (rounded to the nearest second) +duration time_to_start +``` + +#### clearpath_mission_scheduler_msgs/msg/Schedule {#scheduler-schedule} + +``` +# Single-execution mode; the schedule starts at the designated time and runs once +uint8 MODE_ONCE=0 + +# Looping mode; the schedule starts at the designated time, and every loop_interval seconds after +# for the designated number of repeats +uint8 MODE_LOOP=1 + +# Single-shot execution, but does NOT get added to the persistent storage +# Equivalent to MODE_ONCE, but for one-off, throw-away schedules (e.g. "Run X in 5 minutes") +uint8 MODE_TRANSIENT=2 + +# The human-readable name for this schedule +# Should be unique, but there's no hard requirement for it to be so +string name + +# The unique ID of this schedule +# A string of the form "12345678-90ab-cdef-1234-567890abcdef" +string uuid + +# The time that this mission starts every day +clearpath_mission_scheduler_msgs/UtcTime start_time + +# Either MODE_ONCE or MODE_LOOP to indicate the execution mode +uint8 mode + +# In MODE_LOOP, how many times do we repeat the missions? +uint8 loop_repeats + +# In MODE_LOOP, how long do we wait between executions? +duration loop_interval + +# The ordered list of Mission UUIDs to execute +string[] mission_ids + +# The minimum battery charge needed before we execute the missions +# Must be in the range 0-1 +float32 min_battery + +# If the missions take longer than this to execute, assume the schedule has failed and alert the user +# Set to zero to disable the timeout +duration timeout + +# Is this schedule enabled? +# Only enabled schedules will execute +bool enabled +``` + +#### clearpath_mission_scheduler_msgs/msg/StorageState.msg {#scheduler-state} + +``` +# Single-execution mode; the schedule starts at the designated time and runs once +uint8 MODE_ONCE=0 + +# Looping mode; the schedule starts at the designated time, and every loop_interval seconds after +# for the designated number of repeats +uint8 MODE_LOOP=1 + +# Single-shot execution, but does NOT get added to the persistent storage +# Equivalent to MODE_ONCE, but for one-off, throw-away schedules (e.g. "Run X in 5 minutes") +uint8 MODE_TRANSIENT=2 + +# The human-readable name for this schedule +# Should be unique, but there's no hard requirement for it to be so +string name + +# The unique ID of this schedule +# A string of the form "12345678-90ab-cdef-1234-567890abcdef" +string uuid + +# The time that this mission starts every day +clearpath_mission_scheduler_msgs/UtcTime start_time + +# Either MODE_ONCE or MODE_LOOP to indicate the execution mode +uint8 mode + +# In MODE_LOOP, how many times do we repeat the missions? +uint8 loop_repeats + +# In MODE_LOOP, how long do we wait between executions? +duration loop_interval + +# The ordered list of Mission UUIDs to execute +string[] mission_ids + +# The minimum battery charge needed before we execute the missions +# Must be in the range 0-1 +float32 min_battery + +# If the missions take longer than this to execute, assume the schedule has failed and alert the user +# Set to zero to disable the timeout +duration timeout + +# Is this schedule enabled? +# Only enabled schedules will execute +bool enabled +``` + +#### clearpath_mission_scheduler_msgs/msg/UtcTime.msg {#scheduler-time} + +``` +# Represents a moment in time on a 24-hour clock + +# The hour, 0-23 +uint8 hour + +# The minute, 0-59 +uint8 minute + +# The second, 0-59 +uint8 second + +# Milliseconds, 0-999 (not typically needed) +uint16 millisecond +``` + +#### clearpath_navigation_msgs/Mission.msg {#msg-navigation-mission} + +``` +# Message definition for an OutdoorNav mission + +std_msgs/Header header + +# The human-readable name of this mission +string name + +# A UUID string used to uniquely identify this mission +string uuid + +# The ordered list of Waypoints that make up the mission +clearpath_navigation_msgs/Waypoint[] waypoints + +# Configuration parameters for the mission +# Additional details TBD +string onav_config +``` + +#### clearpath_navigation_msgs/DistanceToGoal.msg {#msg-distance-to-goal} + +``` +# Message includes Euclidean and Path distance to goal + +float32 euclidean +float32 path +``` + +#### clearpath_navigation_msgs/Metrics.msg {#msg-metrics} + +``` +# Message containing some metric information related to the autonomy metrics. + +float64 total_distance_travelled # [m] +float64 total_duration # [s] + +uint64 num_missions_sent +uint64 num_missions_completed +uint64 num_replans +uint64 num_recoveries +uint64 num_tasks_executed +``` + +#### clearpath_navigation_msgs/MotionState.msg {#msg-motion-state} + +``` +# Motion state message to indicate the current motion, expected motion and the direction of travel of the robot. + +# State pertaining to current motion of the robot. +uint8 MOTION_NORMAL=10 +uint8 MOTION_STOPPED=11 +uint8 MOTION_REVERSE=12 +uint8 MOTION_SLOWING=13 # Currently unused +uint8 motion + +# State pertaining to the robot's movement along the path. Predictive, ie state +# will be INDICATOR_LEFT_TURN if in or approaching a left turn. +uint8 INDICATOR_NORMAL=20 +uint8 INDICATOR_LEFT_TURN=21 +uint8 INDICATOR_RIGHT_TURN=22 +uint8 INDICATOR_CLOCKWISE=23 +uint8 INDICATOR_COUNTERCLOCKWISE=24 +uint8 INDICATOR_HAZARD=25 # Currently unused +uint8 indicator + +# Direction of travel of the robot relative to its physical forward direction. +uint8 DIRECTION_FORWARD=30 +uint8 DIRECTION_REVERSE=31 +uint8 direction +``` + +#### clearpath_navigation_msgs/NavigationState.msg {#msg-navigation-state} + +``` +# Message containing the current navigation state(s). Navigation may be in multiple states. + +uint8 STATE_IDLE = 0 +uint8 STATE_COMPUTE_PATH = 1 +uint8 STATE_EXECUTE_PATH = 2 +uint8 STATE_REPLAN = 3 +uint8 STATE_NAVIGATING_AROUND_OBSTACLE = 4 +uint8 STATE_RECOVERY = 5 +uint8 STATE_LOST = 6 +uint8 STATE_DONE = 7 +uint8 STATE_SAFETY_STOP = 8 +uint8 STATE_PAUSE = 9 +uint8 STATE_DISABLE = 10 + +uint8[] states +``` + +#### clearpath_navigation_msgs/OdomIntent.msg {#msg-odom-intent} + +``` +# Message containing current and predicted odom related information + +std_msgs/Header header + +# Current and predicted odom +perception_navigation_msgs/Odom2DLean odom +perception_navigation_msgs/Odom2DLean predicted_odom + +# Time offset corresponding to prediction +float32 dt +``` + +#### clearpath_navigation_msgs/PointVector.msg {#msg-point-vector} + +``` +# Vector of point vectors (for GUI) +std_msgs/Header header + +clearpath_navigation_msgs/Vector2D[] cloud +``` + +#### clearpath_navigation_msgs/Progress.msg (BETA) {#msg-navigation-progress} + +``` +# Message containing the completion percentage of the currently executed path and the current goal. + +float32 path_progress +float32 goal_progress +float32 mission_progress +``` + +#### clearpath_navigation_msgs/ScanPoints.msg {#msg-scan-points} + +``` +# Message definition for the detection points used by the navigation that relate to the detected obstacles. + +std_msgs/Header header + +string[] frames_vector +clearpath_navigation_msgs/PointVector[] cloud_vector +``` + +#### clearpath_navigation_msgs/Task.msg {#msg-navigation-task} + +``` +# A single task that can be executed at a Waypoint + +# The human-readable name of this task +string name + +# A UUID string to uniquely identify this Task +string uuid + +# The ROS action that this task executes +string action_server_name + +# The version of this task +string version + +# Numerical/boolean data to be passed to the action_server_name +# The exact meaning of these values is dependent on the underlying service +float64[] floats + +# String data to be passed to the action_server_name +# The exact meaning of these values is dependent on the underlying service +string[] strings + +# Boolean value which determines whether a mission using this task can continue +# if this task fails to execute +bool allow_failure +``` + +#### clearpath_navigation_msgs/TrackError.msg {#msg-track-error} + +``` +# The path error message containing the off-path cross track error and the relative heading error to the path direction + +std_msgs/Header header +float32 cross_track_error +float32 heading_error +``` + +#### clearpath_navigation_msgs/Vector2D.msg {#msg-vector-2d} + +``` +# 2D Vector of floats (used for GUI) + +float32[2] point +``` + +#### clearpath_navigation_msgs/Waypoints.msg {#msg-navigation-waypoints} + +``` +# A single Waypoint along a Mission + +# A UUID string to uniquely identify this Waypoint +string uuid + +# The human-readable name of this Waypoint +string name + +# The latitude (in degrees) of this Waypoint +float64 latitude + +# The longitude (in degrees) of this Waypoint +float64 longitude + +# The compass heading (in degrees) of this Waypoint +float64 heading + +# A radius in meters indicating the acceptable radius from the target location +# Posititon tolerance is disabled if this value is negative +float64 position_tolerance + +# A tolerance in degrees indicating the acceptable deviation from the heading +# Heading tolerance is disabled if this value is negative +float64 yaw_tolerance + +# The ordered set of Tasks to execute once the goal position & orientation are reached +clearpath_navigation_msgs/Task[] tasks +``` + +#### clearpath_platform_msgs/PlatformID.msg {#msg-platform-id} + +``` +# Platform ID message containing the model, serial #, hardware and firmware versions + +string model +string serial_id +string hardware_revision +string firmware_revision +``` + +#### clearpath_safety_msgs/Safety.msg {#msg-safety} + +``` +# Safety monitor message telling us if the safety monitor has been triggered and a message +# indicating what caused the trigger + +uint8 SAFETY_ESTOP = 0 +uint8 SAFETY_SENSOR_TIMEOUT = 1 + +bool safety_monitor_triggered +uint8 trigger_type +string message +``` + +#### clearpath_safety_msgs/WatchdogStatus.msg {#msg-safety-watchdog} + +``` +# Watchdog status message containing information related to sensor monitoring, emergency stop and safety stops + +bool[] gps_watchdog_triggered +bool[] lidar_watchdog_triggered +bool[] camera_watchdog_triggered +``` + +#### Standard ROS Messages {#std-ros-msgs} + +- [actionlib_msgs/GoalID](http://docs.ros.org/en/noetic/api/actionlib_msgs/html/msg/GoalID.html) +- [diagnostic_msgs/DiagnosticArray](http://docs.ros.org/en/noetic/api/diagnostic_msgs/html/msg/DiagnosticArray.html) +- [geometry_msgs/PolygonStamped](http://docs.ros.org/en/noetic/api/geometry_msgs/html/msg/PolygonStamped.html) +- [geometry_msgs/Polygon](http://docs.ros.org/en/noetic/api/geometry_msgs/html/msg/Polygon.html) +- [geometry_msgs/PoseArray](http://docs.ros.org/en/noetic/api/geometry_msgs/html/msg/PoseArray.html) +- [geometry_msgs/Twist](http://docs.ros.org/en/noetic/api/geometry_msgs/html/msg/Twist.html) +- [nav_msgs/OccupancyGrid](http://docs.ros.org/en/noetic/api/nav_msgs/html/msg/OccupancyGrid.html) +- [nav_msgs/Odometry](http://docs.ros.org/en/noetic/api/nav_msgs/html/msg/Odometry.html) +- [nav_msgs/Path](http://docs.ros.org/en/noetic/api/nav_msgs/html/msg/Path.html) +- [sensor_msgs/Imu](http://docs.ros.org/en/noetic/api/sensor_msgs/html/msg/Imu.html) +- [sensor_msgs/LaserScan](http://docs.ros.org/en/noetic/api/sensor_msgs/html/msg/LaserScan.html) +- [sensor_msgs/NavSatFix](http://docs.ros.org/en/noetic/api/sensor_msgs/html/msg/NavSatFix.html) +- [sensor_msgs/PointCloud2](http://docs.ros.org/en/noetic/api/sensor_msgs/html/msg/PointCloud2.html) +- [std_msgs/Bool](http://docs.ros.org/en/noetic/api/std_msgs/html/msg/Bool.html) +- [std_msgs/Empty](http://docs.ros.org/en/noetic/api/std_msgs/html/msg/Empty.html) +- [std_msgs/String](http://docs.ros.org/en/noetic/api/std_msgs/html/msg/String.html) +- [tf2_msgs/TFMessage](http://docs.ros.org/en/noetic/api/tf2_msgs/html/msg/TFMessage.html) +- [wireless_msgs/Connection](http://docs.ros.org/en/noetic/api/wireless_msgs/html/msg/Connection.html) + +------------------------------------------------------------------------ + +### Service Definitions + +#### clearpath_control_msgs/srv/SetControlMode.srv {#srv-set-control-mode} + +``` +# Service definition to set the control mode + +clearpath_control_msgs/ControlMode mode +--- +``` + +#### clearpath_dock_msgs/srv/AddDock.srv {#srv-add-dock} + +``` +# A dock information message that will be added to the docks list +clearpath_dock_msgs/DockInfo dock +--- +# True if the location was updated/added successfully, otherwise False +bool success +``` + +#### clearpath_dock_msgs/srv/RemoveDock.srv {#srv-remove-dock} + +``` +# A dock information message that will remove a dock from the docks list +string uuid +string name +--- +# True if the dock was removed successfully, otherwise False +bool success +``` + +#### clearpath_dock_msgs/srv/SetDockLocationById.srv {#srv-set-dock-location-by-id} + +``` +# The UUID of the dock we're setting a location for +# If empty, a new dock is to be added with the location +string uuid +--- +# True if the location was updated/added successfully, otherwise False +bool success +``` + +#### clearpath_dock_msgs/srv/SetDockLocationByName.srv {#srv-set-dock-location-by-name} + +``` +# The UUID of the dock we're setting a location for +# If empty, a new dock is to be added with the location +string name +--- +# True if the location was updated/added successfully, otherwise False +bool success +``` + +#### clearpath_localization_msgs/srv/SetDatum.srv {#srv-set-datum} + +``` +# Service definition to set the datum with a latitude (lat) and longitude (lon) + +float32 lat +float32 lon +--- +bool success +``` + +#### clearpath_localization_msgs/srv/ResetLocalization.srv {#srv-reset-localization} + +``` +# Service definition to reset the localization + +bool require_gnss +uint32 gnss_samples +--- +bool success +``` + +#### clearpath_mission_manager_msgs/srv/AddRemoveById.srv {#storage-addremovebyid} + +``` +# The UUID of the object we're inserting/removing +# When removing, all instances with this UUID are deleted from the parent +string uuid + +# The UUID of the parent object +string parent_uuid + +# The zero-based index to insert the object into +# Ignored when removing +int32 position +--- +# True if the object was added/removed successfully, otherwise False +bool ok +``` + +#### clearpath_mission_manager_msgs/srv/CloneMission.srv {#storage-clonemission} +``` +# The UUID of the mission to clone +string uuid + +# The new name for the mission +# If blank, the old mission name will be re-used with -copy appended to the end +string new_name + +# If true, the order of the waypoints within the cloned mission are reversed +bool reverse +--- +# The Mission with the given ID, or null if no Mission with that ID exists +clearpath_navigation_msgs/Mission mission +``` + +:::note + +The `reverse` parameter was added in 0.9.0 + +::: + +#### clearpath_mission_manager_msgs/srv/CreateMission.srv {#storage-createmission} + +``` +# The desired name for the new mission +string name + +# The additional configuration options +# see clearpath_mission_manager_msgs/msg/Mission for details +string onav_config + +# The ordered list of Waypoint UUIDs to include in this mission +string[] waypoint_ids +--- +# The resulting Mission, with an auto-generated UUID is returned +clearpath_navigation_msgs/Mission result +``` + +#### clearpath_mission_manager_msgs/srv/CreateTask.srv {#storage-createtask} + +``` +# The desired name for the Task +string name + +# The ROS Action to invoke to execute the task +string service_call + +# The version of the task +string version + +# The numerical arguments to pass to the service_call +float64[] floats + +# The string arguments to pass to the service_call +string[] strings + +# Optional list of Waypoint UUIDs to assign this task to automatically +# The new task will be appended to the end of the existing Waypoints +string[] assign_to +--- +# The resulting Task with an auto-generated UUID is returned +clearpath_navigation_msgs/Task result +``` + +#### clearpath_mission_manager_msgs/srv/CreateWaypoint.srv {#storage-createwaypoint} + +``` +# The desired name for the Waypoint +string name + +# The latitude for the Waypoint in degrees +float64 latitude + +# The longitude for the Waypoint in degrees +float64 longitude + +# The compass heading in degrees for the Waypoint +float64 heading + +# The position tolerance for the Waypoint in meters +float64 position_tolerance + +# The orientation tolerance for the Waypoint in degrees +float64 yaw_tolerance + +# Optional ordered list of Task UUIDs to execute at this Waypoint +string[] task_ids + +# Optional list of Mission UUIDs to assign the new Waypoint to +# The new Waypoint is appended to the end of the existing Missions +string[] assign_to +--- +# The resulting Waypoint with an auto-generated UUID is returned +clearpath_navigation_msgs/Waypoint result +``` + +#### clearpath_mission_manager_msgs/srv/DeleteById.srv {#storage-deletebyid} + +``` +# The UUID of the object we want to delete +string uuid +--- +# True if the item was successfully deleted, otherwise False +bool ok +``` + +#### clearpath_mission_manager_msgs/srv/DeleteEverything.srv {#storage-deleteeverything} + +``` +# Used to permanently delete everything from the database. +# Use this service at your own risk + +# This must be set to true to confirm you really want to delete everything +bool yes_i_am_absolutely_sure_i_want_to_do_this +--- +# True if the database was cleared, otherwise False +bool ok +``` + +#### clearpth_mission_manager_msgs/srv/DeleteMultiple.srv {#storage-deletemultiple} + +``` +# A list of UUIDs of items we want to delete +string[] uuids +--- +# A list of UUIDs that we were asked to delete, but failed to +string[] failed_uuids +``` + +#### clearpath_mission_manager_msgs/srv/ExportData.srv {#storage-exportdata} + +``` +--- +# A JSON string representing the database contents. +# This can be written to a file or used with the ImportData.srv +# to back-up/restore the database contents +string data +``` + +#### clearpath_mission_manager_msgs/srv/GetAllMissions.srv {#storage-getallmissions} + +``` +--- +# An array of all Missions defined in the database +clearpath_navigation_msgs/Mission[] missions +``` + +#### clearpath_mission_manager_msgs/srv/GetAllTasks.srv {#storage-getalltasks} + +``` +--- +# The array of all Tasks defined in the database +clearpath_navigation_msgs/Task[] tasks +``` + +#### clearpath_mission_manager_msgs/srv/GetAllWaypoints.srv {#storage-getallwaypoints} + +``` +--- +# The array of all Waypoints defined in the database +clearpath_navigation_msgs/Waypoint[] waypoints +``` + +#### clearpath_mission_manager_msgs/srv/GetEverything.srv {#storage-geteverything} + +``` +--- +# All Missions, Waypoints, and Tasks defined in the database +clearpath_mission_manager_msgs/StorageState state +``` + +#### clearpath_mission_manager_msgs/srv/GetMission.srv {#storage-getmission} + +``` +# The UUID of the Mission we want to retrieve +string uuid +--- +# The Mission with the given ID, or null if no Mission with that ID exists +clearpath_navigation_msgs/Mission mission +``` + +#### clearpath_mission_manager_msgs/srv/GetTask.srv {#storage-gettask} + +``` +# The UUID of the Task we want to retrieve +string uuid +--- +# The Task with the given ID, or null if no Task with that ID exists +clearpath_navigation_msgs/Task task +``` + +#### clearpath_mission_manager_msgs/srv/GetWaypoint.srv {#storage-getwaypoint} + +``` +# The UUID of the Waypoint we want to retrieve +string uuid +--- +# The Waypoint with the given ID, or null if no Waypoint with that ID exists +clearpath_navigation_msgs/Waypoint waypoint +``` + +#### clearpath_mission_manager_msgs/srv/ImportData.srv {#storage-importdata} + +``` +# A JSON string representing the database contents. +# This is the same as the data output by the ExportData service, and is intended +# to be used to restore the database to a previous state +string data +--- +# The state of the database after importing the data +clearpath_mission_manager_msgs/StorageState state +``` + +#### clearpath_mission_manager_msgs/srv/ImportMission.srv {#storage-importmission} + +``` +# The Mission to import. All UUIDs will be re-generated +clearpath_navigation_msgs/Mission mission +--- +# The generated mission with new UUIDs +clearpath_navigation_msgs/Mission mission +``` + +#### clearpath_mission_manager_msgs/srv/UpdateMission.srv {#storage-updatemission} + +``` +# The UUID of the mission we want to edit +string uuid + +# The human-readable name for the Mission +string name + +# The configuration parameters for the Mission +string onav_config + +# The ordered list of Waypoint UUIDs to include in the Mission +string[] waypoint_ids +--- +# The edited Mission, or null if no mission with the given ID exists +clearpath_navigation_msgs/Mission result +``` + +#### clearpath_mission_manager_msgs/srv/UpdateTask.srv {#storage-updatetask} + +``` +# The UUID of the Task to edit +string uuid + +# The human-readable name for the Task +string name + +# The ROS Action that the Task executes +string service_call + +# The version of the Task +string version + +# The numerical data to pass to the service_call +float64[] floats + +# The string data to pass to the service_call +string[] strings +--- +# The edited Task, or null if no Task with the given ID exists +clearpath_navigation_msgs/Task result +``` + +#### clearpath_mission_manager_msgs/srv/UpdateWaypoint.srv {#storage-updatewaypoint} + +``` +# The UUID of the Waypoint to edit +string uuid + +# The human-readable name for the Waypoint +string name + +# The latitude of the Waypoint in degrees +float64 latitude + +# The longitude of the Waypoint in degrees +float64 longitude + +# The compass heading of the Waypoint in degrees +float64 heading + +# The Waypoint's position tolerance in meters +float64 position_tolerance + +# The Waypoint's orientation tolerance in degrees +float64 yaw_tolerance + +# The ordered list of Task UUIDs to execute at this Waypoint +string[] task_ids +--- +# The edited Waypoint, or null if no Waypoint with the given ID exists +clearpath_navigation_msgs/Waypoint result +``` + +#### clearpath_mission_scheduler_msgs/srv/CloneSchedule.srv {#scheduler-cloneschedule} + +``` +# The UUID of the schedule to clone +string uuid + +# The name for the new copy of the schedule +string new_name +--- +# The cloned schedule +# This should be identical to the original, but with a new name and new UUID +clearpath_mission_scheduler_msgs/Schedule schedule +``` + +#### clearpath_mission_scheduler_msgs/srv/CreateSchedule.srv {#scheduler-createschedule} + +``` +# The human-readable name for this schedule +# Should be unique, but there's no hard requirement for it to be so +string name + +# The time that this mission starts every day +clearpath_mission_scheduler_msgs/UtcTime start_time + +# Either Schedule.MODE_ONCE, Schedule.MODE_LOOP, OR Schedule.MODE_TRANSIENT to indicate the execution mode +uint8 mode + +# In MODE_LOOP, how many times do we repeat the missions? +uint8 loop_repeats + +# In MODE_LOOP, how long do we wait between executions? +duration loop_interval + +# The ordered list of Mission UUIDs to execute +string[] mission_ids + +# The minimum battery charge needed before we execute the missions +# Must be in the range 0-1 +float32 min_battery + +# If the missions take longer than this to execute, assume the schedule has failed and alert the user +# Set to zero to disable the timeout +duration timeout + +# Is this schedule enabled? +# Only enabled schedules will execute +bool enabled + +--- + +# The created mission, as-saved on disk +clearpath_mission_scheduler_msgs/Schedule result +``` + +#### clearpath_mission_scheduler_msgs/srv/EnableSchedule.srv {#scheduler-enableschedule} + +``` +# The ID of the schedule to enable/disable +string uuid + +# Should this schedule be enabled or disabled? +bool enable + +--- + +# True if we successfully enabled/disabled the schedule +# False if there was an error or the schedule wasn't found +bool ok +``` + +#### clearpath_mission_scheduler_msgs/srv/ExportData.srv {#scheduler-exportdata} + +``` +--- +# A JSON string representing the database contents. +# This can be written to a file or used with the ImportData.srv +# to back-up/restore the database contents +string data +``` + +#### clearpath_mission_scheduler_msgs/srv/GetAllSchedules.srv {#scheduler-getallschedules} + +``` +--- +clearpath_mission_scheduler_msgs/Schedule[] schedules +``` + +#### clearpath_mission_scheduler_msgs/srv/GetNextSchedule.srv {#scheduler-getnextschedule} + +``` +--- +# The ID of the next schedule to start +# Empty if nothing is scheduled +string uuid + +# The time until the schedule starts (rounded to the nearest second) +duration time_to_start +``` + +#### clearpath_mission_scheduler_msgs/srv/GetSchedule.srv {#scheduler-getschedule} + +``` +string uuid +--- +clearpath_mission_scheduler_msgs/Schedule schedule +``` + +#### clearpath_mission_scheduler_msgs/srv/ImportData.srv {#scheduler-importdata} + +``` +# A JSON string representing the database contents. +# This is the same as the data output by the ExportData service, and is intended +# to be used to restore the database to a previous state +string data +--- +# The state of the database after importing the data +clearpath_mission_scheduler_msgs/StorageState state +``` + +#### clearpath_mission_scheduler_msgs/srv/UpdateSchedule.srv {#scheduler-updateschedule} + +``` +# The ID of the mission to edit +string uuid + +# The human-readable name for this schedule +# Should be unique, but there's no hard requirement for it to be so +string name + +# The time that this mission starts every day +clearpath_mission_scheduler_msgs/UtcTime start_time + +# Either Schedule.MODE_ONCE, Schedule.MODE_LOOP, OR Schedule.MODE_TRANSIENT to indicate the execution mode +uint8 mode + +# In MODE_LOOP, how many times do we repeat the missions? +uint8 loop_repeats + +# In MODE_LOOP, how long do we wait between executions? +duration loop_interval + +# The ordered list of Mission UUIDs to execute +string[] mission_ids + +# The minimum battery charge needed before we execute the missions +# Must be in the range 0-1 +float32 min_battery + +# If the missions take longer than this to execute, assume the schedule has failed and alert the user +# Set to zero to disable the timeout +duration timeout + +# Is this schedule enabled? +# Only enabled schedules will execute +bool enabled + +--- + +# The modified mission, as-saved on disk +clearpath_mission_scheduler_msgs/Schedule result +``` + +#### clearpath_navigation_msgs/srv/SetDelayCompensation.srv {#srv-set-delay-compensation} + +``` +# Service definition to enable/disable the delay compensation feature. If enabling, the delay to compensate for must be specified in the request. + +bool enable_delay_compensation +uint16 delay # units: milliseconds +--- +bool success +string message +``` + +#### clearpath_navigation_msgs/srv/SetPathSmoother.srv {#srv-set-path-smoother} + +``` +# Service definition to enable/disable the path smoothing feature. If enabling, minimum turning radius must be specified in the request. + +bool enable_path_smoother +float32 turn_radius # units: meters +float32 step_size +--- +bool success +string message +``` + +#### clearpath_navigation_msgs/srv/SetStopDistance.srv {#srv-set-stop-distance} + +``` +# Service definition to enable/disable the stop distance. If enabling, the stop distance must be specified in the request. + +bool enable_stop_distance +float32 stop_distance # units: meters +--- +bool success +string message +``` + +#### Standard ROS Services + +- [std_srvs/Empty](http://docs.ros.org/en/noetic/api/std_srvs/html/srv/Empty.html) +- [std_srvs/SetBool](http://docs.ros.org/en/noetic/api/std_srvs/html/srv/SetBool.html) + +------------------------------------------------------------------------ + +### Action Definitions + +#### clearpath_dock_msgs/action/Dock.action {#action-dock} + +``` +# Action definition for sending a Clearpath UGV to one of its charging dock. + +# goal +string uuid +bool local_mode +--- +# result +bool success +--- +# feedback +string state + +# the distance of the charger_link to the dock target +float64 distance_to_dock +``` + +#### clearpath_dock_msgs/action/Undock.action {#action-undock} + +``` +# Action definition for undocking a Clearpath UGV from one of its charging docks. + +# goal +string uuid +--- +# result +bool success +--- +# feedback +string state + +# the distance of the charger_link to the dock target +float64 distance_to_dock +``` + +#### clearpath_localization_msgs/action/SurveyBaseStation.action {#action-survey-base-station} + +``` +# Action definition for surveying the base station + +# goal +# the number of GPS fixes that will be used to compute to surveyed position +uint32 number_of_desired_fixes +--- +# result +bool success +--- +# feedback +# current progress, as a percentage, of the surveying +float32 percent_complete +``` + + +#### clearpath_mission_scheduler_msgs/action/RunScheduleByUuid.action {#scheduler-runschedulebyuuid} + +``` +# Action definition for executing a schedule on-demand +# Potentially only useful for debugging + +# The UUID of the schedule to execute +string uuid + +# Wait this long before starting the schedule (ros:Duration msg, so the units are secs/nsecs) +duration delay +--- +# Did the schedule terminate successfully? +bool success +--- +# The ID of the mission we're executing right now +string current_mission_uuid + +# One of "waiting" or "executing" indicating what the schedule is doing +string state +``` + +#### clearpath_navigation_msgs/action/ExecuteMissionByUuid.action {#action-execute-mission-by-uuid} + +``` +# Action definition for executing a mission by uuid + +# goal +string uuid # UUID of The mission being executed + +# from_start = True -> Forces the mission to execute from the beginning +bool from_start + +# If from_start = False, mission will be executed from the waypoint with UUID specified. +# If from_start = False and no start_waypoint_uuid is specified then autonomy will pick the closest waypoint +string start_waypoint_uuid +--- +# result +bool success +--- +# feedback +string state + +``` + +#### clearpath_navigation_msgs/action/Mission.action {#action-mission} + +``` +# Action definition for sending a mission to the Clearpath OutdoorNav software + +# goal +clearpath_navigation_msgs/Mission mission + +# from_start = True -> Forces the mission to execute from the beginning +bool from_start + +# If from_start = False, mission will be executed from the start_waypoint specified. +# If from_start = False and no start_waypoint is specified then autonomy will pick the closest waypoint +clearpath_navigation_msgs/Waypoint start_waypoint +--- +# result +bool success +--- +# feedback +string state +``` diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_endpoints/mission_manager_api.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_endpoints/mission_manager_api.mdx new file mode 100644 index 00000000..b60ca9c5 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_endpoints/mission_manager_api.mdx @@ -0,0 +1,300 @@ +--- +title: Mission Manager API +sidebar_label: Mission Manager API +sidebar_position: 4 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +The Mission Manager API allows creation, deletion, and modification of OutdoorNav missions. Mission data is stored +in a databse-like structure on-disk. The web UI is the primary method of managing missions, but this service +API provides the ability to write your own UI if desired. + +### Topics Exported by Mission Manager + +#### mission_manager/state + +**Message Type:** [clearpath_mission_manager_msgs/msg/StorageState](definitions.mdx#storage-storagestate) + +**Description:** Latched topic that publishes the current database contents every time a change is made. + +### Services Exported by Mission Manager + +#### mission_manager/add_task_to_waypoint + +**Service Type:** [clearpath_mission_manager_msgs/srv/AddRemoveById](definitions.mdx#storage-addremovebyid) + +**Description:** Add an existing Task to an existing Waypoint. If the `position` parameter is negative the Task +is added to the end of the Waypoint's `tasks` list. + +#### mission_manager/add_waypoint_to_mission + +**Service Type:** [clearpath_mission_manager_msgs/srv/AddRemoveById](definitions.mdx#storage-addremovebyid) + +**Description:** Add an existing Waypoint to an existing Mission. If the `position` parameter is negative the Waypoint +is added to the end of the Task's `waypoints` list. + +#### mission_manager/clone_mission + +**Service Type:** [clearpath_mission_manager_msgs/srv/CloneMission](definitions.mdx#storage-clonemission) + +**Description:** Create a deep-copy of a Mission. The new Mission will be given the provided name, or reuse the original +mission's name wth `-copy` appended to the end if no name is provided. All Waypoints and their associated Tasks are also +deep-copied. If the `reverse` parameter is set to `true` the order of waypoints is reversed in the new mission. + +:::note + +In 0.8.0 onward, all missions are required to have unique names. If the specified name is not unique the cloning will +fail. Cloning a mission multiple times without specifying a unique name will add incrementing numbers to the suffix: +`-copy` for the first, `-copy1` for the second, `-copy2` for the third, and so on. + +::: + +:::note + +The `reverse` parameter was added in 0.9.0 and is not available in older versions. + +::: + +#### mission_manager/clone_task + +**Service Type:** [clearpath_mission_manager_msgs/srv/GetTask](definitions.mdx#storage-gettask) + +**Description:** Create a deep-copy of a Task. + +#### mission_manager/clone_waypoint + +**Service Type:** [clearpath_mission_manager_msgs/srv/GetWaypoint](definitions.mdx#storage-GetWaypoint) + +**Description:** Create a deep-copy of a Waypoint. The new Waypoint will be renamed to have `-copy` at the end. All +Tasks in the original Waypoint are also duplicated. + +#### mission_manager/create_mission + +**Service Type:** [clearpath_mission_manager_msgs/srv/CreateMission](definitions.mdx#storage-createmission) + +**Description:** Create a new Mission. + +:::note + +In 0.8.0 onward, all missions are required to have unique names. Creating a mission with a duplicate mission will fail. + +::: + +#### mission_manager/create_task + +**Service Type:** [clearpath_mission_manager_msgs/srv/CreateTask](definitions.mdx#storage-createtask) + +**Description:** Create a new Task. + +#### mission_manager/create_waypoint + +**Service Type:** [clearpath_mission_manager_msgs/srv/CreateWaypoint](definitions.mdx#storage-createwaypoint) + +**Description:** Create a new Waypoint. + +#### mission_manager/delete_all + +**Service Type:** [clearpath_mission_manager_msgs/srv/DeleteEverything](definitions.mdx#storage-deleteeverything) + +**Description:** Delete everything in the database. + +:::note + +Use with extreme caution; this procedure cannot be undone. + +::: + +#### mission_manager/delete_mission + +**Service Type:** [clearpath_mission_manager_msgs/srv/DeleteById](definitions.mdx#storage-deletebyid) + +**Description:** Delete the Mission with the given ID. Waypoints that are included in this mission are not +deleted, as they may be referenced by other Missions. + +#### mission_manager/delete_missions + +**Service Type:** [clearpath_mission_manager_msgs/srv/DeleteMultiple](definitions.mdx#storage-deletemultiple) + +**Description:** Delete the missions with the given IDs. Waypoints that are part of these missions are not deleted, +as they may be referenced by other Missions. + +#### mission_manager/delete_orphan_objects + +**Service Type:** [clearpath_mission_manager_msgs/srv/DeleteEverything](definitions.mdx#storage-deleteeverything) + +**Description:** Delete all Waypoints that are not referenced by any Missions and all Tasks that are not referenced +by any Waypoints. + +:::note + +Use with caution; deleted items cannot be recovered. + +::: + +#### mission_manager/delete_task + +**Service Type:** [clearpath_mission_manager_msgs/srv/DeleteById](definitions.mdx#storage-deletebyid) + +**Description:** Delete the Task with the given ID. Any Waypoints that reference the deleted Task will be modified +to omit this Task once it is deleted. + +#### mission_manager/delete_tasks + +**Service Type:** [clearpath_mission_manager_msgs/srv/DeleteMultiple](definitions.mdx#storage-deletemultiple) + +**Description:** Delete the tasks with the given IDs. + +#### mission_manager/delete_waypoint + +**Service Type:** [clearpath_mission_manager_msgs/srv/DeleteById](definitions.mdx#storage-deletebyid) + +**Description:** Delete the Waypoint with the given ID. Tasks that are included in this mission are not +deleted, as they may be referenced by other Waypoints. Any Missions that reference the deleted Waypoint will be +modified to omit this Waypoint once it is deleted. + +#### mission_manager/delete_waypoints + +**Service Type:** [clearpath_mission_manager_msgs/srv/DeleteMultiple](definitions.mdx#storage-deletemultiple) + +**Description:** Delete the Waypoints with the given IDs. Tasks that are part of these Waypoints are not deleted, +as they may be referenced by other Waypoints. + +#### mission_manager/export + +**Service Type:** [clearpath_mission_manager_msgs/srv/ExportData](definitions.mdx#storage-exportdata) + +**Description:** Export the database so its contents can be restored later using the `mission_manager/restore` service +or merged with other data using the `mission_manager/import` service. + +:::note + +The data returned in a JSON string representing the underlying storage file's contents. + +::: + +#### mission_manager/get_all + +**Service Type:** [clearpath_mission_manager_msgs/srv/GetEverything](definitions.mdx#storage-geteverything) + +**Description:** Get the entire contents of the database, including all Missions, Tasks, and Waypoints. + +:::note + +If you need to maintain an up-to-date copy of the database state, rather than calling this service repeatedly you +should subscribe to the `mission_manager/state` topic. + +::: + +#### mission_manager/get_all_missions + +**Service Type:** [clearpath_mission_manager_msgs/srv/GetAllMissions](definitions.mdx#storage-getallmissions) + +**Description:** Get all Missions defined in the database. + +#### mission_manager/get_all_tasks + +**Service Type:** [clearpath_mission_manager_msgs/srv/GetAllTasks](definitions.mdx#storage-getalltasks) + +**Description:** Get all Tasks defined in the database. + +#### mission_manager/get_all_waypoints + +**Service Type:** [clearpath_mission_manager_msgs/srv/GetAllWaypoints](definitions.mdx#storage-getallwaypoints) + +**Description:** Get all Waypoints defined in the database. + +#### mission_manager/get_mission + +**Service Type:** [clearpath_mission_manager_msgs/srv/GetMission](definitions.mdx#storage-getmission) + +**Description:** Get the Mission with the specified ID. + +#### mission_manager/get_task + +**Service Type:** [clearpath_mission_manager_msgs/srv/GetTask](definitions.mdx#storage-gettask) + +**Description:** Get the Task with the specified ID. + +#### mission_manager/get_waypoint + +**Service Type:** [clearpath_mission_manager_msgs/srv/GetWaypoint](definitions.mdx#storage-getwaypoint) + +**Description:** Get the Waypoint with the specified ID. + +#### mission_manager/import + +**Service Type:** [clearpath_mission_manager_msgs/srv/ImportData](definitions.mdx#storage-importdata) + +**Description:** Add existing Missions, Tasks, and Waypoints to the database. + +:::note + +All imported Missions, Tasks, and Waypoints are added to the existing database. Items whose UUIDs already exist will +be skipped & the existing copies re-used. This allows you to copy all mission objects from one robot to another. + +To delete all data and restore a backup, instead of merging with existing data, use the `/mission_manager/restore` +service instead. + +::: + +#### mission_manager/import_mission + +**Service Type:** [clearpath_mission_manager_msgs/srv/ImportMission](definitions.mdx#storage-importmission) + +**Description:** Add existing Mission to the database. All UUIDs will be regenerated. + + +#### mission_manager/remove_task_from_waypoint + +**Service Type:** [clearpath_mission_manager_msgs/srv/AddRemoveById](definitions.mdx#storage-addremovebyid) + +**Description:** Remove a Task from a Waypoint. All instances of the Task are removed from the given Waypoint. + +#### mission_manager/remove_waypoint_from_mission + +**Service Type:** [clearpath_mission_manager_msgs/srv/AddRemoveById](definitions.mdx#storage-addremovebyid) + +**Description:** Remove a Waypoint from a Mission. All instances of the Waypoint are removed from the given Mission. + +#### mission_manager/restore + +**Service Type:** [clearpath_mission_manager_msgs/srv/ImportData](definitions.mdx#storage-importdata) + +**Description:** Overwite the database contents with data generated by the `mission_manager/export` service. This is +intended to be used to restore a backup of the missions and roll the database back to an earlier state. + +:::note + +All existing Missions, Tasks and Waypoints are deleted permanently and the entire database contents are replaced +with the imported data. + +To merge the data with the existing database, without deleting existing data, use the `/mission_manager/import` +service instead. + +::: + +#### mission_manager/update_mission + +**Service Type:** [clearpath_mission_manager_msgs/srv/UpdateMission](definitions.mdx#storage-updatemission) + +**Description:** Modify a Mission. All attributes of the Mission are replaced with the provided values. + +:::note + +In 0.8.0 onward, all missions are required to have unique names. Assigning a name that is already in-use will result +in an error. + +::: + +#### mission_manager/update_task + +**Service Type:** [clearpath_mission_manager_msgs/srv/UpdateTask](definitions.mdx#storage-updatetask) + +**Description:** Modify a Task. All attributes of the Task are replaced with the provided values. + +#### mission_manager/update_waypoint + +**Service Type:** [clearpath_mission_manager_msgs/srv/UpdateWaypoint](definitions.mdx#storage-updatewaypoint) + +**Description:** Modify a Waypoint. All attributes of the Waypoint are replaced with the provided values. diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_endpoints/mission_scheduler_api.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_endpoints/mission_scheduler_api.mdx new file mode 100644 index 00000000..80a30da1 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_endpoints/mission_scheduler_api.mdx @@ -0,0 +1,213 @@ +--- +title: Mission Scheduler API +sidebar_label: Mission Scheduler API +sidebar_position: 5 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +The Mission Scheduler API provides a ROS interface for creating, deleting, editing, and executing missions on a daily +schedule. Schedules are stored in a database-like structure on-disk, and can be executed manually or automatically. + +The web UI is the primary method of creating and modifying schedules, though the ROS API is available should you wish +to write your own interface or create automation tools to interact with the scheduler. + +## The Schedule Object + +A schedule consists of one or more missions to be executed in the specified order at a particular start time. For +consistency the start time is expressed as a 24-hour time in UTC. + +The schedule must be in one of 3 modes: +- `MODE_ONCE` -- the mission is executed exactly once per day, at the indicted UTC time +- `MODE_LOOP` -- the mission is executed a set number of times per day, starting at the indicated UTC time and repeating + at fixed intervals until the desired number of repetitions is reached +- `MODE_TRANSIENT` -- the mission is run exactly once, and is not saved to the persistent storage. This is intended to + be used for deferred execution of a mission (e.g. `execute mission X in 5 minutes` would use a transient schedule) + +Deleting a mission from the Mission Manager will result in that mission being automatically removed from any schedules +it was part of. If a schedule has no missions it is automatically disabled, and cannot be re-enabled until it contains +at least one mission. + +### A Note on Schedule Timing + +Automatically-scheduled missions are executed at the provided time +/- 10 seconds. The duration provided by the +`next_schedule` topic and `get_next_schedule` service is therefore approximate. We recommend rounding the time to the +nearest minute when displaying the countdown information to the user in any sort of GUI. + +## Topics Exported by Mission Scheduler + +### mission_scheduler/next_schedule + +**Message Type:** [clearpath_mission_scheduler_msgs/msg/NextSchedule](definitions.mdx#scheduler-nextschedule) + +**Description:** Publishes the UUID and duration to the next scheduled mission. If no missions are scheduled the UUID +will be blank. + +**Update Rate:** 1Hz + +### mission_scheduler/state + +**Message Type:** [clearpath_mission_scheduler_msgs/msg/StorageState](definitions.mdx#scheduler-state) + +**Description:** Publishes the current state of the database. Anything that needs to display the current set of +schedules should subscribe to this topic + +**Update Rate:** Latched, publishes on state-change only + +## Services Exported by Mission Scheduler + +### mission_scheduler/add_mission + +**Service Type:** [clearpath_mission_manager_msgs/srv/AddRemoveById](definitions.mdx#storage-addremovebyid) + +**Description:** Add a mission to an existing schedule. + +### mission_scheduler/clone_schedule + +**Service Type:** [clearpath_mission_scheduler_msgs/srv/CloneSchedule](definitions.mdx#scheduler-cloneschedule) + +**Description:** Perform a deep-copy of an existing schedule + +### mission_scheduler/create_schedule + +**Service Type:** [clearpath_mission_scheduler_msgs/srv/CreateSchedule](definitions.mdx#scheduler-createschedule) + +**Description:** Create a new schedule + +### mission_scheduler/delete_all_schedules + +**Service Type:** [clearpath_mission_manager_msgs/srv/DeleteEverything](definitions.mdx#storage-deleteeverything) + +**Description:** Delete all schedules. + +:::note + +This action is permanent and cannot be undone. Use with caution. + +::: + +### mission_scheduler/delete_schedule + +**Service Type:** [clearpath_mission_manager_msgs/srv/DeleteById](definitions.mdx#storage-deletebyid) + +**Description:** Delete a single schedule. + +:::note + +This action is permanent and cannot be undone. Use with caution. + +::: + +### mission_scheduler/enable_schedule + +**Service Type:** [mission_scheduler/srv/UpdateSchedule](definitions.mdx#scheduler-enablechedule) + +**Description:** Enable or disable a schedule. + +:::note + +Disabled schedules can still be run manually with the `run_now` action (see below). Disabled schedules will never +be run automatically. + +::: + +### mission_scheduler/export + +**Service Type:** [clearpath_mission_scheduler_msgs/srv/ExportData](definitions.mdx#scheduler-exportdata) + +**Description:** Export all schedule data to a JSON string so it can be backed-up or copied to another robot. + +:::note + +This service is intended to be used in combination with the `import_data` service to facilitate backups or +synchronizing schedules across multiple robots. + +::: + +### mission_scheduler/get_all_schedules + +**Service Type:** [mission_scheduler/srv/GetAllSchedules](definitions.mdx#scheduler-getallschedules) + +**Description:** Get the list of all schedules. The list will include enabled, disabled, and transient schedules. + +### mission_scheduler/get_next_schedule + +**Service Type:** [mission_scheduler/srv/GetNextSchedule](definitions.mdx#scheduler-getnextschedule) + +**Description:** Get the UUID of the next schedule that will be run automatically. If nothing is scheduled (e.g. because +there are no enabled schedules) the UUID will be blank. + +:::note + +The duration is the approximate time left before the schedule will be started automatically. Schedules will start at +their designated start time +/- 10 seconds. + +::: + +### mission_scheduler/get_schedule + +**Service Type:** [mission_scheduler/srv/GetSchedule](definitions.mdx#scheduler-getschedule) + +**Description:** Get the schedule with the provided UUID. If an error occurred, or no schedule with the provided UUID +exists, the returned object will have a blank UUID. + +### mission_scheduler/import + +**Service Type:** [clearpath_mission_scheduler_msgs/srv/ImportData](definitions.mdx#scheduler-importdata) + +**Description:** Import data exported by the `export_data` service. This will add new schedules to the database +but will not modify or delete any existing schedules. + +:::note + +This service is intended to be used in combination with the `export_data` service to facilitate deploying new +schedules across multiple robots. + +::: + +### mission_scheduler/remove_mission + +**Service Type:** [clearpath_mission_manager_msgs/srv/AddRemoveById](definitions.mdx#storage-addremovebyid) + +**Description:** Remove the mission at a given position from a schedule, or remove all copies of a mission from a +schedule + +### mission_scheduler/restore + +**Service Type:** [cpr_mission_scheduler_msgs/srv/ImportData](definitions.mdx#scheduler-importdata) + +**Description:** Restore data exported by the `export_data` service. This will delete all schedules and replace the +database contents with the imported data. + +:::note + +This service is intended to be used in combination with the `export_data` service to facilitate backups or +synchronizing schedules across multiple robots. + +::: + +### mission_scheduler/update_schedule + +**Service Type:** [mission_scheduler/srv/UpdateSchedule](definitions.mdx#scheduler-updateschedule) + +**Description:** Modify an existing schedule. All of the schedule's properties are overwritten with the new values +provided in the service call. + +:::note + +Before modifying a schedule it is recommended to call the `get_schedule` service to get the schedule's current state, +copy all values to the service request object, and then change the fields you want to overwrite. + +::: + +## Actions Exported by Mission Scheduler + +### mission_scheduler/run_now + +**Action Type:** [clearpath_mission_scheduler_msgs/action/RunScheduleByUuid](definitions.mdx#scheduler-runschedulebyuuid) + +**Description:** Execute the schedule with the given UUID. The `delay` parameter will defer the execution by the +specified time. This action can be used to run a disabled schedule, or run a schedule at a time other than its +scheduled start time. + +**Feedback Rate:** 1Hz diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_endpoints/platform_api.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_endpoints/platform_api.mdx new file mode 100644 index 00000000..c2ce5b11 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_endpoints/platform_api.mdx @@ -0,0 +1,203 @@ +--- +title: Platform API +sidebar_label: Platform API +sidebar_position: 2 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +The Platform API provides topics to communicate with the hardware +platform (eg. sensor data, command velocity, tfs, etc\...). This API can +be used by autonomy software packages to interface with the hardware +platform. + +### Topics Published by UGV {#topics-published-by-platform} + +The topics in this section are published by the UGV. If available, they +are used by the OutdoorNav software. + +#### /tf + +  **Message Type:** tf2_msgs/TFMessage + +  **Description:** Transform tree describing the 3D links/frames of the +robot. + +#### /tf_static + +  **Message Type:** tf2_msgs/TFMessage + +  **Description:** Static links/frames of robot transform tree. + +#### /platform/cmd_vel + +  **Message Type:** geometry_msgs/Twist + +  **Description:** Platform-level velocity used to drive the robot. + +#### /platform/description + +  **Message Type:** std_msgs/String + +  **Description:** String containing robot URDF description. + +#### /platform/diagnostics_agg + +  **Message Type:** diagnostic_msgs/DiagnosticArray + +  **Description:** Provides a list of human-readable diagnostic messages +from various subsystems (sensors, onboard systems, localization, +navigation, mapping etc.) + +#### /platform/emergency_stop + + **Message Type:** std_msgs/Bool + + **Description:** True, if robot is emergency stopped, False, otherwise. + +#### /platform/id + +  **Message Type:** [clearpath_platform_msgs/PlatformID](definitions.mdx#msg-platform-id) + +  **Description:** Contains model, serial number, and hardware revision of +the platform + +#### /platform/joint_states + +  **Message Type:** sensor_msgs/JointState + +  **Description:** Position and velocity of robot's joints. + +#### /platform/odom + +  **Message Type:** nav_msgs/Odometry + +  **Description:** Platform-level wheel odometry. + +#### /platform/odom_filtered + +  **Message Type:** nav_msgs/Odometry + +  **Description:** EKF fused odometry from available sources on the +platform. This may include the wheel odometry, imu data, etc.. + +------------------------------------------------------------------------ + +The following table contains the types of sensors that could be +integrated onto our robot platforms. + +| Type | Test | +| ---- | ---------- | +| **gps** | A singular GPS (Global Positioning System) antenna/receiver pair. These may also be referred to as GNSS receivers. | +| **ins** | An inertial navigation system (INS) that consists of an IMU and a GPS unit. | +| **imu** | An inertial measurement unit consisting of an accelerometer, gyroscope and potentially a magnetometer. | +| **lidar** | A light emitting sensor that uses this light to determine the distance to obstacles. This includes 1D, 2D and 3D range detection sensors. | +| **radar** | A radio emitting sensor used to compute distance/velocity of obstacles. | +| **camera** | A singular lens (ie. mono) camera that produces an ROS image stream. This can therefore include regular mono cameras as well as single lens thermal imagers, etc\... | +| **stereo** | A type of camera with two or more image sensors. | + +#### /sensors/imu_\[0,1,\...\]/data + +  **Message Type:** sensor_msgs/Imu + +  **Description:** Raw data from IMU (gyro / acceleration) + +#### /sensors/imu_\[0,1,\...\]/magnetic_field + +  **Message Type:** sensor_msgs/MagneticField + +  **Description:** Reports the MPU 9250 Magnetometer sensor information. + +#### /sensors/_\[0,1,\...\]/fix + +  **Message Type:** sensor_msgs/NavSatFix + +  **Type:** gps, ins + +  **Description:** GPS latitude and longitude data. This data can either +be RTK corrected or regular GPS data. + +#### /sensors/_[0,1,\...\]/heading + +  **Message Type:** sensor_msgs/Imu + +  **Type:** gps, ins, imu + +  **Description:** RTK heading data computed from a dual GPS receiver +setup. + +#### /sensors/_\[0,1,\...\]/pointcloud + +  **Message Type:** Type: sensor_msgs/PointCloud2 + +  **Type:** lidar, radar, stereo, camera + +  **Description:** Raw pointcloud data generated from the specific sensor. + +#### /sensors/_\[0,1,\...\]/scan + +  **Message Type:** sensor_msgs/LaserScan + +  **Type:** lidar, radar, stereo, camera + +  **Description:** Raw scan data generated from the specific sensor. + +#### /sensors/_\[0,1,\...\]/camera_info + +  **Message Type:** sensor_msgs/CameraInfo + +  **Type:** camera, stereo + +  **Description:** Camera information including image dimensions, +distortion parameters, calibration parameters, etc\... + +#### /sensors/_\[0,1,\...\]/image + +  **Message Type:** sensor_msgs/Image + +  **Type:** camera, stereo + +  **Description:** Image data from the specific sensor. + +#### /sensors/_\[0,1,\...\]/depth/camera_info + +  **Message Type:** sensor_msgs/CameraInfo + +  **Type:** camera, stereo + +  **Description:** Camera information for the depth image including image dimensions, +distortion parameters, calibration parameters, etc\... + +#### /sensors/_\[0,1,\...\]/depth/image_rect_raw + +  **Message Type:** sensor_msgs/Image + +  **Type:** camera, stereo + +  **Description:** Raw depth image from the specific sensor. + +#### /onboard_systems/wireless/connection + +  **Message Type:** wireless_msgs/Connection + +  **Description:** Information about the robot's wireless connection +including ssid, frequency, bitrate, and signal and noise levels. + +#### /onboard_systems/bms/state + +  **Message Type:** sensor_msgs/BatteryState + +  **Description:** State data for each battery module installed. + +------------------------------------------------------------------------ + +### Topics Subscribed to by UGV {#topics-subscribed-by-platform} + +The UGV subscribes to the topics in this section. + +#### /cmd_vel + +  **Message Type:** geometry_msgs/Twist + +  **Description:** The command velocity to the platform layer effectively +commanding the wheels to spin. \ No newline at end of file diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_examples/api_examples.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_examples/api_examples.mdx new file mode 100644 index 00000000..32daf5e7 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_examples/api_examples.mdx @@ -0,0 +1,20 @@ +--- +title: API Examples +sidebar_label: API Examples +sidebar_position: 3 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +The OutdoorNav API examples are now available and accesible to everyone. A +[Python API library](https://github.com/cpr-application/clearpath_onav_examples) along +with some example scripts are available to build and use for our application. + +A few examples scripts follow with detailed explanations: + +- [Execute Mission from File](./mission_from_file.mdx) +- [Execute Mission with Custom Task](./mission_with_custom_tasks.mdx) +- [Status Monitoring](./monitor_status.mdx) + +The documentation for the Python API library can be built following the +instructions in the above linked GitHub repository. diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_examples/mission_from_file.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_examples/mission_from_file.mdx new file mode 100644 index 00000000..eff0f768 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_examples/mission_from_file.mdx @@ -0,0 +1,210 @@ +--- +title: Mission from YAML File +sidebar_label: Mission from YAML File +sidebar_position: 1 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +## The Code + +``` python +#! /usr/bin/env python3 + +from cpr_outdoornav_api_examples_lib.ros_node import RosNode +from cpr_outdoornav_api_examples_lib.yaml_config import YamlConfig +import time +import os + +# The file containing the mission configuration (adjust as needed) +MISSION_YAML_FILE = os.environ.get("HOME", "administrator") + "/example_ws/src/" + \ + "CPR-OutdoorNav/src/cpr_outdoornav_api_examples/config/sample_mission.yaml" + +class MissionFromYamlFile(RosNode): + """ + Create and run a mission loaded from a YAML configuration file. + Be sure that your robot is within 3 meters of your first Waypoint prior to starting the mission. + """ + + def __init__(self): + """Initialize the mission details and server connection.""" + + RosNode.__init__(self, 'mission_from_yaml_file') + self.mission = YamlConfig.yamlFileToMission(MISSION_YAML_FILE) + + # NOTE: to save the configuration to file, uncomment the following lines: + # YamlConfig.missionToYamlFile('/tmp/test1.yaml', self.mission) + + def run(self): + """Execute the mission.""" + + if not self.mission.startMission(): + return False + while not self.mission.isMissionComplete(): + time.sleep(1.0) + return self.mission.getMissionSuccess() + + +if __name__ == '__main__': + if MissionFromYamlFile().run(): + print("Mission completed successfully") + else: + print("Mission failed") + +``` + +## The Code Explained + +Let's break down the code. + +``` python +#! /usr/bin/env python3 +``` + +Every Python ROS Node will have this declaration at the top. The first line makes sure your script is executed as a Python3 script. + + +``` python +from cpr_outdoornav_api_examples_lib.ros_node import RosNode +from cpr_outdoornav_api_examples_lib.yaml_config import YamlConfig +``` + +We provide a library of classes that can be used within your file for ease of use. In the above example, we import the RosNode and YamlConfig classes. +The RosNode class is used by all of our examples to initialize a ROS node that will execute the example mission. The YamlConfig class is used to import +a YAML file and convert it to a Mission object. + +``` python +MISSION_YAML_FILE = os.environ.get("HOME", "administrator") + "/example_ws/src/" + \ + "CPR-OutdoorNav/src/cpr_outdoornav_api_examples/config/sample_mission.yaml" +``` + +This defines the file path of the YAML file that contains the mission to be executed. See the [YAML file](#yaml-file) below for the example YAML file +that will be executed. + +``` python +class MissionFromYamlFile(RosNode): +``` + +Creates a class for your example, which inherits a RosNode object. All python mission files are requried to inherit the RosNode class. + +``` python + RosNode.__init__(self, 'mission_from_yaml_file') + self.mission = YamlConfig.yamlFileToMission(MISSION_YAML_FILE)``` +``` + +Initialize the ROS node with name `mission_from_yaml_file` and import the the mission from the yaml config file. The `YamlConfig.yamlFileToMission()` function +reads teh configuration you have created in the YAML file and converts it into a Mission object. + +``` python + if not self.mission.startMission(): + return False +``` + +Upon execution of the script, the `self.mission.startMission()` function creates the mission client if not yet created, connects to the mission action server +and sends the goal to the action server to begin the execution of the mission. + +``` python + while not self.mission.isMissionComplete(): + time.sleep(1.0) + return self.mission.getMissionSuccess() +``` + +`self.mission.isMissionComplete()` monitors the mission status and only proceeds to terminating the mission has completed or been cancelled. + + +## YAML File {#yaml-file} + +The following YAML file is used in the above example mission. + +``` python +mission: + header: + seq: 0 + stamp: + secs: 0 + nsecs: 0 + frame_id: '' + name: "Sample Mission" + uuid: "8f57fd20-8a8c-4748-85ef-be1495b3ee06" + waypoints: + - + name: "Waypoint: 60" + uuid: "3edcedd7-ae0d-47cf-bd23-f7988d2779b7" + latitude: 50.10950820165676 + longitude: -97.31898507913323 + heading: -1.0 + tasks: [] + position_tolerance: -1.0 + yaw_tolerance: -1.0 + - + name: "Waypoint: 61" + uuid: "ad23202e-7067-4f1c-8677-2dc07af1e729" + latitude: 50.1095698924641 + longitude: -97.31929487427445 + heading: -1.0 + tasks: [] + position_tolerance: -1.0 + yaw_tolerance: -1.0 + - + name: "Waypoint: 62" + uuid: "fe452e77-4a26-41b0-b4ab-ee1859612a60" + latitude: 50.109437123117864 + longitude: -97.31946787675591 + heading: -1.0 + tasks: + - + name: "Wait" + uuid: "ec1121a8-7481-420f-b532-c47ea86afcd7" + service_call: "/wait" + version: "0.0.0" + floats: [3.0] + strings: [] + position_tolerance: -1.0 + yaw_tolerance: -1.0 + - + name: "Waypoint: 63" + uuid: "5ed54c1f-1599-497a-9c16-93c7ca6c355e" + latitude: 50.109384820042074 + longitude: -97.3194477601883 + heading: -1.0 + tasks: [] + position_tolerance: -1.0 + yaw_tolerance: -1.0 + - + name: "Waypoint: 64" + uuid: "2e021345-636b-4bd3-81ba-4f6901fdc016" + latitude: 50.10934056359333 + longitude: -97.31936192949982 + heading: -1.0 + tasks: [] + position_tolerance: -1.0 + yaw_tolerance: -1.0 + - + name: "Waypoint: 65" + uuid: "00c041ee-2ca4-40ba-8e38-65ac900d5a1d" + latitude: 50.10946930962604 + longitude: -97.31921709021302 + heading: -1.0 + tasks: [] + position_tolerance: -1.0 + yaw_tolerance: -1.0 + - + name: "Waypoint: 66" + uuid: "a5826fc5-b696-4b63-82aa-cc2e7a426640" + latitude: 50.10949344950718 + longitude: -97.31911382516594 + heading: -1.0 + tasks: [] + position_tolerance: -1.0 + yaw_tolerance: -1.0 + - + name: "Waypoint: 67" + uuid: "7ff204b2-79a3-46da-a8c0-2c734b4c5314" + latitude: 50.10949613171619 + longitude: -97.31898910244675 + heading: -1.0 + tasks: [] + position_tolerance: -1.0 + yaw_tolerance: -1.0 + onav_config: "To be determined" +``` diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_examples/mission_with_custom_tasks.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_examples/mission_with_custom_tasks.mdx new file mode 100644 index 00000000..30ec477e --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_examples/mission_with_custom_tasks.mdx @@ -0,0 +1,233 @@ +--- +title: Mission with Custom Tasks +sidebar_label: Mission with Custom Tasks +sidebar_position: 3 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +Before being able to run the examples similar to the one explained below, it is required that you have written your own custom tasks. See the +[Custom Tasks](../../features/custom_tasks.mdx) section for information on how to develop tasks for your application. + +## The Code + +``` python +#! /usr/bin/env python3 + +import rospy +import actionlib +from cpr_outdoornav_api_examples_lib.ros_node import RosNode +from cpr_outdoornav_api_examples_lib.waypoint import Waypoint +from cpr_outdoornav_api_examples_lib.mission import Mission +from clearpath_navigation_msgs.msg import Task, UITaskResult, UITaskAction + + +CUSTOM_ACTION_NAME = "/record_gnss" +UNSPECIFIED_HEADING = -1 + + +class MissionWithCustomTask(RosNode): + """Create and run a mission with 3 waypoints, each of which executes a custom task. + + Our goal is to set up 3 waypoints, then create a mission such that the robot drives + to each waypoint in order. In addition, at each of the waypoints, a custom task will be + called to record the timestamp, goal name, and GPS coordinates. Since this is a custom task, + it is necessary to create an actionlib server to implement the custom task. + + The main component of this example is the mission builder, which builds up the set of goals, + including information on the custom tasks, and runs the mission, to execute the custom task. + + The coordinates used in this example are based on the cpr_agriculture_gazebo + world and should be updated to match the location in which the user's + robot will be operating. + """ + + class MissionBuilder: + """Creates and runs the mission, including custom tasks.""" + + def __init__(self): + """Creates the mission with 3 waypoints and custom tasks.""" + + # First waypoint, with custom task + waypoint_a_name = "A" + custom_task_a = Task() + custom_task_a.name = "my_custom_task_a" # choose any name here + custom_task_a.action_server_name = CUSTOM_ACTION_NAME # must match server name + custom_task_a.version = "1.0" # choose any version + custom_task_a.floats = [1000] # param: unique ID + custom_task_a.strings = [waypoint_a_name] # param: goal name + + # Second waypoint, with custom task + waypoint_b_name = "B" + custom_task_b = Task() + custom_task_b.name = "my_custom_task_b" # choose any name here + custom_task_b.action_server_name = CUSTOM_ACTION_NAME # must match server name + custom_task_b.version = "1.0" # choose any version + custom_task_b.floats = [1001] # param: unique ID + custom_task_b.strings = [waypoint_b_name] # param: goal name + + # Third waypoint, with custom task + waypoint_c_name = "C" + custom_task_c = Task() + custom_task_c.name = "my_custom_task_c" # choose any name here + custom_task_c.action_server_name = CUSTOM_ACTION_NAME # must match server name + custom_task_c.version = "1.0" # choose any version + custom_task_c.floats = [1002] # param: unique ID + custom_task_c.strings = [waypoint_c_name] # param: goal name + + waypoints = [ + Waypoint(waypoint_a_name, "uuid-waypoint-01", 43.50076203007681, -80.546296281104, UNSPECIFIED_HEADING), + Waypoint(waypoint_b_name, "uuid-waypoint-02", 43.50073600330896, -80.54621215801687, UNSPECIFIED_HEADING, [custom_task_b]), + Waypoint(waypoint_c_name, "uuid-waypoint-03", 43.50067256664828, -80.5462159469465, UNSPECIFIED_HEADING, [custom_task_c]), + ] + + # Build mission from two waypoints with custom tasks + self._mission = Mission("Custom task mission", "uuid-mission-1", waypoints) + + def getMission(self): + """Gets a reference to the mission. + + Returns + ------- + A reference to the mission. + """ + return self._mission + + def __init__(self): + """Initializes ROS, the custom task server, GPS subscriber and mission.""" + + RosNode.__init__(self, 'mission_with_custom_task') + self._mission_builder = MissionWithCustomTask.MissionBuilder() + + + def run(self): + """Execute the mission. + + This function blocks until the mission is complete. + + Returns + ------- + True on successful execution of the mission; else False on any error. + """ + + if not self._mission_builder.getMission().startMission(): + return False + while not self._mission_builder.getMission().isMissionComplete(): + rospy.sleep(1.0) + return self._mission_builder.getMission().getMissionSuccess() + + +if __name__ == '__main__': + if MissionWithCustomTask().run(): + print("Mission completed successfully") + else: + print("Mission failed") + rospy.signal_shutdown('Done') +``` + +## The Code Explained + +``` python +import rospy +import actionlib +from cpr_outdoornav_api_examples_lib.ros_node import RosNode +from cpr_outdoornav_api_examples_lib.waypoint import Waypoint +from cpr_outdoornav_api_examples_lib.mission import Mission +from clearpath_navigation_msgs.msg import Task, UITaskResult, UITaskAction +``` + +Import the `RosNode`, `Waypoint` and `Mission` classes which will be used to create the mission to be executed. +We also import the `Task` and `UITask` messages which are used to generate the action servers. + +``` python + class MissionBuilder: + """Creates and runs the mission, including custom tasks.""" + + def __init__(self): + """Creates the mission with 3 waypoints and custom tasks.""" + + # First waypoint, with custom task + waypoint_a_name = "A" + custom_task_a = Task() + custom_task_a.name = "my_custom_task_a" # choose any name here + custom_task_a.action_server_name = CUSTOM_ACTION_NAME # must match server name + custom_task_a.version = "1.0" # choose any version + custom_task_a.floats = [1000] # param: unique ID + custom_task_a.strings = [waypoint_a_name] # param: goal name + + # Second waypoint, with custom task + waypoint_b_name = "B" + custom_task_b = Task() + custom_task_b.name = "my_custom_task_b" # choose any name here + custom_task_b.action_server_name = CUSTOM_ACTION_NAME # must match server name + custom_task_b.version = "1.0" # choose any version + custom_task_b.floats = [1001] # param: unique ID + custom_task_b.strings = [waypoint_b_name] # param: goal name + + # Third waypoint, with custom task + waypoint_c_name = "C" + custom_task_c = Task() + custom_task_c.name = "my_custom_task_c" # choose any name here + custom_task_c.action_server_name = CUSTOM_ACTION_NAME # must match server name + custom_task_c.version = "1.0" # choose any version + custom_task_c.floats = [1002] # param: unique ID + custom_task_c.strings = [waypoint_c_name] # param: goal name + + + waypoints = [ + Waypoint(waypoint_a_name, "uuid-waypoint-01", 50.1095255, -97.3192484, UNSPECIFIED_HEADING, [custom_task_a]), + Waypoint(waypoint_b_name, "uuid-waypoint-02", 50.1094938, -97.3191085, UNSPECIFIED_HEADING, [custom_task_b]), + Waypoint(waypoint_c_name, "uuid-waypoint-03", 50.1094600, -97.3192100, UNSPECIFIED_HEADING, [custom_task_c]), + ] + + # Build mission from two waypoints with custom tasks + self._mission = Mission("Custom task mission", "uuid-mission-1", waypoints) +``` + +We create the `MissionBuilder` subclass that will create the mission to be executed. We initialize custom task objects +where we specify the `action_server_name` field with the specific action of the custom task. These are then added to the +Waypoints as a list of tasks and the Mission object is created. + +``` python + def __init__(self): + """Initializes ROS, the custom task server, GPS subscriber and mission.""" + + RosNode.__init__(self, 'mission_with_custom_task') + self._mission_builder = MissionWithCustomTask.MissionBuilder() +``` + +We initialize the example class by starting a ROS node and initialize the mission to be executed. + +``` python + def run(self): + """Execute the mission. + + This function blocks until the mission is complete. + + Returns + ------- + True on successful execution of the mission; else False on any error. + """ + + if not self._mission_builder.getMission().startMission(): + return False + while not self._mission_builder.getMission().isMissionComplete(): + time.sleep(1.0) + return self._mission_builder.getMission().getMissionSuccess() +``` + +The `run()` function starts the mission and checks for completion. Once complete we terminate the example code. + +``` python +if __name__ == '__main__': + if MissionWithCustomTask().run(): + print("Mission completed successfully") + else: + print("Mission failed") + rospy.signal_shutdown('Done') +``` + +The main python execution block. We first initialize the example class (runs the __init__ function) and then execute the run() function which +executes the mission and outputs the status information. + + diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_examples/monitor_status.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_examples/monitor_status.mdx new file mode 100644 index 00000000..077a9fcf --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_examples/monitor_status.mdx @@ -0,0 +1,152 @@ +--- +title: Monitor Status +sidebar_label: Monitor Status +sidebar_position: 2 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +## The Code + +``` python +#! /usr/bin/env python3 + +import rospy +from cpr_outdoornav_api_examples_lib.ros_node import RosNode +from cpr_outdoornav_api_examples_lib.waypoint import Waypoint +from cpr_outdoornav_api_examples_lib.mission import Mission +from cpr_outdoornav_api_examples_lib.platform_status import PlatformStatusMonitor +from cpr_outdoornav_api_examples_lib.control_status import ControlStatusMonitor +from cpr_outdoornav_api_examples_lib.localization_status import LocalizationStatusMonitor +from cpr_outdoornav_api_examples_lib.navigation_status import NavigationStatusMonitor + + +class MonitorStatus(RosNode): + """Run a simple mission and report status throughout. + + The coordinates used in this example are based on the cpr_agriculture_gazebo + world and should be updated to match the location in which the user's + robot will be operating. + """ + + def __init__(self): + """Initialize the mission details and server connection.""" + + RosNode.__init__(self, 'monitor_status') + waypoints = [ + Waypoint("A", "uuid-waypoint-1", 50.1094938, -97.3191085), + Waypoint("B", "uuid-waypoint-2", 50.1095100, -97.3192000), + Waypoint("C", "uuid-waypoint-3", 50.1095255, -97.3192484), + ] + self.mission = Mission("Monitor status mission", "uuid-mission-1", waypoints) + self._platform_status = PlatformStatusMonitor() + self._control_status = ControlStatusMonitor() + self._localization_status = LocalizationStatusMonitor() + self._navigation_status = NavigationStatusMonitor() + + def _reportStatus(self): + """Report the current status.""" + + rospy.loginfo("--------------------------------------------------------") + self._platform_status.report() + self._control_status.report() + self._localization_status.report() + self._navigation_status.report() + + def run(self): + """Execute the mission and report status.""" + + if not self.mission.startMission(): + rospy.logerr("Failed to start mission") + return False + while not self.mission.isMissionComplete(): + self._reportStatus() + rospy.sleep(1.0) + return self.mission.getMissionSuccess() + + +if __name__ == '__main__': + if MonitorStatus().run(): + print("Mission completed successfully") + else: + print("Mission failed") + +``` + +## The Code Explained + +``` python +import rospy +from cpr_outdoornav_api_examples_lib.ros_node import RosNode +from cpr_outdoornav_api_examples_lib.waypoint import Waypoint +from cpr_outdoornav_api_examples_lib.mission import Mission +from cpr_outdoornav_api_examples_lib.platform_status import PlatformStatusMonitor +from cpr_outdoornav_api_examples_lib.control_status import ControlStatusMonitor +from cpr_outdoornav_api_examples_lib.localization_status import LocalizationStatusMonitor +from cpr_outdoornav_api_examples_lib.navigation_status import NavigationStatusMonitor +``` + +Import the `RosNode`, `Waypoint`, `Mission` classes which will be used to create the mission to be executed. We also import the +`PlatformStatusMonitor`, `ControlStatusMonitor`, `LocalizationStatusMonitor`, `NavigationStatusMonitor` classes which are set up to monitor the topics +relavant to the platform, localization, contrle selection an navigation modules respectively. + +``` python + waypoints = [ + Waypoint("A", "uuid-waypoint-1", 50.1094938, -97.3191085), + Waypoint("B", "uuid-waypoint-2", 50.1095100, -97.3192000), + Waypoint("C", "uuid-waypoint-3", 50.1095255, -97.3192484), + ] + self.mission = Mission("Monitor status mission", "uuid-mission-1", waypoints) +``` + +After initializing the ROS node, we create a mission manually by first creating a list of Waypoint objects and then adding then using the waypoint list +to construct the Mission object. + +``` python + self._platform_status = PlatformStatusMonitor() + self._control_status = ControlStatusMonitor() + self._localization_status = LocalizationStatusMonitor() + self._navigation_status = NavigationStatusMonitor() +``` + +We then initialize the platform, control, localization and navigation monitors, which subscribes to several API topics. + +``` python + def _reportStatus(self): + """Report the current status.""" + + rospy.loginfo("--------------------------------------------------------") + self._platform_status.report() + self._control_status.report() + self._localization_status.report() + self._navigation_status.report() +``` + +The `_reportStatus()` function outputs the results of the monitors to the ROS logs. This includes both the internal ROS logs as well as terminal output. + +``` python + def run(self): + """Execute the mission and report status.""" + + if not self.mission.startMission(): + rospy.logerr("Failed to start mission") + return False + while not self.mission.isMissionComplete(): + self._reportStatus() + rospy.sleep(1.0) + return self.mission.getMissionSuccess() +``` + +The `run()` function starts the mission and checks for completion. Every seconds we run the `reportStatus()` function to output the status information. +Once complete we terminate the example code. + +``` python +if __name__ == '__main__': + if MonitorStatus().run(): + print("Mission completed successfully") + else: + print("Mission failed") +``` + +The main python execution block. We first initialize the example class (runs the __init__ function) and then execute the run() function which +executes the mission and outputs the status information. diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_overview.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_overview.mdx new file mode 100644 index 00000000..d9c6d616 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/api/api_overview.mdx @@ -0,0 +1,63 @@ +--- +title: API Overview +sidebar_label: API Overview +sidebar_position: 1 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +While the Web User Interface provides a great way to get started quickly +with OutdoorNav Software, some users will want programmatic control or +may wish to develop their own graphical user interfaces \-- for those +users, the Application Programming Interface (API) provides the +flexibility to do so. This is illustrated in the figure below. + +
+
+ +
Interconnection between OutdoorNav Software and UGV Controller
+
+
+ +The API is, at present, a [ROS 1 Noetic](http://wiki.ros.org/noetic) API, +but will soon be extended to a ROS 2 API. The API is divided into two +sections, whose details are provided below: + +- [Platform API](api_endpoints/platform_api.mdx): The set of [ROS + Topics](http://wiki.ros.org/Topics) are used to comminucate with the + hardware platform (eg. sensor data, wireless, battery state, command + velocity). This API can be used by autonomy software packages to + interface with the hardware platform. + - [Topics Published by UGV](api_endpoints/platform_api.mdx#topics-published-by-platform): + The set of topics that are published by the hardware platform. + - [Topics Subscribed to by UGV](api_endpoints/platform_api.mdx#topics-subscribed-by-platform): + The set of topics that are subscribed to by the hardware + platform. +- [Autonomy API](api_endpoints/autonomy_api.mdx): The set of [ROS + Topics](http://wiki.ros.org/Topics) that are used for monitoring and + controlling the the hardware platform through the OutdoorNav + autonomy software. + - [Topics Published by Autonomy](api_endpoints/autonomy_api.mdx#topics-published-by-autonomy): + The set of [ROS Topics](http://wiki.ros.org/Topics) published by + OutdoorNav Software, to be subscribed to by the UGV. + - [Topics Subscribed to by Autonomy](api_endpoints/autonomy_api.mdx#topics-subscribed-to-by-autonomy): + The set of [ROS Topics](http://wiki.ros.org/Topics) + subscribed to by OutdoorNav Software, typically published by the + client for directing OutdoorNav operation. + - [Services Exported by Autonomy](api_endpoints/autonomy_api.mdx#services-exported-by-autonomy): + The set of [ROS Services](http://wiki.ros.org/Services) provided + by OutdoorNav Software, for use by the client to modify/control + the behaviour of the Autonomy. + - [Actions Exported by Autonomy](api_endpoints/autonomy_api.mdx#actions-exported-by-autonomy): + The set of [ROS Actions](http://wiki.ros.org/actionlib) provided + by OutdoorNav Software, for use by the client to modify/control + the behaviour of the Autonomy. +- [Mission Manager API](api_endpoints/mission_manager_api.mdx): The set of [ROS + Services](http://wiki.ros.org/Services) that are used for creating, deleting, and modifying OutdoorNav Missions +- [Mission Scheduler API](api_endpoints/mission_scheduler_api.mdx): The set of [ROS Services](http://wiki.ros.org/Services) + that are used for creating, deleting, and modifying OutdoorNav Mission Schedules +- [Definitions](api_endpoints/definitions.mdx): The set of custom + [ROS Message](http://wiki.ros.org/Messages), [ROS + Service](http://wiki.ros.org/Services), and [ROS + Action](http://wiki.ros.org/actionlib) definitions. +- API Examples: Example code to come. diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/cpr_hardware.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/cpr_hardware.mdx new file mode 100644 index 00000000..f60527ff --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/cpr_hardware.mdx @@ -0,0 +1,405 @@ +--- +title: "Appendix B: CPR Hardware" +sidebar_label: "Appendix B: CPR Hardware" +sidebar_position: 13 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +When using a Clearpath Robotics UGV and Base Station, the following +hardware setup may be required. + +## Calibrating the IMU + +Although IMU magnetometers are calibrated at the factory to remove any +internal magnetic influences in the device, measurements are still +subject to influence from external magnetic anomalies when the sensor is +installed. These anomalies are divided into two classes: hard iron +offsets and soft iron distortions. Hard iron offsets are created by +objects that produce a magnetic field. Soft iron distortions are +considered deflections or alterations in the existing magnetic field. +Ideally, these influences are mitigated by installing the sensor away +from magnetic sources, such as coils, magnets, and ferrous metal +structures and mounting hardware. However, often these sources are hard +to avoid or are hidden. To mitigate this effect when using the IMU +magnetometer to aid in heading estimations, a field calibration of the +magnetometer after final installation is highly recommended. This means +that the IMU must be calibrated in the same environment that you use +your UGV for autonomous navigation. + +### Microstrain IMU + +If your UGV has a 3DM-GX5-25 Microstrain IMU, the complete instruction +on calibration of your IMU can be found in section 5.4 of the +[datasheet](https://www.microstrain.com/sites/default/files/3dm-gx5-25_user_manual_8500-0012.pdf). +Note that you need a computer with Windows system and the LORD Sensing +MIP Hard and Soft Iron Calibration software installed which can be found +at the Microstrain website. + +### UM6/7 IMU + +If you are using UM6 or UM7 IMUs, you will need the magnetometer display +package which is located at the following address on your UGV: +`~/catkin_ws/Drivers/src/imu_tools/magnetometer_display`. + +Follow these steps to calibrate the IMU on your machine: + +1. Create a catkin workspace on your local machine and copy the package + `magnetometer_display` into your src folder. Build this package with + the `catkin_make` command. + +2. Perform the following command to make the calibration script + executable: + + ``` bash + $ sudo chmod +x calibration.py + ``` + +3. Connect the IMU to your computer and launch the driver. Or if you + are on the same network as your UGV, make your UGV the ROS master + and ensure that you can echo the IMU topic on your computer. + +4. Open the `magnetometer.launch` file in the `magnetometer_display` + package and change the sections shown in the figure below. + Specifically, set `use_mag_field` to true when the IMU is outputting + magnetometer measurements with a `sensor_msgs/MagneticField` + message, otherwise set to false. Microstrain is the only IMU which + uses the MagneticField message type. + +
+
+ +
Magnetometer calibration, general launch settings
+
+
+ +5. Launch the calibration using the following command: + + ``` bash + $ roslaunch magnetometer_display magnetometer.launch + ``` + +6. Move the IMU around to get good coverage. RViz will display + magnetometer points (red) and will plot current ellipsoid fit + (green) as shown in the figure below. + +
+
+ +
Magnetometer calibration, ellipsoid fit plot
+
+
+ +7. Ellipsoid fit parameters are displayed in terminal as shown in the + figure below. + +
+
+ +
Magnetometer calibration, ellipsoid fit + parameters
+
+
+ +8. Once there are enough red points on your fitted ellipsoid, enter the + above calibrations in the IMU driver launch file. Open the + `sensor.launch` file in the `cpr_gps_localization` package and go to + the UM7 (or UM6) section of the launch file. The figure below shows + this section for the UM7. + +
+
+ +
Magnetometer calibration, ellipsoid fit settings in launch file
+
+
+ + You should enter the parameters generated in the Ellipsoid fit step + as follows (to account for the NED to ENU transform the driver + applies): + + - Launch file X = Terminal Y + - Launch file Y = Terminal X + - Launch file Z = -Terminal Z + +## RTK Positioning GPS Setup + +:::note + +Please skip this section if your robot does not have RTK GPS. + +::: + +The following configuration is for establishing communications between +the Base Station and the UGV using TCP/IP for the purpose of +transmitting RTK corrections. Before starting this procedure, make sure +that you have installed the [SwiftNav +console](https://support.swiftnav.com/support/solutions/articles/44001903699-installing-swift-console). + +### Base Station GPS Configuration + +- Connect the Swift Navigation device to a computer via USB or the USB + to Serial Adapter cable. + +- Open Swift Console and connect to the device. + +- Set the following options in the **ethernet** section as shown in + the figure below. + + 1. ip_config_mode: `Static` + 2. ip_address: `192.168.131.30` + 3. netmask: `255.255.255.0` + +
+
+ +
Base Station Ethernet settings
+
+
+ +- Set the following options in the **tcp_server1** section as show in + the figure below. + + 1. mode: `SBP` + 2. port: `55556` + 3. enabled_sbp_messages: `72,74,117,65535` + +
+
+ +
Base Station TCP1 Server settings
+
+
+ +- Set the following options in the **solution** section as shown in + the figure below. + + 1. soln_freq: `10` + 2. correction_age_max: `30` + 3. output_every_n_obs: `10` + 4. dgnss_solution_mode: `Low Latency` + +
+
+ +
Base Station Solution settings
+
+
+ +- Next the Base Station has to be surveyed. There are two ways of + doing this which are explained in [RTK Survey Positioning](#base-station-survey). +- Click Save to Flash. +- Close Swift Console. +- Disconnect the device from the computer. + +### UGV Position GPS Configuration {#ugv-position-gps-config} + +- Connect the Swift Navigation device to a computer via USB or the USB + to Serial Adapter cable. + +- Open Swift Console and connect to the device. + +- Set the following options in the **ethernet** section as shown in + the figure below. + + 1. ip_config_mode: `Static` + 2. ip_address: `192.168.131.31` + 3. netmask: `255.255.255.0` + +
+
+ +
UGV GPS Ethernet settings
+
+
+ +- Set the following options in the **tcp_client0** section as show in + the figure below. + + 1. mode: `SBP` + 2. port: `192.168.131.30:55556` + 3. enabled_sbp_messages: `0` + +
+
+ +
UGV GPS TCP Client0 settings
+
+
+ +- Set the following options in the **solution** section as show in the + figure below. + + 1. soln_freq: `10` + 2. correction_age_max: `30` + 3. output_every_n_obs: `10` + 4. dgnss_solution_mode: `Low Latency` + +
+
+ +
UGV GPS Solution settings
+
+
+ +- Click Save to Flash. + +- Close Swift Console. + +- Disconnect the device from the computer. + +Once you have entered these settings. Connect your computer to the Wi-Fi +network of the Base Station. Also make sure that the UGC (which is +connected to the UGV GPS unit) is also connected to the Base Station +Wifi. The you should be able to verify connectivity across the devices. +To check the Base Station, complete the following steps. + +- Open Swift Console on you computer +- Select **TCP/IP** +- For IP Address enter `192.168.131.30` +- For IP Port enter `55555` +- Click **OK** +- Select the **Observations** tab +- In the **Remote** section you should see observation data from your + UGV. + +To check the UGV, complete the following steps. + +- Open Swift Console +- Select **TCP/IP** +- For IP Address enter `192.168.131.31` +- For IP Port enter `55555` +- Click **OK** +- Select the **Observations** tab +- In the **Remote** section you should see observation data from your + Base Station. + +Further information on [RTK setup](https://swiftnav.freshdesk.com/support/solutions/articles/44001904334-piksi-multi-gnss-rtk-position-with-stationary-base%7D%7Bhttps://swiftnav.freshdesk.com/support/solutions/articles/44001904334-piksi-multi-gnss-rtk-position-with-stationary-base) +is available from SwiftNav. + +## RTK Survey Positioning {#base-station-survey} + +:::note + +Please skip this section if your UGV does not have RTK GPS. + +::: + +:::warning + +Once you have surveyed the location of the Base Station, you **cannot** +relocate the Base Station throughout your tests. Otherwise, this step +has to be repeated. + +::: + +There are three ways to survey the Base Station location: + +1. OutdoorNav Web User Interface (easiest/accurate), +2. Swiftnav console autosurvey (fastest/least accurate), +3. ROS launch file geodetic survey (for debug output display). + +Using the OutdoorNav Web UI is the easiest and most accurate way to do +this since it runs the ROS geodetic survey tool which uses more samples +to compute the final position of the Base Station than the Swiftnav +console. Using the geodetic ROS survey launch file directly would allow +the user to visualize the output log directly but requires preliminary +knowledge in ROS. + +### Base Station Survey: Web UI + +Using the OutdoorNav Web UI to survey the Base Station is very simple. +See [Survey Base Station](getting_started/system_setup.mdx#survey_base_station) for details. + +### Base Station Survey: Piksi Console + +Use the Piksi console connect the base station GPS. Go to "Settings -\> +surveyed position", click to any field in this section and then click +the button on the top right corner "Auto Survey". The figure below +shows these steps. The last 1000 GPS points will be used to compute the +position of the Base Station. + +
+
+ +
Auto Survey
+
+
+ +After that, make sure the four fields in "surveyed position" +(broadcast, surveyed lat, surveyed lon, surveyed alt) are consistent +with your location. + +### Base Station Survey: ROS Geodetic Survey + +The `ethz_piksi_ros` repository should be installed in the UGV's +`catkin_ws`. To run the surveying process simply connect your PC to the +Base Station network, `ssh` into the UGV's computer and run the +following: + +``` bash +roslaunch {robot_name}_gps_navigation geodetic_survey.launch +``` + +where `robot_name` is either `jackal`, `husky`, or `warthog` depending +on your UGV. The surveying will begin and you will see a running tally +of the collected data. + +## RTK Heading Setup + +For the rest of this section, it is assumed that a third Swiftnav Duro +device is available with IP address of 192.168.131.32. Note that in +order to change the IP address of a Swiftnav Duro, you need to use the +Swiftnav console and connect to the device with the serial port. + +:::note + +The instructions in this section will overwrite some of the settings set +in [UGV Position GPS Configuration](#ugv-position-gps-config) on the +Position/Reference Duro receiver. This is normal since the configuration +in [UGV Position GPS Configuration](#ugv-position-gps-config) is for a UGV +with only the position Duro receiver. If the heading receiver is +connected as well, please continue with the instructions below. + +::: + +The two Swiftnav Duro GPS device on the UGV are connected via serial +cable. They are also both connected via Ethernet cable to the computer +on the UGV. For computing the heading, on Duro (the one on the rear with +IP address 192.168.131.31) operates only to provide GNSS Observations to +the other Duro that computes an RTK derived heading (the Duro on the +front with IP address 192.168.131.32). For the purposes of this +document, we will call the Duro/Piksi that operates to provide the raw +GNSS observations only the "Reference Receiver" and the Duro/Piksi +producing heading measurements the "Attitude Receiver." + +Use the Swiftnav console to connect to the Reference Receiver (with IP +address of 192.168.131.31) and insert the settings shown in the figure +below. + +
+
+ +
Reference Receiver settings
+
+
+ +Next, connect to the Attitude Receiver (with IP address of +192.168.131.32) and change the configuration as shown in the figure +below. + +
+
+ +
Attitude Receiver settings
+
+
+ +For further information please refer to [these instructions](https://swiftnav.freshdesk.com/support/solutions/articles/44001907898-rtk-heading-gnss-compass-configuration%7D%7Bhttps://swiftnav.freshdesk.com/support/solutions/articles/44001907898-rtk-heading-gnss-compass-configuration). + +## Wireless Motion Stop + +Please refer to the hardware user manual of the motion stop device for proper +usage. A trained operator should be used to supervise navigation of the +UGV under autonomous control at all times. The Operator should be +familiar with the use of the wireless motion stop device. diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/_category_.json b/outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/_category_.json new file mode 100644 index 00000000..4c27a4d9 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Appendix C: Tuning & Customization", + "position": 14 +} \ No newline at end of file diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/sensor_customization.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/sensor_customization.mdx new file mode 100644 index 00000000..3839162f --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/sensor_customization.mdx @@ -0,0 +1,9 @@ +--- +title: "Sensor Customization" +sidebar_label: "Sensor Customization" +sidebar_position: 4 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +Information incoming in a future release. Please contact Clearpath customer support at to discuss any related issue. diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/tuning_instructions/_category_.json b/outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/tuning_instructions/_category_.json new file mode 100644 index 00000000..d62e291a --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/tuning_instructions/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Tuning Instructions", + "position": 2 +} diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/tuning_instructions/ackermann_drive_dynamics.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/tuning_instructions/ackermann_drive_dynamics.mdx new file mode 100644 index 00000000..51639337 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/tuning_instructions/ackermann_drive_dynamics.mdx @@ -0,0 +1,9 @@ +--- +title: "Ackermann Drive" +sidebar_label: "Ackermann Drive" +sidebar_position: 4 +toc_min_heading_level: 2 +toc_max_heading_level: 2 +--- + +Information incoming in release 0.10.0. Please contact Clearpath customer support at support@clearpathrobotics.com to discuss any related issue. diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/tuning_instructions/differential_drive_dynamics.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/tuning_instructions/differential_drive_dynamics.mdx new file mode 100644 index 00000000..ba6ee960 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/tuning_instructions/differential_drive_dynamics.mdx @@ -0,0 +1,570 @@ +--- +title: "Differential Drive" +sidebar_label: "Differential Drive" +sidebar_position: 3 +toc_min_heading_level: 2 +toc_max_heading_level: 2 +--- + +:::note + +**When tuning controllers, it is advised to always only modify one single parameter prior to each +test. This allows the user to analyze the effect of this single parameter on the controller performance.** + +::: + +# Tuning Flowchart + +When attempting to tune the navigation controller, it is recommended to follow the following +flowchart. Begin with setting up [Initial Parameters](#initialize_parameters) for your UGV. + +
+
+ +
Differential Drive Tuning Flowchart
+
+
+ +**Condition Blocks**: The condition blocks can be seen in the flowchart as **RED** decision +blocks and either contain tests needed to be run or features of the software that are +enabled/disabled. + +**Tuning Blocks**: The tuning blocks can be seen in the flowchart as **YELLOW** blocks where it +is expected that the user modifies a parameter prior to re-testing the controller. + +## Conditions Blocks {#condition_blocks} + +#### Velocity Deadband Tests {#velocity_deadband_tests} + +The "**Velocity Deadband?**" condition block asks the user to verify if there is a velocity deadband that the UGV +motors must overcome in order to move the UGV. (ie. what is the minimum velocity that the UGV +is required to receive, in order for it to move). + +To verify this, the user should set up two missions: + +1. A two Waypoint mission where the first Waypoint is located on the robot, and second Waypoint about 10-20 meters +directly in front of the UGV. This will verify the requried linear motion of the UGV. +2. A two Waypoint mission where the first Waypoint is located on the robot, and second Waypoint about 10-20 meters +directly behind the UGV. The first part of the navigation to this point (ie. the rotation to face the Waypoint) will +verify the required angular motion of the UGV. + +If the above tests demonstrate that the UGV **is stuck** in a velocity deadband and is not moving, +then proceed to [Tune Deadband](#tune_deadband). + +If the above tests demonstrate that the UGV **is NOT stuck** in a velocity deadband (ie. it can +smoothly start navigating the mission), proceed to the following condition block: [Oscillation Tests](#oscillation_tests). + +#### Oscillation Tests (Straights) {#oscillation_tests} + +The "**Oscillations on Straights?**" conditions block asks if there are any oscillations present during +normal navigation along a straight path. + +##### Tests + +To verify the amount of oscilations around the reference path, the user should set up four +missions, each of which should pass (or fall within the users requirements) prior to moving on from this section of the tuning. The start +and end points of each of the tests should be identical and the start position (XY) should +be noted/marked on the testing area. The first Waypoint should be placed on the robots current location and the second Waypoint should be +placed 20-30m away from the start position. The four UGV orientations for each test are as follows: + +1. Align the UGV with a 0° offset from the Waypoint. +2. Align the UGV with a 90° offset from the Waypoint. +3. Align the UGV with a -90° offset from the Waypoint. +4. Align the UGV with a 180° offset from the Waypoint. + +See the image below to determine the placement of the UGV. The red arrow indicates the +orientation of the UGV with respect to the Waypoint. + +
+
+ +
Oscillation Test Start Orientations
+
+
+ +It is not necessary to run all of the offset tests after every parameter change. It is enough +to progress systematically through the tests as they succeed. That is, if +there are no oscillations during a 0° offset test, proceed to run the 45° test and so on +and so forth. If the 0° offset test fails, then there is no need to run the other three tests before updating a parameter. +The condition has been satisfied when all of the test results in minimal to no +oscillations (or as is deemed acceptable). + +##### Causes + +Oscillations during navigation along straight paths can be caused by one or several of the following +reasons. They are listed here in order of likelihood of occurence: + +| | Cause | Description | +|-|-------|-------------| +| **1** | Untuned MPC parameters | The default MPC controller parameters have been tuned for CPR UGVs, and may not be the same for third-party OEM UGVs. | +| **2** | Controller delay | There may be delay present in your UGV between the time the navigation computes a command velocity and when the velocity is actually executed. This could appear as mechanical delay in your motors or even mechanical delay in the rotational components of UGVs control mechanisms . It is rarely noticed when electrical motors are used. The effect of controller delay is most commonly noticed when when entering a straight from a curve or after a pure rotation.| +| **3** | Deformable Tires | If your tires are deformable, then after coming out of a pure rotation, while the UGV may be facing the required direction of travel, a purely linear command velocity would cause the UGV to veer off to the left/right. This in turn would cause the controller to correct itself, and place it into an oscillatory motion. | +| **4** | Uneven weight distribution | If your UGV is carrying more weight on one side it may bias the UGVs motion when being command straight and veer the UGV off to one side. The controller would then consistently try to correct this bias by pulling it back towards the reference path, thus causing oscillations. | + +To determine if causes 3 and 4 may apply to you, it is a good idea to run the following test: + +1. send the following command to rotate your UGV for one full rotation, +``` bash +rostopic pub /cmd_vel geometry_msgs/Twist "linear: + x: 0.0 + y: 0.0 + z: 0.0 +angular: + x: 0.0 + y: 0.0 + z: 0.3" -r 10 +``` +2. stop the rotation by stopping the command. +3. send the following command to move the UGV purely forward, +``` bash +rostopic pub /cmd_vel geometry_msgs/Twist "linear: + x: 0.5 + y: 0.0 + z: 0.0 +angular: + x: 0.0 + y: 0.0 + z: 0.0" -r 10 +``` +4. Analyse the motion and then stop the linear motion. If the UGV drifts left/right +during step 3, then your UGV is likely to suffer from the effect of uneven weight +distribution or deformable tires. (If not, there may be bigger issues). Further +investigation/discussion with Clearpath would be required. + +If the above tests demonstrate that the UGV **is oscillating** around the reference path, +then proceed to [Reduce Oscillations](#reduce_oscillations_on_straights). + +If the above tests demonstrate that the UGV **is NOT oscillating** or **within an acceptable +range of oscillation**, proceed to onto the following condition block: [Velocity Increase](#linear_velocity_condition). + + +#### Linear Velocity Condition/Test {#linear_velocity_condition} + +The "Increase Linear Velocity?" condition block asks if the user wants to increase the linear +velocity that the UGV will travel along long straight paths. This does not mean that it will +always drive at this velocity, but it is the velocity that it will accelerate to on straights, +when starting a mission and/or when coming out of a curve. + +To test this we want to create a mission that sends the UGV to a Waypoint +directly in front of the UGVs current position. This requires two Waypoints: the first one located at the robots +current position and the second Waypoint at least 20 meters away from the start position and will depend on the +linear velocity you wish to acheive. + +If during the above test, the velocity **does not** reach the desired velocity, proceed to +[Increase Linear Velocity](#increase_linear_velocity) and repeat the above test until the +desired has been achieved. + +If the above test results in the UGVs maximum velocity reaching the desired velocity, +then proceed to checking the two subconditions: [Goal Behavior](#goal_overshoot_tests) and +[Cornering Behavior](#cornering_tests). + +:::note + +Only advance to the following condition block: [Collision Avoidance](#collision_avoidance_condition) +if the UGVs maximum velocity has reached the desired velocity and all subconditions are +also satisfied. Ie. you have tuned the corner and goal behavior to within your allowable limits. + +::: + +#### Goal State Tests {#goal_overshoot_tests} + +The "Goalpoint Overshoot?" condition block asks the user to check if, at the end of a mission, +the UGV overshoots the goalpoint. This condition should always be checked every time the +velocity is increased. A similar test can be used as in the [Velocity Increase](#linear_velocity_condition) section. + +If the test results in the UGV **overshooting the goal point**, then proceed to +[Tune Goal Behavior](#tune_goal_state). + +If the test results in a **smooth deceleration to the goal point, with the UGV completing its +mission within the required tolerance, and NO overshoot**, then proceed to re-verifying that your +changes have not caused any oscillations by returning to the [Oscillation Tests](#oscillation_tests). + +:::note + +Only advance to the following condition block: [Collision Avoidance](#collision_avoidance_condition) +if the UGVs maximum velocity has reached the desired velocity and all subconditions also +are also satisfied. Ie. you have tuned the corner and goal behavior to within your allowable limits. + +::: + +#### Corner State Tests {#cornering_tests} + +The "Overshoot/Oscillations in Corners?" condition block asks the user to check if the UGV +overshoots the entry to corners, and/or if the UGV oscillates during the cornering. This +condition should always be checked every time the velocity is increased. + +A test should be designed so that the UGV will navigate a curve/corner. This type of mission +can be set up regardless of whether or not you have set a specified turn radius for the path planner. + +The Waypoints for the test mission should be placed such that there is sufficient change in +orientation of the reference path that the controller will switch into its CORNER state. An example mission +is provided below which demonstrates said Waypoint placement (although an extreme case with lots of Waypoints +for vehicle with a large turn radius). + +
+
+ +
Example test mission (complex) for cornering tests
+
+
+ +For the current case of differential drive UGVs who are able to turn on the spot, simpler +test missions can be used that change the heading of the UGV more than 45°, at each +Waypoint. + +If the test results in the UGV **overshooting the entrance to the corner/curve**, then proceed to +the first issue listed in [Tune Corner State](#tune_cornering_state). + +If the test results in the UGV **oscillating during the corner/curve**, then proceed to +the second issue listed in [Tune Corner State](#tune_cornering_state). + +If the test results in the UGV **navigating smoothly through all curves/corners, with no +minimal oscillations and no overshoot**, then proceed to re-verifying that your +changes have not caused any oscillations during straights ([Oscillation Tests](#oscillation_tests)). + +:::note + +Only advance to the following condition block: [Collision Avoidance](#collision_avoidance_condition) +if the UGVs maximum velocity has reached the desired velocity and all subconditions are also satisfied. +Ie. you have tuned the corner and goal behavior to within your allowable limits. + +::: + +#### Collision Avoidance Condition {#collision_avoidance_condition} + +The final condition block asks the user if collision avoidance is enabled or disabled on the +UGV. + +If collision avoidance is DISABLED, then you have completed tuning your UGV. +**Congratulations!** + +When collision avoidance is ENABLED, it is recommended to begin with a straight line test as in [Velocity Increase](#linear_velocity_condition) +but with an obstacle placed roughly in the center of the predicted path (ie. at the midpoint +between the start and goal locations). This obstacle should be at least 30 cm tall +and at least 10 cm wide. The user should be ready to emergency stop the UGV if they +notice it approaching the obstacle too fast or too closely. + +If the test results in any unexpected behaviour, such as: + +1) not stopping in front of the obstacle, + +2) not navigating after stopping in front of the obstacle, + +3) jittery motion navigating around the obstacle, + +then proceed to the respective issue listed in +[Tune Collision Avoidance Behavior](#tune_collision_avoidance). + + +## Tuning Blocks {#tuning_blocks} + +#### Initialize Parameters {#initialize_parameters} + +1. Update the footprint offsets of the UGV in the `/opt/onav//config/autonomy.env` file, where *onav_version* +is the version of OutdoorNav that you are currently running. + +:::note + +This above file path is only valid for versions after and including version 0.11.0. + +:::note + +
+
+ +
Differential Drive Tuning Flowchart
+
+
+ +| Environment Variable | Description | Sign | +|----------------------|-------------|------| +| FOOTPRINT_OFFSET_POS_X | Distance from base_link to the furthest edge of any part/sensor at the front of the UGV. | **+** | +| FOOTPRINT_OFFSET_NEG_X | Distance from base_link to the furthest edge of any part/sensor at the left of the UGV. | **-** | +| FOOTPRINT_OFFSET_POS_Y | Distance from base_link to the furthest edge of any part/sensor at the rear of the UGV. | **+** | +| FOOTPRINT_OFFSET_NEG_Y | Distance from base_link to the furthest edge of any part/sensor at the right of the UGV. | **-** | + +2. Update the [`vehicle_length`](../tuning_parameters/navigation_parameters.mdx#default_state_params) +parameter to be the longitudinal length (ie. along the x-axis) of your UGV. This is not +the sum of the above footprint x-axis magnitudes, but only the length of the UGV body. + +3. Update the following parameters with your UGV specific maximums and minimums: + + * [`max_fwd_velocity`](../tuning_parameters/navigation_parameters.mdx#default_state_params) + * [`min_fwd_velocity`](../tuning_parameters/navigation_parameters.mdx#default_state_params) + * [`max_rev_velocity`](../tuning_parameters/navigation_parameters.mdx#default_state_params) + * [`max_ang_velocity`](../tuning_parameters/navigation_parameters.mdx#default_state_params) + * [`max_accel`](../tuning_parameters/navigation_parameters.mdx#default_state_params) + * [`max_decel`](../tuning_parameters/navigation_parameters.mdx#default_state_params) + * [`max_ang_accel`](../tuning_parameters/navigation_parameters.mdx#default_state_params) + * [`max_lateral_accel`](../tuning_parameters/navigation_parameters.mdx#default_state_params) + +4. Update the [`stiction_compensator_fwd`](../tuning_parameters/navigation_parameters.mdx#default_state_params) +and [`stiction_compensator_yaw`](../tuning_parameters/navigation_parameters.mdx#default_state_params) to +be equivalent to the minimum linear and angular velocities that the UGV requires it to move +(eg. `stiction_compensator_fwd` would be equal to `min_fwd_velocity`). + + +#### Tune Velocity Deadband {#tune_deadband} + +To tune the velocity deadband, the user should at least start off by knowing the minimum +linear and angular velocities that the UGV motors can generate. + +If not already set from the [Initial Parameters](#initialize_parameters) section, you should set +the [`min_fwd_velocity`](../tuning_parameters/navigation_parameters.mdx#default_state_params) to the minimum +forward linear velocity that the UGV can handle. + +For each iteration of the linear deadband tuning, increment the following parameters by **0.05 m/s** +, until smooth linear motion is acheived from standstill: + +- [`min_fwd_velocity`](../tuning_parameters/navigation_parameters.mdx#default_state_params) +- [`stiction_compensator_fwd`](../tuning_parameters/navigation_parameters.mdx#default_state_params) + +For each iteration of the angular deadband tuning, increment the following parameters by **0.02 rad/s** +, until smooth angular motion is acheived from standstill: + +- [`stiction_compensator_yaw`](../tuning_parameters/navigation_parameters.mdx#default_state_params) + + +#### Reducing Oscillation (Straights) {#reduce_oscillations_on_straights} + +To tune the UGV behavior on straights when dealing with the simple cause of untuned MPC +controller parameters, we list the following parameters along with likely ranges and their initial +default values. The are listed in order of which parameter will have the most effect of improving +the performance of the current tuning block. + +| Parameter | Likely Range* | Default | +|-----------|---------------|---------| +| [`yaw_weight`](../tuning_parameters/navigation_parameters.mdx#default_state_params) | 90 - 120 | 18.0 | +| [`y_weight`](../tuning_parameters/navigation_parameters.mdx#default_state_params) | 12 - 18 | 14.0 | +| [`endpoint_multiplier`](../tuning_parameters/navigation_parameters.mdx#default_state_params) | 10 - 20 | 10 | +| [`max_lookahead`](../tuning_parameters/navigation_parameters.mdx#default_state_params) |2.5 - 3.5 | 2.5 | +| [`x_weight`](../tuning_parameters/navigation_parameters.mdx#default_state_params) | 14 - 16 | 14.0 +| [`lookahead_factor`](../tuning_parameters/navigation_parameters.mdx#default_state_params) | 1.4 - 1.6 | 1.45 | +| [`mpc_opt_maxiteration`](../tuning_parameters/navigation_parameters.mdx#default_state_params)* | 10 - 15 | 13 | +| [`discretization_steps`](../tuning_parameters/navigation_parameters.mdx#default_state_params)* | 6 - 10 | 8 | + +:::note + +\* These parameters should be changed with caution. + +::: + +When you are experiencing oscillations due to cause \#2 (controller delay) try the modifying the +following parameters: + +| Parameter | Likely Range* | Default | +|-----------|---------------|---------| +| [`enable_delay_compensation`](../tuning_parameters/navigation_parameters.mdx#delay_compensation_params) | true | false | +| [`controller_delay`](../tuning_parameters/navigation_parameters.mdx#delay_compensation_params) | depends on your delay in your system. (usually between 300 - 1000 will provide changes to the performance) | NA | + + +No available solutions yet to resolve oscillations due to causes \#3 and \#4. Please contact +Clearpath customer support at to discuss any related issue. + +#### Increase Linear Velocity {#increase_linear_velocity} + +** *The following instructions are only relevant if you are planning on +increasing the velocity of the UGV above 2.0 m/s.* ** + +To increase the UGVs maximum velocity, the following parameters should be modified. + +First, the [`mpc_horizon`](../tuning_parameters/navigation_parameters.mdx#default_state_params) parameter +should be set to: 1.0 + +The following parameters should then be modified to the desired velocity ($v_{des}$). Ie. if $v_{des}=4.0$ m/s, then you should modify both parameters to be 4.0. + +| Parameter | Value | +|-----------|-------| +| [`max_fwd_velocity`](../tuning_parameters/navigation_parameters.mdx#default_state_params) | $v_{des}$ | +| [`max_lookahead`](../tuning_parameters/navigation_parameters.mdx#default_state_params) | $v_{des}$ | + +Finally, if you are increasing the velocity to a value greater than or equal to 4.0 m/s or if you +are seeing that the velocity is being limited even after changing the above parameters, +it is possible to try and increase the size (width and height) of the local costmap in file: +`/opt/onav//app/autonomy/params/platform/navigation/costmap_local.yaml`, +where *onav_version* is the currently running version of OutdoorNav. The limit in the velocity +is due to the fact that the lookahead distance at higher speeds ends up exceeding the size of +the local costmap. By increasing it, we allow the controller to lookahead further and allow for +that velocity increase. + +#### Tune Goal State {#tune_goal_state} + +A few different issues may have occurred that led you to tuning the goal behavior. We list a +few of them and the possible parameters that can be modified to improve the performance in and +around the goal point. + +1) Overshooting the goal point can be caused by a few factors: + +* Not decelerating fast enough or soon enough as the UGV approaches the goal. + +To tune for this issue, some parameters are listed in order in which they will have the most effect of +improving the performance of the current tuning block: + +| Parameter | Default | +|-----------|---------| +| [`goal_horizon_threshold`](../tuning_parameters/navigation_parameters.mdx#goal_state_params) | 2.0 | +| [`goal_slowdown_multiplier`](../tuning_parameters/navigation_parameters.mdx#goal_state_params) | 1.5 | +| [`goal_horizon_threshold`](../tuning_parameters/navigation_parameters.mdx#goal_state_params) | 0.8 | +| [`endpoint_multiplier_goal`](../tuning_parameters/navigation_parameters.mdx#goal_state_params) | 20 | +| [`x_weight_goal`](../tuning_parameters/navigation_parameters.mdx#goal_state_params) | 14.0 | +| [`fwd_v_weight_goal`](../tuning_parameters/navigation_parameters.mdx#goal_state_params) | 0.01 | +| [`fwd_a_weight_goal`](../tuning_parameters/navigation_parameters.mdx#goal_state_params) | 8.0 | + + +* The autonomy core not considering the goal complete because it has too high of a velocity as it +starts entering the goal tolerance. + +To to tune for this issue, modify the following parameter: + +| Parameter | Value | Default | +|-----------|-------|---------| +| [`max_speed_at_goal`](../tuning_parameters/navigation_parameters.mdx#goal_state_params) | *depends on the deceleration of your UGV* | 0.8 | + +2) Oscillations (or jittery behavior) around the goal point are typically caused by the the +tolerance at the goal point being set too small. If they are too small and the UGV is unable +to localize itself within the required position and yaw tolerances, then it will jitter and +rotate to attempt to be a precise as you are expecting it to be. To resolve this, it is advised +to slightly increase the goal tolerance parameters: + +| Parameter | Default | +|-----------|---------| +| [`goal_tolerance_xy_rtk`](../tuning_parameters/navigation_parameters.mdx#goal_state_params) | 0.1 | +| [`goal_tolerance_yaw_rtk`](../tuning_parameters/navigation_parameters.mdx#goal_state_params) | 0.25 | +| [`goal_tolerance_xy_nortk`](../tuning_parameters/navigation_parameters.mdx#goal_state_params) | 0.3 | +| [`goal_tolerance_yaw_nortk`](../tuning_parameters/navigation_parameters.mdx#goal_state_params) | 0.5 | + +:::note + +If your UGV has RTK corrections, then it is only required to modify [`goal_tolerance_xy_rtk`](../tuning_parameters/navigation_parameters.mdx#goal_state_params) +and [`goal_tolerance_yaw_rtk`](../tuning_parameters/navigation_parameters.mdx#goal_state_params). Otherwise, +only modify [`goal_tolerance_xy_nortk`](../tuning_parameters/navigation_parameters.mdx#goal_state_params) +and [`goal_tolerance_yaw_nortk`](../tuning_parameters/navigation_parameters.mdx#goal_state_params). + +::: + +A complete list of parameters that relate to the GOAL state can be found +[here](../tuning_parameters/navigation_parameters.mdx#goal_state_params), however, the above set of +parameters is likely to satisfy the users requirements. + +#### Tune Cornering State {#tune_cornering_state} + +A few different issues may have occured that led you to tuning the cornering behavior. We list a +few of them and the possible parameters that can be modified to improve the performance approaching +as well as in the corner. + +1) Overshooting the corner only to enter the turn late + +This issue occurs most often, when the controller is unable to slow the UGV down early and/or +fast enough, prior to entering the corner. A reduction in velocity earlier in the approach to +the corner will improve the cornering performance. Below some parameters are listed that will +allow the user to improve the behavior entering corners: + +| Parameter | Default | +|-----------|---------| +| [`corner_segment_slowdown`](../tuning_parameters/navigation_parameters.mdx#corner_state_params) | false | +| [`corner_lookahead`](../tuning_parameters/navigation_parameters.mdx#corner_state_params) | 5.0 | +| [`corner_detection_threshold`](../tuning_parameters/navigation_parameters.mdx#corner_state_params) | 0.15 | +| [`corner_slowdown_multiplier`](../tuning_parameters/navigation_parameters.mdx#corner_state_params) | 1.5 | + +2) Oscillations during the corner + +To reduce the oscillations in the corners, some parameters are listed in order in which they will have the most effect of +improving the performance: + +| Parameter | Default | +|-----------|---------| +| [`endpoint_multiplier_corner`](../tuning_parameters/navigation_parameters.mdx#corner_state_params) | 20.0 | +| [`curvature_slowdown`](../tuning_parameters/navigation_parameters.mdx#default_state_params) | 0.15 | +| [`controller_delay`](../tuning_parameters/navigation_parameters.mdx#delay_compensation_params) | 0 | +| [`y_weight`](../tuning_parameters/navigation_parameters.mdx#default_state_params) | 14.0 | +| [`x_weight`](../tuning_parameters/navigation_parameters.mdx#default_state_params) | 14.0 | + +The complete list of parameters that relate to the CORNER state can be found +[here](../tuning_parameters/navigation_parameters.mdx#corner_state_params), however, the above set of +parameters is likely to satisfy the users requirements. + + +#### Tune Collision Avoidance {#tune_collision_avoidance} + +A few different issues may have occured that led you to tuning the collision avoidance. We list a +few of them and the possible parameters that can be modified to improve the performance approaching +as well as navigating around detected obstacles. + +1) UGV not stopping in front of the obstacle + +This issue would either occur if the collision avoidance has been disabled, or if the detection sensors +are not populating the costmap with the obstacle(s). To enable/disable collision avoidance: + +| Parameter | Default | +|-----------|---------| +| [`ENABLE_COLLISION_AVOIDANCE`](../tuning_parameters/collision_avoidance_parameters.mdx#general_collision_avoidance_params) | true | + +For the case where the obstacle that you are using is not being detected by the detection sensors, +make sure that it is neither too short nor too thin. Use RViz to check that the local costmap is being populated with +the obstacle. + +2) UGV not navigating after stopping in front of an obstacle + +This issue is either due to the robot unable to replan around the obstacle, in which case the +following parameters may help: + +| Parameter | Default | +|-----------|---------| +| [`inflation radius`](../tuning_parameters/collision_avoidance_parameters.mdx#costmap_params) | 1.0 | +| [`cost_scaling_factor`](../tuning_parameters/collision_avoidance_parameters.mdx#costmap_params) | 0.5 | +| [`max_decel`](../tuning_parameters/navigation_parameters.mdx#default_state_params) | 0.5 | +| [`max_accel`](../tuning_parameters/navigation_parameters.mdx#default_state_params) | 0.5 | + +or that the obstacle has gotten inside of the safety footprints causing the navigation to place the +UGV in a collision state: + +Consult the [Footprint Tuning](footprint_tuning.mdx) instructions to increase the safety footprint sets. +The user can also try increasing the stop distance from the UGV to an obstacle as it decelerates +to a stop. + +| Parameter | Default | +|-----------|---------| +| [`enable_stop_distance radius`](../tuning_parameters/navigation_parameters.mdx#stop_distance_params) | false | +| [`obstacle_stop_distance`](../tuning_parameters/navigation_parameters.mdx#stop_distance_params) | 3.0 | + +3) UGV has jittery motion navigating around the obstacle, + +This issue is typically a problem when the safety footprints collide with the obstacle as it is +trying to navigate the replanned path around the obstacle: + +Consult the [Footprint Tuning](footprint_tuning.mdx) instructions to modify the safety footprint sets. + +The user can also try increasing the stop distance of the UGV to an obstacle. + +| Parameter | Default | +|-----------|---------| +| [`enable_stop_distance radius`](../tuning_parameters/navigation_parameters.mdx#stop_distance_params) | false | +| [`obstacle_stop_distance`](../tuning_parameters/navigation_parameters.mdx#stop_distance_params) | 3.0 | + + +4) UGV suddenly reducing its velocity as it accelerates up to maximum + +This issue is due to the safety footprints exceeding the length of the local costmap. Since the +safety footprints increase in length as the velocity increases, the user must also increase the +size of the local costmap. This allows the safety footprints to extend to their entire length +without triggering a "false" obstacle detection due to the footprint exceeding the local +costmap size. Increase the costmap using these parameters: + +| Parameter | Default | +|-----------|---------| +| [`local_costmap/width`](../tuning_parameters/collision_avoidance_parameters.mdx#costmap_params) | $2 * l_{max\_footprint} + 0.5$ | +| [`local_costmap/height`](../tuning_parameters/collision_avoidance_parameters.mdx#costmap_params) | $2 * l_{max\_footprint} + 0.5$ | + +where l_{max\_footprint} is the length of the largest safety footprint. diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/tuning_instructions/footprint_tuning.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/tuning_instructions/footprint_tuning.mdx new file mode 100644 index 00000000..a36d1b85 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/tuning_instructions/footprint_tuning.mdx @@ -0,0 +1,9 @@ +--- +title: "Footprint Tuning" +sidebar_label: "Footprint Tuning" +sidebar_position: 5 +toc_min_heading_level: 2 +toc_max_heading_level: 2 +--- + +Information incoming in release 0.9.0. Please contact Clearpath customer support at to discuss any related issue. diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/tuning_overview.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/tuning_overview.mdx new file mode 100644 index 00000000..851df29b --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/tuning_overview.mdx @@ -0,0 +1,25 @@ +--- +title: "Tuning Overview" +sidebar_label: "Tuning Overview" +sidebar_position: 1 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +The scope of Appendix C is to provide information on how to tune the various components of +OutdoorNav. + +Instructions for tuning specific platform types can be found here: + +- [Differential Drive (Skid-Steer) Dynamics](tuning_instructions/differential_drive_dynamics.mdx) +- [Ackermann Drive Dynamics](tuning_instructions/ackermann_drive_dynamics.mdx) + + +Lists of parameters related to each component of the autonomy can be found here: + +- [Localization Parameters](tuning_parameters/localization_parameters.mdx) +- [Navigation Parameters](tuning_parameters/navigation_parameters.mdx) +- [Collision Avoidance Parameters](tuning_parameters/collision_avoidance_parameters.mdx) + +In future releases, we will describe how the user can [Customize their UI](user_interface_customization.mdx) +as well as how to [Customize which Sensors](sensor_customization.mdx) are input into OutdoorNav. \ No newline at end of file diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/tuning_parameters/_category_.json b/outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/tuning_parameters/_category_.json new file mode 100644 index 00000000..fb6592a9 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/tuning_parameters/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Tuning Parameters", + "position": 3 +} diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/tuning_parameters/collision_avoidance_parameters.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/tuning_parameters/collision_avoidance_parameters.mdx new file mode 100644 index 00000000..fa4b1ce2 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/tuning_parameters/collision_avoidance_parameters.mdx @@ -0,0 +1,37 @@ +--- +title: "Collision Avoidance Parameters" +sidebar_label: "Collision Avoidance Parameters" +sidebar_position: 5 +toc_min_heading_level: 2 +toc_max_heading_level: 3 +--- + +## General Environment Variables {#general_collision_avoidance_params} + +| Parameter | Description | File | Default | +|-----------|-------------|------|---------| +| `ENABLE_COLLISION_AVOIDANCE` | Flag to enable/disable collision avoidance | `/opt/onav//config/autonomy.env` | false | + + +## Costmap {#costmap_params} + +### Determine the file location of the parameter {#file_location} + +The parameters related to the costmap, can be found here: + +``` bash +/opt/onav//app/autonomy/params//navigation/costmap_.yaml +``` + +If they are not listed in the above file, it is because they are using the default values and are not being overwritten. + + +The following parameters can be used to modify the costmap, specifically when trying to tune +collision avoidance. + +| Parameter | Description | Namespace | SI Units | +|-----------|-------------|-----------|:--------:| +| `width` | The width of the costmap | [/navigation/*<global/local>*_costmap](#file_location) | **m** | +| `height` | The height of the costmap | [/navigation/*<global/local>*_costmap](#file_location) | **m** | +| `inflation_radius` | The radius to which the map inflates obstacle cost values | [/navigation/*<global/local>*_costmap/inflation](#file_location) | **m** | +| `cost_scaling_factor` | A scaling factor to apply to cost values during inflation. The cost function is computed as follows for all cells in the costmap further than the inscribed radius distance and closer than the inflation radius distance away from an actual obstacle | [/navigation/*<global/local>*_costmap/inflation](#file_location) | - | diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/tuning_parameters/localization_parameters.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/tuning_parameters/localization_parameters.mdx new file mode 100644 index 00000000..b8102c74 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/tuning_parameters/localization_parameters.mdx @@ -0,0 +1,9 @@ +--- +title: "Localization Parameters" +sidebar_label: "Localization Parameters" +sidebar_position: 3 +toc_min_heading_level: 2 +toc_max_heading_level: 3 +--- + +Information incoming in release 0.9. Please contact Clearpath customer support at to discuss the issue. diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/tuning_parameters/navigation_parameters.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/tuning_parameters/navigation_parameters.mdx new file mode 100644 index 00000000..fa47f224 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/tuning_parameters/navigation_parameters.mdx @@ -0,0 +1,169 @@ +--- +title: "Navigation Parameters" +sidebar_label: "Navigation Parameters" +sidebar_position: 3 +toc_min_heading_level: 2 +toc_max_heading_level: 3 +--- + +import versions from "@site/static/versions.js" + +## Controllers {#controllers} + +### Determine the file location of the parameter {#file_location} + +The parameters related to the controller, can be found here: + +``` bash +/opt/onav//app/autonomy/params//navigation/controls_general.yaml +/opt/onav//app/autonomy/params//navigation/mpc_controller.yaml +/opt/onav//app/autonomy/params//navigation/mpc_dock_controller.yaml +``` + +If they are not listed in the above file, it is because they are using the default values and are not being overwritten. + +### MPC Controller {#controller} + +#### MBF Plugins + +Currently we have implemented a Move-Base Flex controller plugin named: **OnavMbfMpcController** + +Two instances of this plugin are loaded at runtime by our navigation node (as seen in the table below). The parameters are equivalent for each instance of the plugin but the values of certain of these parameters are different. + +| Controller name | Description | +|-----------------|-------------| +| **`mpc_controller`** | The controller used during normal navigation and applies to tracking the paths generated between all the mission waypoints. | +| **`mpc_dock_controller`** | The controller used during docking and applies only to tracking the dock and undock paths. | + +#### MPC State Machine + +The MPC controller operates as a state machine that contains the following states: + +| MPC State | Description | Condition | +|-----------|-------------|-----------| +| **`DEFAULT`** | Standard tracking behavior. | Will revert to this state if none of the other state conditions are met. | +| **`GOAL`** | Tracking behavior as the UGV approaches the goal. | Will enter GOAL mode when the `goal_horizon_threshold` parameter distance to the goal has been reached.| +| **`PRECISE`** | State when more precision is required in the tracking. | At the start of the path, we begin in Precise mode to ensure that we have a good start to tracking.| +| **`RESCUE`** | State to rescue the tracker when the UGV is stuck. | Will enter RESCUE mode when UGV is appraching a condition that make it stuck.| +| **`HYSTERESIS`** | State when you the UGV requires compensation for tire flexion. | Will enter HYSTERESIS mode when the UGV detects that it will begin oscillating due to tire deformation. | +| **`CORNER`** | State when there is a curve or a corner ahead. | Will enter CORNER mode when the UGV approaches, within a `corner_lookahead` parameter distance, to a corner with at least `corner_detection_threshold` of a curvature.| + +#### Default State Parameters {#default_state_params} + +The following list defines the default parameters that the MPC controller uses. +For the most part, they apply to all states of the MPC controller. + +| Parameter | Description | Namespace | SI Units | +|-----------|-------------|-----------|:--------:| +| `vehicle_length` | The length (longitudinally) of the UGV. | [/navigation/*<controller>*/path_tracker](#file_location) | **m** | +| `mpc_horizon` | The prediction horizon of the MPC. | [/navigation/*<controller>*/path_tracker](#file_location) | **s** | +| `max_lookahead` | Maximum distance along the path we seek to follow. Affects how far we do collision checks as well as the maximum velocity of the UGV. | [/navigation/*<controller>*/path_tracker](#file_location) | **m** | +| `min_lookahead` | Minimum distance along the path we seek to follow. Affects how far we do collision checks as well as the maximum velocity of the UGV. | [/navigation/*<controller>*/path_tracker](#file_location) | **m** | +| `lookahead_smoother` | Factor between 0 and 1 that determines the smoothness of the change in lookahead distance: 0 means only maximum velocity is used to determine the horizon (can be jumpy but speeds up the UGV faster); 1 means only averaged planned velocity is used to determine the horizon (smoother but speeds up the UGV slowly). | [/navigation/*<controller>*/path_tracker](#file_location) | **--** | +| `lookahead_factor` | How aggressively do we want to increase the lookahead from min_lookahead to max_lookahead | [/navigation/*<controller>*/path_tracker](#file_location) | **--** | +| `mpc_opt_maxiteration` | The maximum number of iterations that the solver will run. Increase this value for better performance, decrease for shorter computation time. | [/navigation/*<controller>*/path_tracker](#file_location) | **--** | +| `discretization_steps` | Number of grid points along the MPC prediction; Lower: less accuracy, but faster | [/navigation/*<controller>*/path_tracker](#file_location) | **--** | +| `max_fwd_velocity` | The maximum allowable linear velocity that the MPC controller can compute. | [/navigation/*<controller>*/path_tracker](#file_location) | **m/s** | +| `min_fwd_velocity` | The minimum allowable linear velocity, in any mode, that the MPC controller can compute. This can be used to overcome the different deadbands that different UGVs may have. | [/navigation/*<controller>*/path_tracker](#file_location) | **m/s** | +| `max_rev_velocity` | The maximum allowable reverse linear velocity (ie. positive value), in any mode, that the MPC controller can compute. By default this is set to the `max_fwd_velocity`, so only needed if your maximum linear reverse velocity is different than the forward linear velocity.| [/navigation/*<controller>*/path_tracker](#file_location) | **m/s** | +| `max_ang_velocity` | The maximum allowable angular velocity, in any mode, that the MPC controller can compute. This parameter bounds both positive and negative angular velocities. | [/navigation/*<controller>*/path_tracker](#file_location) | **rad/s** | +| `max_accel` | The maximum allowable linear acceleration, in normal navigation mode, that the MPC controller can compute. | [/navigation/*<controller>*/path_tracker](#file_location) | **m/s/s** | +| `max_decel` | The maximum allowable linear deceleration (ie. negative value), in any mode, that the MPC controller can compute. | [/navigation/*<controller>*/path_tracker](#file_location) | **m/s/s** | +| `max_ang_accel` | The maximum allowable angular acceleration, in any mode, that the MPC controller can compute. This parameter bounds both positive and negative angular accelerations. | [/navigation/*<controller>*/path_tracker](#file_location) | **rad/s/s** | +| `max_lateral_accel` | The maximum allowable lateral acceleration, in any mode, that the MPC controller can compute. This parameter bounds both positive and negative lateral accelerations. | [/navigation/*<controller>*/path_tracker](#file_location) | **m/s/s** | +| `stiction_compensator_fwd` | The minimum linear velocity for movement of the UGV. This should typically be the minimum linear velocity that the UGV requires for it to move. | [/navigation/*<controller>*/path_tracker](#file_location) | **m/s** | +| `stiction_compensator_yaw` | The minimum angular velocity for movement of the UGV. This should typically be the minimum angular velocity that the UGV requires for it to move. | [/navigation/*<controller>*/path_tracker](#file_location) | **m/s** | +| `x_weight` | Weight for state x in MPC cost function, in the MPC state: DEFAULT. | [/navigation/*<controller>*/path_tracker](#file_location) | **--** | +| `y_weight` | Weight for state y in MPC cost function, in the MPC state: DEFAULT. | [/navigation/*<controller>*/path_tracker](#file_location) | **--** | +| `yaw_weight` | Weight for state yaw in MPC cost function, in the MPC state: DEFAULT. | [/navigation/*<controller>*/path_tracker](#file_location) | **--** | +| `fwd_v_weight` | Weight for state ẋ (forward velocity) in MPC cost function, in the MPC state: DEFAULT. | [/navigation/*<controller>*/path_tracker](#file_location) | **--** | +| `yaw_d_weight` | Weight for state (yaw velocity) in MPC cost function, in the MPC state: DEFAULT. | [/navigation/*<controller>*/path_tracker](#file_location) | **--** | +| `fwd_a_weight` | Weight for state ẍ (forward acceleration) in MPC cost function, in the MPC state: DEFAULT. | [/navigation/*<controller>*/path_tracker](#file_location) | **--** | +| `yaw_a_weight` | Weight for state (yaw acceleration) in MPC cost function, in the MPC state: DEFAULT. | [/navigation/*<controller>*/path_tracker](#file_location) | **--** | +| `horizon_percent_change` | The percentage factor used when shortening the MPC horizon. This will affect how quickly we want to speed up after a curvature slowdown. | [/navigation/*<controller>*/path_tracker](#file_location) | **--** | +| `error_slowdown_multiplier` | The amount by which to increase the MPC horizon based on the crosstrack and/or heading error. This should be greater than 1.0 since increasing the MPC horizon will decrease the maximum MPC velocity. ** Less than 1.0 will result in the opposite behaviour which is not the expected behaviour for this parameter. | [/navigation/*<controller>*/path_tracker](#file_location) | **--** | +| `crosstrackerror_slowdown` | Threshold on the amount of crosstrack error, above which to a slowdown the UGV. | [/navigation/*<controller>*/path_tracker](#file_location) | | +| `headingerror_slowdown` | Threshold on the amount of heading error, above which to a slowdown the UGV. | [/navigation/*<controller>*/path_tracker](#file_location) | | +| `curvature_slowdown` | Threshold on the path curvature, above which to a slowdown the UGV. | [/navigation/*<controller>*/path_tracker](#file_location) | | +| `endpoint_multiplier` | Weight multiplier of the very last point along the local plan segment in MPC state: DEFAULT. This value ensures convergence/stability of the optimizer by mimicking the MPCs infinite horizon by applying a terminal cost. | [/navigation/*<controller>*/path_tracker](#file_location) | **--** | +| `shrinking_horizon_min` | The minimum horizon that will be used in the computation. This value will prevent the horizon from dropping below this value during all the horizon adjustments. | [/navigation/*<controller>*/path_tracker](#file_location) | **s** | +| `crosstrack_tolerance` | The amount of lateral error that the controller will handle before stopping the UGV and replanning a new path. | [/navigation/*<controller>*/path_tracker](#file_location) | **m** | +| `reference_trajectory_factor` | A factor that will skew the path parameter. This value should be between 0 and 1. Values closer to 0.0 will skew the path param closer to the UGV, decreasing speed but increasing the accuracy of the path tracking, and vice versa as you approach 1.0. | [/navigation/*<controller>*/path_tracker](#file_location) | **m** | + +#### Goal State Parameters {#goal_state_params} + +The following parameters can be modified to tune the controller as it approaches +the goal point as well as its behavior around the goal point. + +| Parameter | Description | Namespace | SI Units | +|-----------|-------------|-----------|:--------:| +| `goal_horizon_threshold` | The distance from the goal point which the MPC state will switch into state: GOAL , and begin reducing the horizon accordingly. | [/navigation/*<controller>*/path_tracker](#file_location) | **m** | +| `goal_slowdown_multiplier` | The multiplier by which to increase the MPC horizon during the MPCs GOAL state in order to slow the UGV down from its top speed. This value should be greater than 1.0. | [/navigation/*<controller>*/path_tracker](#file_location) | | +| `max_speed_at_goal` | The maximum allowable speed at the goal point for the controller to stop and consider the goal complete. On OEM UGVs, this value should be increased. | [/navigation/*<controller>*/path_tracker](#file_location) | **m/s** | +| `x_weight_goal` | Weight for state x in MPC cost function, in the MPC state: GOAL. | [/navigation/*<controller>*/path_tracker](#file_location) | | +| `y_weight_goal` | Weight for state y in MPC cost function, in the MPC state: GOAL. | [/navigation/*<controller>*/path_tracker](#file_location) | | +| `yaw_weight_goal` | Weight for state yaw in MPC cost function, in the MPC state: GOAL. | [/navigation/*<controller>*/path_tracker](#file_location) | | +| `fwd_v_weight_goal` | Weight for state ẋ (forward velocity) in MPC cost function, in the MPC state: GOAL. | [/navigation/*<controller>*/path_tracker](#file_location) | | +| `yaw_d_weight_goal` | Weight for state (yaw velocity) in MPC cost function, in the MPC state: GOAL. | [/navigation/*<controller>*/path_tracker](#file_location) | | +| `fwd_a_weight_goal` | Weight for state ẍ (forward acceleration) in MPC cost function, in the MPC state: GOAL. | [/navigation/*<controller>*/path_tracker](#file_location) | | +| `yaw_a_weight_goal` | Weight for state (yaw acceleration) in MPC cost function, in the MPC state: GOAL. | [/navigation/*<controller>*/path_tracker](#file_location) | | +| `endpoint_multiplier_goal` | Weight multiplier of the very last point along the local plan segment in MPC state: GOAL. This value ensures convergence/stability of the optimizer by mimicking the MPCs infinite horizon by applying a terminal cost. | [/navigation/*<controller>*/path_tracker](#file_location) | | +| `goal_tolerance_xy_rtk` | The (x, y) tolerance value (ie. radius) assigned to a goal, when RTK is enabled, in order to determine whether or not to consider the goal complete. | [/navigation/*<controller>*/path_tracker](#file_location) | **m** | +| `goal_tolerance_yaw_rtk` | The yaw tolerance value (ie. heading) assigned to a goal, when RTK is enabled, in order to determine whether or not to consider the goal complete. | [/navigation/*<controller>*/path_tracker](#file_location) | **rad** | +| `goal_tolerance_xy_nortk` | The (x, y) tolerance value (ie. radius) assigned to a goal, when RTK is disabled, in order to determine whether or not to consider the goal complete. | [/navigation/*<controller>*/path_tracker](#file_location) | **m** | +| `goal_tolerance_yaw_nortk` | The yaw tolerance value (ie. heading) assigned to a goal, when RTK is disabled, in order to determine whether or not to consider the goal complete. | [/navigation/*<controller>*/path_tracker](#file_location) | **rad** | + +#### Corner State Parameters {#corner_state_params} + +The following parameters can be modified to tune the behavior of the controller during and as it +as it approaches corners. + +| Parameter | Description | Namespace | SI Units | +|-----------|-------------|-----------|:--------:| +| `corner_segment_slowdown` | Flag to enable/disable the slowdown behaviour in MPC state: CORNER | [/navigation/*<controller>*/path_tracker](#file_location)| **bool** | +| `corner_lookahead` | The distance on the reference path from the UGVs current location, along which to determine if a corner is present. If a corner is present the MPC state will switch to CORNER state and begin reducing the horizon accordingly. | [/navigation/*<controller>*/path_tracker](#file_location)| **m** | +| `corner_detection_threshold` | Threshold on the path curvature, between the UGVs current location and the end of the corner_lookahead distance, above which to switch the MPC in state: CORNER, and begin reducing the horizon accordingly. | [/navigation/*<controller>*/path_tracker](#file_location)| **rad** | +| `corner_slowdown_multiplier` | The multiplier by which to increase the MPC horizon during the MPCs CORNER state in order to slow the UGV down from its top speed. This value should be greater than 1.0. | [/navigation/*<controller>*/path_tracker](#file_location)| **--** | +| `endpoint_multiplier_corner` | Weight multiplier of the very last point along the local plan segment in MPC state: CORNER. This value ensures convergence/stability of the optimizer by mimicking the MPCs infinite horizon by applying a terminal cost. | [/navigation/*<controller>*/path_tracker](#file_location)| **--** | + +#### OEM Specific Parameters {#oem_tuning_params} + +When tuning the controller on a third-party OEM UGV, there are several other considerations +that we will not have taken into account during the tuning of our UGVs. Below, we define +parameters that may be modified to tune the controller for your third-party OEM UGV. + +##### UGV Dynamics {#platform_dynamics_params} + +The following parameters can be used to modify the dynamics model that the contrller uses to +compute command velocities. + +| Parameter | Description | Namespace | SI Units | +|-----------|-------------|-----------|:--------:| +| `no_turn_on_spot_motion` | Flag to enable/disable turn on spot motion. By default, the MPC motion model is represented by a differential drive kinematics. This parameter will modify the MPC motion model to remove turn in place motions and bias the motion in the forward direction. | [/navigation/*<controller>*/path_tracker](#file_location) | - | +| `min_fwd_turn` | | [/navigation/*<controller>*/path_tracker](#file_location) | **--** | +| `pivot_point_offset_x` | The longitudinal offset that can be applied to the MPC model in order to account for a particular UGVs center of rotation | [/navigation/*<controller>*/path_tracker](#file_location) | - | +| `pivot_point_offset_y` | The lateral offset that can be applied to the MPC model in order to account for a particular UGVs center of rotation | [/navigation/*<controller>*/path_tracker](#file_location) | - | +| `min_fwd_turn` | | [/navigation/*<controller>*/path_tracker](#file_location) | **--**| + +##### Delay Compensation {#delay_compensation_params} + +The following parameters can be used to compensate for any delays that are present in the system. + +| Parameter | Description | Namespace | SI Units | +|-----------|-------------|-----------|:--------:| +| `enable_delay_compensation` | A boolean flag to enable/disable the delay compensation feature. The delay compensation feature is used to compensate for low-level dynamics delays that may be present in the UGV to be controlled. The user can apply an input controller delay and the feature will compute command velocities that compensate for such a delay. | [/navigation/*<controller>*/path_tracker](#file_location) | **bool** | +| `controller_delay` | The amount of controller delay that the delay compensation feature will attempt to compensate for, in ms. | [/navigation/*<controller>*/path_tracker](#file_location) | **ms** | + +##### Stop Distance {#stop_distance_params} + +The following parameters can be used to set a specific stop distance away from obstacles. + +| Parameter | Description | Namespace | SI Units | +|-----------|-------------|-----------|:--------:| +| `enable_stop_distance` | A flag to use enable/disable the stop distance feature. The stop distance feature forces the UGV to stop a specified distance in front of obstacles. | [/navigation/*<controller>*/path_tracker](#file_location) | **bool** | +| `obstacle_stop_distance` | The distance at which the UGV will stop in front of a detected obstacle. | [/navigation/*<controller>*/path_tracker](#file_location) | **m** | + + +## Path Planners {#path_planners} + +Information incoming in release 0.9. Please contact Clearpath customer support at to discuss the issue. diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/user_interface_customization.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/user_interface_customization.mdx new file mode 100644 index 00000000..17c27a3f --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/customized_tuning/user_interface_customization.mdx @@ -0,0 +1,9 @@ +--- +title: "UI Customization" +sidebar_label: "UI Customization" +sidebar_position: 4 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +Information incoming in a future release. Please contact Clearpath customer support at to discuss any related issue. diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/faq.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/faq.mdx new file mode 100644 index 00000000..a086c447 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/faq.mdx @@ -0,0 +1,194 @@ +--- +title: Frequently Asked Questions +sidebar_label: Frequently Asked Questions +sidebar_position: 10 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +## General + +1. **How do I start, pause or stop a mission?** + + A mission can be started in a few different ways, i) through the web user interface (See [Mission Execution](./web_user_interface/ui_autonomous_mode.mdx#mission-execution)) or, + ii) through the ROS API (See [API Examples](./api/api_examples/api_examples.mdx)). + +2. **When I start a mission the UGV does not move. What could be the + problem?** + + There could be one of several reasons for why this is happening: + + 1. Check that none of the onboard Motion-Stop actuators are + activated. + 2. Check that none of the wireless Motion-Stops are engaged. This + can be checked via the UI (a red Status Indicator means + Motion-Stop is engaged) or the onboard UGV lights (will flash + when Motion-Stop is engaged). + 3. If OutdoorNav is running on a Clearpath Robotics Warthog UGV + that is programmed with a Futaba controller, then ensure that + the controller is turned off. If it is on then it will be + sending "no motion" commands that will be overriding the + autonomy commands. + 4. Check the task settings for each Waypoint in the Mission. + A missing task setting for a Move PTZ task will block the + execution of the Mission it is in. + +3. **What version of ROS is compatible with OutdoorNav?** + + Currently OutdoorNav is developed in ROS 1 (and is built in Docker containers on top of ROS 1 Noetic). + So, the recommended ROS version is ROS 1 Noetic. However, although not recommended, it is still + possible to use ROS 1 Melodic. Some issues may arise related to the mismatched message types. + Also, if trying to run any python scripts as Melodic targets Python2, whereas Noetic targets Python3. + + Finally, official ROS 2 compatibility is currently unsupported. In theory, if you only have ROS 2 installed + on your system, you can try to install ROS 1 Noetic as well and set up a ros1_to_ros2 bridge. Since the + OutdoorNav software is packaged in Dockers, it will communicate directly ROS 1 and then the data can be + redirected by the ros1_to_ros2 bridge to ROS 2. + +4. **How can I record ROS data?** + + There are two ways to record ROS data. The first is [through the UI](./features/rosbag_recorder.mdx) and the + second is the more traditional method of accessing the command line of the UGV's computer and running + [rosbag record commands](http://wiki.ros.org/rosbag/Commandline). + +5. **Where do all the video/audio/images get saved from the mission tasks?** + + All of the data that gets saved (ROSbags, video recordings, audio recordings, and saved images) gets stored on + UGV's computer at the following location: `/opt/onav/saved_files/...` + +## Autonomy + +1. **Am I able to send the UGV on a repeated loop?** + + When generating a single mission on the UI or through the API, it is not possible for the + mission to start at the location of the robot and end at the location of the robot. This has to do with + the navigation thinking that the UGV has already arrived at its goal and will not generate a path through + the Waypoints. However, it is possible to split the mission into two missions (ie. one to go to a + location and the second to return to the starting point). With these two missions you will then either be + able to send each mission one after the other or you can use the [Mission Scheduler](./features/mission_scheduler.mdx). + Add the two missions to the schedule and you will have the ability to also repeat this loop as many times as needed. + +2. **Why is surveying failing?** + + There are several checks that should be done: + + - Check that the base station is powered on, and that all the devices inside are powered on. + - From the UGV's computer, check that you can ping the base station. + +``` bash +ping 192.168.131.30 +``` + +  If all of these tests PASS, contact [Support](./support.mdx). + +3. **Is it possible to increase the maximum velocity of the UGV?** + + The OutdoorNav software has been tune for specific maximum velocities depending on the platform, + 1.2 m/s, 1.0 m/s and 2.0 m/s for Jackal, Husky and Warthog UGVs, respectively. The Husky maximum velocity + is 1.0 m/s so increasing above this is not possible however if you would like to increase the maximum + velocity for either the Jackal or the Warthog, further tuning may be required. Consult the + [tuning guide](./customized_tuning/tuning_instructions/differential_drive_dynamics.mdx) and contact + [Support](./support.mdx) if required. + +4. **My robot it detecting too many obstacles and replanning too frequently. How can I resolve this?** + + Please consult the [Limitations](./features/collision_avoidance.mdx#limitations) section of the collisison + avoidance feature. It will describe some limits to the obstaacle detection and can help you improve the + smoothness of the navigation. + +5. **I am getting a 'Robot too far off path warning'. What should I do?** + + These types of warnings appear on the UI under two conditions: + i) If the robot indicator (blue arrow on the UI) is not within 3.0 meters of the first Waypoint (the Green one on the UI). + ii) If the robot is outside of the allowable navigable space (defined by the path contraint, default: 3.0 meters around the reference path). + Enable the visualization of the [path contraint](./web_user_interface/ui_autonomous_mode.mdx#constrained_path) and Teleop the robot back into the + navigable space. + +6. **How can I remove certain sensors from the collision avoidance pipeline?** + + If your robot is equipped with collision avoidance sensors (eg. Velodyne, Hokuyo, Sick LMS), it is + possible to enable/disable the throughput of each sensor data into the collision avoidance pipeline. + Consult the [Collision Avoidance](./features/collision_avoidance.mdx) section for these instructions. + +7. **Can I use OutdoorNav without using the UI?** + + We empower customers to send mission via either the UI or our [ROS 1 API](./api/api_overview.mdx). Through this + API, you are enabled to write either CPP code or Python scripts where you would generate your mission, survey the base station, + set the datum, assign [custom tasks](./features/custom_tasks.mdx) to your mission. If using Python, we provide a set of libraries that + speed up the develpment process. See some of the [example codes](./api/api_examples/api_examples.mdx) for an idea of how to generate these scripts. + +## Web User Interface + +1. **How do I delete a waypoint on the UI?** + + Make sure the **Edit Missions** toggle is enabled, then click the + **Waypoint Mode** button. Now you can click the Waypoint you wish to + delete. A drop down list will appear. Select **Delete**. + +2. **How do I add a Task to a Waypoint on the UI?** + + See [Add Task to Waypoint](./web_user_interface/ui_autonomous_mode.mdx#add-task) for information on how + to add a Task to a Waypoint. + +3. **Why is the "Save Image" Task failing?** + + Check the Waypoints that have a **Save Image** task in the Waypoint panel. + If you see a red warning triangle beside the **Save Image** task it means + that the settings for this task were not properly set. Set them and rerun + the mission. + +4. **Are we able to make any changes to the UI?** + + Unfortunately, users are not currently enabled to make modifications to the user interface. + This feature will be available in a future release. Please direct any feature requests to [Support](./support.mdx). + +5. **What to do if my custom task is not working?** + + Ensure that you have followed the [Custom Tasks](./features/custom_tasks.mdx) instructions. When adding the + custom task to a Waypoint, it is important to double check that all the [fields](./web_user_interface/ui_autonomous_mode.mdx#add-task) + for your custom task are correct. + +6. **Why are either of the GNSS Status indicator (POS and/or DIR) on the UI not Green?** + + i) If the **POS** indicator is YELLOW, and you are using an RTK base station: + - Check communication between the robot and the base station by pinging 192.168.131.30 (from the UGV's computer) + - Re-survey the base station + - Access the [Swift Console](https://support.swiftnav.com/support/solutions/articles/44001391679-swift-console) using + the both the base station IP (192.168.131.30) and the position unit IP (192.168.131.31) and ensure that certain + settings are set correctly: + On the base station unit: + 1) surveyed_position/broadcast = True + tcp_server1/mode = SBP + tcp_server1/enabled sbp messages = 72,74,117,65535,114 + tcp_server1/address = 55556 + On the position unit: + 2) tcp_client0/mode = SBP + tcp_client0/enabled sbp messages = 0 + tcp_client0/address = 192.168.131.30:55556 + ii) If the **POS** indicator is RED: + - Check communication between the robot and the position GNSS unit by pinging 192.168.131.31 (from the UGV's computer) + - Access the [Swift Console](https://support.swiftnav.com/support/solutions/articles/44001391679-swift-console) using + the position unit IP (192.168.131.31) and ensure that the unit is working by checking that satellites are being + tracked in the "Tracking" tab. + + iii) If the **DIR** indicator is YELLOW, + - Access the [Swift Console](https://support.swiftnav.com/support/solutions/articles/44001391679-swift-console) using + the position unit IP (192.168.131.31) and the heading unit IP (192.168.131.32), and ensure that certain + settings are set correctly: + On the position unit: + 1) tcp_server1/mode = SBP + tcp_server1/enabled sbp messages = 74,117 + tcp_server1/address = 55556 + On the heading unit: + 2) tcp_client0/mode = SBP + tcp_client0/enabled sbp messages = 0 + tcp_client0/address = 192.168.131.31:55556 + solution/dgnss_solution_mode = Time Matched + solution/heading offset = 0 + solution/send heading = True + solution/soln freq = 5 + solution/output ever n obs = 1 + + iv) If the **DIR** indicator is RED: + - Check communication between the robot and the position GNSS unit by pinging 192.168.131.31 (from the UGV's computer) + diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/features/_category_.json b/outdoornav_user_manual_versioned_docs/version-0.11.0/features/_category_.json new file mode 100644 index 00000000..732c6cb7 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/features/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "OutdoorNav Features", + "position": 8 +} diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/features/collision_avoidance.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/features/collision_avoidance.mdx new file mode 100644 index 00000000..e9a983d6 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/features/collision_avoidance.mdx @@ -0,0 +1,336 @@ +--- +title: Collision Avoidance +sidebar_label: Collision Avoidance +sidebar_position: 2 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +:::danger SAFETY WARNING + +Making changes to any of the following variables may decrease system safety. It is recommended that users +only modify these parameters in consultation with Clearpath Robotics Support. + +::: + +:::note + +Changes to any of the following variables will only take effect after power cycling the UGV. + +::: + +The collision avoidance feature of OutdoorNav allows our platforms to detect, +replan and then navigate around any obstacles that may be present in the UGV's +path. The workflow of this feature can be seen in the figure below. + + +
+
+ +
Collision avoidance workflow
+
+
+ +The detection sensors available on the UGV will have their data filtered, if necessary into data +that can be fed into the costmap(s). The costmap will then use this filtered data +to generate two costmaps (local and global). + +- **global costmap**: A large costmap (whose size gets set relative to the +Waypoints of the desired mission) the replanned paths around detected obstacles. +- **local costmap**: A smaller costmap that is used solely for detecting potential +collisions and triggering the path replanner. + +Therefore, there are two components in which we can tune the behaviour of the collision +avoidance feature: the sensor filters or the costmap generation. We will expand on these below. + +## Sensor Tuning + +The following table lists the sensors that are useable with the +OutdoorNav software. The sensor drivers can be turned on/off using +these environment variables, however, the sensor will always remain +powered on. The environment variables, should be added to the +`/opt/onav//config/sensors.env` file, where *onav_version* +is the currently running version of OutdoorNav. + +| Environment Variable | Description | Data Type +|--------------------------------|-------------------------------------------|-------------- +| **SWIFTNAV_ENABLE_DRIVER** | Enable/disable the Swiftnav Piksi/Duro ROS driver, if integrated. | bool | +| **UBLOX_ENABLE_DRIVER** | Enable/disable the UBlox ROS driver, if integrated. | bool | +| **MICROSTRAIN_ENABLE_DRIVER** | Enable/disable the Microstrain GX5/CV5 ROS driver, if integrated. | bool | +| **XSENS_ENABLE_DRIVER** | Enable/disable the XSens MTI ROS driver, if integrated. | bool | +| **VLP_ENABLE_DRIVER** | Enable/disable the Velodyne ROS driver, if integrated (front unit if more than one). | bool | +| **REAR_VLP_ENABLE_DRIVER** | Enable/disable the Velodyne ROS driver, if integrated (rear unit if more than one). | bool | +| **LMS1XX_ENABLE_DRIVER** | Enable/disbale the Sick LMS1XX ROS driver, if integrated (front unit if more than one). | bool | +| **REAR_LMS1XX_ENABLE_DRIVER** | Enable/disbale the Sick LMS1XX ROS driver, if integrated (rear unit if more than one). | bool | +| **HOKUYO_ENABLE_DRIVER** | Enable/disbale the Hokuyo ROS driver, if integrated (front unit if more than one). | bool | +| **REAR_HOKUYO_ENABLE_DRIVER** | Enable/disbale the Hokuyo ROS driver, if integrated (rear unit if more than one). | bool | +| **D435_ENABLE_DRIVER** | Enable/disable the Realsense ROS driver, if integrated (front unit if more than one). | bool | +| **REAR_D435_ENABLE_DRIVER** | Enable/disable the Realsense ROS driver, if integrated (rear unit if more than one). | bool | + + +### Sensor Filters + +:::info + +It is currently only possible to use one filter of the 3D LiDAR filters (voxel, cropbox, radius, or statistical outlier) at a +time on any source of data. In future releases we plan on expanding this to work as a filter chain. + +::: + +The following list of environment variables can be used to filter the +sensor data in order to modify/improve the sensory input to the +OutdoorNav autonomy. It is recommended that you first consult the +following links before attempting to modify these parameters. + +- [PCL Filters](http://wiki.ros.org/pcl_ros/Tutorials/filters) +- [PointCloud to LaserScan Filter](http://wiki.ros.org/pointcloud_to_laserscan) +- [DepthImage to LaserScan Filter](http://wiki.ros.org/depthimage_to_laserscan) + +#### Voxel Grid Filter + +Applicable for 3D LiDAR data published on the `../pointcloud` topic. + +Eg. Velodyne, Ouster or Realsense +[`PointCloud2`](http://docs.ros.org/en/melodic/api/sensor_msgs/html/msg/PointCloud2.html) data. + +| Environment Variable | Description | Data Type (Default) | +|----------------------|------------------------------------------|---------------------| +| **_ENABLE_FILTER_VOXEL** | Enable/disable the PCL voxel filter for the sensor of type .

type = {VLP, D435, REAR_VLP, REAR_D435} | bool
(false) | +| **PCL_FIL_FILTER_VOXEL_LEAF_SIZE** | The size of a leaf (on x,y,z), in meters, used for downsampling. Range: 0.0 to 1.0. | double (0.01) | + +#### Cropbox Filter + +Applicable for 3D LiDAR data published on the `../pointcloud` topic. + +Eg. Velodyne, Ouster or Realsense +[`PointCloud2`](http://docs.ros.org/en/melodic/api/sensor_msgs/html/msg/PointCloud2.html) data. + +| Environment Variable | Description | Data Type (Default) | +|----------------------|------------------------------------------|---------------------| +| **_ENABLE_FILTER_CROPBOX** | Enable/disable the PCL cropbox filter for the sensor of type .

type = {VLP, D435, REAR_VLP, REAR_D435} | bool
(false) | +| **PCL_FILTER_CROPBOX_MIN_X** | The lower bound, in meters, on the x-axis within which to reject points from the pointcloud. Range: -1000.0 to 1000.0. | double
(0.01) | +| **PCL_FILTER_CROPBOX_MAX_X** | The upper bound, in meters, on the x-axis within which to reject points from the pointcloud. Range: -1000.0 to 1000.0. | double
(2.0) | +| **PCL_FILTER_CROPBOX_MIN_Y** | The lower bound, in meters, on the y-axis within which to reject points from the pointcloud. Range: -1000.0 to 1000.0. | double
(-10.0) | +| **PCL_FILTER_CROPBOX_MAX_Y** | The upper bound, in meters, on the y-axis within which to reject points from the pointcloud. Range: -1000.0 to 1000.0. | double
(10.0) | +| **PCL_FILTER_CROPBOX_MIN_Z** | The lower bound, in meters, on the z-axis within which to reject points from the pointcloud. Range: -1000.0 to 1000.0. | double
(-0.5) | +| **PCL_FILTER_CROPBOX_MAX_Z** | The upper bound, in meters, on the z-axis within which to reject points from the pointcloud. Range: -1000.0 to 1000.0. | double
(10.0) | + +#### Radius Outlier Filter + +Applicable for 3D LiDAR data published on the `../pointcloud` topic. + +Eg. Velodyne, Ouster or Realsense +[`PointCloud2`](http://docs.ros.org/en/melodic/api/sensor_msgs/html/msg/PointCloud2.html) data. + +| Environment Variable | Description | Data Type (Default) | +|----------------------|------------------------------------------|---------------------| +| **_ENABLE_FILTER_RADIUS_OUTLIER** | Enable/disable the PCL radius outlier filter for the sensor of type .

type = {VLP, D435, REAR_VLP, REAR_D435} | bool
(false) | +| **PCL_FILTER_ROR_RADIUS_SEARCH** | The number of points within this distance, in meters, from the query point will need to be equal or greater than PCL_FILTER_ROR_MIN_NEIGHBORS in order to be classified as an inlier point (i.e. will not be filtered). | double
(0.05) | +| **PCL_FILTER_ROR_MIN_NEIGHBORS** | The number of points within PCL_FILTER_ROR_RADIUS_SEARCH from the query point will need to be equal or greater than this number in order to be classified as an inlier point (i.e. will not be filtered). | int
(10) | + +#### Statistical Outlier Filter + +Applicable for 3D LiDAR data published on the `../pointcloud` topic. + +Eg. Velodyne, Ouster or Realsense +[`PointCloud2`](http://docs.ros.org/en/melodic/api/sensor_msgs/html/msg/PointCloud2.html) data. + +| Environment Variable | Description | Data Type (Default) | +|----------------------|------------------------------------------|---------------------| +| **_ENABLE_FILTER_STATISTICAL_OUTLIER** | Enable/disable the PCL statistical outlier filter for the sensor of type .

type = {VLP, D435, REAR_VLP, REAR_D435} | bool
(false) | +| **PCL_FILTER_SOR_MEAN_K** | The number of points (k) to use for mean distance estimation Range: 2 to 100. | double
(5.0) | +| **PCL_FILTER_SOR_STD_DEV** | The standard deviation multiplier threshold. All points outside the mean +- sigma * std_mul will be considered outliers. Range: 0.0 to 5.0. | double
(0.3) | + +#### PointCloud to LaserScan Filter + +The following filter is enabled by default and is applied after any 3D LiDAR filtering has occured. It projects the final pointcloud topic onto the 2D plane that is then used to generate the costmap. + +| Environment Variable | Description | Data Type (Default) | +|----------------------|------------------------------------------|---------------------| +| **_ENABLE_POINTCLOUD_TO_LASERSCAN** | Enable/disable the pointcloud to laserscan outlier filter for the sensor of type .

type = {VLP, D435, REAR_VLP, REAR_D435} | bool
(false) | +| **PCL_TO_SCAN_MIN_HEIGHT** | The minimum height to sample in the point cloud, in meters. | double
(0.2) | +| **PCL_TO_SCAN_MAX_HEIGHT** | The maximum height to sample in the point cloud, in meters. | double
(1.2) | +| **PCL_TO_SCAN_MIN_ANGLE** | The minimum scan angle, in radians. | double
(3.14) | +| **PCL_TO_SCAN_MAX_ANGLE** | The maximum scan angle, in radians. | double
(3.14) | +| **PCL_TO_SCAN_ANGLE_INCREMENT** | Resolution of laser scan, in radians, per ray. | double
(0.00218) | +| **PCL_TO_SCAN_TIME** | The scan rate in seconds. | double
(0.3333) | +| **PCL_TO_SCAN_MIN_RANGE** | The minimum ranges to return, in meters. | double
(0.3) | +| **PCL_TO_SCAN_MAX_RANGE** | The maximum ranges to return, in meters. | double
(100.0) | + + +#### DepthImage to LaserScan Filter + +Applicable for depth image data published on the `../depth/image_rect_raw` topic. + +Eg. Realsense [`DepthImage`](http://docs.ros.org/en/noetic/api/sensor_msgs/html/msg/Image.html) data. + +| Environment Variable | Description | Data Type (Default) | +|----------------------|------------------------------------------|---------------------| +| **_ENABLE_DEPTH_TO_LASERSCAN** | Enable/disable the depth image to laserscan outlier filter for the sensor of type .

type = {D435, REAR_D435} | bool
(false) | +| **DEPTH_TO_SCAN_HEIGHT** | The number of pixel rows to use to generate the laserscan. For each column, the scan will return the minimum value for those pixels centered vertically in the image. | int | +| **DEPTH_TO_SCAN_TIME** | Time between scans (seconds). Typically, 1.0/frame_rate. This value is not easily calculated from consecutive messages, and is thus left to the user to set correctly. | double | +| **DEPTH_TO_SCAN_MIN_RANGE** | The minimum ranges to return in meters. Ranges less than this will be output as -Inf. | double | +| **DEPTH_TO_SCAN_MAX_RANGE** | The maximum ranges to return in meters. Ranges greater than this will be output as +Inf. | double | + + +## Costmap Tuning + +The following section provides a list of environment variables that can +be modified in order to tune OutdoorNav. All of the environment variables listed below +can be modified in the `/opt/onav//config/autonomy.env` file, where *onav_version* +is the currently running version of OutdoorNav. + +### Costmap Inputs + +The following table lists the environment variables that can be used to +enable/disable which sensor is used as part of the collision avoidance +feature of OutdoorNav. + +| Environment Variable | Description | Data Type | +|----------------------|------------------------------------------|-----------| +| **VLP_ENABLE_COSTMAP** | Enable/disable the Velodyne from populating the costmap and being used for collision avoidance. This variable should only be used if the sensor is integrated (front unit if more than one). | bool | +| **REAR_VLP_ENABLE_COSTMAP** | Enable/disable the Velodyne from populating the costmap and being used for collision avoidance. This variable should only be used if the sensor is integrated (rear unit if more than one). | bool | +| **LMS1XX_ENABLE_COSTMAP** | Enable/disable the Sick LMS1XX from populating the costmap and being used for collision avoidance. This variable should only be used if the sensor is integrated (front unit if more than one). | bool | +| **REAR_LMS1XX_ENABLE_COSTMAP** | Enable/disable the Sick LMS1XX from populating the costmap and being used for collision avoidance. This variable should only be used if the sensor is integrated (rear unit if more than one). | bool | +| **HOKUYO_ENABLE_COSTMAP** | Enable/disable the Hokuyo from populating the costmap and being used for collision avoidance. This variable should only be used if the sensor is integrated (front unit if more than one). | bool | +| **REAR_HOKUYO_ENABLE_COSTMAP** | Enable/disable the Hokuyo from populating the costmap and being used for collision avoidance. This variable should only be used if the sensor is integrated (rear unit if more than one). | bool | +| **D435_ENABLE_COSTMAP** | Enable/disable the Realsense from populating the costmap and being used for collision avoidance. This variable should only be used if the sensor is integrated (front unit if more than one). | bool | +| **REAR_D435_ENABLE_COSTMAP** | Enable/disable the Realsense from populating the costmap and being used for collision avoidance. This variable should only be used if the sensor is integrated (rear unit if more than one). | bool | + +### Costmap Generation + +The following list of environment variables can be used to modify some +of the navigation inputs of to the OutdoorNav autonomy. It is +recommended that you first consult the following link(s) before +attempting to modify these parameters. + +- [Costmap2D/ObstacleLayer](http://wiki.ros.org/costmap_2d/hydro/obstacles) + +| Environment Variable | Description | Data Type | +|----------------------|------------------------------------------|-----------| +| **COSTMAP\_LIDAR\_<2D/3D\>_OBSTACLE_RANGE** | The maximum range in meters at which to insert obstacles into the costmap using sensor data. This can apply for either 2D or 3D variables, associated with 2D and 3D lidars, respectively (front unit if more than one). | double | +| **COSTMAP\_LIDAR\_<2D/3D\>_RAYTRACE_RANGE** | The maximum range in meters at which to raytrace out obstacles from the map using sensor data. This can apply for either 2D or 3D variables, associated with 2D and 3D lidars, respectively (front unit if more than one). | double | +| **COSTMAP\_REAR_LIDAR\_<2D/3D\>_OBSTACLE_RANGE** | The maximum range in meters at which to insert obstacles into the costmap using sensor data. This can apply for either 2D or 3D variables, associated with 2D and 3D lidars, respectively (rear unit if more than one). | double | +| **COSTMAP\_REAR_LIDAR\_<2D/3D\>_RAYTRACE_RANGE** | The maximum range in meters at which to raytrace out obstacles from the map using sensor data. This can apply for either 2D or 3D variables, associated with 2D and 3D lidars, respectively (front unit if more than one). | double | + + +## Limitations + +The collision avoidance feature as it currently stands, does come with some limitations. These are listed listed below: + +#### Detection range limits + +The maximum collision avoidance range for the OutdoorNav Software is +UGV-dependent and is related to the maximum speed of the UGV. These +ranges for Clearpath Robotics UGVs are: + +- Jackal UGV: 4.5 meters +- Husky UGV: 4.5 meters +- Warthog UGV: 15.0 meters + +While the sensors are able to detect objects at further distances, the +OutdoorNav Software only considers obstacles detected within these +distances for collision avoidance. That is, the UGV will only begin to +decelerate as it detects obstacles within this range. + +The detection itself is also related to the horizontal size +(width/diameter) of the obstacle. The limitations in detecting objects +with small horizontal size are described in the table below. + +_Maximum Reliable Obstacle Detection Distance from UGV, according to Obstacle Horizontal Size_ + +| Object Size (Horizontal) | Starter Sensor Kit | Standard/(CUstom w/ VLP) Sensor Kit | +|--------------------------|----------------------------------------------------------------|----------------------------------------------------------------| +| Less than 0.6 cm | No reliable detection | No reliable detection | +| 0.6 to 1.0 cm | 0.8 m | No reliable detection | +| 1.0 to 3.0 cm | 2.0 m | 1.75 m | +| Greater than 3.0 cm | Maximum collision avoidance distance (UGV-specific; see above) | Maximum collision avoidance distance (UGV-specific; see above) | + +Finally, the OutdoorNav Software bounds the obstacle detection to +prevent ground hits and to remove detections above the UGV body. The +following bounds are relative to the ground, assuming a flat surface. +Obstacles that are entirely below the lower bound or entirely above the +upper bound are not considered obstacles and will not be avoided. + +_Obstacle Detection Vertical Bounds_ + +| Vertical Bound | Jackal UGV | Husky UGV | Warthog UGV | +|-----------------------|------------|-----------|-------------| +| Lower Detection Bound | 0.3 m | 0.3 m | 0.3 m | +| Upper Detection Bound | 0.8 m | 1.3 m | 1.8 m | + +:::note + +The vertical detection bounds above are for the Standard Sensor Kit or a +custom sensor configuration that includes a Velodyne. The vertical +detection bounds for the Starter Sensor Kit have yet to be determined. + +::: + +#### Tall grass + +**Description**: Grass that is taller than 15cm may occasionally be detected as the robot is driving. + +**Workaround Available?**: Yes (Mitigation) + +**Mitigating Solution**: There are a couple of ways to reduce the amount of detections of long blades of grass. + +1) Apply either a radial filter or a statistical outlier filter on the pointcloud data to filter out the stray detections. + +- File: `/opt/onav//config/sensors.env` +- Environment variable(s): `_ENABLE_FILTER_RADIUS_OUTLIER`, `_ENABLE_FILTER_STATISTICAL_OUTLIER` + +2) Increase the pointcloud to laserscan conversion filter minimum height parameter. The environment variable + +- File: `/opt/onav//config/sensors.env` +- Environment variable(s): `PCL_TO_SCAN_MIN_HEIGHT` + +#### Pitch changes + +**Description**: Pitch changes along the UGVs planned path may cause the ground to be detected and +unwanted replanning may occur. This occurs because since we do not track change in pitch of the robot, +and since we filter the sensor data such that essentially chop off the lower portion of the data. +With the change in pitch this lower plane will then cause ground detections. + +**Workaround Available?**: Yes (Mitigation) + +**Mitigating Solution**: Limit the range from the `base_link` that the costmap generates lethal +obstacles, for a specific sensor. Eg. If your UGV has both a 3D and a 2D LiDAR. We want to limit +the range at which the 2D LiDAR will generate obstacles since the 3D LiDAR will cover a majority +of the detections. You would be able to reduce the range that the 2D LiDAR generates obstacles, +so that it does not overlap with the detection field of the 3D LiDAR. + +- File: `/opt/onav//config/autonomy.env` +- Environment variable(s): `COSTMAP_LIDAR_2D_OBSTACLE_RANGE` and/or `COSTMAP_REAR_LIDAR_2D_OBSTACLE_RANGE` + +#### Branches across narrow path + +**Description**: If there are overhanging branches across a path (ie. not coming from the ground), +the navigation may not be able to maneuver through them. + +**Workaround Available?**: Limited to None + +**Mitigating Solution**: Reduction of the global costmap `inflation_radius` and/or `costmap_scaling_factor` +parameters may provide sufficient space for the navigation to replan though the branches. + +- File: `/opt/onav//app/autonomy/params//navigation/costmap_global.yaml` +- Environment variable(s): `/navigation/global_costmap/inflation/inflation_radius` and/or `/navigation/global_costmap/inflation/cost_scaling_factor` + +:::info + +See the bottom of [this](http://wiki.ros.org/costmap_2d/hydro/inflation) page for information on how the +costmap inflation layer costs are computed based on the above two parameters. + +::: + +#### Reflective surfaces + +**Description**: Reflective surfaces on or around the robot can cause false positive obstacle placement +at incorrect locations on the costmap. + +**Workaround Available?**: No software workaround available. + +**Mitigating Solution**: Remove/cover/re-position all reflective surfaces on the robot. diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/features/custom_tasks.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/features/custom_tasks.mdx new file mode 100644 index 00000000..5ecbb813 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/features/custom_tasks.mdx @@ -0,0 +1,206 @@ +--- +title: Custom Tasks +sidebar_label: Custom Tasks +sidebar_position: 3 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +Users can create their custom tasks for their application following a specific template. +When creating these tasks, the user should begin by creating a python file in the +**/opt/onav//app/custom_tasks/** directory, where *onav_version* +is the currently running version of OutdoorNav. The file should be written following +the instructions provided below: + +1. Import the `custom_task_base` package. + +```python +#!/usr/bin/python3 + +from onav_tasks.custom_task_base import * +``` + +2. The user should then create a class name to replace `CustomTask` and initialize it with the +`CustomTaskBase`'s __init__ function and the action server name for the task. + +```python +class CustomTask(CustomTaskBase): + def __init__(self): + # The derived class must always call the super() and provide the action server name. + # This name will need to be unique among custom tasks and must match what is in the + # UI. + super().__init__("custom_task_name") +``` + +:::note + +The `CustomTaskBase` exposes a `SimpleActionServer` (see
here +for further details) object as `_as`, a `UITaskFeedback` object as `_feedback` and a `UITaskResults` object as `_result` to be used as part of +the tasks functionality. + +::: + +3. The last requirement is that the `CustomTask` needs to have the `run_task(self, goal)` function be defined, +which takes in the UITaskGoal. + +```python + def run_task(self, goal): +``` + +:::note + +When running the task users may handle errors through the action servers `set_aborted()` function. When this function is called the entire mission +will be aborted. + +::: + +4. Restarting the UGV will trigger the system to load the custom task that was created, making it available for mission use. +If a custom task is not configured properly the custom task manager will ignore the task and proceed loading in the next task while logging an error with ROS. + + +## Sample Custom Tasks + +### Input Looper + +Below is a sample template file named "input_looper.py" which iterates throught the two data variables and publishes them to the feedback +topic. If neither of the variables have any data in them the task is aborted. + +```python +#!/usr/bin/python3 + +from onav_tasks.custom_task_base import * + +class InputLooperTask(CustomTaskBase): + def __init__(self): + # The derived class must always call the super() and provide the action server name. + # This name will need to be unique among custom tasks and must match what is in the + # UI. + super().__init__("input_looper") + + def run_task(self, goal): + if len(goal.strings) == 0 and len(goal.floats) == 0: + # Task and running mission will be aborted in this case + self._as.set_aborted() + return False + + # Loop through the strings and float values and publish them each to the /input_looper/feedback topic + for string in goal.strings: + self._feedback.state = string + self._as.publish_feedback(self._feedback) + + for num in goal.floats: + self._feedback.state = str(num) + self._as.publish_feedback(self._feedback) + + # Returning True or False will not currently impact the mission but will write the current state to the + # /task/result topic accordingly. + return True +``` + +### Record GNSS Data + +Below is a sample custom task file named "record_gnss.py" which outputs the current GNSS data to the console. + +```python +#!/usr/bin/python3 + +from onav_tasks.custom_task_base import * +from sensor_msgs.msg import NavSatFix +from threading import Lock +import rospy + +class RecorGNSSTask(CustomTaskBase): + def __init__(self): + super().__init__("record_gnss") + self._sub = rospy.Subscriber("/sensors/gps_0/fix", NavSatFix, self.gpsSubscriberCallback) + self.gps_lat = 0.0 + self.gps_lon = 0.0 + self._gps_coordinates_lock = Lock() + + def run_task(self, goal): + feedback = UITaskFeedback() + feedback.state = 'Recording GNSS lat/lon' + self._as.publish_feedback(feedback) + msg = "" + with self._gps_coordinates_lock: + msg = "ID: %f Name: %s Latitude: %f Longitude: %f" % ( + goal.floats[0], goal.strings[0], self.gps_lat, self.gps_lon) + rospy.loginfo(msg) + return True + + def gpsSubscriberCallback(self, msg): + with self._gps_coordinates_lock: + self.gps_lat = msg.latitude + self.gps_lon = msg.longitude +``` + + +### Move PTZ camera to a Lat/Lon + +Below is a more advanced custom task. The file is "move_ptz_lat_lon.py" which pans a PTZ camera to point to a specific lat/lon coordinate. + +```python +from onav_tasks.custom_task_base import * +import actionlib +from clearpath_localization_msgs.srv import * +from clearpath_navigation_msgs.msg import * +from nav_msgs.msg import Odometry +from ptz_action_server_msgs.msg import PtzAction +import ptz_action_server_msgs.msg +import math +from math import remainder, tau +import rospy +from sensor_msgs import * +from tf.transformations import euler_from_quaternion, quaternion_from_euler + + + +class MovePtzLatLon(CustomTaskBase): + def __init__(self): + super().__init__("move_ptz_lat_lon") + self.localization_subscriber_ = rospy.Subscriber("/localization/odom", Odometry, self.localizationCallback) + self.move_ptz_client_ = actionlib.SimpleActionClient('/sensors/camera_0/move_ptz', PtzAction) + self.service_ = rospy.ServiceProxy('/localization/lat_lon_to_xy', ConvertLatLonToCartesian) + self.current_pose = Odometry() + + def localizationCallback(self, odom_msg): + self.current_pose = odom_msg + + def run_task(self, goal): + if len(goal.strings) == 0 and len(goal.floats) == 0: + rospy.logwarn('Warning') + self._as.set_aborted() + return False + goal_latitude = goal.floats[0] + goal_longitude = goal.floats[1] + goal_zoom = goal.floats[2] + str2 = 'Received goal latitude: ' + str(goal_latitude) + ', goal longitude: ' + str(goal_longitude) + ', zoom: ' + str(goal_zoom) + feedback = UITaskFeedback() + feedback.state = 'Aiming camera at lat-lon (' + str(goal_latitude) + ', ' + str(goal_longitude)+')' + self._as.publish_feedback(feedback) + orientation_q = self.current_pose.pose.pose.orientation + orientation_list = [orientation_q.x, orientation_q.y, orientation_q.z, orientation_q.w] + (roll, pitch, yaw) = euler_from_quaternion (orientation_list) + + gps_msg = sensor_msgs.msg.NavSatFix() + gps_msg.latitude = goal_latitude + gps_msg.longitude = goal_longitude + goal_utm = self.service_(gps_msg) + + goal_x = goal_utm.pose.pose.position.x + goal_y = goal_utm.pose.pose.position.y + + goal_angle = math.atan2(goal_y - self.current_pose.pose.pose.position.y, goal_x - self.current_pose.pose.pose.position.x) + pan_angle = math.remainder(goal_angle - yaw, math.tau) + print(pan_angle) + + self.move_ptz_client_.wait_for_server() + goal = ptz_action_server_msgs.msg.PtzGoal() + goal.pan=pan_angle + goal.tilt=0 + goal.zoom=goal_zoom + self.move_ptz_client_.send_goal(goal) + self.move_ptz_client_.wait_for_result() + print(self.move_ptz_client_.get_result()) + return True +``` diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/features/foxglove_visualization.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/features/foxglove_visualization.mdx new file mode 100644 index 00000000..7a36a4fc --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/features/foxglove_visualization.mdx @@ -0,0 +1,27 @@ +--- +title: Foxglove Visualization +sidebar_label: Foxglove Visualization +sidebar_position: 6 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +We have enabled Foxglove visualization as part of OutdoornNav, for improved debugging and data visualization and analysis. +To access the Foxglove visualization interface for standard OutdoorNav configurations, navigate to the following +[URL](http://192.168.132.1/_/foxglove). + +For UGVs running OutdoorNav that are not equipped with a base station, you must first connect the UGV's computer to a network over the 192.168.131.xxx +subnet. You will then be able to access the platform at (`platform_pc_ip_address`/\_/foxglove), where the __ is +the IP address of the host (UGV) computer, typically 192.168.131.1. + +
+
+ +
Foxglove layout
+
+
+ +For more information on the available Foxglove panels and how to more thoroughly us it, please consult the [Foxglove documentation](https://foxglove.dev/docs/studio). \ No newline at end of file diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/features/mission_scheduler.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/features/mission_scheduler.mdx new file mode 100644 index 00000000..95c87061 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/features/mission_scheduler.mdx @@ -0,0 +1,43 @@ +--- +title: Mission Scheduler +sidebar_label: Mission Scheduler +sidebar_position: 4 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +### Scheduling missions + +By selecting the "SCHEDULER" option from the upper left hand menu, the user can open the Mission Scheduler interface. This interface +allows users to schedule groups of missions to run at a later time. These schedules can be set to run only once or to be looped over a period of time. +For example, a user could create a schedule that will run 3 missions starting at 9 AM and run every hour 8 times. Once the last iteration is run, the +schedule will disable itself and can be re-enabled to run again later. The view itself can be found in the image below and is elaborated further afterwards. + +
+
+ +
Mission Scheduler View
+
+
+ +#### Adding/Updating a Schedule + +The user can either create a new schedule by filling in the appropriate fields or edit a schedule by selecting the pencil icon for that schedule +in the bottom table. The input fields are outlined as follows: + +- Name: The name of the schedule. +- Start Time: The browser's local time that the schedule will start. This is stored as UTC time on the robot. +- Enabled: Enables/Disables the schedule. When schedules are completed they will disable themselves. +- Missions: The list of missions that will run. The schedule will run the missions in the order that they are added. +- Schedule Mode: Sets the kind of schedule mode to be either "Run Once" or "Looped". If it is set to run once, the next 2 inputs will be disabled. +- Loops: The number of iterations the schedule should run for. If for example it is set to Loop 5 times then the schedule will run 5 times (instead of run once and then re-runs 5 times). +- Loop Interval: The amount of time between the start of successive loop iterations. This is independent of the mission duration. +- Minimum Battery Charge: The minimum battery percentage that the UGV should be at to run the schedule. +- Timeout: The maximum amount of time to spend on running a single loop of the schedule. If a loop exceeds this timeout value the schedule is assumed to have failed and alerts the user + accordingly. This can be set to 0 to disable the timeout feature. + +#### Schedule Table + +Schedules found in the database are displayed in a simple table at the bottom of the screen. Schedules can be enabled, edited or deleted from this table through the +icons on the right hand side. The schedules can also be sorted by name or start time in ascending/descending order. The next schedule to run (if one is available) will have +a small information icon next to it's name and will also be reported at the top of the screen. \ No newline at end of file diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/features/navigation.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/features/navigation.mdx new file mode 100644 index 00000000..852097a0 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/features/navigation.mdx @@ -0,0 +1,38 @@ +--- +title: Navigation Features +sidebar_label: Navigation Features +sidebar_position: 1 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +:::danger SAFETY WARNING + +Making changes to any of the following variables may decrease system safety. It is recommended that users +only modify these parameters in consultation with Clearpath Robotics Support. + +::: + +:::note + +Changes to any of the following variables will only take effect after power cycling the UGV. + +::: + +The OutdoorNav Software contains a set of features that can be enabled +or disabled according to your required application requirements. These +features can be enabled or disabled through the use of environment +variables, which should be added to the +`/opt/onav//config/autonomy.env` file, where *onav_version* +is the currently running version of OutdoorNav. The following table describes +the available features, their default state and any additional parameters +that we expose that may also be included to tune the feature. + +| Feature | Description | +|-----------------------------|----------------------------------------| +| **Collision Avoidance** | Collision avoidance is the UGV's ability to detect obstacles and stop/maneuver around the obstacle without any collisions. If `true`, the UGV will detect obstacles and if `false` no obstacles will be detected. Setting to `false` is not recommended and may cause harm to property or to individuals.

Environment Variable: `ENABLE_COLLISION_AVOIDANCE` (Default: `true`). | +| **Constrained Planning** | The constrained replanning feature, which is always enabled, restricts the area in which the UGV can plan paths. For example, if the default `PATH_CONSTRAINT` of 3.0 m is used, the UGV will not be allowed to 1) produce paths that drives it more than 3.0 meters from the initial path, and 2) fail to compute paths if the UGV is further than 3.0 meters from the any of the Waypoints. This allowable planning/navigation area can be shown on the map over the connecting lines between Waypoints. See [Constrained Replanning](../web_user_interface/ui_autonomous_mode.mdx#constrained_path) for further details.

Use the `PATH_CONSTRAINT` environment variable to modify the path constraint (in meters). | +| **Path Smoothing** | Generate paths according to a specified turning radius.

Environment Variable: `ENABLE_DUBINS_PATH_SMOOTHER` (Default: `false`).

Use the `TURN_RADIUS` environment variable to modify the radius of the planned paths (in meters). | +| **Stop Distance** | The stop distance feature allows the UGV to stop a predefined distance away from obstacles. This is useful if a UGV cannot drive in reverse and needs the required room in front of it to replan around an obstacle.

Environment Variable: `ENABLE_STOP_DISTANCE` (Default: `false`)

Use the `STOP_DISTANCE` environment variable to modify the stop distance (in meters). Note that if the stop distance is larger than 4.5 meters for the Clearpath Robotics Jackal and Husky UGVs, or 10.0 meters for the Clearpath Robotics Warthog UGV, the computational load will increase and may cause a decrease in performance in the navigation. | +| **Delay Compensation** | The delay compensation feature is able to compensate for mechanical delay on UGVs where either the accelerator introduces delay into the linear velocity or the steering introduces delay in the angular velocity. This feature is not required for Clearpath Robotics UGVs as negligible delay is present in our system.

Environment Variable: `ENABLE_DELAY_COMPENSATION` (Default: `false`)

Use the `CONTROLLER_DELAY` environment variable to modify the amount of delay to be compensated (in milliseconds). | +| **Docking** | If purchased, autonomous docking will allow the user to autonomously dock/undock their UGV. If not purchased, enabling this environment variable will do nothing.

Environment Variable: `OUTDORRNAV_ENABLE_DOCKING` (Default: `false`).| diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/features/rosbag_recorder.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/features/rosbag_recorder.mdx new file mode 100644 index 00000000..70a6c687 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/features/rosbag_recorder.mdx @@ -0,0 +1,34 @@ +--- +title: ROSbag Recorder +sidebar_label: ROSbag Recorder +sidebar_position: 5 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +If you need to perform a quick rosbag recording from the UI you can do +so by navigating to the Settings dropdown in the upper left hand menu and +select **Start rosbag recording**. This will record a rosbag of the +following topics (or all the topics in the namespace if followed by a +`/*`): + +- '/rosout(.*)' +- '/twist_marker_server/(.*)' +- '/dock/(.*)' +- '/laser_target_tracker/(.*)' +- '/localization/(.*)' +- '/localization_core/(.*)' +- '/localization_helper/(.*)' +- '/mission/(.*)' +- '/navigation/(.*)' +- '/onboard_systems/(.*)' +- '/platform/(.*)' +- '/swiftnav/(.*)' +- '/sensors/gps(.*)' +- '/sensors/imu(.*)' +- '/target/(.*)' +- '/tf(.*)' + +To stop the recording navigate to the Settings drop down and select +**Stop rosbag recording**. This will save the rosbag with the date and +time as its file name in the `/opt/onav/saved_files/rosbags/` directory. diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/getting_started/_category_.json b/outdoornav_user_manual_versioned_docs/version-0.11.0/getting_started/_category_.json new file mode 100644 index 00000000..8b4a486d --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/getting_started/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Getting Started", + "position": 5 +} diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/getting_started/first_time_checklist.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/getting_started/first_time_checklist.mdx new file mode 100644 index 00000000..c4d9dece --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/getting_started/first_time_checklist.mdx @@ -0,0 +1,114 @@ +--- +title: First Time Use Checklist +sidebar_label: First Time Use Checklist +sidebar_position: 2 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +## Hardware Setup + +### ☐ Has the Base Station been set up? + +Ensure that the Base Station has been set up approximately 5 meters +away from any buildings and is currently powered on. See +[System Startup](system_setup.mdx) for further +instructions related to setting up the Base Station. + +### ☐ Is the UGV connected to the Base Station? + +Check to see that the UGV can be pinged from the Base Station network. +See [Connecting to Web UI](system_setup.mdx#connecting_to_web_ui) for further +details. + +## Software Setup + +### ☐ Is ROS running on the UGV? + +SSH into the UGV and run `rostopic list` to generate a list of the +rostopics that are currently available. The list is generally fairly +long so if you are looking for any specific topic please refer to +[API Endpoints](../api/api_endpoints/api_endpoints.mdx). You can also check the +ROS status through the OutdoorNAV UI by referring to the diagnostics section +on the Status page. + +### ☐ Is the OutdoorNAV software running? + +Check to see if the relevant dockers are running (ssh into the UGV and +run `docker ps` which should show at least 5 separate docker containers +running). + +### ☐ Is the computer using the UI connected to the Base Station network? + +This can be confirmed by following the steps found in +[Connecting to Web UI](system_setup.mdx#connecting_to_web_ui). + +### ☐ Have you surveyed the Base Station? + +See [RTK Survey Positioning](../cpr_hardware.mdx#base-station-survey) for +information on how and when to survey the Base station. + +### ☐ Do you have a strong GPS signal? + +After surveying the Base Station check the upper right hand corner of +the UI to confirm that you have a strong GPS signal (the POS and DIR +icons should be green). If either of these icons are not green refer +to [Checking GPS RTK Fix](../cpr_hardware.mdx#base-station-survey) for further +troubleshooting information. + +### ☐ Is the map loading correctly? + +Currently the map requires internet access to load. Refer to +[Loading Map Tiles](system_setup.mdx#loading_map_tiles) for more details +related to setting up the map. + +### ☐ Has the Datum been set? + +See [Set Datum](system_setup.mdx#set-datum) for information on how +to set the Datum variables. + +### ☐ If docking is enabled has the location been set? + +If the Clearpath Robotics autonomous docking package was purchased the +docking location will need to be set. See +[Set Dock Location](system_setup.mdx#set-dock-location) for information on +how to set the docking location. + +### ☐ Is the Navbar status icon functioning? + +To check if the Navbar icon is functioning, trigger the UGV's motion stop +and check to see if it has turned to a red icon. Clicking the icon +will bring up the status information as well as any recent messages +(see below). + +![](/img/outdoornav_images/ugvStatusMessages.png) + +## Using the UI + +The following items are general checks to ensure that the UI is working +properly. + +### ☐ Can the virtual joystick drive the UGV? + +See [Web UI Manual Mode](../web_user_interface/ui_manual_mode.mdx) for further details +related to this. + +### ☐ Can you create a new mission? + +Select the mission list and then click on `Add Mission` to create a +new mission. To add new waypoints for the mission refer to +[Mission Creation](../web_user_interface/ui_autonomous_mode.mdx#mission-creation). + +### ☐ After creating a new mission, can you execute the mission? + +To execute a mission refer to [Mission Execution](../web_user_interface/ui_autonomous_mode.mdx#mission-execution). + +### ☐ Are the cameras (if present) active in the view bar section when running the mission? + +For more information related to camera views see +[Camera Views](../web_user_interface/ui_overview.mdx#camera-views). + +### ☐ Can you select a camera and save an image after it loads on the main screen? + +See [Pan-Tilt-Zoom (PTZ) View ](../web_user_interface/ui_overview.mdx#ptz-view) for more details related +to saving images. \ No newline at end of file diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/getting_started/system_setup.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/getting_started/system_setup.mdx new file mode 100644 index 00000000..ed52d725 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/getting_started/system_setup.mdx @@ -0,0 +1,239 @@ +--- +title: System Setup +sidebar_label: System Setup +sidebar_position: 1 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +This section outlines how to set up your OutdoorNav system for some +preliminary testing with the OutdoorNav Software on a UGV. For details +on simulation, refer to [Simulation](../simulation.mdx). + +These instructions assume that the UGV is already powered ON. + + + +## Connecting to Web UI {#connecting_to_web_ui} + +The web server for the UI typically runs on a computer on the UGV. As +such, it is necessary for the networking setup on the UGV to be complete +and for all related hardware to be powered on. + +:::note + +In the case of Clearpath Robotics OutdoorNav Hardware, ensure that the +Base Station is powered ON. + +::: + +Follow the steps below to connect to the Web UI. + +1. Connect your computer to the same network as the UGV. + + :::note + + For Clearpath Robotics OutdoorNav Hardware, use the Base Station + network. Enter the network list and find the wireless network + related for your UGV. The SSID of the network is located in the + Robosmith manual that was shipped with your UGV. + + ::: + +2. Open an Internet browser (preferably Chrome) on your computer. + +3. Enter the UGV's IP address followed by a forward slash in the + search bar. A bookmark of this page can also be created for future + sessions. + + :::note + + For Clearpath Robotics OutdoorNav Hardware, this will be + **192.168.131.1/** for normal use cases and **192.168.131.5/** for + systems with a separate OutdoorNav computer (including the + OutdoorNav Starter Kit and the OutdoorNav Backpack. + + ::: + +The above steps will open the Web UI, which will allow the user to +operate the UGV in Manual Mode (teleoperation) or in Autonomous Mode +(missions). Upon startup the user will be presented with a page that +shows the End-User License Agreement. This page will be visible each +time the UGV is restarted but only on the first navigation to the page. +The EULA should be reviewed prior to using the system. + +## Loading Map Tiles {#loading_map_tiles} + +The Web UI does not cache map tiles on the browser; therefore, the user +will need to ensure their computer has a connection to an Internet +source to load the map tiles. There are a several options to achieve +this: + +1. If the system includes a Base Station that is connected to the + Internet, you will be able to access the Internet and therefore map + tiles over the base station network without needing any further + updates. +2. Connect your phone via USB to your computer (or tablet) and enable + USB tethering on your phone to share the Internet from your phone. +3. Switch your computer (or tablet) to a network that is connected to + the Internet, zoom in/out of the map to load the tiles then switch + back to the original network. + +## Survey Base Station {#survey_base_station} + +If your system includes a Base Station, it must be surveyed using the +steps below to be able to to operate the UGV autonomously. + +1. Access the Menu → Settings → Map. +2. In the **Survey Base Station** section, click the **Start** button + begin the surveying process. + +During surveying, the Status Indicator will turn orange +and return to its green default state when surveying is +done . +Only then should the UGV be sent on autonomous missions. +The entire surveying will take approximately 5 minutes. A feedback bar +will also be displayed showing the current progress of the surveying. Do +not refresh the page or you will lose the feedback bar. + +:::warning + +For an accurate survey, do NOT move the Base Station during this +process. After the surveying has completed, the Base Station should not +be moved unless required. If you need to move the Base Station or it has +been moved accidentally, the surveying process needs to be run again. + +::: + +## Set Datum + +Before operating the UGV autonomously, the user will need to set the +datum, which is the reference point in the world coordinate frame. + +1. Access the Menu → Settings → Map. + +2. In the **Change Datum** section, enter the latitude and longitude of + a location close to the test site (within 10km). Decimal lat/lon are + expected. Use a minimum of 6 decimal places. + +3. Click **Set Datum** button to set the new datum. + + The user should see the blue dot (datum) and the blue arrow (UGV) + move to the test site. If the GPS status indicators are green, the + UGV should be at its correct position on the map as well as facing + in the correct direction. + +## Set Dock Location + +:::note + +If the Clearpath Robotics autonomous docking package has been purchased, +follow these instructions to set up the dock location. Otherwise, this +section can be skipped. + +::: + +:::warning + +Keep the area around the dock free of objects and people. There is no +obstacle detection between the pre-docking point and the dock; +similarly, there is no obstacle detection during the undocking +operation. + +::: + +
+
+ +
Autocharge Dock
+
+
+ +Before being able to dock the UGV autonomously, set up the dock +location. Follow these steps to position the UGV in its correct position +and orientation. + +1. Power ON the UGV and computer and wait for the system to finish + booting. For example, on the Clearpath Robotics Husky, booting is + complete when the COMM indicator turns green. + +2. Start by manually driving the UGV to the dock target and align it as + straight and centered as possible so that it begins charging. The + Wibotic receiver on the UGV should be centered longitudinally and + laterally with the circle on the Wibotic transmitter (TR-300). + +3. Let the UGV sit in this position for 2 minutes to acquire an RTK GPS + fix. The POS (position) and DIR (heading) GPS status indicators on + the UI should read as follows: . + + **If the GPS status indicators are yellow or red, the selected + location of the dock is NOT appropriate. Please change the dock + location such that the GPS antennas have a clearer visibility.** + +4. On the UI, access the drop down menu on the top-left of the page, + select **Settings** and click the **Add New Dock Location** button. The + dock location will be stored in 5 - 10 seconds as data is collected. + +If the Base Station has been moved (and therefore been resurveyed), or +if the dock has been moved to a new location, the user will need to +reset the location of the dock. This is done in the following manner: + +1. Repeat the previous set of instructions from step 1 to 4. + +2. While in **Edit Mode** select the dock on the UI. A drop down should appear + with the option to reset the dock location. Select that option. + +3. After approximately 5 - 10 seconds the dock location should be updated and the UI will + reflect the change accordingly. + +## Checking GPS RTK Fix {#checking-gpt-rtk-fix} + +Each time the UGV has been powered up (or moved from a GPS-denied +environment to a GPS-available environment), let the UGV sit in this +position for 2 minutes to acquire an RTK GPS fix. The POS (position) and +DIR (heading) GPS status indicators on the UI should be green: . + +**If the GPS status indicators are yellow or red, the selected location +does not have an adequate GPS signal. Move the UGV such that the GPS +antennas have a clearer visibility.** + +If using Switft Navigation Duros and/or a Clearpath Robotics Base +Station, each of these will have a solid blue LED on all of them when +the RTK GPS fix is acquired. + +## Recording a Rosbag + +See the [ROSbag Recorder](../features/rosbag_recorder.mdx) section for details on recording ROS data either. + +## Subsequent Sections + +The following sections of this manual will outline the instructions for +different tasks that can be accomplished while operating the UGV. + +1. **Web User Interface:** + - Overview of the Web UI components as well as the available views + and icons/buttons associated with them. + + - Overview of the buttons required to operate the UGV in Manual + Mode (teleoperation). + + - Instructions to send the UGV on autonomous navigation missions, + including: + + > - Adding Waypoints to the map + > - Creating missions + > - Viewing and updating missions + > - Adding task to missions, such as **Move PTZ** camera, + > **Save Image**, **Dock/Undock** UGV, **Wait**, etc.... + > - Start/Stop/Pause missions + + - Description of the docking procedures allowing the user to dock + and undock the UGV autonomously. Recovery instructions are also + described. +2. **Application Programming Interface:** Details on how to control the + UGV programmatically. +3. **OutdoorNav Features** Details on the features available as part of the + navigation software. +4. **Simulation:** Details on how to simulate autonomous operation of + the UGV. +5. **FAQs:** A list of frequently asked questions. diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/getting_started/terminal_interface.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/getting_started/terminal_interface.mdx new file mode 100644 index 00000000..8afafb7c --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/getting_started/terminal_interface.mdx @@ -0,0 +1,249 @@ +--- +title: Command Line Interface +sidebar_label: Command Line Interface +sidebar_position: 3 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +By default, the OutdoorNav Software begins automatically when the system +is powered on. This section outlines the OutdoorNav Command Line Interface (CLI), +the set of commands that can be used by developers who are debugging +the system or who want more precise control for managing the OutdoorNav +software. + +## Connecting to the OutdoorNav Computer {#connecting-to-outdoornav-computer} + +To connect to your UGV, consult its corresponding user manual. + +If you are using a Clearpath Robotics UGV with a separate OutdoorNav Computer, +first `ssh` to the UGV using the details provided in the UGV user +manual. Then, if a separate OutdoorNav Computer exists, you can +connect to it by running: + +``` bash +ssh administrator@192.168.131.5 +``` + +## OutdoorNav CLI Installation + +The OutdoorNav CLI is pre-installed on Clearpath robots. If it has not +been installed on your system, it can be installed by running the following +on the OutdoorNav Computer: + +```bash +sudo apt-get install python3-onav-cli +``` + +:::note + +The command above requires that the Clearpath Package Server has been +configured on your OutdoorNav Computer. This is pre-configured on +Clearpath robots. Refer to details on the +[Clearpath Package Server](http://packages.clearpathrobotics.com/) if +this is not configured on your computer. + +::: + +## Listing the OutdoorNav CLI Commands and Getting Help + +To list all of the CLI commands, run the following on the OutdoorNav Computer: + +```bash +onav help +``` + +The CLI commands are: + +- `install`: Download and configure OutdoorNav +- `key`: Get, set, or delete your OutdoorNav license key +- `download`: Download OutdoorNav, but do not configure it +- `configure`: (Re)configure OutdoorNav +- `upgrade`: Upgrade OutdoorNav to the latest vesion +- `uninstall`: Uninstall OutdoorNav +- `depends`: Verify and install dependencies +- `start`: Start OutdoorNav +- `stop`: Stop OutdoorNav +- `status`: Check the status of OutdoorNav +- `logs`: View OutdoorNav logs +- `versions`: Print versions available to install +- `help`: Show available commands + +To get help on an individual command, use the `-h` option. For example, to +get help on the `install` command, run `onav install -h`: + +``` +usage: onav install [-h] [-k KEY] [-b] [-c] [-H] VERSION + +positional arguments: + VERSION The OutdoorNav version to install (e.g. 0.11.0) + +optional arguments: + -h, --help show this help message and exit + -k KEY, --key KEY Your OutdoorNav installation key + -b, --backpack Configure in backpack/bridged mode + -c, --clean Clean any configurations from a prior installation +``` + +## Starting and Stopping the OutdoorNav Software {#starting-outdoornav} + +On UGV startup, all the sensors, the user interface, as well as the +autonomy software are set to start automatically. When debugging or when +greater control is desired, the CLI can be used to start and stop +the OutdoorNav software, in whole or in part. + +To see the current status of OutdoorNav software, run: + +```bash +onav status +``` + +To start the OutdoorNav software if it is not running, use the following command, +which starts the latest version of the software by default: + +```bash +onav start +``` + +To stop the OutdoorNav software, run: + +```bash +onav stop +``` + +## Stopping and Restarting the Autonomy Software Only + +To use the UGV without the autonomy software, use the following +command to stop the nodes and prevent them from automatic startup: + +``` bash +onav stop -s autonomy +``` + +The autonomy software can be restarted by running: + +``` bash +onav start -s autonomy +``` + +## Stopping/Restarting the Sensors + +To use the UGV without the sensors, use these commands to disable the +nodes and prevent them from automatic startup: + +``` bash +onav stop -s sensors +``` + +:::note + +This command will only disable the drivers for the sensors that are started +by the OutdoorNav software. This includes the GNSS units, the Microstrain IMU, +and any LiDAR/Stereo detection sources (not limited to Velodyne LiDARs, Realsense +cameras, 2D Lidars). + +::: + +The sensors software can be restarted by running: + +``` +onav start -s sensors +``` + +## Accessing the OutdoorNav Software Logs + +To check the logs of the OutdoorNav software, use the `onav logs` command +with the appropriate service. For example, to view the logs for the sensors +service, run: + +```bash +onav logs sensors +``` + +## Installing the OutdoorNav Software + +OutdoorNav is typically pre-installed on Clearpath robots, so most users should +not need to do a first-time installation of the software, though the process +is outlined below as a reference. + +As a first step, confirm that the robot has internet access. For example, confirm +that the following command is successful: + +``` +ping 8.8.8.8 +``` + +Second, the required dependencies need to be installed by running: + +```bash +onav depends +``` + +Third, a key needs to be added onto the robot to enable the installation +process. Contact [Clearpath Support](../support) if you did not receive your key. +To add your key, run the following, replacing `` with the actual value: + +```bash +onav key +``` + +Fourth, list the versions available for installation by running: + +```bash +onav versions +``` + +Fifth, install the OutdoorNav software for the desired version (typically the +newest version), by running the following, replacing `` with +the version to be installed: + +```bash +onav install +``` + +When prompted, trigger the reboot. + +Finally, following the reboot, run the following command to start the OutdoorNav +software. This will only be required the first time after installation. + +```bash +onav start +``` + +## Upgrading the OutdoorNav Software + +After receiving a notice that a new version of the OutdoorNav Software is +available, use the `onav install` command with the appropriate version. +Note that `onav install` runs the following commands in sequence: + +- `onav download` +- `onav configure` +- `onav upgrade` + +For example, to upgrade from 0.11.0 to 0.12.0, run the following command: + +``` +onav install 0.12.0 +``` + +:::note + +The `download` step requires internet access to download the new software. +Confirm that the OutdoorNav Computer has internet access by running a command +such as: + +``` +ping 8.8.8.8 +``` + +::: + +## Uninstalling Old Versions of OutdoorNav Software + +If old versions of OutdoorNav software are no longer being used, they can +be removed with the `onav uninstall` command. For example, to uninstall 0.11.0 +run: + +``` +onav uninstall 0.11.0 +``` \ No newline at end of file diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/getting_started/tf_validation.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/getting_started/tf_validation.mdx new file mode 100644 index 00000000..5ba3bab4 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/getting_started/tf_validation.mdx @@ -0,0 +1,80 @@ +--- +title: TF Validation +sidebar_label: TF Validation +sidebar_position: 4 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +:::note + +Sensor transform (TF) validation should only be required if the performance +is noticeably poor, such as when the UGV drifts off of the planned path or +oscillations occur around the path). + +::: + +The coordinate transformation of the two GPS antennas, the IMU, the 2D +and 3D Lidars to the base_link of the UGV should have already been set +prior to receiving the UGV. However, ensure that they are set correctly. + +The ROS coordinate frame base_link, shown in the figure below, is +located at the center of the bottom plate of the UGV. The environment +variables below should be taken with respect to this coordinate frame. +The X axis is in red (and pointing towards the front of the UGV), Y in +green (pointing towards the left of the UGV) and Z in blue (pointing +towards the sky). + +You can check the current value of the environment variables by running +the following on the robot (host) computer (and setting +to the names listed in the table below). + +``` bash +printenv | grep +``` + +The environment variables for the position and orientation of each +sensor are provided in the table below. + +_OutdoorNav sensor position and orientation environment variables_ + +| Environment Variable | Function | +|----------------------|---------------------------------------| +| POSITION_GPS_XYZ | [X,Y,Z] position, in meters, of the position GNSS antenna with respect to the base_link coordinate frame. | +| POSITION_GPS_RPY | [Roll,Pitch,Yaw], in radians, of the position GNSS antenna with respect to the base_link coordinate frame. | +| HEADING_GPS_XYZ | [X,Y,Z] position, in meters, of the heading GNSS antenna with respect to the base_link coordinate frame. | +| HEADING_GPS_RPY | [Roll,Pitch,Yaw], in radians, of the heading GNSS antenna with respect to the base_link coordinate frame. | +| MICROSTRAIN_XYZ | [X,Y,Z] position, in meters, of the IMU with respect to the base_link coordinate frame. | +| MICROSTRAIN_RPY | [Roll,Pitch,Yaw], in radians, of the IMU with respect to the base_link coordinate frame. | +| VLP_XYZ | [X,Y,Z] position, in meters, of the 3D Lidar with respect to the base_link coordinate frame. | +| VLP_RPY | [Roll,Pitch,Yaw], in radians, of the 3D Lidar with respect to the base_link coordinate frame. | +| LMS1XX_XYZ | [X,Y,Z] position, in meters, of the 2D Lidar with respect to the base_link coordinate frame. | +| LMS1XX_RPY | [Roll,Pitch,Yaw], in radians, of the 2D Lidar with respect to the base_link coordinate frame. | +| HOKUYO_XYZ | [X,Y,Z] position, in meters, of the 2D Lidar with respect to the base_link coordinate frame. | +| HOKUYO_RPY | [Roll,Pitch,Yaw], in radians, of the 2D Lidar with respect to the base_link coordinate frame. | +| D435_XYZ | [X,Y,Z] position, in meters, of the 2D Lidar with respect to the base_link coordinate frame. | +| D435_RPY | [Roll,Pitch,Yaw], in radians, of the 2D Lidar with respect to the base_link coordinate frame. | + +There may also be 2 of each of these detection sensors. The corresponding environment +variable is prefixed with `REAR_`. + +:::note + +When the printed Y axis on the IMU is pointing towards the front of the +robot (i.e., aligned to X axis of base_link), MICROSTRAIN_RPY = [0, 0, 0]. + +::: + +:::warning + +If you decide to move any of these sensors, you must modify these +variables accordingly in the `/opt/onav/outdoornav_host_setup.sh` file (on the host). + +
+
+ +
base_link coordinate frame
+
+
+ +::: diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/index.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/index.mdx new file mode 100644 index 00000000..09a63a7f --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/index.mdx @@ -0,0 +1,18 @@ +--- +title: OutdoorNav User Manual +sidebar_label: OutdoorNav User Manual +sidebar_position: 1 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +
+
+ +
+
+ +OutdoorNav is an outdoor autonomy software platform designed for vehicle developers, +OEMs and robotics researchers. Compatible with Clearpath outdoor mobile platforms +and third-party vehicles, OutdoorNav provides reliable, industry-leading GPS-based +navigation for faster, more efficient autonomous vehicle development. \ No newline at end of file diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/integration_requirements/_category_.json b/outdoornav_user_manual_versioned_docs/version-0.11.0/integration_requirements/_category_.json new file mode 100644 index 00000000..e9e0ff1d --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/integration_requirements/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Appendix A: UGV Integration Requirements", + "position": 12 +} \ No newline at end of file diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/integration_requirements/hardware_integration_requirements/_category_.json b/outdoornav_user_manual_versioned_docs/version-0.11.0/integration_requirements/hardware_integration_requirements/_category_.json new file mode 100644 index 00000000..75ebaf1b --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/integration_requirements/hardware_integration_requirements/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Hardware Kit Installation", + "position": 2 +} diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/integration_requirements/hardware_integration_requirements/custom_kit_hardware_checklist.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/integration_requirements/hardware_integration_requirements/custom_kit_hardware_checklist.mdx new file mode 100644 index 00000000..36f5f77b --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/integration_requirements/hardware_integration_requirements/custom_kit_hardware_checklist.mdx @@ -0,0 +1,19 @@ +--- +title: "Custom Kit Hardware Checklist" +sidebar_label: "Custom Kit Hardware Checklist" +sidebar_position: 3 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +To integrate the custom hardware kit from Clearpath Robotics onto your robot, ensure that all of the requirements below are satisfied for proper operation of the OutdoorNav +software. + +| | Requirement | +| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| | All sensors have been mounted to the UGV with fixed brackets. Ie. the sensor should not move or rotate relative to the UGVs `base_link`. | +| | Spacing between the GNSS antennas is greater than 0.7 m. | +| | SwitfNav Piksi/Duro GNSS units, 2D/3D LiDAR units (Velodyne, Sick, Hokuyo) and Axis cameras have been configured to communicate over ethernet (IP). IP sensors are assigned within the following ranges on the `192.168.131.XXX` subnet and recorded in the table below.
**Cameras**: 192.168.131.10-19, **LiDARs**: 192.168.131.20-29, **GNSS**: 192.168.131.30-39, **Wireless**: 192.168.131.50-59

SensorSensor IPSensorSensor IP
| +| | For each sensor that is to be integrated, measure the XYZ position, in metres, and RPY (roll/pitch/yaw) orientation, in radians, relative to the robot's [base_link frame](hardware_integration_requirements.mdx#base-link-frame). Record the XYZ and RPY values in the table below.

SensorXYZRPY
| + +Signature: Date: diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/integration_requirements/hardware_integration_requirements/hardware_integration_requirements.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/integration_requirements/hardware_integration_requirements/hardware_integration_requirements.mdx new file mode 100644 index 00000000..88614cd5 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/integration_requirements/hardware_integration_requirements/hardware_integration_requirements.mdx @@ -0,0 +1,44 @@ +--- +title: "Hardware Kit Installation Requirements" +sidebar_label: "Hardware Kit Installation Requirements" +sidebar_position: 2 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +Several hardware configurations are compatible with OutdoorNav Autonomy Software. +Select the checklist below that corresponds to your hardware kit. + +- [OutdoorNav Standard Kit Hardware Checklist](standard_kit_hardware_checklist.mdx) +- [OutdoorNav Starter Kit Hardware Checklist](starter_kit_hardware_checklist.mdx) +- [OutdoorNav Custom Kit Hardware Checklist](custom_kit_hardware_checklist.mdx) + +In addition, if the OutdoorNav software is not running on the UGV computer itself, which is the case with the Starter Kit and some custom integrations, ensure that the UGV computer is configured correctly by reviewing the following checklist. + +- [UGV Computer Checklist](../platform_computer_checklist.mdx) + +## Notes on Measuring Frame Relationships + +### `base_link` Frame {#base-link-frame} + +For mobile robots, `base_link` should be rigidly attached to the mobile UGV. +It can be attached at any position of the UGV to provide a point of reference. +We also expect the orientation of `base_link` to be in the NWU convention. +ROS standards for `base_link` can be found in [REP-103](https://www.ros.org/reps/rep-0103.html#axis-orientation) and [REP-105](https://www.ros.org/reps/rep-0105.html#base-link). + +### Starter Kit Frame {#starter-kit-frame} + +The starter kit frame (`starter_kit_link`) is located at the center of the bottom plate of the enclosure. +Its orientation is also in the NWU convention with the X-axis of the frame pointing out of the front RealSense camera and the Y-axis coming out of the side of the enclosure **without** the power and Ethernet breakouts. + +### Sensor Frame + +The sensors frame for each sensor will vary. Please consult the documentation for the specific sensor. + +### Measuring Relative Pose + +Consider frame A (eg. `starter_kit_link`) and frame B (eg. `base_link`), rigidly attached to the UGV. +The relationship of A relative to B consists of two parts, the relative position and relative orientation. +The position of A relative to B can be obtained by measuring the distance (in X, Y, Z axes) from frame B to frame A, and providing that value in frame B's coordinate frame. +The orientation of A relative to B is obtained by rotating the axes of frame B until they line up with frame A, noting that results in each axis are the rotation angles of the orientation. +A trick for the orientation's sign is to remember that if you rotate the X-axis towards the Y-axis or Z-axis the rotation will be positive and that if you rotate away from the Y-axis or X-axis, it results in negative rotations. diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/integration_requirements/hardware_integration_requirements/standard_kit_hardware_checklist.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/integration_requirements/hardware_integration_requirements/standard_kit_hardware_checklist.mdx new file mode 100644 index 00000000..451b6c81 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/integration_requirements/hardware_integration_requirements/standard_kit_hardware_checklist.mdx @@ -0,0 +1,24 @@ +--- +title: "Standard Kit Hardware Checklist" +sidebar_label: "Standard Kit Hardware Checklist" +sidebar_position: 1 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +The OutdoorNav Standard Kit from Clearpath Robotics contains: + +- SwiftNav Piksi/Duro GNSS (x2) +- Microstrain GX5-25 AHRS +- Velodyne Puck (VLP-16) 3D LiDAR + +To integrate this kit onto your robot, ensure that all of the requirements below are satisfied for proper operation of the OutdoorNav software. + +| | Requirement | +| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| | All sensors have been mounted to the UGV with fixed brackets. Ie. the sensor should not move or rotate relative to the UGVs base_link. | +| | Spacing between the GNSS antennas is greater than 0.7 m. | +| | SwitfNav Piksi/Duro GNSS units and Velodyne LiDAR unit have been configured to communicate over ethernet (IP). IP sensors are assigned within the following ranges on the `192.168.131.XXX` subnet and recorded in the table below.
**LiDARs**: 192.168.131.20-29, **GNSS**: 192.168.131.30-39, **Microhard**: 192.168.131.50-59

SensorSensor IP
SwiftNav Piksi/Duro (Reference)
SwiftNav Piksi/Duro (Attitude)
Velodyne VLP-16
Microhard Wireless (Base Station)
Microhard Wireless (UGV)
| +| | For each sensor that is to be integrated, measure the XYZ position, in metres, and RPY (roll/pitch/yaw) orientation, in radians, relative to the robot's [base_link frame](hardware_integration_requirements.mdx#base-link-frame). Record the XYZ and RPY values in the table below.

SensorXYZRPY
GNSS Antenna (Reference)0.00.00.0
GNSS Antenna (Attitude)0.00.00.0
Velodyne VLP-16
Microstrain GX5­-25 AHRS
| + +Signature: Date: diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/integration_requirements/hardware_integration_requirements/starter_kit_hardware_checklist.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/integration_requirements/hardware_integration_requirements/starter_kit_hardware_checklist.mdx new file mode 100644 index 00000000..f8b6842e --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/integration_requirements/hardware_integration_requirements/starter_kit_hardware_checklist.mdx @@ -0,0 +1,51 @@ +--- +title: "Starter Kit Hardware Checklist" +sidebar_label: "Starter Kit Hardware Checklist" +sidebar_position: 2 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +The OutdoorNav Starter Kit from Clearpath Robotics contains: + +- Ublox F9P GNSS +- Phidget Spatial 3/3/3 IMU +- RealSense D435f (x2) Depth Camera + +To integrate this kit onto your robot, ensure that all of the requirements below are satisfied for proper operation of the OutdoorNav software. +Refer to the [OutdoorNav Starter Kit](/docs/robots/accessories/add-ons/outdoornav_starter_kit) for additional +integration details. + +
+
+ +
Starter Kit Integration
+
+
+ +To integrate this kit onto your robot, ensure that all of the requirements below are satisfied for proper operation of the OutdoorNav software. + +| | Requirement | +| ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| | The Starter Kit should be rigidly fixed to the UGV. Ie. It should not move or rotate relative to the UGVs base_link. | +| | Once mounted, the XYZ position of the [Starter Kit frame](hardware_integration_requirements.mdx#starter-kit-frame) relative to the [base_link frame](hardware_integration_requirements.mdx#base-link-frame) has been noted here:
X: , Y: , Z: | +| | The Starter Kit is connected to the base robot computer via a gigabit ethernet cable (Cat6(a) minimum). | +| | The Starter Kit is power by an **18 - 75 V** source supplied by the UGV. | + +Should any of the external sensors positions need to be moved, the following constraints should be followed: + +- The GNSS antenna is to be placed upright, on an unobstructed part of the UGV with clear visibility. +- The RealSense D435f cameras should be placed with a minimal amount of their field of view (FoV) obstructed by the UGV body. + + The new XYZ position of the GNSS antenna and/or the Realsense D435f cameras relative to the [Starter Kit Frame](hardware_integration_requirements.mdx#starter-kit-frame) are noted below: + + | Sensor | X | Y | Z | R | P | Y | + | ----------------------- | ------------------------------ | ------------------------------ | ------------------------------ | ------------------------------ | ------------------------------ | ------------------------------ | + | **GNSS Antenna** | | | | **0.0** | **0.0** | **0.0** | + | **RealSense D435f (front)** | | | | | | | + | **RealSense D435f (rear)** | | | | | | | + +Signature: Date: diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/integration_requirements/integration_overview.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/integration_requirements/integration_overview.mdx new file mode 100644 index 00000000..00cf8a07 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/integration_requirements/integration_overview.mdx @@ -0,0 +1,34 @@ +--- +title: "Integration Overview" +sidebar_label: "Integration Overview" +sidebar_position: 1 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +The scope of work to transform a non-autonomous UGV into an autonomous +one will vary depending on the exact hardware capabilities and software +interfaces of the UGV. Development work will be required by Clearpath +Robotics, the end user, or a third party developer to bring the UGV into +compliance with the requirements listed in the table below. This may +involve implementing encoders and controllers to provide velocity +control of the UGV and implementing a CAN bus to ROS interface with +kinematic control. The table below provides a general outline of the +requirements; the detailed requirements are covered in the following +sections. + +_Navigation hardware and software general integration scope of work_ + +| \# | Task | Note | +|-----|----------------------------------|---------------------------------| +| 1 | **Convert UGV to drive by wire** | If required; can be a significant electromechanical integration | +| 1.1 | Implement actuated steering and throttle control if necessary | | +| 1.2 | Implement the encoder and controller hardware to provide wheel velocity control and odometry feedback | May require electronic power steering position feedback and controller | +| 2 | **Create a ROS interface** | | +| 2.1 | Commission an OutdoorNav computer running Ubuntu 20.04 and ROS Noetic | | +| 2.2 | Create a ROS interface to the UGV Often interfacing via CAN bus motor controllers and UGV controller | | +| 2.3 | Create a ROS driver including UGV kinematics with ROS-control | Accepts velocity input, commands motor controllers, provides other status feedback | +| 3 | **Install and configure OutdoorNav Hardware and Software** | | +| 3.1 | Install OutdoorNav computer and sensors on the UGV | Provide mechanical mounting, power and ethernet communication to UGV computer | +| 3.2 | Install, update and configure OutdoorNav Software on computer | Configure for sensor mounting locations, UGV kinematics and data topics. Can be done remotely with assistance from Clearpath Robotics Engineering. Approximately 1-2 days. | +| 3.3 | Tune the path planning and following controllers for new UGV | Can be done at a Clearpath Robotics facility. Can often be done at end user facility via remote login from Clearpath Robotics Engineering. Approximately 2-5 days. | diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/integration_requirements/interface_control_requirements.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/integration_requirements/interface_control_requirements.mdx new file mode 100644 index 00000000..45cdfb2c --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/integration_requirements/interface_control_requirements.mdx @@ -0,0 +1,119 @@ +--- +title: "ROS Interface Control Requirements" +sidebar_label: "ROS Interface Control Requirements" +sidebar_position: 3 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +## ROS Interface Control Checklist + +Prior to the installation and tuning of Clearpath Robotics (CPR) +OutdoorNav software on your platform (robot computer), CPR requires that the platform's +ROS interface satisfies the conditions listed below. Ensure that all of the requirements +are satisfied for a smooth installation and tuning process. + +![](/img/outdoornav_images/onav_interface_control.png) + +| | Requirement | +|------|------------------------------------------------------------------| +| | The platform computer is on the 192.168.131.xxx subnet (ideally in the range 1-4). | +| | The platform computer has an installation of [ROS 1 Noetic](http://wiki.ros.org/noetic/Installation). | +| | A URDF is supplied to CPR by the customer, in which the `base_link` coordinate frame is defined according to the [REP-105 base-link](https://www.ros.org/reps/rep-0105.html#base-link) ROS standard. | +| | The platform outputs [tf2_msgs/TFMessage](http://docs.ros.org/en/jade/api/tf2_msgs/html/msg/TFMessage.html) messages on the ROS standard `/tf` topic, at a minimum rate of **30 Hz**. | +| | The platform outputs a latched [tf2_msgs/TFMessage](http://docs.ros.org/en/jade/api/tf2_msgs/html/msg/TFMessage.html) message on the ROS standard `/tf_static` topic. This should include any fixed frames of ROS enabled devices/sensors that are available on your platform. | +| | The platform computer has a velocity controller that accepts, as input, [geometry_msgs/Twist](http://docs.ros.org/en/melodic/api/geometry_msgs/html/msg/Twist.html) messages on the ROS standard `/cmd_vel` topic, at a minimum rate of **10 Hz**. | +| | The platform computer has a velocity controller that tracks the input velocity and outputs the resulting platform velocity on the `/platform/cmd_vel` topic. | +| | The platform outputs [nav_msgs/Odometry](http://docs.ros.org/en/noetic/api/nav_msgs/html/msg/Odometry.html) messages on the `/platform/odom` topic, at a minimum rate of **10 Hz**. | +| | The `/platform/odom` topic publishes its data with the header.frame_id = `odom` and the child_frame_id = `base_link`, as per the [REP-105 odom](https://www.ros.org/reps/rep-0105.html#odom) ROS standard. **IMPORTANT**: The platform should however not broadcast the `odom` --> `base_link` transformation since the OutdoorNav software will do so. | +| | If available, the platform odometry output has less than ±5% linear position error. | +| | If available, the platform odometry output has less than ±5% orientation error. | +| | The platform outputs [std_msgs/Bool](http://docs.ros.org/en/noetic/api/std_msgs/html/msg/Bool.html) messages on the `/platform/emergency_stop` topic, at a minimum rate of **5 Hz**, indicating whether or not the platform is in a stopped state. | +| | Perform the validation tests described in [Interface Control Validation Test](#interface-control-validation) section and [record a rosbag](http://wiki.ros.org/rosbag/Commandline#rosbag_record) of all of your topics. The linear and angular velocities of the three trial runs recorded should be noted here:

Trial #1: Linear x: , Angular z:
Trial #2: Linear x: , Angular z:
Trial #3: Linear x: , Angular z:
| + +:::note + +Consult the [Platform API](../api/api_endpoints/platform_api.mdx#topics-published-by-platform) for +detailed information on the published/subscribed platform topics. + +::: + +If the platform is an Ackermann (or double Ackermann) drive vehicle: + +| | Requirement | +|------|------------------------------------------------------------------| +| | A conversion from [geometry_msgs/Twist](http://docs.ros.org/en/melodic/api/geometry_msgs/html/msg/Twist.html) messages to Ackermann inputs is provided. | + +:::note + +Ackermann drive platforms require both steering and throttle inputs to +drive the platform. It is required that our OutdoorNav output `/cmd_vel` +be converted into a message suitable to your platform. An example of an +Ackermann message type can be found +[here](http://wiki.ros.org/teb_local_planner/Tutorials/Planning%20for%20car-like%20robots). +This may satisfy your particular platform, and is only a starting point +on how to do this conversion. + +::: + +If the platform computer is running a version of ROS 2: + +| | Requirement | +|------|------------------------------------------------------------------| +| | The platform computer has a [ROS 2 to ROS 1 bridge](https://github.com/ros2/ros1_bridge) is installed to enable the exchange of messages between the two ROS versions. | + +Signature: Date: + +## Interface Control Validation Test {#interface-control-validation} + +The following test is designed to validate the platforms velocity +controller. It will be required that you command the robot to drive in +three circles, of varying radii, by applying the following command to +the platform. + +``` bash +rostopic pub -r 10 /cmd_vel geometry_msgs/Twist "linear: +x: ___ +y: 0.0 +z: 0.0 +angular: +x: 0.0 +y: 0.0 +z: ___" +``` + +The three trials that we request will vary between platforms depending +on the its maximum linear $(v_{max})$ and angular velocities +$(\omega_{max})$, minimum linear $(v_{min})$ and angular velocities +$(\omega_{min})$, as well as limitations due to the minimum allowable +turning radius $(r_{min})$. Of these three trials, we would like to see +data within three linear velocity bands, as seen in the table below, +resulting in three different turning radii. For the purpose of these +tests, the following formula can be used when determining the required +linear and angular velocities to apply: $r = v/\omega$. + +| Trial \# | Linear X Bands \[m/s\] | Example Linear X Band \[m/s\] | +| ---------|--------------------------------------------|-------------------------------------| +| 1 | $v_{min} \cdot [1.0, 1.5]$ | $[0.5, 0.75]$ | +| 2 | $((v_{max} - v_{min})/2) \cdot [0.9, 1.1]$ | $[2.025, 2.475]$ | +| 3 | $v_{max} \cdot [0.9, 1.0]$ | $[4.5, 5.0]$ | + +As an example, a platform with specs $v \in [0.5, 5.0]$, $r_{min} = 3$ +would have linear x velocity bands as listed in the table above. The +trials could then be as outlined in the table below. + +| Trial \# | Linear X \[m/s\] | Angular Z \[rad/s\] |Turn Radius \[m\] | +|-----------|--------------------|---------------------|------------------| +| 1 | 0.75 | 0.25 | 3 | +| 2 | 2.25 | 0.5 | 4.5 | +| 3 | 4.5 | 0.75 | 6 | + +Finally, the test data in the collected ROSbag should include the +following: + +1. `/tf` and `/tf_static` +2. `/platform/cmd_vel` +3. `/platform/odom` +4. `/cmd_vel` +5. `/platform/emergency_stop` (if available) +6. raw NavSatFix data from a GPS unit (if possible). diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/integration_requirements/platform_computer_checklist.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/integration_requirements/platform_computer_checklist.mdx new file mode 100644 index 00000000..0f2f334f --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/integration_requirements/platform_computer_checklist.mdx @@ -0,0 +1,24 @@ +--- +title: "Platform Computer Checklist" +sidebar_label: "Platform Computer Checklist" +sidebar_position: 5 +toc_min_heading_level: 2 +toc_max_heading_level: 5 +--- + +The following instructions are only required if intending to install the OutdoorNav software on a secondary or Starter Kit computer, henceforth named the **hardware kit**. If installed on the platform computer, please proceed to the [Interface Control Checklist](./interface_control_requirements.mdx). + +In addition to the electromechanical installation of the hardware kit, software updates are required to the platform computer, as outlined below. + +| | Requirement | +| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| | Connect an ethernet cable between the platform computer and the hardware kit, either directly between them or via an ethernet switch. Make note of which port was used on the platform computer so that it's IP address can be configured in the next step. | +| | Ensure network connectivity between the platform computer and the hardware kit on the `192.168.131.XXX` subnet. Configure the platform computer to have a static IP assigned on the interface that is used to connect to the hardware kit. Ideally this IP address will be `192.168.131.1`, but it can be in the `192.168.131.1-4` range. In some cases, this may require the creation of a virtual interface. Record the platform computer IP address.
Platform Computer IP Address: | +| | On the platform computer, add the following line to the `/etc/hosts` file:
`192.168.131.5 cpr--onav>` | +| | On the platform computer, run `ping cpr--onav>` and confirm it is successful. | +| | On the platform computer, [Install ROS Noetic](http://wiki.ros.org/noetic/Installation/Ubuntu) if not already installed (the `ros-noetic-ros-base` version is sufficient). | +| | On the platform computer, configure ROS Noetic so it is running with the `ROS_MASTER_URI` set to the base platform computer. Note that `localhost:11311` is acceptable only if the primary subnet on the platform computer is the `192.168.131.XXX` subnet. | +| | Restart both the platform computer and the hardware kit, then run `rostopic list` on the platform computer and confirm that it includes the OutdoorNav topics. | +| | On the platform computer, complete all checks in [Interface Control Checklist](interface_control_requirements.mdx) and confirm that all listed ROS topics are publishing as expected. | + +Signature: Date: diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/integration_requirements/software_integration_instructions.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/integration_requirements/software_integration_instructions.mdx new file mode 100644 index 00000000..182e6cb1 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/integration_requirements/software_integration_instructions.mdx @@ -0,0 +1,122 @@ +--- +title: "Software Integration Instructions" +sidebar_label: "Software Integration Instructions" +sidebar_position: 4 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +import versions from "@site/static/versions.js" + +Prior to installing the OutdoorNav software, ensure that you have completed the relevant [Hardware Kit Checklist](hardware_integration_requirements/hardware_integration_requirements.mdx). If installing on a secondary/backpack/Starter Kit computer, ensure to have also completed the: +- [Interface Control Checklist](interface_control_requirements.mdx) + +All the following instructions, unless otherwise specified, are to be run on the OutdoorNav computer. + +### Install Command-line Interface Tool (CLI) {#install-cli} + + +{` +sudo apt update +sudo apt install python3-onav-cli +`} + + +### Install OutdoorNav + + +{` +onav install -k +`} + + +where `license_key` is the license key that you have been assigned. Only one license key can be used per UGV. + +### Configure UGV Footprint {#configure-platform-footprint} + +If the UGV has sensors and/or parts that protrude outside of the UGV body, then a few environment variables will need to be modified to adjust the footprint of the robot. Things that could be extending past the footprint could include but are not limited to: + +- GPS antennae, +- Charging receivers, +- Arms, +- etc... + +Change the environment variables from the Table below, in the following file: + +``` +cd /opt/onav//config +nano autonomy.env +``` + +| Environment Variable | Description | Default | +|-----------------------------|----------------------------------------|---------| +| **FOOTPRINT_OFFSET_POS_X** | Distance from base_link to the furthest edge of any part/sensor at the front of the robot | 0.5 | +| **FOOTPRINT_OFFSET_NEG_X** | Distance from base_link to the furthest edge of any part/sensor at the rear of the robot | -0.5 | +| **FOOTPRINT_OFFSET_POS_Y** | Distance from base_link to the furthest edge of any part/sensor at the left of the robot | 0.35 | +| **FOOTPRINT_OFFSET_NEG_Y** | Distance from base_link to the furthest edge of any part/sensor at the right of the robot | -0.35 | + + +### Start/Stop the OutdoorNav + +To start up the OutdoorNav software run: + + +{` +onav start +`} + + +If you wish to start individual profiles or services, run `onav start -h` to see available profiles/services. + +To stop the OutdoorNav software run: + + +{` +onav stop +`} + + +For more information and available ONAV CLI commands, see the [Terminal Interface](../getting_started/terminal_interface.mdx) section. + +### Test OutdoorNav Installation + +1. Ping all of the network sensors to ensure proper communication with the UGV or secondary computer. + +2. Check the following topics and make sure there is data being published to them: + +``` bash +rostopic echo -n 1 /platform/odom +rostopic echo -n 1 /platform/cmd_vel + +rostopic echo -n 1 /localization/odom + +# GNSS units +rostopic echo /sensors/gps_/fix + +# IMU (if included) +rostopic echo -n 1 /sensors/imu_/data + +# Velodyne/Ouster/LMS1XX/Hokuyo/OutdoorScan (if included) +rostopic echo /sensors/lidar_/pointcloud +rostopic echo /sensors/lidar_/scan + +# Realsense D435 Front (if included) +rostopic echo -n 1 /sensors/stereo_0/pointcloud --noarr +rostopic echo -n 1 /sensors/stereo_0/image --noarr +rostopic echo -n 1 /sensors/stereo_0/depth/image_rect_raw --noarr + +# Realsense D435 Rear (if included) +rostopic echo -n 1 /sensors/stereo_1/pointcloud --noarr +rostopic echo -n 1 /sensors/stereo_1/image --noarr +rostopic echo -n 1 /sensors/stereo_1/depth/image_rect_raw --noarr +``` + + will be the number of the sensor as it was loaded into the software. Eg. If you have a VLP and an LMS1XX, then the VLP will be lidar_0, and the LMS1XX will be lidar_1. If we only have an LMS1XX, then it would be lidar_0. Ie. the 3D lidars have a higher "priority" and therefore will be loaded first. + +:::note + +The 2D LiDARs (LMS1XX, Hokuyo) will not have a pointcloud topic. + +::: + +Once installation is complete, you can proceed to [Getting Started](../getting_started/system_setup.mdx) to start using the software. diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/overview/_category_.json b/outdoornav_user_manual_versioned_docs/version-0.11.0/overview/_category_.json new file mode 100644 index 00000000..663e4088 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/overview/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Overview", + "position": 4 +} diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/overview/overview_hardware_requirements.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/overview/overview_hardware_requirements.mdx new file mode 100644 index 00000000..b6abe65e --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/overview/overview_hardware_requirements.mdx @@ -0,0 +1,44 @@ +--- +title: Hardware Requirements +sidebar_label: Hardware Requirements +sidebar_position: 3 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +OutdoorNav Software works with compatible UGVs, either from Clearpath +Robotics or third parties. High level requirements for compatible UGVs +are outlined below. Detailed qualification requirements are outlined in +[UGV Integration Requirements](../integration_requirements/integration_overview.mdx). + +## Requirements + +OutdoorNav software does not communicate directly with the UGV motors. +Rather, it publishes target linear and angular velocities packaged in +the [ROS Twist message](http://docs.ros.org/en/noetic/api/geometry_msgs/html/msg/Twist.html) +format and relies on the low level velocity controller of the vehicle to +translate these velocities into correct motor control commands. +Therefore, OutdoorNav Software requires that the UGV must accept the +control commands sent in the [ROS Twist message](http://docs.ros.org/en/noetic/api/geometry_msgs/html/msg/Twist.html) +format. More detailed requirements are outlined in the following table. + +| # | Requirement | Notes | +| - | --------------------------------- | ----------------------------------- | +| 1 | The UGV must be a differential drive or Ackermann drive configuration | Ackerman drive is currently available as a custom implementation; standard in 2023 | +| 2 | The UGV must have velocity control of the wheels and provide kinematic control of the platform | | +| 3 | The UGV shall provide odometry feedback of the wheel direction and velocities and/or steering position | Recommended encoder resolution of 500 ticks per revolution or greater | +| 4 | The UGV should have an emergency stop system with status feedback | | +| 5 | The UGV must accept ROS 1 Twist Commands on the `/cmd_vel` topic | See [API Endpoints](../api/api_endpoints/api_endpoints.mdx); ROS 2 interface available in future release | +| 6 | The UGV must provide odometry and status feedback through ROS topics | See [API Endpoints](../api/api_endpoints/api_endpoints.mdx) | + +## Typical Hardware + +While a variety of different sensors and equipment can be used with +OutdoorNav Software, the following are used most commonly: + +- Clearpath Robotics UGV: Jackal, Husky or Warthog +- GPS System: Dual DURO RTK system or NovAtel Terrastar +- IMU: Microstrain 3DM-GX5-25 +- 3D Laser Sensor: Velodyne VLP-16 +- Tablet Computer: Getac F110 +- Clearpath Long Range Network Station with RTK corrections ("Base Station") diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/overview/overview_introduction.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/overview/overview_introduction.mdx new file mode 100644 index 00000000..83bfa1d6 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/overview/overview_introduction.mdx @@ -0,0 +1,93 @@ +--- +title: Introduction +sidebar_label: Introduction +sidebar_position: 1 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +## Summary + +OutdoorNav Software is a software package developed by Clearpath +Robotics for autonomous and manual navigation of Unmanned Ground +Vehicles (UGVs) in outdoor environments. + +
+
+ +
Web UI Mission Planning View
+
+
+ +
+
+ +
Web UI Front Camera View
+
+
+ +## Compatible Platforms + +While it has been optimized for use with OutdoorNav Hardware from +Clearpath Robotics +([Husky](https://clearpathrobotics.com/husky-unmanned-ground-vehicle-robot/), +[Jackal](https://clearpathrobotics.com/jackal-small-unmanned-ground-vehicle/), +and +[Warthog](https://clearpathrobotics.com/warthog-unmanned-ground-vehicle-robot/)), +it has been designed so that it can be added easily to third-party UGVs. + +
+
+ +
Clearpath Robotics Warthog UGV with navigation equipment and operator control unit
+
+
+ +## Key Features + +Key features of OutdoorNav Software include: + +- Mission Planning and Autonomous Navigation + + - Robust GPS-based localization with sensor fusion of IMU, LiDAR + and platform odometry + - Autonomous path following via waypoints + - Obstacle Detection and Avoidance: Stop and wait or + autonomously plan a collision-free path around obstacles + without the need to stop + +- Teleoperation + + - Operate the robot remotely using an on-screen or physical + joystick + - Visualize what the robot sees by displaying its network + cameras and LiDAR data + +- Web User Interface (Web UI) + + - Build missions containing sets of paths, with optional task + execution on each path; tasks can be standard tasks (eg. save + camera image) or user provided functions + - View the robot's live position and attitude on the map + - Display robot data such as velocity, signal strength, status + of the motion stop, status of navigation system, and battery charge + - Save and export Missions + +- Application Programming Interface (API) + + - Build your own application and UI by accessing the navigation + API to control the UGV through software or implement fleet + management by accessing the mission API + +- Simulation + + - Begin development of your application prior to purchasing + licenses or commissioning hardware with OutdoorNav software and + the ROS Gazebo simulator + +- Third Party Integration + + - The Web UI and API can be accessed through a network connection; + cloud-based services are available from third parties to + facilitate remote connections and networking to robot hardware + such as Formant.io and Freedom Robotics diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/overview/overview_operating_conditions.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/overview/overview_operating_conditions.mdx new file mode 100644 index 00000000..c02228aa --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/overview/overview_operating_conditions.mdx @@ -0,0 +1,177 @@ +--- +title: Operating Conditions +sidebar_label: Operating Conditions +sidebar_position: 3 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +OutdoorNav Software is designed and tested for use in rugged outdoor +environments. + +## Operating Conditions + +### Terrain + +OutdoorNav Software is compatible with terrains in which the UGV can be +driven manually without excessive slipping. The performance limits will +be a function of the base UGV traction. + +Using Clearpath Robotics Husky, Jackal, and Warthog as a the base UGV, +OutdoorNav Software is suitable for use in the following terrains: + +- asphalt +- concrete +- grass +- snow + +:::note + +Grass should not exceed 30 cm in height if collision avoidance is +enabled. + +::: + +:::note + +Winter/studded tires may be required for proper traction on snow. + +::: + +OutdoorNav Software is currently **not** suitable in the following +terrains: + +- ice +- loose gravel + +:::note + +Support for loose gravel environments is currently being tested and is +expected to be available in late 2023. + +::: + +The terrain capabilities of third-party UGVs will be dependent on a +variety of factors including the vehicle mass, the tire treading, and +motor power. + +### Environment + +OutdoorNav Software is suitable for use in the following environmental +conditions: + +- light rainfall (drizzle) +- light snowfall (powdery snow) + +:::note + +If erratic behavior, such as frequent replanning, is perceived in these +light precipitation conditions, disabling the "continuous planning" +feature may help. + +::: + +OutdoorNav Software is **not** suitable for use in the following +environmental conditions: + +- heavy rainfall +- heavy snowfall + +:::note + +If navigation is required in heavy rain or snow, disabling the collision +avoidance feature will allow the UGV to navigate properly. This should +be done with caution. + +![](/img/outdoornav_images/gps_danger.png) + +::: + +## Performance + +The performance of the system is highly dependent on both the base UGV, +the sensors, the system integration details, and the environment. The +following table provides typical performance metrics for Clearpath +Robotics Jackal and Husky UGVs. + +_System Performance for Husky/Jackal with Typical Sensors_ + +| | Starter Sensor Kit | Standard Sensor Kit (No RTK) | Standard Sensor Kit (RTK) | +|----------------------------------------|-----------------------------------|----------------------------------|----------------------------------| +| GPS sensors | UBlox F9P | 2x SwiftNav Duro | 2x SwiftNav Duro | +| Location accuracy (position & heading) | Less than 60 cm
Less than 10° | Less than 30 cm
Less than 5° | Less than 5 cm
Less than 2° | +| Path tracking accuracy (approximate) | 20 cm | 15 cm | 10 cm | + +## Limitations + +While OutdoorNav Software operates effectively in a range of rugged +outdoor environments, the operator should be aware of the following +limitations and plan accordingly. + +_OutdoorNav System Limitations_ + +| Limitation | Details | +|--------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| RTK accuracy | Localization accuracy for the Standard (RTK) configuration assumes the base station location has been accurately surveyed. | +| Localization accuracy | Localization accuracy is influenced by the quality of GNSS data that is available. Navigating in GNSS denied areas (e.g., under bridges, near tall buildings, etc.) will cause degradation in localization performance. | +| Negative obstacle detection not present | Outdoor Navigation Software does not have negative obstacle detection capability. Your UGV will not detect stairs, cliffs, potholes, depressions or edges and may drive into these obstacles causing harm to people or property. | +| Limited obstacle detection in vertical dimension | The small vertical field of view of 3D LiDARs limits the vertical obstacle detection capability of the OutdoorNav Software. See [Obstacle Detection Limitations](#obstacle-detection-limitations) for details. | +| Low traction may cause UGV to get stuck | Your UGV may navigate itself into a situation where wheels slip or do not make contact with the ground. | +| Rain and snow may affect obstacle detection | Adverse weather conditions may obscure obstacle detection and avoidance data from the VLP-16 LiDAR. Obstacle detection and avoidance may not function in all weather conditions and must be disabled to navigate in heavy snow or rain. | +| Maximum distance between two Viapoints | Distance between any two consecutive Viapoints of a Mission should be less than 20 meters. This will ensure that the global planner can find a valid path to the next Viapoint for the UGV in case there is an obstacle on the path of the UGV. | +| WiFi range limits | The current configurations of the OutdoorNav Software will continue navigation if the WiFi disconnects or goes out of range. The Web UI will reconnect once the WiFi has reconnected but certain functions of the UI may be limited such as the ability to issue a pause/stop commands or sending new missions to the UGV. | +| Wireless motion stop range limits | The UGV will motion stop if the UGV is driven out of range of the wireless motion stop device. | +| RTK GPS limited by WiFi range | If WiFi goes out of range, your UGV will not receive RTK corrections from the Base Station. This can potentially decrease the accuracy of the GPS signal which can subsequently degrade path following performance of your system. | +| Obstacle detection may cause UGV to become stuck | The UGV may stop and become stuck if obstacles are detected and not cleared from its path. If obstacle avoidance is enabled, it may not be able to calculate an acceptable path to the next Viapoint or Goal Point under all circumstances. This will result in the UGV becoming stuck and failing its Mission. | +| Failure to set Datum causes undefined behavior | If the Datum is not set or is not synchronized with the navigation module, the UGV's driven path is undefined and will move unpredictably if Missions are sent in this state. | +| Zones are not currently supported | It is not possible to define “keep-out” or “unsafe” zones that the UGV needs to avoid. Rather, careful use of Waypoint placement by the operator can be used to keep the UGV at a safe distance from unsafe zones. | +| No collision avoidance during teleoperation mode | When operating in Manual Mode (Teleoperation), no collision avoidance is enabled. The operator is responsible for avoiding collisions. | + +### Obstacle Detection Limitations {#obstacle-detection-limitations} + +The maximum collision avoidance range for the OutdoorNav Software is +UGV-dependent and is related to the maximum speed of the UGV. These +ranges for Clearpath Robotics UGVs are: + +- Jackal UGV: 4.5 meters +- Husky UGV: 4.5 meters +- Warthog UGV: 15.0 meters + +While the sensors are able to detect objects at further distances, the +OutdoorNav Software only considers obstacles detected within these +distances for collision avoidance. That is, the UGV will only begin to +decelerate as it detects obstacles within this range. + +The detection itself is also related to the horizontal size +(width/diameter) of the obstacle. The limitations in detecting objects +with small horizontal size are described in the table below. + +_Maximum Reliable Obstacle Detection Distance from UGV, according to Obstacle Horizontal Size_ + +| Object Size (Horizontal) | Starter Sensor Kit | Standard Sensor Kit | +|--------------------------|----------------------------------------------------------------|----------------------------------------------------------------| +| Less than 0.6 cm | No reliable detection | No reliable detection | +| 0.6 to 1.0 cm | 0.8 m | No reliable detection | +| 1.0 to 3.0 cm | 2.0 m | 1.75 m | +| Greater than 3.0 cm | Maximum collision avoidance distance (UGV-specific; see above) | Maximum collision avoidance distance (UGV-specific; see above) | + +Finally, the OutdoorNav Software bounds the obstacle detection to +prevent ground hits and to remove detections above the UGV body. The +following bounds are relative to the ground, assuming a flat surface. +Obstacles that are entirely below the lower bound or entirely above the +upper bound are not considered obstacles and will not be avoided. + +_Obstacle Detection Vertical Bounds_ + +| Vertical Bound | Jackal UGV | Husky UGV | Warthog UGV | +|-----------------------|------------|-----------|-------------| +| Lower Detection Bound | 0.3 m | 0.3 m | 0.3 m | +| Upper Detection Bound | 0.8 m | 1.3 m | 1.8 m | + +:::note + +The vertical detection bounds above are for the Standard Sensor Kit or a +custom sensor configuration that includes a Velodyne. The vertical +detection bounds for the Starter Sensor Kit have yet to be determined. + +::: \ No newline at end of file diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/overview/overview_scope.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/overview/overview_scope.mdx new file mode 100644 index 00000000..13f8b9af --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/overview/overview_scope.mdx @@ -0,0 +1,15 @@ +--- +title: Scope +sidebar_label: Scope +sidebar_position: 2 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +This documentation focuses on the OutdoorNav Software itself, including +hardware dependencies and integration, but not the specifics of UGV +hardware. For details on compatible Clearpath Robotics UGVs and custom +hardware integrations, contact or check +out our [YouTube channel](https://www.youtube.com/channel/UCNPP3C-ZK3mwpG2x89VE-2Q). + + diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/release_notes.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/release_notes.mdx new file mode 100644 index 00000000..8638b24a --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/release_notes.mdx @@ -0,0 +1,273 @@ +--- +title: Release Notes +sidebar_label: Release Notes +sidebar_position: 2 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +## 0.11.0 + +### New Features + +- Command Line Tool used to install/update/manage OutdoorNav +- Added the End User License Agreement to the UI upon start up +- Light and PTZ Pan/Tilt controls can now be mapped to a controller +- OutdoorNav/IndoorNav switch over improvements +- Can now place waypoints at UGV location via shortcut key (Shift + X) + +### API Features + +- Can now delete multiple mission objects (missions, waypoints, tasks) in single call +- Stack Light can now be manually overridden/muted +- Added ability to import single missions to the robot + +### Bug Fixes + +- 1688: Move PTZ task only ever uses the first PTZ camera's positions +- 2011: Filter false "Move PTZ Failure" notifications when moving PTZ camera + +### Known Issues + +- 1396: Robot gets temporarily stuck at start of mission when near a Waypoint +- 1844: [MPC] Maximum acceleration param doesn't appear to have any effect + +## 0.10.0 + +### New Features + +- Added the ability to start mission from a specific Waypoint +- Added the ability to resume mission from current location +- Added the option to include on-start and on-stop tasks to a Mission +- Added the option to continue a Mission if a Task should fail +- Full release of the API examples repository to the public (link API examples top level page) + +### API Features + +- Action definition changes (see [API Endpoints](./api/api_endpoints/autonomy_api)) + - Mission.action added from_start and *start_waypoint_uuid* fields + - ExecuteMissionByUuid.action: added from_start and *start_waypoint_uuid* fields +- Message Definition changes + - Mission.msg: added an array of on_start and and array of on_stop tasks fields + - Task.msg: added a boolean allow_failure field +- Updated /safety/safety_stop message type (see [Definitions](./api/api_endpoints/definitions.mdx#msg-safety)) +- Added import/export services for /dock, /mission_manager/ and /mission_scheduler features + +### Bug Fixes + +- 1546: Robot cannot start mission part-way through if a task is assigned on any Waypoint prior to its location +- 1764: Importing missions with docking tasks fails to bring in docks + +### Known Issues + +- 1396: Robot gets temporarily stuck at start of mission when near a Waypoint +- 1844: [MPC] Maximum acceleration param doesn't appear to have any effect + +## 0.9.0 + +### New Features + +- Operators can now Schedule Missions to run at specific times (see [Mission Scheduler](./features/mission_scheduler.mdx)) +- Added in support for BulletCat12 Microhard WiFi and Cellular connections +- Allow Audio recording as both tasks and manual operations if UGV has Microphones +- Create custom tasks that can be run during missions (see [Custom Tasks](./features/custom_tasks.mdx)) +- If installed with PDU, UGV can be set to Low Power mode to better conserve power +- New navigation topics added to ROS Autonomy API (see [API Endpoints](./api/api_endpoints/autonomy_api.mdx)): + - /navigation/progress + - /navigation/motion_state + - /navigation/metrics +- Improved precision of docking +- Improved autonomy feedback when something goes wrong in the mission to increase the diagnosability of the error +- Updated Navigation features available to the customer: + - Continuous Replanning renamed to Continuous Planning and is always enabled. + - Constrained Planning is always enabled. Environment Variable to update the path constraint has been modified + (see [Navigation](./features/navigation.mdx)) + - Removed Obstacle Avoidance Mode. The UGV will always attempt to avoid obstacles. + - Removed Path Smoothing. This is always enabled. + - Docking feature added for customers who have purchased a dock. + +### Bug Fixes + +- 1324: Allow single Waypoint missions and/or tasks on first waypoint (required for undocking through tasks). +- 1340: Undocking not working through tasks +- 1607: Fixed MovePTZ task failures + +### Known Issues + +- 131: Software upgrade process not documented fully. +- 609: Realsense D435 collision avoidance not fully tuned. +- 751: Wireless icon in UI doesn't work for Ubiquity hardware. +- 1396: Robot gets temporarily stuck at start of mission when near a Waypoint. +- 1546: Robot cannot start mission part-way through if a task is assigned on any Waypoint prior to its location. + +## 0.8.0 + +### New Features + +- Inertial Measurement Units (IMUs) integrated into localization. +- Added localization status topic (see [API Endpoints](./api/api_endpoints/autonomy_api.mdx#localizationstatus)). +- Added re-localization service (see [API Endpoints](./api/api_endpoints/definitions.mdx#srv-reset-localization)). +- Additional diagnostic information in the status view. +- Docking improvements including: multiple docks, visual representation of docks on map, + local docking/undocking through teleop view. Docking only functional with 2D LiDARs. +- Customization & Tuning Appendix C added. Lists of tuning parameters for navigation + and collision avoidance are now available. As well as, instructions/process on how to + tune UGVs with differential drive dynamics. Instructions for UGVs with Ackermann dynamics + are on their way. + +### Bug Fixes + +- 1134: Display/Hide Datum Point not working. +- 1139: Issues with non-husky platforms. +- 1137: Refreshing page re-enables edit button while mission running. +- 1276: Feedback added for incorrect first Waypoint placement. + +### Known Issues + +- 131: Software upgrade process not documented fully. +- 609: Realsense D435 collision avoidance not fully tuned. +- 751: Wireless icon in UI doesn't work for Ubiquity hardware. +- 1138: Issues with greying out Waypoints in edge cases. +- 1324: Allow single Waypoint missions and/or tasks on first waypoint (required for undocking through tasks). +- 1340: Undocking not working through tasks. + +## 0.7.0 + +### New Features + +- Goal terminology has been removed from the mission generation nomenclature (see + [Definitions](./web_user_interface/ui_autonomous_mode.mdx#definitions)) + Users can now add tasks, apply final headings, and set navigation tolerances + to any Waypoint in a Mission. +- Drag and Drop of Waypoints now available in Edit Mode. +- New Waypoints can be inserted between existing Waypoints in a Mission. +- Mission API now available to create/edit/load missions, waypoints and tasks. +- Mission execution via mission ID is now available. +- The base station location is now displayed in the UI after carrying out an automated survey. +- New coloring scheme for GNSS status icons to provide more accurate information. + +### Bug Fixes + +- 996: Axis camera missing ptz_state + +### Known Issues + +- 131: Software upgrade process not documented fully. +- 609: Realsense D435 collision avoidance not fully tuned. +- 751: Wireless icon in UI doesn't work for Ubiquity hardware. +- 1134: Display/Hide Datum point not working. +- 1137: Refreshing page re-enables edit button while mission running. +- 1138: Issues with greying out Waypoints in edge cases. + +## 0.6.0 + +### New Features + +- OutdoorNav ROS API updated. API now divided into Platform and + Autonomy sections. See [API Overview](./api/api_overview.mdx) + for more details. +- Simulation environment created with charge dock, base station and + camera plugins. +- Added deviation path visualization to UI when constrained replanning + is enabled. +- Modified goalpoint icons to reflect tasks assigned to them. +- Added the ability to record rosbags from UI. +- Added GPS signal strength to status page. +- Added improvements to PTZ controls (cosmetic changes, ability to + disable zoom, added a reset mark). +- User can set map source from OpenStreet, MapBox, Bing Maps, or + custom map tiles through UI. + +### Bug Fixes + +- 632: Prevent users from changing mission while a mission is running. +- 661: Removed map view when no map is provided in default-state.json. + file. +- 712: Fixed front end hanging when user opens menu from any view + other than main view. +- 716: Removed connecting lines from disabled goals. + +### Known Issues + +- 131: Software upgrade process not documented fully. +- 609: Realsense D435 collision avoidance not fully tuned. +- 751: Wireless icon in UI doesn't work for Ubiquity hardware. +- 756: Waypoints stop turning grey when they are hit if a waypoint is + skipped. + +## 0.5.0 + +### New Features + +- Sensor Kit Options: Starter, Standard, Backpack. +- New localization module. +- Added support for UBlox F9K and F9P GNSS receivers in the + localization module. +- Added support for either single or dual Swiftnav Duro/Piksi GNSS + receiver(s) in the localization module. +- Added support for Realsense D435 camera in collision avoidance + module. +- New/updated user modifiable environment variables for sensor and + navigation tuning. +- Added a Virtual Guided tour of the application for first time users. +- Added StreetView and Bing map tiles (to existing MapBox tile). +- Allow users to specify custom map tile source. +- Added cosmetic changes to traversed waypoints as well as a robot. + status icon with ROS topic health information. + +### Bug Fixes + +- 253: Replace default camera image for camera views when stream is + unavailable. +- 281: Fixed navigation latched in a PAUSE state. +- 574: Fixed map settings page to not rerender when robots position + changes. + +### Known Issues + +- 131: Software upgrade process not documented fully. +- 609: Realsense D435 collision avoidance not fully tuned. + +## 0.4.0 + +### New Features + +- Improved wireless charger docking workflow and added ROS Noetic + docking support. +- Added option to record videos from cameras. +- Improved Docker setup to allow concurrent installation with + IndoorNav. +- Added initial support for integration with + [Formant](https://formant.io/). +- Added Docker installation support for Jackal and Warthog robots. + +### Bug Fixes + +- 480: Added rate limiter for continuous planner. +- 490: Fixed base station survey pop up to better reflect survey time. + +### Known Issues + +- 131: Software upgrade process not documented fully. + +## 0.3.0 + +### New Features + +- Upgraded from ROS Melodic to ROS Noetic. +- Published initial performance metrics. +- Updated system architecture to work in Docker containers. + +### Bug Fixes + +- 266: Allowed map offsets to be set more than once without needing to + reset them back to zero. +- 365: Updated costmap to handle large stop distances properly. +- 377: Fixed handling of goal tolerances of 0.02m or less. +- 389: Fixed issue with goal being skipped in some cases where final + heading was specified. + +### Known Issues + +- 131: Software upgrade process not documented fully. +- 150: Docking not yet implemented in Noetic. diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/safety.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/safety.mdx new file mode 100644 index 00000000..ea70a51b --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/safety.mdx @@ -0,0 +1,144 @@ +--- +title: Safety +sidebar_label: Safety +sidebar_position: 3 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +## Important Safety Information + +The use of Unmanned Ground Vehicles (UGVs) can result in unexpected and +dangerous behavior. Although Clearpath Robotics endeavors to create safe +and reliable software and systems, autonomous outdoor UGVs should not be +considered safe for unsupervised use around humans or other obstacles. +No level of safety and reliability of software and non-safety rated +hardware components is guaranteed. + +Clearpath strongly recommends that users carry out a risk assessment +related to their application and deployment of autonomous UGVs. The +ISO-12100 standard [Risk assessment and risk reduction](https://www.iso.org/standard/51528.html) provides guidance on +performing risk assessments. + +Functional safety in robotics is often achieved through the use of +safety related parts and control systems to minimize risks such as +safety LiDARs for obstacle detection. These hardware components must be +designed into the UGV hardware and can be tightly integrated with +navigation software. Clearpath Robotics recommends that this process be +undertaken after the product or process has been fully defined. It can +be a significant design effort. + +## Safety Notice Levels + +For Clearpath Robotics hardware and software, the risk level is captured +using the following types of labels. + +![](/img/outdoornav_images/safety_information.png) + +## General Hazard Labels + +Review the following to learn more about the labels that may be used on +Clearpath Robotics products. Hazards can also apply to attachments and +accessories used in conjunction with a Clearpath Robotics product. UGVs +from other providers may present additional hazards and risks. + +_General Hazards_ + +| Label | Label Title | Label Description | +|--------------------------------------------------------------------------------------|----------------------|------------------------------------------| +|
| Automatic Motion Hazard | Clearpath Robotics UGVs may begin moving suddenly, either autonomously or when being driven manually. Always be aware of Clearpath Robotics products and their potential for movement. | +|
| Crushing Risk | Objects or personnel can be crushed between the Clearpath Robotics UGV and another object. Keep hands and other objects clear of crush points at all times. Keep clear of all docking Clearpath Robotics UGVs. | +|
| Electrical Shock Risk | Clearpath Robotics UGVs contain circuitry and batteries that may cause electrical shock if not properly insulated. | +|
| Entanglement Risk | Clearpath Robotics UGVs as well as their cameras can lead to entanglement of hair or dangling materials during their rotation. Keep hair and dangling materials away from Clearpath Robotics UGVs during motion. | +|
| Environmental Hazard | Clearpath Robotics UGVs contain batteries and materials that may require special disposal methods. Consult local regulations. | +|
| Falling Object Risk | Beware of objects that may have shifted in any Clearpath Robotics UGV crate as they pose a risk of falling when opened. | +|
| High Surface Temperature Risk | UGV computer heat sinks and UGV motors can become extremely hot during operation. | +|
| Impact Risk | Clearpath Robotics UGVs travelling through a facility can potentially impact objects and personnel. Keep clear of all docking Clearpath Robotics UGVs. | +|
| Laser Radiation Risk | Clearpath Robotics UGVs may use Class 1 laser products. These provide no hazard during normal use, however it is not recommended to stare directly into the beam(s). | +|
| Material Hazard - Lithium | Lithium UGV batteries contain harmful material. Always use proper handling procedures when handling UGV batteries. | +|
| Manual Load Lifting Risk | Always use ergonomic techniques when manually lifting loads. | +|
| Pinching Risk | Keep hands and other objects clear of pinch points at all times. Keep clear of all docking Clearpath Robotics UGVs. | +|
| Radio Frequency Risk | Clearpath Robotics UGVs and/or accessories may use radio frequency (RF) radiating antennas. These provide no hazard during normal use, however prolonged exposure around the antenna is not recommended. | +|
| Tripping Hazard | Clearpath Robotics products may pose a tripping hazard. | + +## Safety Awareness + +Personnel present during the operation of an Unmanned Ground Vehicle +(UGV) need to be made aware or be accompanied by personnel who are +familiar with the specific risks and hazards associated with autonomous +mobile robots (AMR). The following checklist identifies basic topics +that should be addressed by site-specific worker and visitor safety +orientation training. + +
+ +
+ +- Proper PPE must be worn, including safety footwear (ie. steel toe). +- Crossing into the path of a moving UGV should be avoided, as well as + placing or throwing obstacles into the path of a moving UGV. + +
+ +
+ +- Be aware that a UGV can be anywhere in the operating area of the + facility at any time, and may pose a tripping hazard even when not + in motion. +- Personnel need to be aware of the UGV docking and charging areas, + where detection fields are reduced. +- Personnel should be aware that Clearpath Robotics UGVs LiDAR safety + scanners use a class 1 laser and high intensity LED. +- Personnel should keep all loose clothing and body parts away from + UGVs, accessories, attachments, and payloads, while they are in + autonomous operation. Using an Emergency Stop button is the only + acceptable manner of interacting with a Clearpath Robotics UGV or + attachment while it is being operated autonomously. + +In addition to the preceding basic items for all workers and visitors, +the following should be considered for facility personnel, including +drivers of other UGVs: + +- When required to move a product manually, personnel must ensure it + is in an Emergency Stop state or shut down completely and should not + push manually for prolonged periods. +- Alert personnel that while operating a Clearpath Robotics UGV + outside of the Autonomy State, they are solely responsible for + obstacle and collision avoidance. +- Maintenance of a Clearpath UGV not outlined in either this document + or the operations and maintenance manual can only be performed by a + Clearpath Robotics Authorized Personnel. + +To reduce the risk of harming people or damaging properties, a trained +operator must monitor the behavior of the UGV under autonomous +navigation mode at all times. The operator should use the wireless +emergency stop device to immediately avert any possible damaging or +dangerous behavior from the UGV. Failure in proper use of the software +might result in collision of the UGV into objects. + +- The minimum height for detecting obstacles under ideal operation + conditions (flat ground, no snow/rain/fog, normal operation of the + LiDAR, etc) when using the standard Clearpath Robotics OutdoorNav + Hardware package on a Husky is typically 0.2 meters high at 2.3 + meters distance away from the UGV. Your UGV may differ. Ensure that + low-height obstacles are removed from the potential path of the UGV + prior to operation. +- OutdoorNav Software does not have negative obstacle detection + capability. This means that your UGV will not detect stairs, cliffs + or edges and may drive off these obstacles causing harm to people or + properties as well as potentially damage the UGV. +- Adverse weather conditions may obscure obstacle detection and + avoidance data from the VLP-16 LiDAR. Obstacle detection and + avoidance may not function properly in snow, rain or fog. +- The current configurations of the OutdoorNav Software will continue + navigation if the WiFi disconnects or goes out of range. The Web UI + will reconnect once the WiFi has reconnected but certain functions + of the Web UI may be limited such as the ability to issue a stop + command or send new missions to the UGV. +- If connection of the UGV to the base station is lost (e.g., WiFi + goes out of range, low battery level, etc), UGV will not receive RTK + corrections from the base station. This can potentially decrease the + accuracy of the GPS signal which can subsequently degrade path + following performance of your system. +- Obstacle detection and avoidance is disabled during the docking and + undocking operations. Keep this area clear of people and objects. diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/simulation.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/simulation.mdx new file mode 100644 index 00000000..44cff5f7 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/simulation.mdx @@ -0,0 +1,20 @@ +--- +title: Simulation +sidebar_label: Simulation +sidebar_position: 9 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +Simulation with OutdoorNav Software can be useful in several ways. + +- It provides an easy (and low cost!) way of evaluating the main + features in OutdoorNav Software prior to purchasing. +- It allows missions to be planned, executed, and refined in a + repeatable way prior to deployment on UGV hardware. This can be + particularly helpful when integrating OutdoorNav into a larger + software solution, such as a fleet manager. + +At present, OutdoorNav Software simulation is restricted to internal +Clearpath Robotics development and select partners, but is planned for +full deployment. Check back soon for further details. \ No newline at end of file diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/support.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/support.mdx new file mode 100644 index 00000000..9212d99f --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/support.mdx @@ -0,0 +1,11 @@ +--- +title: Support +sidebar_label: Support +sidebar_position: 11 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +import OutdoorNavSupport from "/components/support_outdoornav.mdx"; + + \ No newline at end of file diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/web_user_interface/_category_.json b/outdoornav_user_manual_versioned_docs/version-0.11.0/web_user_interface/_category_.json new file mode 100644 index 00000000..a07ca158 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/web_user_interface/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Web User Interface", + "position": 6 +} diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/web_user_interface/ui_autonomous_mode.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/web_user_interface/ui_autonomous_mode.mdx new file mode 100644 index 00000000..61acab87 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/web_user_interface/ui_autonomous_mode.mdx @@ -0,0 +1,434 @@ +--- +title: Web UI Autonomous Mode +sidebar_label: Web UI Autonomous Mode +sidebar_position: 3 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +![](/img/outdoornav_images/gps_danger.png) + +Ensure that the [Safety](../safety.mdx) document has been +read and the user is aware of possible hazards when using this product as well as the safety +methods that can be used to stop the moving UGV. + +The Autonomous Mode of OutdoorNav Software is a set of robotic +navigation modules that enables robotics developers to define and then +autonomously execute missions on UGVs, getting work done without +requiring direct operator action. This software is composed of four main +modules: localization, navigation, safety monitoring and user control +unit. This a combination of Clearpath's proprietary packages and custom +configured open-source packages from ROS community. Please see the +software architecture section for more information. + +## Definitions {#definitions} + +The list below defines what a "Mission" is as well as its components. +These components are referred to throughout this manual. + +- **Mission** A Mission is a set of one or more Waypoints. +- **Path** The list of Waypoints that will determine the path + for the specific Mission. +- **Waypoint** A Waypoint is any geographical point referenced by its + position relative to the datum in meters. +- **Task** A Task is an automated activity or wait time implemented as + a ROS action at a specific Waypoint. Tasks are called in the order they are + added to a Waypoint. +- **Ghost Waypoint** A transparent waypoint that is not part of the mission. This + Waypoint appears between two other waypoints when in edit mode. The user can + drag and drop this ghost waypoint to add a new waypoint to the mission between + the other two waypoints. + +## Map Settings + +
+
+ +
Map settings
+
+
+ +To access the Map Settings: Menu → Settings → Map: + +1. **Map Offset:** The map tiles used in this software are not + perfectly aligned with the real world. Therefore, the user may need + to apply an offset to the map so that the UGV's position in the + real world matches its position on the map. +2. **Change Datum:** The datum is represented by a blue marker on the + map and should be set to a location within 10km of the test site. + The user can change this value in the Map Settings page. Enter the + new values and click the "Set Datum" button. + +## Mission Creation + +To create a new Mission first ensure that the UI is in "Edit Mode" ( +select the pencil icon in the bottom bar). Then open the drop down menu in the bottom +bar and select the "Add Mission" option. This will allow the user to create a new Mission +which can then be defined with Waypoints. + +### Waypoint Mode + +To add new Waypoints to a Mission while edit mode is enabled select the +"Waypoint Mode" button. This will allow the user to place Waypoints at +locations where the user clicks on the map. These will appear as red +Waypoints with the exception of the first waypoint (green) and the last waypoint (yellow). + +:::note + +**The first Waypoint in the Mission must be within 3.0 meters of the UGV's current position.** + +::: + +As Waypoints are placed, a "ghost waypoint" will appear between each pair of real +Waypoints and can be dragged to a new spot to insert a real Waypoint +between them. Waypoints can also be dragged and dropped on the map to +modify their positions. + +### Waypoint Panel + +
+
+ +
Waypoint Panel
+
+
+ +Enable the "Waypoint Panel" toggle to open the list of available Waypoints +within the selected Mission as shown in the figure above. The user can +now rearrange the list, rename Waypoints, add Tasks to the Waypoints, +and modify the final heading and/or tolerance of each Waypoint. The user can +also rename the mission and apply Tasks to when the Mission starts and stops. + +### Rename Mission + +To rename the Mission click the Mission name as it appears in the upper left +hand corner. This should change the text into an input box that can then be +modified. Press enter/click aside to save the change. + +### Mission Tasks + +A Mission can have Tasks assigned to when it starts and when it stops. These +Tasks will run in the order they are listed in and will always run whenever the Mission +starts or stops. + +### Rearrange List of Waypoints + +Waypoints can be rearranged in order of operation in the list. To do this, +enable the "Waypoints Panel" toggle to access the list of Waypoints. Here, the +user will be able to drag and drop the Waypoints to reorder them. + +### Rename Waypoint + +By default, once Waypoints are created they are assigned a default name +which is the word "Waypoint" followed by a numeric value representing the +the number of Waypoints that have been created plus one. The user has the +option to rename these Waypoints in order for them to have more descriptive +meaning. + +To rename a Waypoint follow these steps: + +1. Enable the "Waypoint Panel" toggle. See [Waypoint Panel](#waypoint-panel) + for further details. +2. Click the name of the Waypoint which the user wants to rename. +3. Erase the current name and type the new name. + +### Add Task to Waypoint {#add-task} + +
+
+ +
Add Task to Waypoint
+
+
+ +To add a Task to the end of a Mission: + +1. Click the "+" icon (beside the Gear icon) in the Waypoint Row the Task is + to be added to. + +2. Click the "Add Task" Button that has appeared. + +3. Select the Task from the dropdown list. Standard waypoint icons will be + replaced accordingly depending on the task selected (waypoint icons will keep the colours + assigned to them based on placement). Waypoints in the table will also have a small icon to indicate + if tasks are assigned to the Waypoint accordingly. + + - Dock UGV: + Will dock the UGV to begin charging the UGV's + battery. See [Autonomous Docking](#autonomous-docking) + for more information on the autonomous docking feature. + + - Move PTZ: + Will move the PTZ camera to the position selected + in the task settings. + + Settings: Select the camera position. See + [Pan-Tilt-Zoom (PTZ) View](ui_overview.mdx#ptz-view) for details on how to + save camera positions. + + - Save Image: + Will save an image using one of the UGV camera(s) + to the **/opt/onav/saved_files/media/...** directory and can be retrieved using a tool + such as Filezilla. + + Settings: Select which camera the image will be saved from. + + - Start/Stop Video Recording: + Will start/stop recording video using one of the + UGV camera(s) to the **/opt/onav/saved_files/media/...** folder and can be retrieved + using a tool such as Filezilla. + + Settings: Select which camera the recording will come from. + + - Undock UGV: + Will undock the UGV from the autocharge dock. Once + completed, the UGV can be sent on autonomous missions. It is + often recommended to place the undock task first in the list of Waypoints or as a start Mission Task; + that way, the UGV will automatically continue towards its next + Waypoint once undocked. + + :::note + + If the users places the Undock Task in the start Mission event the first Waypoint should be + approximately 2-3 meters behind the UGVs docked position. + + ::: + + - Wait: + Will pause and wait for the specified number of + seconds at the end of the Waypoint. + + Settings: Enter the amount of time to wait, in seconds. + + - New Custom Task: + Creates a new custom task that is defined by the user. +
+
+ +
Custom Task Settings Dialog
+
+
+ + - Task Name: Task name that will show up in the list of available tasks on the UI. + - Action Server Name: The namespace of the custom task action server. + - Float CSV: A list of comma seperated float values that consist of the numerical inputs to the custom task. + - String CSV: A list of comma seperated string values that consist of the semantic inputs to the custom task. + + See the [Custom Tasks](../features/custom_tasks.mdx) section + for details on how to develop custom tasks for your application. +4. The check box next to the Task name controls mission behaviour in the event that the Task fails. If the checkbox is + checked the Mission will proceed to the next step in it's process, such as the next task or navigating to the next Waypoint. + If its not checked, the Mission will become cancelled upon the Task's failure. +5. Click the Gear icon next to the selected Task to add the required + Settings. + + :::note + + If a waypoint has more than one task assigned to it, the icon will + be replaced with + + ::: + +### Advanced Settings + + + +#### Waypoint Heading + +When creating a Waypoint, the user has the option of setting a final heading +for the Waypoint. For example, when creating a Waypoint at an inspection point, +the user may want the UGV to navigate and stop facing a certain +direction. In [Waypoint Panel](#waypoint-panel), the list of +Waypoints can be seen and the advanced settings of each Waypoint can be accessed +by clicking the "Gear" icon. + +To set the Waypoint's final heading, the user will need to check the +"Final Heading Enabled" checkbox and enter the heading value in +degrees. The heading indicator on the top bar can be used to help set +this value. See the figure below showing the advanced settings. + +:::note + +Waypoints that have a heading or tolerance assigned to them will show a different colour +on their settings icon. + +::: + +
+
+ +
Waypoint Advanced Settings
+
+
+ +The heading that has been entered will only be applied to the Waypoint +(ie. the robot will only align itself with the correct heading at the +Waypoint). If the robot is required to be at specific headings at +other Waypoints the user will need to enter these in for each specific Waypoint. + +#### Waypoint Tolerance + +When creating a Mission, the user has the option of setting a specific +tolerance for each Waypoint. By default, the Waypoint position and orientation +tolerances are 0.3 meters and 180°, respectively. If a specific Waypoint +requires that the tolerances be either increased or decreased, these +values can be modified in the advanced settings. For example, if it's +required that the position and/or orientation at a Waypoint be very accurate, +such as 0.1 meters position and 5° orientation, or looser at 1.0 meter +position, this can be done within these settings. + +In [Waypoint Panel](#waypoint-panel), the list of waypoints can be +seen and the advanced settings of each Waypoint can be accessed by clicking +the "Gear" icon. To set the Waypoint's tolerance, the user will need to +check the "Waypoint Tolerance Enabled" checkbox and enter the position and +orientation values, in meters and degrees, respectively. + +### Constrained Replanning {#constrained_path} + +To enable the visualization of the contrained area of traversal (defined by +the path contraint around the reference path), navigate to the General settings +in the hamburger menu. Enable/disable the visualization of the path ui_route_deviation +distance using the switch button (see image below). + +
+
+ +
General settings
+
+
+ +Once enabled the area of possible deviation will show +over the planned route as can be seen in the following figure. + +
+
+ +
Route with maximum path deviation
+
+
+ +:::note + +If the UGV is manually driven outside of the constrained replanning area +while a Mission is running, the Mission will not be able to be resumed until the +UGV is returned within the navigable area defined by the path contraint. + +::: + +## Mission Execution + +### Start Mission + +There are multiple ways to start a Mission. At the bottom of the UI, the user has the ability to start the currently +selected Mission by clicking the "Play" button . +Starting the Mission this will start the Mission from the first Waypoint. The user may also select the drop down next to the button +to start the Mission from the current UGV position. This is a useful way to start a Mission in the event that the UGV was blocked by +obstacles that were later moved. Another way that a user can start a Mission is by selecting a waypoint in edit mode and then clicking on +"Start Mission from Here" option. If the UGV is within 3 metres of that Waypoint the Mission will start from there. + +
+
+ +
Starting from a specific Waypoint
+
+
+ +When the Mission has been started the Play button will turn green, regardless of how it has been started. + +### Pause Mission + +At the bottom of the UI, the user has the ability to pause the currently +running mission by clicking the "Pause" button . When the +mission has been paused this button will turn yellow. Pausing a mission +allows the user to take time to look around with the camera or to +teleoperate the UGV to a nearby location to perform an inspection. For +ease of operation, the user must PAUSE the active mission if the user +wants to teleoperate the UGV. + +### Cancel Mission/Task + +At the bottom of the UI, the user has the ability to stop the currently +running mission or task by clicking the "Stop" button . When the +mission/task has been cancelled this button will turn red. The name of +the mission/task will be shown to be cancelled in the feedback bar. + +## Autonomous Docking + +
+
+ +
Dock Icon
+
+
+ +### Docking The UGV + +To dock the UGV autonomously, the user should follow these steps: + +- Enable the "Edit Mission" toggle. +- Create a Mission whose Waypoints approach the dock from the front and + whose final Waypoint is within the maximum predock distance which is shown as a circle around the dock. +- Enable the Waypoints Panel toggle to view the list of Waypoints, rename the last + Waypoint to "Dock Waypoint" or something descriptive and add the "Dock + UGV" Task to this Waypoint. If there is more than one dock in the system the user will + have to open the task options and select the dock name from the list. +- Run the Mission. + +### Undocking The UGV + +To undock the UGV autonomously, the user should follow these steps: + +- Enable the "Edit Mission" toggle. Select the "Waypoint Mode" + button. +- Select the Waypoint icon on the bottom bar to create a Waypoint at the + current location of the UGV. This step should either be it's own mission + or it should be the starting point of a mission. +- Enable the Waypoints Panel toggle to view the list of Waypoints, rename this + Waypoint to "Undock Waypoint" or something descriptive and add the + "Undock UGV" task to the Waypoint that was just created. +- Run the Mission. + +### Compatibility with a Doghouse + +In order for the autonomous docking feature to be compatible with a doghouse, the +doghouse must conform to a few specifications: + +- Must be installed on a flat surface, and have no elevation change between the + charge-deck and the outdoor surface (ie. no ramp into the doghouse). +- Must be greater than 1.2 m wide. +- Must be between 1.5 and 2.5 m long. +- Dock target should be installed centered along the back of the doghouse. + +### Recover from Failed Docking or Undocking + +If for any reason, the docking or undocking tasks fail, the user can: + +- Manually drive the UGV towards the dock target, aligning the + charging unit with the receiver on the UGV. +- Manually drive the UGV in reverse away from the dock target. It is + suggested that the user reverse roughly 2-3 meters away from the target, + then wait 1-2 minutes before starting any autonomous navigation + missions. + +## Switching to IndoorNav + +If it is included in the UGV, IndoorNav can be executed through the OutdoorNav software. +To switch between the modes in OutdoorNav select the 'Navigation Mode' option found +in the hamburger menu. This will navigate to a page that shows the current mode and +provides an option to switch. When in IndoorNav mode the user may navigate to +the IndoorNav Web GUI directly or work within the OutdoorNav view as can be seen +below. + +
+
+ +
+
+ +:::note + +When in IndoorNav mode the OutdoorNav Autonomy software is switched off. The UI will +disable OutdoorNav UI features related to Autonomy but will still allow users the +option to view camera streams. + +::: \ No newline at end of file diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/web_user_interface/ui_manual_mode.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/web_user_interface/ui_manual_mode.mdx new file mode 100644 index 00000000..05588284 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/web_user_interface/ui_manual_mode.mdx @@ -0,0 +1,49 @@ +--- +title: Web UI Manual Mode (Teleoperation) +sidebar_label: Web UI Manual Mode (Teleoperation) +sidebar_position: 2 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +The Manual Mode in the Web UI allows the user to operate the UGV +remotely (teleoperate) by using sensors on the UGV to visualize the +environment and by using a joystick to control the motion of the UGV. + +![](/img/outdoornav_images/teleop_danger.png) + +Ensure that you have read [Safety](../safety.mdx) and are +aware of possible hazards when using this product as well as the safety +methods that can be used to stop the moving UGV. + +
+
+ +
Teleoperation Components
+
+
+ +1. **Speedometer:** An indicator of the UGV's current forward speed. +2. **Joystick:** The joystick will allow the user to move the UGV + manually from the UI. Motion can be sent to the UGV in 360° + directions and the speed can be controlled by the distance of the + joystick from its neutral position. +3. **Sensitivity Scale:** A UGV-specific scale that controls the + maximum allowable UGV velocities at each level. The maximum linear + velocity is 1.0 meters per second and the maximum angular velocity + is 0.5 radians per second. The scale levels are 100%, 80%, 50% and + 20%, with the default set to 80%. +4. **Local Docking Buttons:** The local docking/undocking buttons used + to dock/undock the UGV through the teleop view. To dock, the UGV + must be within the predock distance and facing the dock before the + button is selected. + +## Monitor Wireless Strength + +While teleoperating the UGV, the user will notice that the delay between +the time a command is sent and the time it is executed (and/or visible +on the UI camera views) will increase as the distance increases. This +effect will be further amplified by any obstacles between the UGV and +the base (eg. walls, vehicles, mounds, etc.). It is important to monitor +this delay an be cautious when driving the UGV with larger delay for +risk of crashing into obstacles. \ No newline at end of file diff --git a/outdoornav_user_manual_versioned_docs/version-0.11.0/web_user_interface/ui_overview.mdx b/outdoornav_user_manual_versioned_docs/version-0.11.0/web_user_interface/ui_overview.mdx new file mode 100644 index 00000000..8919c358 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-0.11.0/web_user_interface/ui_overview.mdx @@ -0,0 +1,423 @@ +--- +title: Web UI Overview +sidebar_label: Web UI Overview +sidebar_position: 1 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +The Web User Interface (Web UI) provides a easy, graphical, means to +control both manual and autonomous operation of your UGV. The following +sections outline: the components and views of the UI, the details of +operating in manual mode, and the details of operating in autonomous +mode. + +## Main Components + +
+
+ +
UI Main Components
+
+
+ +1. **Menu:** A dropdown menu allowing the user to access the Dashboard + (ie. Home), Settings, Status, Scheduler and Help pages. The Operator + can also run the UI Virtual Tour from this menu. + +2. **Feedback Bar:** The feedback bar will display information + regarding the execution state of the navigation and of any Tasks + being executed. + +3. **Path Progress Meter:** A meter indicating the percentage complete + of a Mission. + +4. **UGV Position:** The UGV's X and Y position in the world frame + relative to the Datum. Can also be shown in Lat/Lon coordinates + +5. **UGV Heading:** The UGV's heading in the world frame. 0 degrees is North, 90 degrees is East, 180 degrees is South and 270 degrees is West. + +6. **Status Indicator:** The status indicator will display information + regarding various UGV status monitors such as the Emergency Stop, + Surveying, etc. When the UGV is fully operational, the indicator + will be green. Operators can click on the status indicator to see more details + pertaining to the current state as well as past messages. + +7. **GPS Status Indicator:** The GPS status indicators will display GPS + signal accuracy for position (POS indicator) and heading (DIR + indicator). Green indicators represent RTK accuracy and are + currently required for accurate autonomous navigation. Yellow and orange + indicators represent SBAS and SPP accuracy respectively and noticeable + oscillations may occur in such cases. Red indicators mean no GPS signal + and autonomous navigation missions should not be started. + +8. **Battery Life Indicator:** The UGV's battery life indicator. + + :::note + + If the indicator is stuck at 50%, that means that your UGV does not + have a supported battery management system and this indicator is not + active. + + ::: + +9. **Wireless Connection Indicator:** The wireless connection indicator + represents the signal strength between the wifi access point + (typically the Base Station) and the UGV. If the system can support + cellular connections a cellular indicator will appear next to the + wifi icon with the currently active connection being highlighted in green. + +10. **Views List:** A dropdown list of available views, detailed later + in this section. Some of the available views are Map, Camera and 3D + views, etc. + +11. **Record Audio:** If the UGV is equipped with a microphone the user + can start/stop recording manually by clicking this icon. + +12. **Mission List:** View the list of Missions that Operator(s) have + created. + +13. **Edit Mission Toggle:** This toggle allows the Operator to start + creating Waypoints for the current Mission. The Operator will also be able to + drag and drop Waypoints in this mode. Once this button is enabled, + the Waypoint Mode will be available for selection. When a Mission is + started this toggle will be disabled (ie. the Operator will not be able + to modify/add Waypoints). + + :::note + + If the toggle is enabled while an autonomous Mission is running, it + will cancel the current Mission. + + ::: + +14. **Waypoint Panel Toggle:** View list of Waypoints in the current Mission. + +15. **Waypoint Drop Button:** The Waypoint indicator marker on the + bottom bar allows the Operator to place a Waypoint at the location of the UGV. + This action can also be triggered by using the shortcut key combination Shift + X. + +16. **Start Button:** Start the current Mission. + +17. **Pause Button:** Pause the current Mission. Pressing the start button + while paused will continue the current Mission. + +18. **Stop Button:** Cancel the Mission or Task that is currently being + executed. Pressing the start button while when stopped will restart + the list of steps in the current Mission. + + +By opening the dropdown list "Views", on the right side of the UI, the +Operator can access the following views: + +- Map View +- PTZ Camera View (if available) +- Front/Back Camera View (if available) +- 3D View + +## Map View + +
+
+ +
Map View
+
+
+ +1. **Zoom Buttons:** These buttons allow the user to zoom in/out of the + map levels. +2. **Zoom-to-Fit Button:** This button will zoom the map to where there + is activity (ie. where the datum is set or where Waypoints have been + set on the map. +3. **Pointer Mode Button:** This button allows the user to move the map + and select point on the map to see their coordinate (lat/lon or + x/y). +4. **Waypoint Mode Button:** This button allows the user to place + Waypoints on the map. Users can also select existing Waypoints to + modify/delete them. +5. **UGV:** The blue arrow represents the UGV. Its location is its + position in the world frame and its orientation is the heading in + the world frame. +6. **Base Station:** The yellow antenna icon is the last known location of + the base station based on the last survey performed. By clicking it the + user will be presented with the base station's coordinates, when it was + surveyed, and how many samples were taken during the survey. + +7. **Datum:** The blue Waypoint marker on the map view represents the + location of the reference point (ie. (x,y)=(0,0)) of the world + coordinate system. The world (ie. map) coordinate system is in the + ENU convention. +8. **Scale:** The scale representing the ratio of a distance on the map + to the corresponding distance on the ground. + +## Camera Views + +:::note + +If PTZ and/or Front/Back camera(s) are included on the UGV, their feeds +can be viewed through the UI and the PTZ can be controlled through the +UI. If not, there will not be any PTZ, Front/Back view(s) in the list of +available views. + +::: + +### Pan-Tilt-Zoom (PTZ) View {#ptz-view} + +
+
+ +
PTZ Camera View
+
+
+ +1. **Tilt Slider:** The left slider can be used to tilt the camera in a + vertical motion, (ie. upwards or downwards motion). By default, the + slider is at its neutral ("zero") position. +2. **Pan Slider:** The bottom slider can be used to pan/rotate the + camera, (ie. rotational motion). By default, the slider is at its + neutral ("zero") position. +3. **Zoom Slider:** The right slider can be used to zoom the camera + feed. By default, the slider is at its neutral ("zero") position. +4. **Save Image:** Depending on the current camera view selected, this + button will save an image to the computer/tablet running the UI. + Images will be saved to the location in which your browser saves + files. +5. **Camera Positions List:** Display the list of available camera + positions that have been saved. These camera positions can be + deleted from this list by clicking the "garbage can" icon beside + the corresponding position. +6. **Save Camera Position:** This button will save the camera position + to be used in the "Move PTZ" task. An example use case would be: + 1. Switch to the PTZ camera view. + 2. Teleoperate the UGV to a location at which the user can inspect + something. + 3. Move the camera sliders to orient the camera such that it is + looking at the inspection point. + 4. Click the "Save Camera Position". + 5. When creating an autonomous mission to this inspection point, + add the "Move PTZ" task to a Waypoint. + 6. Click the settings button beside the task and add the camera + position related to the inspection point. + +### Front and Back Views + +
+
+ +
Front View
+
+
+ +
+
+ +
Back View
+
+
+ +## 3D View + +The 3D view allows the user to visualize the pointcloud data being +acquired by the VLP-16 LiDAR. + +
+
+ +
3D View
+
+
+ +## System Configuration + +### General Settings + +The General settings section can be found in through the upper left hand menu and allows the Operator to modify +general features of the UGV. + +
+
+ +
General Settings Page
+
+
+ +#### Coordinates + +The Operator can change the coordinate space from X/Y relative to the Datum to Latitude/Longitude. + +#### Save Image Location + +The Operator can choose to store images saved manually to the robot directly or to download them onto their computer. This +feature only affects the manual save image option found on each relevant camera view. + +#### Robot Internet Connection Type + +If the UGV is equipped with SIM card and can switch between Cellular and WiFi connections, the Operator can manually trigger this +change through the general settings page. This switchover will take approximately 30 seconds and will require a refresh on the UI. + +#### Show Path Deviation Distance + +When a mission is running the UGV will have a maximum path deviation distance that it shouldn't cross if it needs to replan. If this +toggle is set to true, while in edit mode this buffer is shown over top of the path as the Operator creates/edits the mission. This +toggle does not disable the path deviation distance feature. + +#### Low Power Mode + +If the UGV is equipped with a Low Power Module this toggle allows the user to switch the UGV into a low power state that will drastically +limit functionality but help conserve power. This mode is best used to help better facilitate charging while the UGV is not in use. + +### Map Source Configuration + +The Web UI ships with access to free +[OpenStreetMap](https://www.openstreetmap.org/) maps. Aerial view +requires access to third-party aerial maps or your own aerial maps. + +The Web UI is pre-configured to work with +[MapBox](https://www.mapbox.com/) and [Bing +Maps](https://www.bingmapsportal.com/) once a suitable map key has been +acquired. Both services offer a free tier that will be sufficient in +almost all cases. + +#### Using OpenStreetMap Maps + +As no key is required to use +[OpenStreetMap](https://www.openstreetmap.org/) maps, the process to +select these maps in the Web UI is simple. + +1. In the Web UI, from the menu, select **Settings→Map** to bring up + the **Map Settings** page. +2. Select **OpenStreetMap** +3. Click **Ok**. + +
+
+ +
Using Map Settings to select OpenStreetMap
+
+
+ +#### Using MapBox Maps + +Using [MapBox](https://www.mapbox.com/) maps requires a key, which can +then be used by the Web UI. The steps to set up MapBox are outlined +below. + +1. Acquire a MapBox key from the [MapBox + website](https://account.mapbox.com/auth/signup/). Review the + license terms and select the appropriate plan. In most cases, the + free tier will be sufficient. +2. Back in the Web UI, from the menu, select **Settings→Map** to bring + up the **Map Settings** page. +3. Select **MapBox**. +4. Copy the MapBox key from Step 1 into the **Map Key** field. +5. Click **Ok**. + +
+
+ +
Using Map Settings to select MapBox
+
+
+ +#### Using Bing Maps + +Using [Bing Maps](https://www.bingmapsportal.com/) requires a key, which +can then be used by the Web UI. The steps to set up Bing Maps are +outlined below. + +1. Acquire a Bing Maps key from the [Bing + website](https://www.microsoft.com/en-us/maps/create-a-bing-maps-key). + Review the license terms and select the appropriate plan. In most + cases, the free tier will be sufficient. +2. Back in the Web UI, from the menu, select **Settings→Map** to bring + up the **Map Settings** page. +3. Select **Bing Maps**. +4. Copy the Bing Maps key from Step 1 into the **Map Key** field. +5. Click **Ok**. + +
+
+ +
Using Map Settings to select Bing Maps
+
+
+ +#### Using Custom Maps {#using_custom_maps} + +Custom Maps allow you to use another set of maps in XYZ format, either +from a third-party map provider or from maps that you have generated on +your own, such as from drone aerial images. Custom maps can be selected +by using the steps below. + +1. Ensure that the maps are accessible on an internal network or on the + Internet by the device that is being used to display the Web UI, + such as a laptop, tablet, or desktop computer. +2. Ensure that the directory structure for the individual tiles is well + defined. See the section below for details on + [Preparing Custom Map Tiles from Drone Aerial Images](#preparing_custom_map_tiles). +3. In the Web UI, from the menu, select **Settings→Map** to bring up + the **Map Settings** page. +4. Select **Custom**. +5. Enter the network path for the maps into the **Custom URL** field. + If hosting the maps on your local computer, this will be similar to + . Note how the + URL is parameterized with `{z}`, `{x}`, and `{-y}` values. This will + need to be adapted to match the directory structure of your map tile + images. +6. Click **Ok**. + +
+
+ +
Using Map Settings to select Custom maps
+
+
+ +#### Preparing Custom Map Tiles from Drone Aerial Images {#preparing_custom_map_tiles} + +In some cases, it is desirable to create your own maps rather than using +third party maps which might be outdated. One way to do this is to use a +drone to capture aerial images and convert those images into map tiles. +While there are many ways to accomplish this, one approach is outlined +below. + +1. Use a drone to collect top-down photos covering the area of + interest. It is highly recommended to use a drone control app that + allows you to specify the area of interest and desired image overlap + (recommended \~75%) and takes care of coverage planning, drone + control, and image acquisition. + +2. Perform ortho-mosaicing/ortho-rectification to stitch the collected + images together into a single orthographic image. [Open Drone + Map](https://www.opendronemap.org/) is a popular open source project + that Clearpath has used for stitching, but there are also paid + services that automate the process. + +3. Georeference the orthographic image. One way to do this is to define + the locations of well-defined features (sewer grates, utility holes, + etc.) based on their known positions, such as their position data + from an existing mapping service (e.g., Google Maps). Open source + tools, such as [QGIS](https://www.qgis.org/en/site/) can help with + this process. + +4. Generate the map tiles. Using Ubuntu, this can be accomplished with + the following commands, where `GEOREFERENCED_IMG.tif` is the output + of the previous step. + + ``` + sudo apt install gdal-bin + gdal2tiles.py + ``` + +5. Use a web server to host the tiles locally. Using Ubuntu, one way to + accomplish this is to use the commands below, which will make the + tiles available at: . + + ``` + cd /base/directory/of/tiles + python3 -m http.server + ``` + +Once your map tiles are available on the network, you can follow the +steps in [Using Custom Maps](#using_custom_maps) to have the +Web UI use your custom tiles. diff --git a/outdoornav_user_manual_versioned_sidebars/version-0.11.0-sidebars.json b/outdoornav_user_manual_versioned_sidebars/version-0.11.0-sidebars.json new file mode 100644 index 00000000..2782dc0f --- /dev/null +++ b/outdoornav_user_manual_versioned_sidebars/version-0.11.0-sidebars.json @@ -0,0 +1,8 @@ +{ + "sidebar": [ + { + "type": "autogenerated", + "dirName": "." + } + ] +} diff --git a/outdoornav_user_manual_versions.json b/outdoornav_user_manual_versions.json index 0d0a98d5..f45c560e 100644 --- a/outdoornav_user_manual_versions.json +++ b/outdoornav_user_manual_versions.json @@ -1,4 +1,5 @@ [ + "0.11.0", "0.10.0", "0.9.0", "0.8.0", diff --git a/static/versions.js b/static/versions.js index 50ec7a49..b1075573 100644 --- a/static/versions.js +++ b/static/versions.js @@ -1,5 +1,5 @@ const versions = Object.freeze({ - "outdoornav": "0.10.0", + "outdoornav": "0.11.0", }); export default versions;