diff --git a/README.md b/README.md index 11e4f1b65..edd466d89 100644 --- a/README.md +++ b/README.md @@ -50,9 +50,9 @@ git clone https://github.com/clearpathrobotics/cpr-documentation.git -2. Create a branch from development. with a name indicating the purpose, such as _feature_xxxxxx_ +2. Create a branch from development with a name indicating the purpose, such as _feature_xxxxxx_ 3. Make changes to the relevant files. -4. Test using your local server, using the steps mentioned [Steps to run this on your computer locally](##-steps-to-run-this-on-your-computer-locally) +4. Test using your local server, using the steps mentioned [Steps to run this on your computer locally](#steps-to-run-this-on-your-computer-locally) 5. When ready, enter `ctrl-c` in your terminal to stop the server. Then run `npm run build` to test that the site builds corretly. 6. Resolve any errors that the terminal reports, and rerun the command `npm run build`. 7. Finally, check that your updates adhere to our code formatting standard, by running the command `npm run format-check`. @@ -129,18 +129,18 @@ When it is time to publish a numbered release of the user manual:
Follow the steps for the OutdoorNav User Manual workflow above, replacing -**outdoornav** with **indoornav**. +outdoornav with indoornav. -## Workflow for publishing Robots / ROS User Manual updates +## Workflow for publishing Software User Manual updates
-Click to expand for details on how to update the Robots / ROS User Manual +Click to expand for details on how to update the Software User Manual
-The Robots / ROS sections of the website are a "versioned" document called `docs`, which means that a snapshot of the content is +The Software sections of the website are a "versioned" document called docs, which means that a snapshot of the content is made to align with each ROS version. This allows users to access version-specific copies of the documentation. @@ -217,7 +217,7 @@ includeCurrentVersion: false, HTML commenting—``—causes issues with the MDX extension in VS Code. 2. Refer to [Docusaurus's guide](https://docusaurus.io/docs/next/markdown-features) for supported Markdown features. 3. For advanced users, refer to [Markdown MDX](https://mdxjs.com/) for adding React Components to a Markdown file. -4. for advanced users, you may create React pages using _.js_ or _.ts_ file types. +4. For advanced users, you may create React pages using _.js_ or _.ts_ file types. ## How should I name files? @@ -513,3 +513,33 @@ Even though the font size has been modified, the rendered diagram's font may not `} /> ``` + +## Spelling Guide + +Spelling on within this repository should align with the Government of Canada's [TERMIUM Plus®](https://www.btb.termiumplus.gc.ca/). +Industry terms should align with the related organization's preferred spelling. + +
+ Click to expand spelling examples + + + + + + + + + + + + + + + + + + + + +
Correct spellingMistake
10Ten
2X2x
AluminumAluminium
AntennasAntennae
AntennasAerial
AWS, or Amazon Web ServicesAmazon AWS
ColourColor
ComputerPC
Enable SwitchDeadman Switch
Emergency StopE-stop
GitHubGithub
LidarLiDAR
MetreMeter
ROS 2ROS2
RVizRviz
Gmappinggmapping
TireTyre
Wi-Fiwifi
+
diff --git a/components/common_wireless_joystick_ps4.mdx b/components/common_wireless_joystick_ps4.mdx index eed2fa404..2bb214787 100644 --- a/components/common_wireless_joystick_ps4.mdx +++ b/components/common_wireless_joystick_ps4.mdx @@ -11,7 +11,7 @@ To connect the joystick to your robot: 3. Press the _PS_ button in the centre of the joystick. 4. The joystick's top LED should start pulsing white or blue. This means the joystick is attempting to connect. -5. The joysick's top LED should eventually become solid blue, indicating that it has connected to the robot's computer. +5. The joystick's top LED should eventually become solid blue, indicating that it has connected to the robot's computer.
diff --git a/components/husky_a200/husky_a200_step_model.mdx b/components/husky_a200/husky_a200_step_model.mdx index fdedc6b4f..d37440d2d 100644 --- a/components/husky_a200/husky_a200_step_model.mdx +++ b/components/husky_a200/husky_a200_step_model.mdx @@ -3,7 +3,7 @@ import ComponentButtonStepDownload from "/components/button_download_step.tsx"; ### STEP Model {#step-model}
- + This simplified 3D model of the Husky A200 includes details like the internal battery, circuit board where you can connect to the robot's electrical diff --git a/components/husky_a300/husky_a300_amp_arch_cables.mdx b/components/husky_a300/husky_a300_amp_arch_cables.mdx index 70460c502..ec792f649 100644 --- a/components/husky_a300/husky_a300_amp_arch_cables.mdx +++ b/components/husky_a300/husky_a300_amp_arch_cables.mdx @@ -4,7 +4,7 @@ The _Sensor Arch_ places Husky's cameras and GNSS antennas above the robot for o These steps will give you access to the related cable routings for repairs: 1. Remove the 3 screws from the inside access panel. -2. Remove the panel by sliding is toward the end of the robot. +2. Remove the panel by sliding it toward the end of the robot. 3. The _Arch Posts_ have cable tie anchors. You can remove the cable ties with side cutters. 4. Cables route through an obround cutout in the _Enclosure_. diff --git a/components/husky_a300/husky_a300_amp_check_sensors.mdx b/components/husky_a300/husky_a300_amp_check_sensors.mdx index ddbce4a23..82a8d832c 100644 --- a/components/husky_a300/husky_a300_amp_check_sensors.mdx +++ b/components/husky_a300/husky_a300_amp_check_sensors.mdx @@ -3,7 +3,7 @@ Husky AMP includes several sensors that are used for robot navigation. After connecting to Husky AMP's network, confirm that each sensor is functional by using the steps below. -1. Connect to your laptop to the robot using SSH. To do so, execute the following in a terminal window: +1. Connect your laptop to the robot using SSH. To do so, execute the following in a terminal window: ``` ssh robot@192.168.131.1 ``` diff --git a/components/husky_a300/husky_a300_amp_connector_bulkhead.mdx b/components/husky_a300/husky_a300_amp_connector_bulkhead.mdx index a2b035ce8..e8396ffe8 100644 --- a/components/husky_a300/husky_a300_amp_connector_bulkhead.mdx +++ b/components/husky_a300/husky_a300_amp_connector_bulkhead.mdx @@ -11,7 +11,7 @@
To make a Husky AMP, we take a Husky A300, remove the Top Plate, and then install an enclosure on top of the base robot. -We added a connector bulkhead between the base robot and the enclosure to keep cable routings tidy, and make the maintenence process quick. +We added a connector bulkhead between the base robot and the enclosure to keep cable routings tidy, and make the maintenance process quick. The connectors on this bulkhead are extension cables from existing [Husky A300 interfaces](/docs_robots/outdoor_robots/husky/a300/integration_husky/#system-interface-circuit-board-connector-summary), which are listed below.
diff --git a/components/husky_a300/husky_a300_components_observer.mdx b/components/husky_a300/husky_a300_components_observer.mdx index 8db45cc78..1ac520f4a 100644 --- a/components/husky_a300/husky_a300_components_observer.mdx +++ b/components/husky_a300/husky_a300_components_observer.mdx @@ -32,6 +32,6 @@ Refer to the [Husky A300 AMP's Components Overview](/docs_robots/solutions/husky src="/img/robot_images/husky_a300_images/husky_a300_observer_isometric_3.png" width="800" /> -
The Husky Oberver, with the included Stationary Dock.
+
The Husky Observer, with the included Stationary Dock.
diff --git a/components/husky_a300/husky_a300_computer.mdx b/components/husky_a300/husky_a300_computer.mdx index e55ca3016..00e96eeab 100644 --- a/components/husky_a300/husky_a300_computer.mdx +++ b/components/husky_a300/husky_a300_computer.mdx @@ -30,7 +30,7 @@ Clearpath offers a standard computer with an Intel i3 processor, or a performanc 4. Wi-Fi antennas. 5. Power cable. 6. Optional graphics card's PCIe riser cable. - 4. Remove the 4 screws fastning the computer to Husky's _Electronics Tray_. + 4. Remove the 4 screws fastening the computer to Husky's _Electronics Tray_. 5. Remove the computer from the robot. :::note diff --git a/components/husky_a300/husky_a300_electronics_tray.mdx b/components/husky_a300/husky_a300_electronics_tray.mdx index a514e21af..6b46f07d2 100644 --- a/components/husky_a300/husky_a300_electronics_tray.mdx +++ b/components/husky_a300/husky_a300_electronics_tray.mdx @@ -19,7 +19,7 @@ This tray includes the: * Optional secondary computer or graphics card, _(not shown in the image)_ * Optional USB hub, _(not shown in the image)_ -You may want to access remove the _Electonics Tray_ to access the integration bay under the tray, +You may want to remove the _Electronics Tray_ to access the integration bay under the tray, or to maintain Husky's _Batteries_ and _Power Distribution_ components. #### Hinging The Electronics Tray diff --git a/components/husky_a300/husky_a300_emergency_stop_buttons.mdx b/components/husky_a300/husky_a300_emergency_stop_buttons.mdx index 935157420..1efef00e3 100644 --- a/components/husky_a300/husky_a300_emergency_stop_buttons.mdx +++ b/components/husky_a300/husky_a300_emergency_stop_buttons.mdx @@ -33,7 +33,7 @@ The 2 relays are connected in series, so if one welds closed due to a failure, t The relays's physical states are monitored with Husky's Common Core microcontroller, and should flag a maintenance issue if either relay is damaged. - Husky's microcontroller is does not meet any performance level per ISO 13849-1. + Husky's microcontroller does not meet any performance level per ISO 13849-1. Husky's microcontroller can be replaced with a PLC to achieve a known performance level for fault monitoring. [Contact our Support Team](#support) if you have questions about this. diff --git a/components/husky_a300/husky_a300_emergency_stop_clearing.mdx b/components/husky_a300/husky_a300_emergency_stop_clearing.mdx index 04af70154..12fecef48 100644 --- a/components/husky_a300/husky_a300_emergency_stop_clearing.mdx +++ b/components/husky_a300/husky_a300_emergency_stop_clearing.mdx @@ -20,7 +20,7 @@ The Husky's status lights show these light patterns for different Emergency Stop 1. Twist all the _Emergency Stop Buttons_. 2. Close the Husky's _Rear Charge Port Door_. -3. If included; conncet the _Wireless Emergency Stop_ to the Husky. +3. If included; connect the _Wireless Emergency Stop_ to the Husky. 4. If included; clear the Emergency Stop State on your custom devices. After clearing the Emergency Stop, the Husky's status lights should change to the _Needs Reset_ state's pattern. diff --git a/components/husky_a300/husky_a300_fans.mdx b/components/husky_a300/husky_a300_fans.mdx index d5a86a40a..c89bebbb1 100644 --- a/components/husky_a300/husky_a300_fans.mdx +++ b/components/husky_a300/husky_a300_fans.mdx @@ -34,7 +34,7 @@ These fans operate similar to a server; as all 4 push air into the robot to crea src="/img/robot_images/husky_a300_images/husky_a300_fans_2.png" width="500" /> -
Fiew From The Front Of Husky
+
View From The Front Of Husky
7. Disconnect the fan's latching connector, and remove the fan. diff --git a/components/husky_a300/husky_a300_internal_integrations.mdx b/components/husky_a300/husky_a300_internal_integrations.mdx index 005557778..f3e9e8cb5 100644 --- a/components/husky_a300/husky_a300_internal_integrations.mdx +++ b/components/husky_a300/husky_a300_internal_integrations.mdx @@ -2,7 +2,7 @@ [//]: <> (TODO, add image of an internal integration) -There are interfaces inside the Husky for your custom compnents. +There are interfaces inside the Husky for your custom components. This [Interface Control Drawing](/assets/pdf/clearpath_robotics_034163.pdf) shows the available volume near the robot's batteries, noting that the size of this volume changes depending on what battery configuration your Husky has—_(40 Ah, 80 Ah, or 120 Ah)_. The drawing also shows mounting provisions on the robot's Electronics Tray, for including these components: diff --git a/components/husky_a300/husky_a300_ip_addresses.mdx b/components/husky_a300/husky_a300_ip_addresses.mdx index 79a1047a9..642b9af12 100644 --- a/components/husky_a300/husky_a300_ip_addresses.mdx +++ b/components/husky_a300/husky_a300_ip_addresses.mdx @@ -53,6 +53,6 @@ :::info Custom Additions Our [Network IP Addresses page](/docs/ros/networking/network_ip_addresses) lists the common ranges we use per sensor type. -Clearpath will provide a supplementary manual that includes the IP addressess of custom configuration sensors. +Clearpath will provide a supplementary manual that includes the IP addresses of custom configuration sensors. ::: diff --git a/components/husky_a300/husky_a300_lifting_sling.mdx b/components/husky_a300/husky_a300_lifting_sling.mdx index 12143f61a..951e81657 100644 --- a/components/husky_a300/husky_a300_lifting_sling.mdx +++ b/components/husky_a300/husky_a300_lifting_sling.mdx @@ -10,7 +10,7 @@ -The lifting equipment and straps must rated for the weight of Husky and any mounted payloads, plus any factor of safety per your local worksite regulations. +The lifting equipment and straps must be rated for the weight of Husky and any mounted payloads, plus any factor of safety per your local worksite regulations. Refer to the [Husky's Technical Specifications](#technical-specifications) for the weight of Husky and its maximum payload. :::note diff --git a/components/husky_a300/husky_a300_lockout_tagout.mdx b/components/husky_a300/husky_a300_lockout_tagout.mdx index b3c8b0f86..89de6ea23 100644 --- a/components/husky_a300/husky_a300_lockout_tagout.mdx +++ b/components/husky_a300/husky_a300_lockout_tagout.mdx @@ -11,7 +11,7 @@ import Admonition from "@theme/Admonition"; -Lockout procedures remove potentional energy from machines as we perform maintenance. +Lockout procedures remove potential energy from machines as we perform maintenance. This reduces risk of harm while performing maintenance. The Husky's main source of potential energy is the batteries. We cannot completely discharge these batteries without damaging them, but we can disconnect them from all the robot's electronics. diff --git a/components/husky_a300/husky_a300_motors.mdx b/components/husky_a300/husky_a300_motors.mdx index e82195ec5..9dea6c3f7 100644 --- a/components/husky_a300/husky_a300_motors.mdx +++ b/components/husky_a300/husky_a300_motors.mdx @@ -22,9 +22,9 @@ width="600" /> - 3. Disconnect the both sets of motor power and cables from the chassis on the side of the robot with the motor being replaced. + 3. Disconnect both sets of motor power and cables from the chassis on the side of the robot with the motor being replaced. The thick power cables are removed by pulling on the cable. - The thiner data cables have a latch on the connector; press on the latch and then pull on the connector. + The thinner data cables have a latch on the connector; press on the latch and then pull on the connector.
5. Remove the failing circuit board by gently lifting the board up. - These circuit boards have many pins, so a large amount of force is requred. + These circuit boards have many pins, so a large amount of force is required.
<> Husky A300 with payload can have a total kinetic energy of 360 joules of energy (180 kg at 2 m/s). - This is a significant amount of energy that can cause severe injury of death. + This is a significant amount of energy that can cause severe injury or death.

Husky A300, Husky AMP, and Husky Observer have been designed to ensure the robot will not impact a person's torso or head. @@ -393,7 +393,7 @@ export function ComponentRiskAssessmentLine_24() { <> Do not ride on a moving Husky A300. - This includes standing, sitting, or any other method of mobing a person using a Husky A300. + This includes standing, sitting, or any other method of moving a person using a Husky A300.

The robot may become unstable or move unpredictably. @@ -445,7 +445,7 @@ export function ComponentRiskAssessmentLine_27() { Racking must be securely fastened, and be loaded to prevent falling items.

- It is the commissioning and operating teams's responibility to ensure that the Husky A300 colliding with racking will not cause items to fall on a person. + It is the commissioning and operating teams's responsibility to ensure that the Husky A300 colliding with racking will not cause items to fall on a person. It is the commissioning team's responsibility to ensure local regulations are followed.
@@ -675,7 +675,7 @@ export function ComponentRiskAssessmentLine_53() {
<> - Always tie up long hair, and remove loose jewellery, and wear clothing without snag points when working aroung Husky A300. + Always tie up long hair, and remove loose jewellery, and wear clothing without snag points when working around Husky A300. This reduces the risk of entanglement with the moving robot. diff --git a/components/husky_a300/husky_a300_safety_system_functionality.mdx b/components/husky_a300/husky_a300_safety_system_functionality.mdx index 8ba4ebd87..3613642bf 100644 --- a/components/husky_a300/husky_a300_safety_system_functionality.mdx +++ b/components/husky_a300/husky_a300_safety_system_functionality.mdx @@ -11,7 +11,7 @@ Husky A300 is equipped with 3 safety functions to reduce the system risk: :::info Your commissioning team must evaluate the functionality of Husky's safety functions in the context of your worksite and use case. -Perfrom a Risk Assessment to understand the risks of deploying Husky in your application, and whether customizations should be be made to recude these risks. +Perform a Risk Assessment to understand the risks of deploying Husky in your application, and whether customizations should be made to reduce these risks. ISO 12100 is the Risk Assessment guide that we use at Clearpath Robotics, but there are other options from standards agencies like ISO, and IEC. diff --git a/components/husky_a300/husky_a300_system_architecture.mdx b/components/husky_a300/husky_a300_system_architecture.mdx index 52ca0ac26..7a149c376 100644 --- a/components/husky_a300/husky_a300_system_architecture.mdx +++ b/components/husky_a300/husky_a300_system_architecture.mdx @@ -105,7 +105,7 @@ import Admonition from "@theme/Admonition";

- The motor controllers and batteries connect to the MCU through indiviual CANbuses. + The motor controllers and batteries connect to the MCU through individual CANbuses. The MCU's firmware then passes this to the computer over Ethernet. The computer is configured with SocketCAN to interface with these networks. diff --git a/components/husky_a300/husky_a300_system_limits.mdx b/components/husky_a300/husky_a300_system_limits.mdx index 0cb09b6bd..0ce612f22 100644 --- a/components/husky_a300/husky_a300_system_limits.mdx +++ b/components/husky_a300/husky_a300_system_limits.mdx @@ -82,7 +82,7 @@ To reduce current draw, consider commanding wider-radius turns from your control Ensure that the robot's centre of mass will not result in tipping hazards due to driving on hills. Your commissioning team needs to perform calculations to confirm the robot's centre of mass will remain within the robot's footprint across its operating terrain. -You calculations should include a safety margin. +Your calculations should include a safety margin. Refer to the [Technical Specifications](#technical-specifications) for the safe operating limits when there is no payload on the Husky. diff --git a/components/husky_a300/husky_a300_tire.mdx b/components/husky_a300/husky_a300_tire.mdx index 8e5555938..a51820df1 100644 --- a/components/husky_a300/husky_a300_tire.mdx +++ b/components/husky_a300/husky_a300_tire.mdx @@ -52,7 +52,7 @@ The robot may become tip over if you remove a wheel without stabilizing the chas
7. Replace the tire and/or tube as needed with new parts. - Make sure the tire's chevron treds are facing the correct direction, as the left and right wheels have different tred orientations. + Make sure the tire's chevron treads are facing the correct direction, as the left and right wheels have different tread orientations. Ensure that the tube is installed in the tire and inflated only far enough that it takes its shape. Inflating further will make reassembly difficult. diff --git a/components/husky_a300/husky_a300_tire_pressure.mdx b/components/husky_a300/husky_a300_tire_pressure.mdx index 6b3b868cf..ee3a50df5 100644 --- a/components/husky_a300/husky_a300_tire_pressure.mdx +++ b/components/husky_a300/husky_a300_tire_pressure.mdx @@ -23,7 +23,7 @@ The Husky's tires should all be between 70 kPa to 140 kPa _(10 psi to 20 psi)_. We suggest 140 kPa for use cases on flat asphalt or concrete, to improve turning performance. Lower tire pressures improve traction in rough and varied terrain, with rocks or other obstacles. -Lower tire pressuses also reduce the effective diameter of the wheel, which will increase the error of odometry readings. +Lower tire pressures also reduce the effective diameter of the wheel, which will increase the error of odometry readings. Odometry is calculated using the average diameter of a tire inflated to 137 kPa _(20 psi)_. ::: diff --git a/components/husky_a300/husky_a300_whats_included.mdx b/components/husky_a300/husky_a300_whats_included.mdx index 5ac81bece..9668737d8 100644 --- a/components/husky_a300/husky_a300_whats_included.mdx +++ b/components/husky_a300/husky_a300_whats_included.mdx @@ -14,7 +14,7 @@ :::info Clearpath Robotics also provides integration services. -Your order may include addional sensors, auxiliary hardware, or software packages. +Your order may include additional sensors, auxiliary hardware, or software packages. This additional work will come preinstalled on your robot. ::: diff --git a/components/maintenance/firmware_update_puma.mdx b/components/maintenance/firmware_update_puma.mdx index f6162b354..3839ac8db 100644 --- a/components/maintenance/firmware_update_puma.mdx +++ b/components/maintenance/firmware_update_puma.mdx @@ -57,7 +57,7 @@ The wrong orientation will irreparably damage the motor controller. :::warning -Remove jewlery and similar electrically conductive objects from your hands and arms. +Remove jewelry and similar electrically conductive objects from your hands and arms. The capacitors on the motor controllers store energy even after the robot is turned off. Conductive objects that electrically-short the motor controller's terminals can cause shocks or burns to your hands. @@ -156,7 +156,7 @@ Change the permissions to `Allow executing file as a program`.
-Alternatively; you can add execute permissions to sflash using a termainal. +Alternatively; you can add execute permissions to sflash using a terminal. Navigate to the file through a terminal, and running: ``` diff --git a/components/maintenance/lifepo4_battery_care_tips.mdx b/components/maintenance/lifepo4_battery_care_tips.mdx index 071ada46a..803261f86 100644 --- a/components/maintenance/lifepo4_battery_care_tips.mdx +++ b/components/maintenance/lifepo4_battery_care_tips.mdx @@ -1,7 +1,7 @@ In general, following these tips will help maximize the life of the battery: - Always fully charge the battery as soon as you are finished using it. -- Charge batteries at room temperature. Never charge LiFEPO4 batteries at temperatures above 45°C or below 0°C. +- Charge batteries at room temperature. Never charge LiFePO4 batteries at temperatures above 45°C or below 0°C. - Charge batteries in a well-ventilated area. - Do not allow the battery to freeze. Never charge a frozen battery. - Stored batteries should be charged and balanced every 4 -6 months. diff --git a/components/maintenance_husky/maintenance_husky_tire_and_inner_tube.mdx b/components/maintenance_husky/maintenance_husky_tire_and_inner_tube.mdx index a8f7319db..cb4cedbd1 100644 --- a/components/maintenance_husky/maintenance_husky_tire_and_inner_tube.mdx +++ b/components/maintenance_husky/maintenance_husky_tire_and_inner_tube.mdx @@ -144,7 +144,7 @@ You want to make sure the inner tube does not get pinched between the two rims i #### 9. Connect the two halves of the split-rim using the installation tool or two bolts. -Note that the threaded adaper plate does on the side of the rim with the air-fill-stem. +Note that the threaded adapter plate does on the side of the rim with the air-fill-stem. This adapter plate will be visible on the outside of the robot.
@@ -231,7 +231,7 @@ This will let you know if screws have loosened in service. #### 13. Inflate the inner tube to 138 kPa (20 psi). Bounce the tire on the floor a few times after you have inflated it, and removed the compressor. -The bounching will help seat the tire's bead. +The bouncing will help seat the tire's bead. :::note diff --git a/components/manipulators/franka/activate_fci.png b/components/manipulators/franka/activate_fci.png new file mode 100644 index 000000000..9da3236fd Binary files /dev/null and b/components/manipulators/franka/activate_fci.png differ diff --git a/components/manipulators/franka/network.png b/components/manipulators/franka/network.png new file mode 100644 index 000000000..ad6864fbd Binary files /dev/null and b/components/manipulators/franka/network.png differ diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/failed.png b/components/manipulators/universal_robots/failed.png similarity index 100% rename from docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/failed.png rename to components/manipulators/universal_robots/failed.png diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/headless_0.png b/components/manipulators/universal_robots/headless_0.png similarity index 100% rename from docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/headless_0.png rename to components/manipulators/universal_robots/headless_0.png diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/headless_1.png b/components/manipulators/universal_robots/headless_1.png similarity index 100% rename from docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/headless_1.png rename to components/manipulators/universal_robots/headless_1.png diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/headless_2.png b/components/manipulators/universal_robots/headless_2.png similarity index 100% rename from docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/headless_2.png rename to components/manipulators/universal_robots/headless_2.png diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/initialize_0.png b/components/manipulators/universal_robots/initialize_0.png similarity index 100% rename from docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/initialize_0.png rename to components/manipulators/universal_robots/initialize_0.png diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/initialize_1.png b/components/manipulators/universal_robots/initialize_1.png similarity index 100% rename from docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/initialize_1.png rename to components/manipulators/universal_robots/initialize_1.png diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/initialize_2.png b/components/manipulators/universal_robots/initialize_2.png similarity index 100% rename from docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/initialize_2.png rename to components/manipulators/universal_robots/initialize_2.png diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/initialize_3.png b/components/manipulators/universal_robots/initialize_3.png similarity index 100% rename from docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/initialize_3.png rename to components/manipulators/universal_robots/initialize_3.png diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/initialize_4.png b/components/manipulators/universal_robots/initialize_4.png similarity index 100% rename from docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/initialize_4.png rename to components/manipulators/universal_robots/initialize_4.png diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/installation_default_program.png b/components/manipulators/universal_robots/installation_default_program.png similarity index 100% rename from docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/installation_default_program.png rename to components/manipulators/universal_robots/installation_default_program.png diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/installation_urcaps.png b/components/manipulators/universal_robots/installation_urcaps.png similarity index 100% rename from docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/installation_urcaps.png rename to components/manipulators/universal_robots/installation_urcaps.png diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/program_urcaps.png b/components/manipulators/universal_robots/program_urcaps.png similarity index 100% rename from docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/program_urcaps.png rename to components/manipulators/universal_robots/program_urcaps.png diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/settings_network.png b/components/manipulators/universal_robots/settings_network.png similarity index 100% rename from docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/settings_network.png rename to components/manipulators/universal_robots/settings_network.png diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/settings_remote_control.png b/components/manipulators/universal_robots/settings_remote_control.png similarity index 100% rename from docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/settings_remote_control.png rename to components/manipulators/universal_robots/settings_remote_control.png diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/settings_urcaps.png b/components/manipulators/universal_robots/settings_urcaps.png similarity index 100% rename from docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/settings_urcaps.png rename to components/manipulators/universal_robots/settings_urcaps.png diff --git a/components/ridgeback_r100/ridgeback_r100_step_model.mdx b/components/ridgeback_r100/ridgeback_r100_step_model.mdx new file mode 100644 index 000000000..cbff8a5fd --- /dev/null +++ b/components/ridgeback_r100/ridgeback_r100_step_model.mdx @@ -0,0 +1,20 @@ +import ComponentButtonStepDownload from "/components/button_download_step.tsx"; + +### STEP Model {#step-model} + +
+ + +This simplified 3D model of the Ridgeback R100 includes details like the internal + battery, circuit board where you can connect to the robot's electrical + provisions, chassis, wheels, and removable livery panels. + +
+
+ +
+
+
diff --git a/components/rviz_models/manipulators/franka/fer.png b/components/rviz_models/manipulators/franka/fer.png new file mode 100644 index 000000000..f1fab56e7 Binary files /dev/null and b/components/rviz_models/manipulators/franka/fer.png differ diff --git a/components/rviz_models/manipulators/franka/fer_franka_hand.png b/components/rviz_models/manipulators/franka/fer_franka_hand.png new file mode 100644 index 000000000..ae7e004cc Binary files /dev/null and b/components/rviz_models/manipulators/franka/fer_franka_hand.png differ diff --git a/components/rviz_models/manipulators/franka/fer_robotiq_2f_140.png b/components/rviz_models/manipulators/franka/fer_robotiq_2f_140.png new file mode 100644 index 000000000..0904d4e9a Binary files /dev/null and b/components/rviz_models/manipulators/franka/fer_robotiq_2f_140.png differ diff --git a/components/rviz_models/manipulators/franka/fer_robotiq_2f_85.png b/components/rviz_models/manipulators/franka/fer_robotiq_2f_85.png new file mode 100644 index 000000000..8f74ea1c5 Binary files /dev/null and b/components/rviz_models/manipulators/franka/fer_robotiq_2f_85.png differ diff --git a/components/rviz_models/manipulators/franka/fp3.png b/components/rviz_models/manipulators/franka/fp3.png new file mode 100644 index 000000000..93668a367 Binary files /dev/null and b/components/rviz_models/manipulators/franka/fp3.png differ diff --git a/components/rviz_models/manipulators/franka/fp3_franka_hand.png b/components/rviz_models/manipulators/franka/fp3_franka_hand.png new file mode 100644 index 000000000..2b529dd1a Binary files /dev/null and b/components/rviz_models/manipulators/franka/fp3_franka_hand.png differ diff --git a/components/rviz_models/manipulators/franka/fp3_robotiq_2f_140.png b/components/rviz_models/manipulators/franka/fp3_robotiq_2f_140.png new file mode 100644 index 000000000..5aa124151 Binary files /dev/null and b/components/rviz_models/manipulators/franka/fp3_robotiq_2f_140.png differ diff --git a/components/rviz_models/manipulators/franka/fp3_robotiq_2f_85.png b/components/rviz_models/manipulators/franka/fp3_robotiq_2f_85.png new file mode 100644 index 000000000..94e257ff9 Binary files /dev/null and b/components/rviz_models/manipulators/franka/fp3_robotiq_2f_85.png differ diff --git a/components/rviz_models/manipulators/franka/fr3.png b/components/rviz_models/manipulators/franka/fr3.png new file mode 100644 index 000000000..51afe92d4 Binary files /dev/null and b/components/rviz_models/manipulators/franka/fr3.png differ diff --git a/components/rviz_models/manipulators/franka/fr3_franka_hand.png b/components/rviz_models/manipulators/franka/fr3_franka_hand.png new file mode 100644 index 000000000..f1aa7a687 Binary files /dev/null and b/components/rviz_models/manipulators/franka/fr3_franka_hand.png differ diff --git a/components/rviz_models/manipulators/franka/fr3_robotiq_2f_140.png b/components/rviz_models/manipulators/franka/fr3_robotiq_2f_140.png new file mode 100644 index 000000000..3bf9b2c77 Binary files /dev/null and b/components/rviz_models/manipulators/franka/fr3_robotiq_2f_140.png differ diff --git a/components/rviz_models/manipulators/franka/fr3_robotiq_2f_85.png b/components/rviz_models/manipulators/franka/fr3_robotiq_2f_85.png new file mode 100644 index 000000000..f2e2f9c83 Binary files /dev/null and b/components/rviz_models/manipulators/franka/fr3_robotiq_2f_85.png differ diff --git a/components/rviz_models/manipulators/franka/franka_lineup.png b/components/rviz_models/manipulators/franka/franka_lineup.png new file mode 100644 index 000000000..6304c98b7 Binary files /dev/null and b/components/rviz_models/manipulators/franka/franka_lineup.png differ diff --git a/components/rviz_models/manipulators/kinova/gen3_6dof_140.png b/components/rviz_models/manipulators/kinova/gen3_6dof_140.png new file mode 100644 index 000000000..335b73257 Binary files /dev/null and b/components/rviz_models/manipulators/kinova/gen3_6dof_140.png differ diff --git a/components/rviz_models/manipulators/kinova/gen3_6dof_85.png b/components/rviz_models/manipulators/kinova/gen3_6dof_85.png new file mode 100644 index 000000000..c6410eec1 Binary files /dev/null and b/components/rviz_models/manipulators/kinova/gen3_6dof_85.png differ diff --git a/components/rviz_models/manipulators/kinova/gen3_7dof_140.png b/components/rviz_models/manipulators/kinova/gen3_7dof_140.png new file mode 100644 index 000000000..57fd88313 Binary files /dev/null and b/components/rviz_models/manipulators/kinova/gen3_7dof_140.png differ diff --git a/components/rviz_models/manipulators/kinova/gen3_7dof_85.png b/components/rviz_models/manipulators/kinova/gen3_7dof_85.png new file mode 100644 index 000000000..3db64674c Binary files /dev/null and b/components/rviz_models/manipulators/kinova/gen3_7dof_85.png differ diff --git a/components/rviz_models/manipulators/kinova/gen3_lite.png b/components/rviz_models/manipulators/kinova/gen3_lite.png new file mode 100644 index 000000000..50b429d62 Binary files /dev/null and b/components/rviz_models/manipulators/kinova/gen3_lite.png differ diff --git a/components/rviz_models/manipulators/kinova/kinova_lineup.png b/components/rviz_models/manipulators/kinova/kinova_lineup.png new file mode 100644 index 000000000..e96d365b7 Binary files /dev/null and b/components/rviz_models/manipulators/kinova/kinova_lineup.png differ diff --git a/components/rviz_models/manipulators/universal_robots/ur10e.png b/components/rviz_models/manipulators/universal_robots/ur10e.png new file mode 100644 index 000000000..a18418efe Binary files /dev/null and b/components/rviz_models/manipulators/universal_robots/ur10e.png differ diff --git a/components/rviz_models/manipulators/universal_robots/ur10e_robotiq_2f_140.png b/components/rviz_models/manipulators/universal_robots/ur10e_robotiq_2f_140.png new file mode 100644 index 000000000..daab38389 Binary files /dev/null and b/components/rviz_models/manipulators/universal_robots/ur10e_robotiq_2f_140.png differ diff --git a/components/rviz_models/manipulators/universal_robots/ur10e_robotiq_2f_85.png b/components/rviz_models/manipulators/universal_robots/ur10e_robotiq_2f_85.png new file mode 100644 index 000000000..dbb76c7e3 Binary files /dev/null and b/components/rviz_models/manipulators/universal_robots/ur10e_robotiq_2f_85.png differ diff --git a/components/rviz_models/manipulators/universal_robots/ur16e.png b/components/rviz_models/manipulators/universal_robots/ur16e.png new file mode 100644 index 000000000..bf17dd403 Binary files /dev/null and b/components/rviz_models/manipulators/universal_robots/ur16e.png differ diff --git a/components/rviz_models/manipulators/universal_robots/ur16e_robotiq_2f_140.png b/components/rviz_models/manipulators/universal_robots/ur16e_robotiq_2f_140.png new file mode 100644 index 000000000..b7d9ffc0d Binary files /dev/null and b/components/rviz_models/manipulators/universal_robots/ur16e_robotiq_2f_140.png differ diff --git a/components/rviz_models/manipulators/universal_robots/ur16e_robotiq_2f_85.png b/components/rviz_models/manipulators/universal_robots/ur16e_robotiq_2f_85.png new file mode 100644 index 000000000..fb0136ae9 Binary files /dev/null and b/components/rviz_models/manipulators/universal_robots/ur16e_robotiq_2f_85.png differ diff --git a/components/rviz_models/manipulators/universal_robots/ur20.png b/components/rviz_models/manipulators/universal_robots/ur20.png new file mode 100644 index 000000000..b54c135b0 Binary files /dev/null and b/components/rviz_models/manipulators/universal_robots/ur20.png differ diff --git a/components/rviz_models/manipulators/universal_robots/ur20_robotiq_2f_140.png b/components/rviz_models/manipulators/universal_robots/ur20_robotiq_2f_140.png new file mode 100644 index 000000000..1c1551191 Binary files /dev/null and b/components/rviz_models/manipulators/universal_robots/ur20_robotiq_2f_140.png differ diff --git a/components/rviz_models/manipulators/universal_robots/ur20_robotiq_2f_85.png b/components/rviz_models/manipulators/universal_robots/ur20_robotiq_2f_85.png new file mode 100644 index 000000000..6e48150ec Binary files /dev/null and b/components/rviz_models/manipulators/universal_robots/ur20_robotiq_2f_85.png differ diff --git a/components/rviz_models/manipulators/universal_robots/ur30.png b/components/rviz_models/manipulators/universal_robots/ur30.png new file mode 100644 index 000000000..03a99b27d Binary files /dev/null and b/components/rviz_models/manipulators/universal_robots/ur30.png differ diff --git a/components/rviz_models/manipulators/universal_robots/ur30_robotiq_2f_140.png b/components/rviz_models/manipulators/universal_robots/ur30_robotiq_2f_140.png new file mode 100644 index 000000000..6f942dd2a Binary files /dev/null and b/components/rviz_models/manipulators/universal_robots/ur30_robotiq_2f_140.png differ diff --git a/components/rviz_models/manipulators/universal_robots/ur30_robotiq_2f_85.png b/components/rviz_models/manipulators/universal_robots/ur30_robotiq_2f_85.png new file mode 100644 index 000000000..c7c487db8 Binary files /dev/null and b/components/rviz_models/manipulators/universal_robots/ur30_robotiq_2f_85.png differ diff --git a/components/rviz_models/manipulators/universal_robots/ur3e.png b/components/rviz_models/manipulators/universal_robots/ur3e.png new file mode 100644 index 000000000..8a03e43ac Binary files /dev/null and b/components/rviz_models/manipulators/universal_robots/ur3e.png differ diff --git a/components/rviz_models/manipulators/universal_robots/ur3e_robotiq_2f_140.png b/components/rviz_models/manipulators/universal_robots/ur3e_robotiq_2f_140.png new file mode 100644 index 000000000..23303ef1b Binary files /dev/null and b/components/rviz_models/manipulators/universal_robots/ur3e_robotiq_2f_140.png differ diff --git a/components/rviz_models/manipulators/universal_robots/ur3e_robotiq_2f_85.png b/components/rviz_models/manipulators/universal_robots/ur3e_robotiq_2f_85.png new file mode 100644 index 000000000..3f0d3337e Binary files /dev/null and b/components/rviz_models/manipulators/universal_robots/ur3e_robotiq_2f_85.png differ diff --git a/components/rviz_models/manipulators/universal_robots/ur5e.png b/components/rviz_models/manipulators/universal_robots/ur5e.png new file mode 100644 index 000000000..dee96bfbb Binary files /dev/null and b/components/rviz_models/manipulators/universal_robots/ur5e.png differ diff --git a/components/rviz_models/manipulators/universal_robots/ur5e_robotiq_2f_140.png b/components/rviz_models/manipulators/universal_robots/ur5e_robotiq_2f_140.png new file mode 100644 index 000000000..cad94578d Binary files /dev/null and b/components/rviz_models/manipulators/universal_robots/ur5e_robotiq_2f_140.png differ diff --git a/components/rviz_models/manipulators/universal_robots/ur5e_robotiq_2f_85.png b/components/rviz_models/manipulators/universal_robots/ur5e_robotiq_2f_85.png new file mode 100644 index 000000000..041ba57dc Binary files /dev/null and b/components/rviz_models/manipulators/universal_robots/ur5e_robotiq_2f_85.png differ diff --git a/components/rviz_models/manipulators/universal_robots/ur_lineup.png b/components/rviz_models/manipulators/universal_robots/ur_lineup.png new file mode 100644 index 000000000..d4a0e97c8 Binary files /dev/null and b/components/rviz_models/manipulators/universal_robots/ur_lineup.png differ diff --git a/components/supported_manipulators.mdx b/components/supported_manipulators.mdx index 6d2998cd8..677ae6355 100644 --- a/components/supported_manipulators.mdx +++ b/components/supported_manipulators.mdx @@ -33,4 +33,4 @@ Debian drivers are automatically installed on robots as part of the | Lift | Humble (`amd64`) | Humble (`arm64`) | Jazzy (`amd64`) | Jazzy (`arm64`) | Source | |:------------------------------------------------------------------------------------ |:---------------- |:---------------- |:--------------- |:--------------- |:--------------------------------------------------------- | -| Ewellix Liftkit | Source | Source | Source | Source | [Clearpath](https://github.com/clearpathrobotics/ewellix_lift) | +| Ewellix Liftkit | Debian | Debian | Debian | Debian | [Clearpath](https://github.com/clearpathrobotics/ewellix_lift) | diff --git a/docs_outdoornav_user_manual/api/_category_.json b/docs_outdoornav_user_manual/api/_category_.json index 79c716587..d9a89b340 100644 --- a/docs_outdoornav_user_manual/api/_category_.json +++ b/docs_outdoornav_user_manual/api/_category_.json @@ -1,4 +1,4 @@ { - "label": "Application Programming Interface", + "label": "API", "position": 7 } diff --git a/docs_outdoornav_user_manual/api/api_endpoints/_category_.json b/docs_outdoornav_user_manual/api/api_endpoints/_category_.json new file mode 100644 index 000000000..ff29bf083 --- /dev/null +++ b/docs_outdoornav_user_manual/api/api_endpoints/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Endpoints", + "position": 2 +} diff --git a/docs_outdoornav_user_manual/api/api_endpoints/autonomy_api.mdx b/docs_outdoornav_user_manual/api/api_endpoints/autonomy_api.mdx new file mode 100644 index 000000000..f307167a2 --- /dev/null +++ b/docs_outdoornav_user_manual/api/api_endpoints/autonomy_api.mdx @@ -0,0 +1,120 @@ +--- +title: Autonomy API Endpoints +sidebar_label: Autonomy API +sidebar_position: 2 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +:::note + +All nodes, topics, and services are namespace prefixed with the robot serial number. + +If your serial number is `cpr-a300-00001`, then your namespace +will be `a300_00001`. This can be overwritten in the [robot.yaml](../../../../docs/ros/config/yaml/overview) file. + +::: + +  + +## Subscribers {#autonomy-subscribers} + +  + +| Topic | Message type | Description | QoS | +| :---------------------- | :----------------------------------------------------------------------------------------------------------- | :-------------- | :-------------------------------------------- | +| platform/cmd_vel_out | [geometry_msgs/msg/TwistStamped](https://github.com/ros2/common_interfaces/blob/jazzy/geometry_msgs/msg/TwistStamped.msg) | Continuous platform level velocity output | [System Default](/docs/ros/api/overview#system-default) | +| platform/odom | [nav_msgs/msg/Odometry](https://github.com/ros2/common_interfaces/blob/jazzy/nav_msgs/msg/Odometry.msg) | Platform wheel odometry | [System Default](/docs/ros/api/overview#system-default) | +| joy_teleop/cmd_vel | [geometry_msgs/msg/TwistStamped](https://github.com/ros2/common_interfaces/blob/jazzy/geometry_msgs/msg/TwistStamped.msg) | Velocity commands from joystick inputs | [System Default](/docs/ros/api/overview#system-default) | + +  + +## Publishers {#autonomy-publishers} + +  + +| Topic | Message type | Description | QoS | +| :---------------------- | :----------------------------------------------------------------------------------------------------------- | :-------------- | :-------------------------------------------- | +| autonomy/config | [clearpath_navigation_msgs/msg/AutonomyConfig](pathname:///api/html/clearpath_navigation_msgs/msg/AutonomyConfig.html) | Autonomy configuration | [System Default](/docs/ros/api/overview#system-default) | +| autonomy/initial_path | [nav_msgs/msg/Path](https://github.com/ros2/common_interfaces/blob/jazzy/nav_msgs/msg/Path.msg) | Initial Path computed by autonomy | [System Default](/docs/ros/api/overview#system-default) | +| autonomy/status | [clearpath_navigation_msgs/msg/AutonomyStatus](pathname:///api/html/clearpath_navigation_msgs/msg/AutonomyStatus.html) | Status of the autonomy | [System Default](/docs/ros/api/overview#system-default) | +| control_selection/current_mode | [clearpath_control_msgs/msg/ControlMode](pathname:///api/html/clearpath_control_msgs/msg/ControlMode.html) | Current control mode (NEUTRAL, MANUAL, AUTONOMY). | [System Default](/docs/ros/api/overview#system-default) | +| control_selection/control_state | [clearpath_control_msgs/msg/ControlSelectionState](pathname:///api/html/clearpath_control_msgs/msg/ControlSelectionState.html) | Complete state of control selection node. | [System Default](/docs/ros/api/overview#system-default) | +| docking/docking_server/path | [nav_msgs/msg/Path](https://github.com/ros2/common_interfaces/blob/jazzy/nav_msgs/msg/Path.msg) | Docking path | +| docking/undocking_server/path | [nav_msgs/msg/Path](https://github.com/ros2/common_interfaces/blob/jazzy/nav_msgs/msg/Path.msg) | Undocking path | +| goto/preview | [clearpath_navigation_msgs/msg/GoToPreview](pathname:///api/html/clearpath_navigation_msgs/msg/GoToPreview.html) | Preview points for a GoTo execution | [System Default](/docs/ros/api/overview#system-default) | +| localization/datum | [sensor_msgs/msg/NavSatFix](https://github.com/ros2/common_interfaces/blob/jazzy/sensor_msgs/msg/NavSatFix.msg) | Map origin (0, 0), specified as the datum | [System Default](/docs/ros/api/overview#system-default) | +| localization/fix | [sensor_msgs/msg/NavSatFix](https://github.com/ros2/common_interfaces/blob/jazzy/sensor_msgs/msg/NavSatFix.msg) | Platform lat/lon coordinates | [System Default](/docs/ros/api/overview#system-default) | +| localization/odom | [nav_msgs/msg/Odometry](https://github.com/ros2/common_interfaces/blob/jazzy/nav_msgs/msg/Odometry.msg) | Platform map coordinates | [System Default](/docs/ros/api/overview#system-default) | +| mission/preview | [clearpath_navigation_msgs/msg/MissionPreview](pathname:///api/html/clearpath_navigation_msgs/msg/MissionPreview.html) | Preview points for a mission execution | [System Default](/docs/ros/api/overview#system-default) | +| speed_limit | [clearpath_navigation_msgs/msg/GoToPreview](https://github.com/ros-navigation/navigation2/blob/main/nav2_msgs/msg/SpeedLimit.msg) | Current navigation speed limit | [System Default](/docs/ros/api/overview#system-default) | +| ui/heartbeat | [geometry_msgs/msg/TwistStamped](https://github.com/ros2/common_interfaces/blob/jazzy/geometry_msgs/msg/TwistStamped.msg) | Heartbeat of the UI | [System Default](/docs/ros/api/overview#system-default) | +| ui_teleop/cmd_vel | [geometry_msgs/msg/TwistStamped](https://github.com/ros2/common_interfaces/blob/jazzy/geometry_msgs/msg/TwistStamped.msg) | Velocity commands fron the UI joystick | [System Default](/docs/ros/api/overview#system-default) | + +  + +## Services {#autonomy-services} + +  + +| Service | Service type | Description | +| :---------------------- | :----------------------------------------------------------------------------------------------------------- | :-------------- | +| autonomy/stop | [std_srvs/srv/Trigger](https://docs.ros2.org/foxy/api/std_srvs/srv/Trigger.html) | Stop all autonomy executions | +| control_selection/set_mode | [clearpath_control_msgs/srv/SetControlMode](pathname:///api/html/clearpath_control_msgs/srv/SetControlMode.html) | Set the control mode | +| control_selection/pause | [std_srvs/srv/SetBool](https://docs.ros2.org/foxy/api/std_srvs/srv/SetBool.html) | Pause execution | +| control_selection/resume | [std_srvs/srv/SetBool](https://docs.ros2.org/foxy/api/std_srvs/srv/SetBool.html) | Resume execution | +| docking/dock_manager/add_dock | [clearpath_dock_msgs/srv/AddDock](pathname:///api/html/clearpath_dock_msgs/srv/AddDock.html) | Add a dock | +| docking/dock_manager/clear_data | [std_srvs/srv/Trigger](https://docs.ros2.org/foxy/api/std_srvs/srv/Trigger.html) | Clear all dock data | +| docking/dock_manager/delete_dock | [clearpath_dock_msgs/srv/RemoveDock](pathname:///api/html/clearpath_dock_msgs/srv/RemoveDock.html) | Delete a dock | +| docking/dock_manager/export | [clearpath_dock_msgs/srv/ExportData](pathname:///api/html/clearpath_dock_msgs/srv/ExportData.html) | Export dock data | +| docking/dock_manager/get_database | [clearpath_dock_msgs/srv/GetDockDatabase](pathname:///api/html/clearpath_dock_msgs/srv/GetDockDatabase.html) | Returns the entire dock database | +| docking/dock_manager/get_dock | [clearpath_dock_msgs/srv/GetDock](pathname:///api/html/clearpath_dock_msgs/srv/GetDock.html) | Returns a docks info | +| docking/dock_manager/import | [clearpath_dock_msgs/srv/ImportData](pathname:///api/html/clearpath_dock_msgs/srv/ImportData.html) | Import a dock | +| docking/dock_manager/update_dock | [clearpath_dock_msgs/srv/UpdateDock](pathname:///api/html/clearpath_dock_msgs/srv/UpdateDock.html) | Update a docks information | +| docking/dock_localizer/add_dock_current_pose| [clearpath_dock_msgs/srv/AddDockCurrentPose](pathname:///api/html/clearpath_dock_msgs/srv/AddDockCurrentPose.html) | Add a dock with the current pose | +| docking/dock_localizer/get_dock_poses| [clearpath_dock_msgs/srv/GetDockPoses](pathname:///api/html/clearpath_dock_msgs/srv/GetDockPoses.html) | Return the dock and predock poses of a specific dock | +| docking/dock_localizer/survey_dock| [clearpath_dock_msgs/srv/SurveyDock](pathname:///api/html/clearpath_dock_msgs/srv/SurveyDock.html) | Survey the docks position | +| execute_task | [clearpath_task_msgs/srv/ExecuteTask](pathname:///api/html/clearpath_task_msgs/srv/ExecuteTask.html) | Run a task as a service | +| localization/lat_lon_to_xy | [clearpath_localization_msgs/srv/ConvertLatLonToCartesian](pathname:///api/html/clearpath_localization_msgs/srv/ConvertLatLonToCartesian.html) | Convert lat/lon condinate to map XY coordinate | +| localization/lat_lon_to_xy_array | [clearpath_localization_msgs/srv/ConvertLatLonToCartesianArray](pathname:///api/html/clearpath_localization_msgs/srv/ConvertLatLonToCartesianArray.html) | Convert a set of lat/lon coordinates to map XY coordinates | +| localization/set_datum | [clearpath_localization_msgs/srv/SetDatum](pathname:///api/html/clearpath_localization_msgs/srv/SetDatum.html) | Set the datum | +| localization/xy_to_lat_lon | [clearpath_localization_msgs/srv/ConvertCartesianToLatLon](pathname:///api/html/clearpath_localization_msgs/srv/ConvertCartesianToLatLon.html) | Convert map XY coordinate to lat/lon coordinate | +| localization/xy_to_lat_lon_array | [clearpath_localization_msgs/srv/ConvertCartesianToLatLonArray](pathname:///api/html/clearpath_localization_msgs/srv/ConvertCartesianToLatLonArray.html) | Convert a set of map XY coordinates to lat/lon coordinates | +| log_manager/delete_log | [clearpath_logger_msgs/srv/DeleteLog](pathname:///api/html/clearpath_logger_msgs/srv/DeleteLog.html) | Delete a secific log | +| log_manager/start_recording | [std_srvs/srv/Trigger](https://docs.ros2.org/foxy/api/std_srvs/srv/Trigger.html) | Start logging data | +| log_manager/stop_recording | [std_srvs/srv/Trigger](https://docs.ros2.org/foxy/api/std_srvs/srv/Trigger.html) | Stop logging data | +| safety/watchdogs/add_communication_watchdog | [clearpath_safety_msgs/srv/AddCommunicationWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/AddCommunicationWatchdog.html) | Create a new Communication watchdog | +| safety/watchdogs/add_heartbeat_watchdog | [clearpath_safety_msgs/srv/AddHeartbeatWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/AddHeartbeatWatchdog.html) | Create a new Heartbeat watchdog | +| safety/watchdogs/add_inclination_watchdog | [clearpath_safety_msgs/srv/AddInclinationWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/AddInclinationWatchdog.html) | Create a new Inclination watchdog | +| safety/watchdogs/add_num_points_watchdog | [clearpath_safety_msgs/srv/AddNumPointsWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/AddNumPointsWatchdog.html) | Create a new NumPoints watchdog | +| safety/watchdogs/add_odom_covariance_watchdog | [clearpath_safety_msgs/srv/AddOdomCovarianceWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/AddOdomCovarianceWatchdog.html) | Create a new OdomCovariance watchdog | +| safety/watchdogs/add_rtk_fix_watchdog | [clearpath_safety_msgs/srv/AddRtkFixWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/AddRtkFixWatchdog.html) | Create a new RTKFix watchdog | +| safety/watchdogs/add_topic_data_watchdog | [clearpath_safety_msgs/srv/AddTopicDataWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/AddTopicDataWatchdog.html) | Create a new TopicData watchdog | +| safety/watchdogs/add_trigger_watchdog | [clearpath_safety_msgs/srv/AddTriggerWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/AddTriggerWatchdog.html) | Create a new Trigger watchdog | +| safety/watchdogs/enable_all | [std_srvs/srv/SetBool](https://docs.ros2.org/foxy/api/std_srvs/srv/SetBool.html) | Enable/disable all watchdogs | +| safety/watchdogs/remove_watchdog | [clearpath_safety_msgs/srv/RemoveWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/RemoveWatchdog.html) | Remove/delete a watchdog | +| safety/watchdogs/update_communication_watchdog | [clearpath_safety_msgs/srv/UpdateCommunicationWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/UpdateCommunicationWatchdog.html) | Create a new Communication watchdog | +| safety/watchdogs/update_heartbeat_watchdog | [clearpath_safety_msgs/srv/UpdateHeartbeatWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/UpdateHeartbeatWatchdog.html) | Create a new Heartbeat watchdog | +| safety/watchdogs/update_inclination_watchdog | [clearpath_safety_msgs/srv/UpdateInclinationWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/UpdateInclinationWatchdog.html) | Create a new Inclination watchdog | +| safety/watchdogs/update_num_points_watchdog | [clearpath_safety_msgs/srv/UpdateNumPointsWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/UpdateNumPointsWatchdog.html) | Create a new NumPoints watchdog | +| safety/watchdogs/update_odom_covariance_watchdog | [clearpath_safety_msgs/srv/UpdateOdomCovarianceWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/UpdateOdomCovarianceWatchdog.html) | Create a new OdomCovariance watchdog | +| safety/watchdogs/update_rtk_fix_watchdog | [clearpath_safety_msgs/srv/UpdateRtkFixWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/UpdateRtkFixWatchdog.html) | Create a new RTKFix watchdog | +| safety/watchdogs/update_topic_data_watchdog | [clearpath_safety_msgs/srv/UpdateTopicDataWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/UpdateTopicDataWatchdog.html) | Create a new TopicData watchdog | +| safety/watchdogs/update_trigger_watchdog | [clearpath_safety_msgs/srv/UpdateTriggerWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/UpdateTriggerWatchdog.html) | Create a new Trigger watchdog | + +  + +## Actions {#autonomy-actions} + +  + +| Action Name | Action type | Description | +| :---------------------- | :----------------------------------------------------------------------------------------------------------- | :-------------- | +| autonomy/network_mission | [clearpath_navigation_msgs/action/ExecuteNetworkMissionByUuid](pathname:///api/html/clearpath_navigation_msgs/action/ExecuteNetworkMissionByUuid.html) | Execute an autonomous mission | +| autonomy/network_mission_from_goal | [clearpath_navigation_msgs/action/ExecuteNetworkMissionFromGoal](pathname:///api/html/clearpath_navigation_msgs/action/ExecuteNetworkMissionFromGoal.html) | Execute an autonomous mission, starting from a specific goal | +| autonomy/network_goto | [clearpath_navigation_msgs/action/ExecuteNetworkGoTo](pathname:///api/html/clearpath_navigation_msgs/action/ExecuteNetworkGoTo.html) | Send platform to location | +| autonomy/network_goto_poi | [clearpath_navigation_msgs/action/ExecuteNetworkGoToPOI](pathname:///api/html/clearpath_navigation_msgs/action/ExecuteNetworkGoToPOI.html) | Send platform to a point of interest | +| autonomy/local_dock | [clearpath_dock_msgs/action/Dock](pathname:///api/html/clearpath_dock_msgs/action/Dock.html) | Dock the platform (charge target must be visible by platform 2D lidar sensor) | +| autonomy/local_undock | [clearpath_dock_msgs/action/Undock](pathname:///api/html/clearpath_dock_msgs/action/Undock.html) | Undock the platform (charge target must be visible by the 2D lidar sensor) | +| autonomy/network_dock | [clearpath_dock_msgs/action/NetworkDock](pathname:///api/html/clearpath_dock_msgs/action/NetworkDock.html) | Send robot to charger (charger must be in the driveable space of the map) | +| execute_task_action | [clearpath_task_msgs/action/ExecuteTask](pathname:///api/html/clearpath_task_msgs/action/ExecuteTask.html) | Run a task as an action | diff --git a/docs_outdoornav_user_manual/api/api_endpoints/mission_manager_api.mdx b/docs_outdoornav_user_manual/api/api_endpoints/mission_manager_api.mdx new file mode 100644 index 000000000..3aacfcc1f --- /dev/null +++ b/docs_outdoornav_user_manual/api/api_endpoints/mission_manager_api.mdx @@ -0,0 +1,102 @@ +--- +title: Mission Manager API Endpoints +sidebar_label: Mission Manager API +sidebar_position: 3 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +:::note + +All nodes, topics, and services are namespace prefixed with the robot serial number. + +If your serial number is `cpr-a300-00001`, then your namespace +will be `a300_00001`. This can be overwritten in the [robot.yaml](../../../../docs/ros/config/yaml/overview) file. + +::: + +  + +## Publishers {#mission-manager-publishers} + +  + +| Topic | Message type | Description | QoS | +| :---------------------- | :----------------------------------------------------------------------------------------------------------- | :-------------- | :-------------------------------------------- | +| mission_manager/state | [clearpath_mission_manager_msgs/msg/StorageState](pathname:///api/html/clearpath_mission_manager_msgs/msg/StorageState.html) | Database containing all map/mission data | Latched | +| mission_manager/network_maps_validity | [clearpath_mission_manager_msgs/msg/NetworkMapValidityState](pathname:///api/html/clearpath_mission_manager_msgs/msg/NetworkMapValidityState.html) | Validity state of all maps | Latched | + +  + +## Services {#mission-manager-services} + +  + +| Service | Service type | Description | +| :---------------------- | :----------------------------------------------------------------------------------------------------------- | :-------------- | +| mission_manager/add_network_edge | [clearpath_mission_manager_msgs/srv/AddNetworkEdge](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddNetworkEdge.html) | Add edge to network map | +| mission_manager/add_network_path | [clearpath_mission_manager_msgs/srv/AddNetworkPath](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddNetworkPath.html) | Add a path to map | +| mission_manager/add_network_point | [clearpath_mission_manager_msgs/srv/AddNetworkPoint](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddNetworkPoint.html) | Add a map point | +| mission_manager/add_tag | [clearpath_mission_manager_msgs/srv/AddRemoveTag](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddRemoveTag.html) | Add tag to map point | +| mission_manager/add_task_to_start | [clearpath_mission_manager_msgs/srv/AddRemoveById](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddRemoveById.html) | Add task to list of start tasks | +| mission_manager/add_task_to_stop | [clearpath_mission_manager_msgs/srv/AddRemoveById](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddRemoveById.html) | Add task to list of stop tasks | +| mission_manager/add_task_to_waypoint | [clearpath_mission_manager_msgs/srv/AddRemoveById](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddRemoveById.html) | Add task to a Goal point | +| mission_manager/add_waypoint_to_mission | [clearpath_mission_manager_msgs/srv/AddRemoveById](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddRemoveById.html) | Add Goal to mission | +| mission_manager/clone_mission | [clearpath_mission_manager_msgs/srv/CloneMission](pathname:///api/html/clearpath_mission_manager_msgs/srv/CloneMission.html) | Clone mission | +| mission_manager/clone_network_map | [clearpath_mission_manager_msgs/srv/CloneNetworkMap](pathname:///api/html/clearpath_mission_manager_msgs/srv/CloneNetworkMap.html) | Clone map | +| mission_manager/clone_network_mission | [clearpath_mission_manager_msgs/srv/CloneNetworkMission](pathname:///api/html/clearpath_mission_manager_msgs/srv/CloneNetworkMission.html) | Clone mission | +| mission_manager/clone_point_of_interest | [clearpath_mission_manager_msgs/srv/ClonePointOfInterest](pathname:///api/html/clearpath_mission_manager_msgs/srv/ClonePointOfInterest.html) | Clone point of interest | +| mission_manager/clone_task | [clearpath_mission_manager_msgs/srv/GetTask](pathname:///api/html/clearpath_mission_manager_msgs/srv/GetTask.html) | Clone task | +| mission_manager/clone_waypoint | [clearpath_mission_manager_msgs/srv/GetWaypoint](pathname:///api/html/clearpath_mission_manager_msgs/srv/GetWaypoint.html) | Clone goal | +| mission_manager/create_network_map | [clearpath_mission_manager_msgs/srv/CreateNetworkMap](pathname:///api/html/clearpath_mission_manager_msgs/srv/CreateNetworkMap.html) | Create map | +| mission_manager/create_network_mission | [clearpath_mission_manager_msgs/srv/CreateNetworkMission](pathname:///api/html/clearpath_mission_manager_msgs/srv/CreateNetworkMission.html) | Create mission | +| mission_manager/create_point_of_interest | [clearpath_mission_manager_msgs/srv/CreatePointOfInterest](pathname:///api/html/clearpath_mission_manager_msgs/srv/CreatePointOfInterest.html) | Create point of interest | +| mission_manager/create_task | [clearpath_mission_manager_msgs/srv/CreateTask](pathname:///api/html/clearpath_mission_manager_msgs/srv/CreateTask.html) | Create task | +| mission_manager/create_waypoint | [clearpath_mission_manager_msgs/srv/CreateWaypoint](pathname:///api/html/clearpath_mission_manager_msgs/srv/CreateWaypoint.html) | Create Goal | +| mission_manager/create_waypoint_from_poi | [clearpath_mission_manager_msgs/srv/CreateWaypointFromPoi](pathname:///api/html/clearpath_mission_manager_msgs/srv/CreateWaypointFromPoi.html) | Create Goal from point of interest | +| mission_manager/delete_all | [clearpath_mission_manager_msgs/srv/DeleteEverything](pathname:///api/html/clearpath_mission_manager_msgs/srv/DeleteEverything.html) | Delete all mission/map/poi data | +| mission_manager/delete_network_edge | [clearpath_mission_manager_msgs/srv/AddRemoveById](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddRemoveById.html) | Delete map edge | +| mission_manager/delete_network_edges | [clearpath_mission_manager_msgs/srv/DeleteMultiple](pathname:///api/html/clearpath_mission_manager_msgs/srv/DeleteMultiple.html) | Delete map edges | +| mission_manager/delete_network_map | [clearpath_mission_manager_msgs/srv/DeleteById](pathname:///api/html/clearpath_mission_manager_msgs/srv/DeleteById.html) | Delete map | +| mission_manager/delete_network_mission | [clearpath_mission_manager_msgs/srv/DeleteById](pathname:///api/html/clearpath_mission_manager_msgs/srv/DeleteById.html) | Delete mission | +| mission_manager/delete_network_point | [clearpath_mission_manager_msgs/srv/AddRemoveById](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddRemoveById.html) | Delete map point | +| mission_manager/delete_network_points | [clearpath_mission_manager_msgs/srv/DeleteMultiple](pathname:///api/html/clearpath_mission_manager_msgs/srv/DeleteMultiple.html) | Delete map points | +| mission_manager/delete_orphan_objects | [clearpath_mission_manager_msgs/srv/DeleteEverything](pathname:///api/html/clearpath_mission_manager_msgs/srv/DeleteEverything.html) | Delete orphaned objects | +| mission_manager/delete_point_of_interest | [clearpath_mission_manager_msgs/srv/DeleteById](pathname:///api/html/clearpath_mission_manager_msgs/srv/DeleteById.html) | Delete point of interest | +| mission_manager/delete_task | [clearpath_mission_manager_msgs/srv/DeleteById](pathname:///api/html/clearpath_mission_manager_msgs/srv/DeleteById.html) | Delete task | +| mission_manager/delete_tasks | [clearpath_mission_manager_msgs/srv/DeleteMultiple](pathname:///api/html/clearpath_mission_manager_msgs/srv/DeleteMultiple.html) | Delete tasks | +| mission_manager/delete_waypoint | [clearpath_mission_manager_msgs/srv/DeleteById](pathname:///api/html/clearpath_mission_manager_msgs/srv/DeleteById.html) | Delete Goal | +| mission_manager/delete_waypoints | [clearpath_mission_manager_msgs/srv/DeleteMultiple](pathname:///api/html/clearpath_mission_manager_msgs/srv/DeleteMultiple.html) | Delete Goals | +| mission_manager/remove_tag | [clearpath_mission_manager_msgs/srv/AddRemoveTag](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddRemoveTag.html) | Remove tag from item | +| mission_manager/export | [clearpath_mission_manager_msgs/srv/ExportData](pathname:///api/html/clearpath_mission_manager_msgs/srv/ExportData.html) | Export mission/map/poi database | +| mission_manager/get_all | [clearpath_mission_manager_msgs/srv/GetEverything](pathname:///api/html/clearpath_mission_manager_msgs/srv/GetEverything.html) | Return all map/mission/poi data | +| mission_manager/get_all_network_maps | [clearpath_mission_manager_msgs/srv/GetAllNetworkMaps](pathname:///api/html/clearpath_mission_manager_msgs/srv/GetAllNetworkMaps.html) | Return all maps | +| mission_manager/get_all_network_missions | [clearpath_mission_manager_msgs/srv/GetAllNetworkMissions](pathname:///api/html/clearpath_mission_manager_msgs/srv/GetAllNetworkMissions.html) | Return all missions | +| mission_manager/get_all_points_of_interest | [clearpath_mission_manager_msgs/srv/GetAllPointsOfInterest](pathname:///api/html/clearpath_mission_manager_msgs/srv/GetAllPointsOfInterest.html) | Return all points of interest | +| mission_manager/get_all_tasks | [clearpath_mission_manager_msgs/srv/GetAllTasks](pathname:///api/html/clearpath_mission_manager_msgs/srv/GetAllTasks.html) | Return all tasks | +| mission_manager/get_all_waypoints | [clearpath_mission_manager_msgs/srv/GetAllWaypoints](pathname:///api/html/clearpath_mission_manager_msgs/srv/GetAllWaypoints.html) | Return all goals | +| mission_manager/get_network_map | [clearpath_mission_manager_msgs/srv/GetNetworkMap](pathname:///api/html/clearpath_mission_manager_msgs/srv/GetNetworkMap.html) | Return specific map | +| mission_manager/get_network_mission | [clearpath_mission_manager_msgs/srv/GetNetworkMission](pathname:///api/html/clearpath_mission_manager_msgs/srv/GetNetworkMission.html) | Return specific mission | +| mission_manager/get_point_of_interest | [clearpath_mission_manager_msgs/srv/GetPointOfInterest](pathname:///api/html/clearpath_mission_manager_msgs/srv/GetPointOfInterest.html) | Return specific point of interest | +| mission_manager/get_task | [clearpath_mission_manager_msgs/srv/GetTask](pathname:///api/html/clearpath_mission_manager_msgs/srv/GetTask.html) | Return specific task | +| mission_manager/get_waypoint | [clearpath_mission_manager_msgs/srv/GetWaypoint](pathname:///api/html/clearpath_mission_manager_msgs/srv/GetWaypoint.html) | Return specific goal | +| mission_manager/import | [clearpath_mission_manager_msgs/srv/ImportData](pathname:///api/html/clearpath_mission_manager_msgs/srv/ImportData.html) | Import mission/map/poi data to database | +| mission_manager/import_mission | [clearpath_mission_manager_msgs/srv/ImportMission](pathname:///api/html/clearpath_mission_manager_msgs/srv/ImportMission.html) | Import mission to database | +| mission_manager/import_network_map | [clearpath_mission_manager_msgs/srv/ImportNetworkMap](pathname:///api/html/clearpath_mission_manager_msgs/srv/ImportNetworkMap.html) | Inport map to database | +| mission_manager/import_network_mission | [clearpath_mission_manager_msgs/srv/ImportNetworkMission](pathname:///api/html/clearpath_mission_manager_msgs/srv/ImportNetworkMission.html) | Import mission to database | +| mission_manager/remove_task_from_start | [clearpath_mission_manager_msgs/srv/AddRemoveById](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddRemoveById.html) | Remove task from list of start tasks | +| mission_manager/remove_task_from_stop | [clearpath_mission_manager_msgs/srv/AddRemoveById](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddRemoveById.html) | Remove task from list of stop tasks| +| mission_manager/remove_task_from_waypoint | [clearpath_mission_manager_msgs/srv/AddRemoveById](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddRemoveById.html) | Remove task from goal | +| mission_manager/remove_waypoint_from_mission | [clearpath_mission_manager_msgs/srv/AddRemoveById](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddRemoveById.html) | Remove goal from mission | +| mission_manager/restore | [clearpath_mission_manager_msgs/srv/ImportData](pathname:///api/html/clearpath_mission_manager_msgs/srv/ImportData.html) | Restore data from a file | +| mission_manager/split_network_edge | [clearpath_mission_manager_msgs/srv/SplitNetworkEdge](pathname:///api/html/clearpath_mission_manager_msgs/srv/SplitNetworkEdge.html) | Split a map edge | +| mission_manager/update_network_edge | [clearpath_mission_manager_msgs/srv/UpdateNetworkEdge](pathname:///api/html/clearpath_mission_manager_msgs/srv/UpdateNetworkEdge.html) | Update map edge | +| mission_manager/update_network_edges | [clearpath_mission_manager_msgs/srv/UpdateNetworkEdges](pathname:///api/html/clearpath_mission_manager_msgs/srv/UpdateNetworkEdges.html) | Update map edges | +| mission_manager/update_network_map | [clearpath_mission_manager_msgs/srv/UpdateNetworkMap](pathname:///api/html/clearpath_mission_manager_msgs/srv/UpdateNetworkMap.html) | Update map | +| mission_manager/update_network_mission | [clearpath_mission_manager_msgs/srv/UpdateNetworkMission](pathname:///api/html/clearpath_mission_manager_msgs/srv/UpdateNetworkMissiond.html) | Update mission | +| mission_manager/update_network_point | [clearpath_mission_manager_msgs/srv/UpdateNetworkPoint](pathname:///api/html/clearpath_mission_manager_msgs/srv/UpdateNetworkPoint.html) | Update map point | +| mission_manager/update_network_points | [clearpath_mission_manager_msgs/srv/UpdateNetworkPoints](pathname:///api/html/clearpath_mission_manager_msgs/srv/UpdateNetworkPoints.html) | UPdate map points | +| mission_manager/update_point_of_interest | [clearpath_mission_manager_msgs/srv/UpdatePointOfInterest](pathname:///api/html/clearpath_mission_manager_msgs/srv/UpdatePointOfInterest.html) | Update points of interestt | +| mission_manager/update_task | [clearpath_mission_manager_msgs/srv/UpdateTask](pathname:///api/html/clearpath_mission_manager_msgs/srv/UpdateTask.html) | Update task | +| mission_manager/update_waypoint | [clearpath_mission_manager_msgs/srv/UpdateWaypoint](pathname:///api/html/clearpath_mission_manager_msgs/srv/UpdateWaypoint.html) | Update goal | +| mission_manager/validate_network_map | [clearpath_mission_manager_msgs/srv/ValidateNetworkMap](pathname:///api/html/clearpath_mission_manager_msgs/srv/ValidateNetworkMap.html) | Check validity of specific map | diff --git a/docs_outdoornav_user_manual/api/api_examples/_category_.json b/docs_outdoornav_user_manual/api/api_examples/_category_.json new file mode 100644 index 000000000..62e826eef --- /dev/null +++ b/docs_outdoornav_user_manual/api/api_examples/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Examples", + "position": 3 +} diff --git a/docs_outdoornav_user_manual/api/api_examples/api_examples_overview.mdx b/docs_outdoornav_user_manual/api/api_examples/api_examples_overview.mdx new file mode 100644 index 000000000..7b29ba744 --- /dev/null +++ b/docs_outdoornav_user_manual/api/api_examples/api_examples_overview.mdx @@ -0,0 +1,15 @@ +--- +title: API Examples Overview +sidebar_label: Overview +sidebar_position: 1 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +:::note + +API examples will be available in version 2.2.0. +For urgent concerns regarding the API, please contact +[customer support](../../support.mdx) + +::: \ No newline at end of file diff --git a/docs_outdoornav_user_manual/api/api_examples/run_basic_mission.mdx b/docs_outdoornav_user_manual/api/api_examples/run_basic_mission.mdx new file mode 100644 index 000000000..bebd90f46 --- /dev/null +++ b/docs_outdoornav_user_manual/api/api_examples/run_basic_mission.mdx @@ -0,0 +1,15 @@ +--- +title: Run a Basic Mission +sidebar_label: Run a Basic Mission +sidebar_position: 3 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +:::note + +API examples will be available in version 2.2.0. +For urgent concerns regarding the API, please contact +[customer support](../../support.mdx) + +::: diff --git a/docs_outdoornav_user_manual/api/api_examples/using_the_api.mdx b/docs_outdoornav_user_manual/api/api_examples/using_the_api.mdx new file mode 100644 index 000000000..705242285 --- /dev/null +++ b/docs_outdoornav_user_manual/api/api_examples/using_the_api.mdx @@ -0,0 +1,164 @@ +--- +title: Using the API +sidebar_label: Using the API +sidebar_position: 2 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +:::note + +All action names and service names are namespace prefixed with the robot serial number. + +::: + + +## Commanding the Robot + +To command a robot, we provide action interfaces that are defined in our Autonomy API. +Below, are the `action_name`, `action_type`, and `pkg_name` for each required action. +The user is then able to write their own C++ or Python action client using this +information. + +### Start a mission + +| | | +| :---------------------- | :--------------| +| `action_name` | autonomy/network_mission | +| `pkg_name` | clearpath_navigation_msgs | +| `action_type` | ExecuteNetworkMissionByUuid | + +### Start a Mission from a specific goal + +| | | +| :---------------------- | :--------------| +| `action_name` | autonomy/network_mission_from_goal | +| `pkg_name` | clearpath_navigation_msgs | +| `action_type` | ExecuteNetworkMissionFromGoal | + + +### Send the robot to a location in the map + +| | | +| :---------------------- | :--------------| +| `action_name` | autonomy/network_goto | +| `pkg_name` | clearpath_navigation_msgs | +| `action_type` | ExecuteNetworkGoTo | + +### Send the robot to a point of interest (POI) + +| | | +| :---------------------- | :--------------| +| `action_name` | autonomy/network_goto_poi | +| `pkg_name` | clearpath_navigation_msgs | +| `action_type` | ExecuteNetworkGoToPOI | + +## Docking the robot + +### Local docking + +| | | +| :---------------------- | :--------------| +| `action_name` | autonomy/local_dock | +| `pkg_name` | clearpath_navigation_msgs | +| `action_type` | Dock | + +### Local undocking + +| | | +| :---------------------- | :--------------| +| `action_name` | autonomy/local_undock | +| `pkg_name` | clearpath_navigation_msgs | +| `action_type` | Undock | + +`action_name`: autonomy/local_undock + +`pkg_name`: clearpath_dock_msgs + +`action_type`: Undock + +### Network docking + +| | | +| :---------------------- | :--------------| +| `action_name` | autonomy/network_dock | +| `pkg_name` | clearpath_navigation_msgs | +| `action_type` | NetworkDock | + +## Navigation Control + +### Pause navigation + +| | | +| :---------------------- | :--------------| +| `service_name` | control_selection/pause | +| `pkg_name` | std_srvs | +| `service_type` | SetBool | + +### Resume navigation + +| | | +| :---------------------- | :--------------| +| `service_name` | control_selection/resume | +| `pkg_name` | std_srvs | +| `service_type` | SetBool | + +### Stop all autonomy actions + +| | | +| :---------------------- | :--------------| +| `service_name` | autonomy/stop| +| `pkg_name` | std_srvs | +| `service_type` | Trigger | + +## [Action Client (C++)](https://docs.ros.org/en/jazzy/Tutorials/Intermediate/Writing-an-Action-Server-Client/Cpp.html#writing-an-action-client) +```cpp +#include "action_tutorials_interfaces/action/fibonacci.hpp" + +#include "rclcpp/rclcpp.hpp" +#include "rclcpp_action/rclcpp_action.hpp" +#include "rclcpp_components/register_node_macro.hpp" + +... + using = action_tutorials_interfaces::action::; + using GoalHandle = rclcpp_action::ClientGoalHandle; + +... + this->client_ptr_ = rclcpp_action::create_client<>( + this, ); + +... + auto goal_msg = ::Goal(); + auto send_goal_options = rclcpp_action::Client<>::SendGoalOptions(); + +... + this->client_ptr_->async_send_goal(goal_msg, send_goal_options); +``` + +## [Action Client (Python)](https://docs.ros.org/en/jazzy/Tutorials/Intermediate/Writing-an-Action-Server-Client/Py.html#writing-an-action-client) + +```python +from .action import + +... + + self._action_client = ActionClient(self, , ) + +... + goal_msgs = .Goal() + self._action_client.wait_for_server() + self._action_client.send_goal_async(goal_msg) +``` + + +## Terminal Command-line + +In order to command the robot from the command-line, you will need to run the +following command, where the `--feedack` argument will allow the user to view +the action feedbacks message: + +```bash +ros2 action send_goal --feedback +``` + +The `values` are based on the actions message type. diff --git a/docs_outdoornav_user_manual/api/api_overview.mdx b/docs_outdoornav_user_manual/api/api_overview.mdx index 3c6055d67..92e2c2735 100644 --- a/docs_outdoornav_user_manual/api/api_overview.mdx +++ b/docs_outdoornav_user_manual/api/api_overview.mdx @@ -1,6 +1,6 @@ --- title: API Overview -sidebar_label: API Overview +sidebar_label: Overview sidebar_position: 1 toc_min_heading_level: 2 toc_max_heading_level: 4 @@ -10,17 +10,120 @@ 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
-
-
+flexibility to do so. The API is, at present, a [ROS 2 Jazzy](https://docs.ros.org/en/jazzy/index.html) API. -The message and services types for the API are defined at: -https://github.com/clearpathrobotics/clearpath_msgs/tree/onav-ros2/clearpath_outdoornav_msgs +The API is divided into two sections, whose details are provided below: + +- [Autonomy API](./api_endpoints/autonomy_api): 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 Subscribed to by Autonomy](./api_endpoints/autonomy_api.mdx#autonomy-subscribers): + The set of [ROS Topics](http://wiki.ros.org/Topics) + subscribed to by OutdoorNav Software, typically published by the + client for directing OutdoorNav operation. + - [Topics Published by Autonomy](./api_endpoints/autonomy_api.mdx#autonomy-publishers): + The set of [ROS Topics](http://wiki.ros.org/Topics) published by + OutdoorNav Software, to be subscribed to by the UGV. + - [Services Exported by Autonomy](./api_endpoints/autonomy_api#autonomy-services): + 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#autonomy-actions): + 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): The set of [ROS + Services](http://wiki.ros.org/Services) that are used for creating, deleting, + and modifying OutdoorNav Missions +- [API Examples](./api_examples/api_examples_overview): Example code to come. + + +## QoS Profiles {#qos-profiles} + +Topics and services in ROS 2 use Quality of Service (QoS) profiles to change communication policies. The QoS profile +of a topic or service has several policies such as history, depth, reliability, durability, and more. For more details on +QoS settings, visit the [ROS 2 documentation](https://docs.ros.org/en/jazzy/Concepts/About-Quality-of-Service-Settings.html). + +For Clearpath platforms, the main policies that may change between different topics and services are reliability and durability. For reliability +there are two options: _Best Effort_, and _Reliable_. A _Best Effort_ reliability suggests that an attempt will be made to publish +the data, but if the network is not robust then the data may be lost. On the other hand, _Reliable_ guarantees that the data will be received. +This may require that the data be sent multiple times. + +The durability of a QoS profile can be either _Transient Local_ or _Volatile_. _Transient Local_ means that data for published messages will +be stored by the publisher even after it has been published. A new subscriber will receive the data even if a lot of time has passed since it was originally published. +This durability is typically used for data that only needs to be published once, such as the robot description. The other durability policy is _Volatile_ which does not +store old messages. The messages are published and only active subscribers will receive the data. New subscribers will have to wait for the next message to be published. +Most topics will use a _Volatile_ durability policy. + +It is important to check for [QoS compatibility](https://docs.ros.org/en/jazzy/Concepts/Intermediate/About-Quality-of-Service-Settings.html#qos-compatibilities) when interacting with ROS 2. +Mixing of QoS policies when publishing or subscribing to topics can lead to incompatibility. For example, subscribing to a Best Effort publisher with a Reliable subscriber +is not compatible and will result in no data being received on the subscriber. The easiest way to check the QoS profile of a topic is to use the ROS 2 command line interface. + +``` +ros2 topic info /topic_name -v +``` + +## Common QoS profiles {#common-qos-profiles} + +The following are some common QoS profiles used by Clearpath platforms. + +### System Default + +- **History**: _Keep Last_ +- **Depth**: _10_ +- **Reliability**: _Reliable_ +- **Durability**: _Volatile_ +- **Deadline**: _System Default_ +- **Lifespan**: _System Default_ +- **Liveliness**: _Automatic_ +- **Lease Duration**: _System Default_ + +The _System Default_ QoS profile is the most common profile used by most topics. + +### Sensor Data + +- **History**: _Keep Last_ +- **Depth**: _5_ +- **Reliability**: _Best Effort_ +- **Durability**: _Volatile_ +- **Deadline**: _System Default_ +- **Lifespan**: _System Default_ +- **Liveliness**: _Automatic_ +- **Lease Duration**: _System Default_ + +The _Sensor Data_ QoS Profile uses a _Best Effort_ reliability to send the latest data +as soon as possible, without bothering to resend data that was not received. This is mostly used +by the MCU and sensor drivers. + +:::note + +Not all sensor drivers use this QoS profile. Always check the QoS profile before trying to subscribe to the topic. + +::: + +### Transient Local + +- **History**: _Keep Last_ +- **Depth**: _10_ +- **Reliability**: _Reliable_ +- **Durability**: _Transient Local_ +- **Deadline**: _System Default_ +- **Lifespan**: _System Default_ +- **Liveliness**: _Automatic_ +- **Lease Duration**: _System Default_ + +The _Transient Local_ QoS Profile offers a _Transient Local_ durability, and is typically used by topics that only +want to send messages once. For Clearpath platforms, this includes the robot description topic and the `/rosout` topic +which offers system logs. + +## Namespacing + +Namespacing is the method of adding a prefix to a robot's nodes and topics; this helps differentiate them from another robot that +may be on the same network. For example, every robot will have a `cmd_vel` topic for commanding velocity. If both robots +used the same topic, then they would both drive when a message is published to that topic. By namespacing, we can remap the topic +to `robot1/cmd_vel` and `robot2/cmd_vel` for each respective robot. -More details on the API will be provided in a future release of the documentation. \ No newline at end of file +By default, the namespace of the robot will be obtained from the serial number of the robot. If your serial number is `cpr-a300-00001`, then your namespace +will be `a300_00001`. This can be overwritten in the [robot.yaml](../../../docs/ros/config/yaml/overview) file. diff --git a/docs_outdoornav_user_manual/installation/_category_.json b/docs_outdoornav_user_manual/installation/_category_.json new file mode 100644 index 000000000..2ffaa1571 --- /dev/null +++ b/docs_outdoornav_user_manual/installation/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Installation", + "position": 10 +} diff --git a/docs_outdoornav_user_manual/installation/overview.mdx b/docs_outdoornav_user_manual/installation/overview.mdx new file mode 100644 index 000000000..f836cbdbc --- /dev/null +++ b/docs_outdoornav_user_manual/installation/overview.mdx @@ -0,0 +1,21 @@ +--- +title: Installation +sidebar_label: Installation +sidebar_position: 1 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +As of version 2.0.0, the OutdoorNav software uses ROS 2 Jazzy as its base. It is incompatible +with any other previous version of ROS. If you have a base platform running an older version +of ROS 2, consult [the following page](../../../docs/ros/installation/upgrading) to upgrade your +base to ROS 2 Jazzy. If you have a base platform running ROS 1, please reach out to +\ in order to receive instructions to install the correct +version. + +## Installing OutdoorNav Updates + +All AMP/Observer UGVs ship with the latest version of the OutdoorNav software. +If you receive an email regarding an available OutdoorNav software update, follow +the [update instructions](updates) to update the OutdoorNav software. + diff --git a/docs_outdoornav_user_manual/installation/updates.mdx b/docs_outdoornav_user_manual/installation/updates.mdx new file mode 100644 index 000000000..7aca7f4e5 --- /dev/null +++ b/docs_outdoornav_user_manual/installation/updates.mdx @@ -0,0 +1,102 @@ +--- +title: Installing Updates +sidebar_label: Installing Updates +sidebar_position: 1 +toc_min_heading_level: 4 +toc_max_heading_level: 4 +--- + +The following page details the steps to update the OutdoorNav software that is already +installed on your platform. + + +:::note + +Please ensure that you have received an email advising you that an update is available +since only those who receive the update emails will be have access to the update files. + +::: + +## Download + +1. Click the link that was sent to you in the update email. You will be sent to a cloud storage +drive with the following file structure (/Documents/General/Releases/...) + +2. Navigate to the version folder you wish to update to and download the following files: + + - **cpr-onav-ui.tar** + + - **cpr-onav-base.tar** + + - **cpr-onav-autonomy.tar** + + - **cpr-onav-app.zip** + +3. Connect to the robot + + Option 1: via ethernet (port located inside of the rear charge port door) + + Option 2: via wifi (Husky SSID: cpr_a300_amp_xxx) + +4. Transfer all files to the robots **/opt/onav/** folder + + **Linux**: + + ```code + scp cpr-onav-app.zip cpr-onav-ui.tar cpr-onav-base.tar cpr-onav-autonomy.tar robot@192.168.131.1:/opt/onav/ + ``` + + **Windows**: Use [FileZilla Client](https://filezilla-project.org/download.php?platform=win64) to transfer all files to the robot. + + SFTP Connection: + + * Host: sftp://192.168.131.1 + + * Username: robot + + * Password: clearpath + + +## Update + +1. Run the below command to update the version of OutdoorNav, where +***\*** is the folder of the last version of OutdoorNav that +has been installed on the robot and ***\*** is the version you want +to update to. + + ```code + python3 /opt/onav//app/update/update.py -v + ``` + + Eg. To update from version 2.1.0 to version 2.2.0 run the following + + ```code + python3 /opt/onav/2.1.0/app/update/update.py -v 2.2.0 + ``` + + * this will create a new version folder in /opt/onav/ + + * copy all persistent data from the last version + + * installs the app folder + + * stops the currently running version of OutdoorNav + + * starts the new version of OutdoorNav + + +## Cleanup + +1. Remove all extraneous files + + ```code + rm /opt/onav/cpr-onav-ui.tar /opt/onav/cpr-onav-base.tar /opt/onav/cpr-onav-autonomy.tar /opt/onav/cpr-onav-app.zip + ``` + +:::note + +If you have made any customization changes to the **app/** directory of your +previous version, you will need to make these same modifications manually +yourself to the new versions app/ directory files. + +::: \ No newline at end of file diff --git a/docs_outdoornav_user_manual/tools/file_browser.mdx b/docs_outdoornav_user_manual/tools/file_browser.mdx index 33c280fdc..56b470170 100644 --- a/docs_outdoornav_user_manual/tools/file_browser.mdx +++ b/docs_outdoornav_user_manual/tools/file_browser.mdx @@ -8,7 +8,7 @@ toc_max_heading_level: 4 We have enabled the ability to view, through a web browser, the robot filesystem for the specific version that is running. To access the file browser, either open the user -interface, access the **Menu** → **File** → **File Broswer** or navigate to the +interface, access the **Menu** → **File** → **File Browser** or navigate to the following [URL](http://192.168.131.1/_/files).
diff --git a/docs_outdoornav_user_manual/tools/foxglove_visualization.mdx b/docs_outdoornav_user_manual/tools/foxglove_visualization.mdx index 92dd95302..ba6a04622 100644 --- a/docs_outdoornav_user_manual/tools/foxglove_visualization.mdx +++ b/docs_outdoornav_user_manual/tools/foxglove_visualization.mdx @@ -25,4 +25,4 @@ the IP address of the host (UGV) computer, typically 192.168.131.1.
-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). +For more information on the available Foxglove panels and how to more thoroughly use it, please consult the [Foxglove documentation](https://foxglove.dev/docs/studio). diff --git a/docs_outdoornav_user_manual/web_user_interface/ui_manual_mode.mdx b/docs_outdoornav_user_manual/web_user_interface/ui_manual_mode.mdx index 20306482a..62f4f4d4a 100644 --- a/docs_outdoornav_user_manual/web_user_interface/ui_manual_mode.mdx +++ b/docs_outdoornav_user_manual/web_user_interface/ui_manual_mode.mdx @@ -44,7 +44,7 @@ methods that can be used to stop the moving UGV. to 80%. 5. **UI Lockout:** The lockout toggle that will prevent the Joystick from sending commands to the UGV. The purpose of this is to help prevent - unwanted users from teloperating the UGV. This feature + unwanted users from teleoperating the UGV. This feature does not lock out the controller connected to the robot. ## Remote Controller Connection @@ -69,5 +69,5 @@ 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 +this delay and be cautious when driving the UGV with larger delay for risk of crashing into obstacles. diff --git a/docs_outdoornav_user_manual/web_user_interface/ui_map_mode.mdx b/docs_outdoornav_user_manual/web_user_interface/ui_map_mode.mdx index 31695fe38..1c44916d9 100644 --- a/docs_outdoornav_user_manual/web_user_interface/ui_map_mode.mdx +++ b/docs_outdoornav_user_manual/web_user_interface/ui_map_mode.mdx @@ -25,7 +25,7 @@ The list below defines what a "Map" and "Mission" are in relation to the Map mod their relevant components. These terms are referred to throughout this page. - **Mission** A Mission is a set of one or more Goalpoints. -- **Map** A Operator created map that goes over the aerial view and is used to define valid driveable +- **Map** An Operator created map that goes over the aerial view and is used to define valid driveable areas for a mission. - **Point** A map point used to help define a path. - **Path** A connection between two points that the UGV can travel along for missions. Can be defined as @@ -34,7 +34,7 @@ their relevant components. These terms are referred to throughout this page. position relative to the datum in meters. These points are travelled to as part of the Mission. - **Task** A Task is an automated activity or wait time implemented as a ROS action at a specific event or Goalpoint. -- **GoToPoint** A Goalpoint that is independant of a mission. This point is meant to be a one off +- **GoToPoint** A Goalpoint that is independent of a mission. This point is meant to be a one off position to send the UGV to. - **Ghost point** A transparent point that is not part of the map. This point appears between two other points when in map edit mode. The Operator can @@ -98,7 +98,7 @@ system will automatically create a map for them with default settings. To add points to the map, ensure that the UI is still in "Map Edit Mode" and click on the map. This will add a point to the map and also trigger the "Connection Mode". The path type button (one-way/two-way) will turn blue to indicate that the next point that is added will be connected to the previously created point. -A Operator may cancel this connection by pressing the ESC key or by clicking the path type button. Points can be +An Operator may cancel this connection by pressing the ESC key or by clicking the path type button. Points can be dragged and dropped to adjust their positions. To delete a point, right click the point and select Delete. While in edit mode, Ghost points will appear in the center of each path that can be dragged and dropped to split the @@ -107,12 +107,12 @@ path. ### Map Paths Paths are generally added as part of the Point placement process as mentioned above. However, there may be -cases where a Operator would like to connect existing points. To accomplish this, simply exit out of connection mode +cases where an Operator would like to connect existing points. To accomplish this, simply exit out of connection mode then click on the existing points. Once the first point is clicked on, connection mode will be re-established with the previously clicked point as the starting location. As paths are added they will be visible in the Map properties table, along with their relevant details. To edit a -path's details a Operator can simply right click on the path or select the gear icon for the specific path in the table. +path's details an Operator can simply right click on the path or select the gear icon for the specific path in the table. This will open an overlay on the map that will allow the Operator to edit both one-way paths and two-way paths. In the case of two-way paths users can keep both ways in sync with each other or vary the properties depending on the direction. @@ -147,7 +147,7 @@ modified. Press enter/click aside to save the change. ### Map Defaults When adding paths the map uses defined default values to set the maximum driving radius -and speed limit. If a Operator wishes to adjust these defaults this can be done here. This will +and speed limit. If an Operator wishes to adjust these defaults this can be done here. This will only affect paths created after the changes have been made. ### Network Path Recorder @@ -225,7 +225,7 @@ modified. Press enter/click aside to save the change. ### Return to Dock -A Operator may wish to add a flag to the mission to indicate when and if the UGV should +An Operator may wish to add a flag to the mission to indicate when and if the UGV should return to the dock while executing the mission. When enabled, the Operator can input a battery percentage that once reached the UGV will begin navigating back to the specified dock or to the closest dock. They can then set the minimum battery life before the UGV @@ -266,7 +266,7 @@ To add a Task to a Goalpoint: 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 Goalpoint. - If its not checked, the Mission will become cancelled upon the Task's failure. + If it's not checked, the Mission will become cancelled upon the Task's failure. 5. Click the Gear icon next to the selected Task to modify or add required Task testings. 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 1467f81d1..2628753b5 100644 --- a/docs_outdoornav_user_manual/web_user_interface/ui_overview.mdx +++ b/docs_outdoornav_user_manual/web_user_interface/ui_overview.mdx @@ -6,7 +6,7 @@ toc_min_heading_level: 2 toc_max_heading_level: 4 --- -The Web User Interface (Web UI) provides a easy, graphical, means to +The Web User Interface (Web UI) provides an 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 @@ -92,7 +92,7 @@ Operator can access the following views: is activity (ie. where the datum is set or where features have been set on the map.) 3. **Table Button:** This button opens the Map/Mission table. When in Waypoint Mode it will open the table directly, while in - Map mode it will allow users to select the table to open or open a table based on which mode is being editted. + Map mode it will allow users to select the table to open or open a table based on which mode is being edited. 4. **Edit Mode Buttons:** This button will allow the user to set the current map edit mode. By clicking the button, a panel opens on the right with the available modes to edit with.
@@ -349,7 +349,7 @@ When running a mission autonomously the user can assign tasks to various events. src="/img/outdoornav_images/task_dock.png" width="30px" /> Dock Robot: - Will dock the UGV to begin charging the UGV's battery. There are 3 kinds of docking that can be used; Network, Radius and Local. See [Autonomous Docking](#autonomous-docking) for more information on the autonomous docking feature. + Will dock the UGV to begin charging the UGV's battery. - The following pages list add-on subsystems to support our base robot platforms and sensors. -Thses pages will list subsystems like: +These pages will list subsystems like: - Wi-Fi and networking - Lights diff --git a/docs_robots/accessories/add-ons/controllers.mdx b/docs_robots/accessories/add-ons/controllers.mdx index b7866e5e2..e51d6c020 100644 --- a/docs_robots/accessories/add-ons/controllers.mdx +++ b/docs_robots/accessories/add-ons/controllers.mdx @@ -11,8 +11,8 @@ sidebar_position: 3 | [FORT Robotics Safe Remote Control](#controllers_fort_robotics_src) | 025725 | Controllers appear in Ubuntu in the _/dev/input/_ directory. -Navigate to that directory,and then run `ls` to list the controllers. -You can view the data stream of the controller by running `jstest /dev/input/js0`, changing the final value to the relevent controller. +Navigate to that directory, and then run `ls` to list the controllers. +You can view the data stream of the controller by running `jstest /dev/input/js0`, changing the final value to the relevant controller. :::note @@ -55,7 +55,7 @@ The included USB dongle requires a line-of-sight connection with the handheld co
-This conroller requires a Bluetooth connection to the robot's computer. +This controller requires a Bluetooth connection to the robot's computer. Linux Driver: https://github.com/clearpathrobotics/ds4drv diff --git a/docs_robots/accessories/add-ons/power_supplies.mdx b/docs_robots/accessories/add-ons/power_supplies.mdx index 138479bd6..9a50f70b9 100644 --- a/docs_robots/accessories/add-ons/power_supplies.mdx +++ b/docs_robots/accessories/add-ons/power_supplies.mdx @@ -5,7 +5,7 @@ sidebar_position: 7 import ComponentPacsExplanation from "/components/pacs_explanation_and_link.mdx"; -Clearpath's robots include User Power connectors with regulated 5 V, 12 V, and 24 V depending on the robot platorm. +Clearpath's robots include User Power connectors with regulated 5 V, 12 V, and 24 V depending on the robot platform. Refer to your robot platform's user manual for more details about these User Power connections: - [Boxer](../../indoor_robots/boxer/user_manual_boxer.mdx) @@ -32,8 +32,8 @@ This is our process for choosing a new enclosed power supply. 4. Filter for your intended output voltage. 5. Filter for your required minimum output current or power. 6. Review the results, and find options that have an input voltage range matching your robot's battery. - For example, a Power Supply with an input voltage range of 18 - 36 VDC is acceptable for a Husky with a lead-acid battery, since the Husky's battery volage will be between 24 - 29 VDC. -7. Review the allowable operating temperature range, and confirm that it is acceptable for your applicaiton. + For example, a Power Supply with an input voltage range of 18 - 36 VDC is acceptable for a Husky with a lead-acid battery, since the Husky's battery voltage will be between 24 - 29 VDC. +7. Review the allowable operating temperature range, and confirm that it is acceptable for your application. 8. Review the Power Supply's datasheet, looking for mechanical mounting as well as shock & vibration requirements. :::tip diff --git a/docs_robots/accessories/add-ons/usb_hub.mdx b/docs_robots/accessories/add-ons/usb_hub.mdx index a35b9e145..4e8a16885 100644 --- a/docs_robots/accessories/add-ons/usb_hub.mdx +++ b/docs_robots/accessories/add-ons/usb_hub.mdx @@ -40,7 +40,7 @@ The PACS™ kit for this sensor includes: 2. Mount this assembly onto your robot, using the DIN Rail kit's included spacers and screws. 3. Remove the USB Hub from its packaging. Connect its included DIN Rail bracket to the USB Hub. -4. Connect the USB Hub assmbly onto the DIN Rail assembly. +4. Connect the USB Hub assembly onto the DIN Rail assembly. 5. Use two DIN Spacers (ID 3) to hold the USB Hub on the DIN Rail. 6. Make a power cable using the green terminal block connector that was included with the USB Hub. There is white lettering on the side of the USB Hub designating +V and -V terminals. diff --git a/docs_robots/accessories/manipulators/kinova_gen3_lite.mdx b/docs_robots/accessories/manipulators/kinova_gen3_lite.mdx index 69f493626..c3352b7b2 100644 --- a/docs_robots/accessories/manipulators/kinova_gen3_lite.mdx +++ b/docs_robots/accessories/manipulators/kinova_gen3_lite.mdx @@ -3,8 +3,9 @@ title: Kinova Gen3 Lite sidebar_position: 3 --- -import KinovaGen3Lite from "/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova_gen3_lite.mdx"; -import Kinova2FLite from "/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova_2f_lite.mdx"; +import KinovaLineUp from "/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova/lineup.mdx"; +import KinovaConfigs from "/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova/configs.mdx"; + import Support from "/components/support.mdx"; import Tabs from "@theme/Tabs"; import TabItem from "@theme/TabItem"; @@ -91,9 +92,8 @@ The PACS™ kit for this sensor includes: This manipulator is included in the Clearpath Robotics descriptino and robot package that is installed on all of our robots. This allows you to add or remove manipulator from your robot's software configuration by modying the [robot configuration yaml](/docs/ros/config/yaml/manipulators). - - - + + ### Networking, with netplan diff --git a/docs_robots/accessories/sensors/cameras/luxonis_oakd.mdx b/docs_robots/accessories/sensors/cameras/luxonis_oakd.mdx index 7fcf3efee..e486cee2a 100644 --- a/docs_robots/accessories/sensors/cameras/luxonis_oakd.mdx +++ b/docs_robots/accessories/sensors/cameras/luxonis_oakd.mdx @@ -39,6 +39,6 @@ This allows you to add or remove the sensor from your robot's software descripti ## Further Reading -1. [Clearpath Robotics Store](hhttps://store.clearpathrobotics.com/collections/vendors?q=Luxonis) +1. [Clearpath Robotics Store](https://store.clearpathrobotics.com/collections/vendors?q=Luxonis) 2. [Luxonis Website](https://luxonis.com/) 3. [ROS driver](https://github.com/luxonis/depthai-ros/) diff --git a/docs_robots/accessories/sensors/cameras/stereolabs_zed_2.mdx b/docs_robots/accessories/sensors/cameras/stereolabs_zed_2.mdx index 521cd107a..d7d79ad69 100644 --- a/docs_robots/accessories/sensors/cameras/stereolabs_zed_2.mdx +++ b/docs_robots/accessories/sensors/cameras/stereolabs_zed_2.mdx @@ -66,5 +66,5 @@ This allows you to add or remove the sensor from your robot's software descripti 4. [Dimensions, ZED 2i](/assets/pdf/clearpath_robotics_025844-TDS2.pdf) 5. [Stereolabs ZED Website](https://www.stereolabs.com) 6. [ROS webpage](http://wiki.ros.org/zed-ros-wrapper) -7. [ROS turorial](https://www.stereolabs.com/docs/ros/) +7. [ROS tutorial](https://www.stereolabs.com/docs/ros/) 8. [GitHub](https://github.com/stereolabs/zed-ros-wrapper) diff --git a/docs_robots/accessories/sensors/gps/garmin_gps_18x.mdx b/docs_robots/accessories/sensors/gps/garmin_gps_18x.mdx index 57e75e545..5234f04be 100644 --- a/docs_robots/accessories/sensors/gps/garmin_gps_18x.mdx +++ b/docs_robots/accessories/sensors/gps/garmin_gps_18x.mdx @@ -25,7 +25,7 @@ import YAML from "/docs_versioned_docs/version-ros2jazzy/components/yaml/sensors | Description | Value | | :--------------------------------------------------------------------------------------------------------- | :------------------------------------------------------ | -| Mass | 165 kg | +| Mass | 165 g | | Voltage, Minimum | 4 V | | Voltage, Maximum | 5.5 V | | Voltage, Sensor | 5 V | diff --git a/docs_robots/accessories/sensors/ins/fixposition.mdx b/docs_robots/accessories/sensors/ins/fixposition.mdx index aad4428dd..1b2f3ce9f 100644 --- a/docs_robots/accessories/sensors/ins/fixposition.mdx +++ b/docs_robots/accessories/sensors/ins/fixposition.mdx @@ -15,7 +15,7 @@ import YAML from "/docs_versioned_docs/version-ros2jazzy/components/yaml/sensors :::info -The _Fixposition Vision RTK 2_ has also been called _Fixposition XVN_. +The _Fixposition Vision RTK 2_ is also known as the _Movella XVN (Xsens Vision Navigator)_. ::: diff --git a/docs_robots/accessories/sensors/lidar_3d/velodyne_puck_lite.mdx b/docs_robots/accessories/sensors/lidar_3d/velodyne_puck_lite.mdx index f126f7ea1..0d0e3200e 100644 --- a/docs_robots/accessories/sensors/lidar_3d/velodyne_puck_lite.mdx +++ b/docs_robots/accessories/sensors/lidar_3d/velodyne_puck_lite.mdx @@ -66,7 +66,7 @@ This allows you to add or remove the sensor from your robot's software descripti 4. [User Manual, Control Box](/assets/pdf/clearpath_robotics_023729-TDS3.pdf) 5. [Drawing, Sensor](/assets/pdf/clearpath_robotics_023729-TDS4.pdf) 6. [Drawing, Control Box](/assets/pdf/clearpath_robotics_023729-TDS6.pdf) -7. [Wiring, Contol Box](/assets/pdf/clearpath_robotics_023729-TDS5.pdf) +7. [Wiring, Control Box](/assets/pdf/clearpath_robotics_023729-TDS5.pdf) 8. [Velodyne website](https://velodynelidar.com/products/puck-lite/) 9. [ROS webpage](http://wiki.ros.org/velodyne) 10. [ROS tutorial](http://wiki.ros.org/velodyne/Tutorials/Getting%20Started%20with%20the%20Velodyne%20VLP16) diff --git a/docs_robots/indoor_robots/dingo/integration_dingo/integration_dingo.mdx b/docs_robots/indoor_robots/dingo/integration_dingo/integration_dingo.mdx index 78dfda318..1fff243e0 100644 --- a/docs_robots/indoor_robots/dingo/integration_dingo/integration_dingo.mdx +++ b/docs_robots/indoor_robots/dingo/integration_dingo/integration_dingo.mdx @@ -214,7 +214,7 @@ The pins should be connected as follows: - 1: 12 V @ 500mA max - 2: GND -Then, the use can publish a ROS message to the `/mcu/fans` topic to control the fan. +Then, the user can publish a ROS message to the `/mcu/fans` topic to control the fan. #### Optional External Motion Stop {#dingo-external-motion-stop} diff --git a/docs_robots/indoor_robots/dingo/troubleshooting_dingo.mdx b/docs_robots/indoor_robots/dingo/troubleshooting_dingo.mdx index 08c4fdc2a..1e0fcf1d9 100644 --- a/docs_robots/indoor_robots/dingo/troubleshooting_dingo.mdx +++ b/docs_robots/indoor_robots/dingo/troubleshooting_dingo.mdx @@ -22,7 +22,7 @@ Refer to the [Networking page](/docs/ros/networking/overview). ### Cannot connect to the robot's computer over a network cable -Reter to the [Networking page](/docs/ros/networking/overview). +Refer to the [Networking page](/docs/ros/networking/overview). --- @@ -42,7 +42,7 @@ Refer to the [Mini ITX troubleshooting page](../../accessories/computers/mini_it ### ROS package is not starting -Verify the upstart logs, `/var/log/upstart/husky_core.log`, to see if there are any error during upstart. +Verify the upstart logs, `/var/log/upstart/husky_core.log`, to see if there are any errors during upstart. ### Sensors are not turning on diff --git a/docs_robots/indoor_robots/dingo/tutorials_dingo.mdx b/docs_robots/indoor_robots/dingo/tutorials_dingo.mdx index 17ea569c8..b03f4c5fc 100644 --- a/docs_robots/indoor_robots/dingo/tutorials_dingo.mdx +++ b/docs_robots/indoor_robots/dingo/tutorials_dingo.mdx @@ -14,7 +14,7 @@ import Support from "/components/support.mdx"; ### Introduction -Dingo a lightweight and easy-to-use unmanned indoor ground vehicle for ROS, suitable for research and rapid prototyping applications. +Dingo is a lightweight and easy-to-use unmanned indoor ground vehicle for ROS, suitable for research and rapid prototyping applications. These tutorials will assist you with setting up and operating your Dingo. For more information or to receive a quote, please [visit us online](http://clearpathrobotics.com/dingo). diff --git a/docs_robots/indoor_robots/ridgeback/integration_ridgeback.mdx b/docs_robots/indoor_robots/ridgeback/integration_ridgeback.mdx index bd63fca05..f199d6c06 100644 --- a/docs_robots/indoor_robots/ridgeback/integration_ridgeback.mdx +++ b/docs_robots/indoor_robots/ridgeback/integration_ridgeback.mdx @@ -8,6 +8,7 @@ toc_max_heading_level: 4 import ComponentIntroductionRidgeback from "/components/introduction_ridgeback.mdx"; import ComponentCommonSoftwareIntegration from "/components/common_software_integration.mdx"; +import ComponentStepModel from "/components/ridgeback_r100/ridgeback_r100_step_model.mdx"; import Support from "/components/support.mdx"; @@ -17,12 +18,13 @@ supply, and software integration. This guide aims to equip you with respect to t --- -### Mechanical Mounting +## Mechanical Mounting + When determining mechanical mounting, you can use the Standard mounting pattern on the Ridgeback. At this time, the "PACS™" mounting system is not available for Ridgeback. -#### Mechanical, Standard {#ridgeback-payload-mechanical-integration} +### Mechanical, Standard {#ridgeback-payload-mechanical-integration} The payload integration plate can be used to mount external payloads on top of the Ridgeback. The plate is made of aluminum, which allows Ridgeback to support payloads up to 100 kg (220 lbs). Ridgeback's @@ -30,7 +32,7 @@ batteries are positioned low in the chassis and slightly rearward of center of t weight distribution when mounting front-facing manipulator payloads. To minimize the possibility of tipping over, payload structures should always be mounted as close to center as possible. -##### Payload Mounting Holes +#### Payload Mounting Holes Located at the front-end of the mounting plate are two 5/8"-11 screw holes for mounting Baxter, UR5/UR510 manipulator arms, or any other payload structure. These holes are indicated in the figure below. If you purchased the Baxter @@ -59,11 +61,11 @@ to custom modifications. ::: -### Electrical Integration {#ridgeback-payload-electrical-integration} +## Electrical Integration {#ridgeback-payload-electrical-integration} Except for bus-powered USB cameras, most payloads have separate leads for power and data. -#### Data Connections +### Data Connections The two larger holes on the left and right side of the payload integration plate allow you to pass electrical wires and cables from the mounted payloads into the User Bay. Electrical wires should always @@ -73,7 +75,7 @@ Ridgeback's internal computer options support USB3 and Ethernet connectivity. An Ethernet switch or PoE power injector can be added to the User Bay as required. -#### Connector Summary {#ridgeback-connector-summary} +### Connector Summary {#ridgeback-connector-summary} Several user power connectors are accessible in the User Bay for powering user payloads. These are summarized in the following table and described in more detail in the following sections. @@ -101,7 +103,7 @@ illustration for the connector and fuse locations.
-#### User Power Connections +### User Power Connections Similar to the data connections, power leads may be brought through the two larger holes on the left and right side of the payload integration plate, and connected to the power ports in the User Bay. @@ -135,7 +137,7 @@ For continued protection against risk of fire, always replace fuses only with th ::: -#### Optional External Motion Stop {#ridgeback-external-motion-stop} +### Optional External Motion Stop {#ridgeback-external-motion-stop} In addition to the built-in Motion Stop button, an external motion-stop latching button/switch can be added that has similar functionality. Electrically, the external motion-stop latching button/switch can be connected to the 4-pin MCU connector labelled `E-STOP BREAKOUT` using diff --git a/docs_robots/indoor_robots/ridgeback/maintenance_ridgeback.mdx b/docs_robots/indoor_robots/ridgeback/maintenance_ridgeback.mdx index 5365a3b92..d622bc999 100644 --- a/docs_robots/indoor_robots/ridgeback/maintenance_ridgeback.mdx +++ b/docs_robots/indoor_robots/ridgeback/maintenance_ridgeback.mdx @@ -21,7 +21,7 @@ It may also be necessary to remove the antenna cables carefully prior to removin ## Long-term storage -When storing Ridgeback for long periods of time, its important to properly maintain the batteries to fully +When storing Ridgeback for long periods of time, it's important to properly maintain the batteries to fully maximize their life. Consider one of the following two procedures when placing Ridgeback in long-term storage: - Fully charge Ridgeback, turn it off and put it into storage. Once a week, connect power to the charger diff --git a/docs_robots/indoor_robots/ridgeback/troubleshooting_ridgeback.mdx b/docs_robots/indoor_robots/ridgeback/troubleshooting_ridgeback.mdx index e7d1b761e..4a2a25440 100644 --- a/docs_robots/indoor_robots/ridgeback/troubleshooting_ridgeback.mdx +++ b/docs_robots/indoor_robots/ridgeback/troubleshooting_ridgeback.mdx @@ -22,7 +22,7 @@ Refer to the [Networking page](/docs/ros/networking/overview). ### Cannot connect to the robot's computer over a network cable -Reter to the [Networking page](/docs/ros/networking/overview). +Refer to the [Networking page](/docs/ros/networking/overview). --- @@ -42,7 +42,7 @@ Refer to the [Mini ITX troubleshooting page](../../accessories/computers/mini_it ### ROS package is not starting -Verify the upstart logs, `/var/log/upstart/husky_core.log`, to see if there are any error during upstart. +Verify the upstart logs, `/var/log/upstart/husky_core.log`, to see if there are any errors during upstart. ### Sensors are not turning on diff --git a/docs_robots/legacy/ros1_robots/outdoor_robots/husky/maintenance_husky.mdx b/docs_robots/legacy/ros1_robots/outdoor_robots/husky/maintenance_husky.mdx index 1417ff55f..793560ded 100644 --- a/docs_robots/legacy/ros1_robots/outdoor_robots/husky/maintenance_husky.mdx +++ b/docs_robots/legacy/ros1_robots/outdoor_robots/husky/maintenance_husky.mdx @@ -97,7 +97,7 @@ Lower tire pressures, for example 68.5 kPa (10 psi), ensure better traction in r or other obstacles may be encountered. This has the adverse effect of lowering drivetrain efficiency and decreasing battery charge, so high pressures up to a maximum of 137 kPa (20 psi) should be used when driving on flat surfaces. -Lower tire pressuses also reduce the effective diameter of the wheel, and will impact your odometry readings. +Lower tire pressures also reduce the effective diameter of the wheel, and will impact your odometry readings. Odometry is calculated using the average diameter of a tire inflated to 137 kPa (20 psi). ::: diff --git a/docs_robots/legacy/ros1_robots/outdoor_robots/warthog/maintenance_warthog.mdx b/docs_robots/legacy/ros1_robots/outdoor_robots/warthog/maintenance_warthog.mdx index b37eb2852..a7cde3e2d 100644 --- a/docs_robots/legacy/ros1_robots/outdoor_robots/warthog/maintenance_warthog.mdx +++ b/docs_robots/legacy/ros1_robots/outdoor_robots/warthog/maintenance_warthog.mdx @@ -159,7 +159,7 @@ If your unit came equipped with the tracks upgrade, please keep the following co - The tracks drive units pull considerably more current to operate. It is advised to operate a Warthog with tracks at reduced speeds, either through ROS commands or by reducing the speed scale when operating with the Futaba controller. - Due to the increased drive current, expect lower battery life than a wheeled Warthog. - It is recommend to drive at reduced speeds to increase battery life. + It is recommended to drive at reduced speeds to increase battery life. - It is possible to trigger an over current error in the motor controller by increasing speed drastically shortly after resetting a stop condition. The system's body lights will seem as if the unit is ready to drive, however it will not respond to drive commands. To clear this state, simply cycle another stop condition, and ramp up speeds slower. diff --git a/docs_robots/outdoor_robots/husky/a200/integration_husky/integration_husky.mdx b/docs_robots/outdoor_robots/husky/a200/integration_husky/integration_husky.mdx index f2a9f8e6b..4d9af47cd 100644 --- a/docs_robots/outdoor_robots/husky/a200/integration_husky/integration_husky.mdx +++ b/docs_robots/outdoor_robots/husky/a200/integration_husky/integration_husky.mdx @@ -22,7 +22,7 @@ supply, and software integration. This guide aims to equip you with respect to t ### Mechanical, Standard A standard Husky is delivered with a 20 X 20 aluminum extrusion frame around the top of the user bay. -This can be used for mouning sensors, lights, and other small attachments. +This can be used for mounting sensors, lights, and other small attachments. We suggest using the following items to interface with this extrusion: | Description | CPR Item | Manufacturer | Manufacturer Item | @@ -70,7 +70,7 @@ Except for bus-powered USB cameras, most payloads have separate leads for power ### Data Connections Data connections (USB and Ethernet) are made to the Husky computer mounted in the user bay. -In addition, the PCIe Gen3 x16 slot may be used to supply a GPU or other attachements, as necessary. +In addition, the PCIe Gen3 x16 slot may be used to supply a GPU or other attachments, as necessary. Additionally, the user bay may be used for an Ethernet switch, when attaching multiple Ethernet payloads, or for a PoE power injector as required. @@ -86,7 +86,7 @@ In total, 282 W of power is available from these User Power breakouts. :::note -You can order a upgrade for your Husky, that will add 480 W of power (VBAT fused at 20 A). Each terminal comes equipped with a +You can order an upgrade for your Husky, that will add 480 W of power (VBAT fused at 20 A). Each terminal comes equipped with a removable connector into which your payload power leads may connect. ::: diff --git a/docs_robots/outdoor_robots/husky/a200/maintenance_husky.mdx b/docs_robots/outdoor_robots/husky/a200/maintenance_husky.mdx index cee73c1e8..2a9242fb6 100644 --- a/docs_robots/outdoor_robots/husky/a200/maintenance_husky.mdx +++ b/docs_robots/outdoor_robots/husky/a200/maintenance_husky.mdx @@ -97,7 +97,7 @@ Lower tire pressures, for example 68.5 kPa (10 psi), ensure better traction in r or other obstacles may be encountered. This has the adverse effect of lowering drivetrain efficiency and decreasing battery charge, so high pressures up to a maximum of 137 kPa (20 psi) should be used when driving on flat surfaces. -Lower tire pressuses also reduce the effective diameter of the wheel, and will impact your odometry readings. +Lower tire pressures also reduce the effective diameter of the wheel, and will impact your odometry readings. Odometry is calculated using the average diameter of a tire inflated to 137 kPa (20 psi). ::: @@ -190,7 +190,7 @@ purchased in advance and warehoused at Clearpath for future use. ## Replacing Fuses -You Husky's MCU has fuses that can be changed through the rear battery access panel. +Your Husky's MCU has fuses that can be changed through the rear battery access panel. The large battery input fuse is on the other side of the MCU, so you will need to remove Husky's metal panels to access this fuse. :::caution diff --git a/docs_robots/outdoor_robots/husky/a200/troubleshooting_husky.mdx b/docs_robots/outdoor_robots/husky/a200/troubleshooting_husky.mdx index 8e0824ff5..ecaa8be83 100644 --- a/docs_robots/outdoor_robots/husky/a200/troubleshooting_husky.mdx +++ b/docs_robots/outdoor_robots/husky/a200/troubleshooting_husky.mdx @@ -104,7 +104,7 @@ rostopic echo /status ### Power button's blue light is not on The power button on the back of Husky has a blue light that turns on when the button is pressed, indicating that the Husky is receiving power. -This light will turn on if the switch is receiving power, there is no sofware controlling it. +This light will turn on if the switch is receiving power, there is no software controlling it. For the button to turn on: 1. The Husky needs to have a charged battery installed. @@ -158,7 +158,7 @@ This is why your Husky will roll on a slope, since the resistive torque of the c :::note -The `/twist_mux` topic controls to priority of `/cmd_vel` messages. +The `/twist_mux` topic controls the priority of `/cmd_vel` messages. ::: @@ -189,7 +189,7 @@ Refer to the [Networking page](/docs/ros/networking/overview). ### Cannot connect to the robot's computer over a network cable -Reter to the [Networking page](/docs/ros/networking/overview). +Refer to the [Networking page](/docs/ros/networking/overview). --- @@ -209,7 +209,7 @@ Refer to the [Mini ITX troubleshooting page](../../../accessories/computers/mini ### ROS package is not starting -Verify the upstart logs, `/var/log/upstart/husky_core.log`, to see if there are any error during upstart. +Verify the upstart logs, `/var/log/upstart/husky_core.log`, to see if there are any errors during upstart. ### Sensors are not turning on diff --git a/docs_robots/outdoor_robots/husky/a300/a300.mdx b/docs_robots/outdoor_robots/husky/a300/a300.mdx index 1fcf7767c..e34840272 100644 --- a/docs_robots/outdoor_robots/husky/a300/a300.mdx +++ b/docs_robots/outdoor_robots/husky/a300/a300.mdx @@ -16,7 +16,7 @@ import Support from "/components/support.mdx"; - [User Manual](user_manual_husky): important safety information, robot overview and features, getting started, basic usage - [Integration Guide](integration_husky): details for attaching custom components - [Tutorials](tutorials_husky): examples on how to use the robot and customize software -- [Maintenance Manual](maintenance_husky): preventative maintanence lists, component replacement procedures, and software update instructions +- [Maintenance Manual](maintenance_husky): preventative maintenance lists, component replacement procedures, and software update instructions - [Troubleshooting Guide](troubleshooting_husky): tips on resolving common issues - [Error Codes](error_codes_husky): Specific information on error codes and how to resolve them diff --git a/docs_robots/outdoor_robots/husky/a300/user_manual_husky.mdx b/docs_robots/outdoor_robots/husky/a300/user_manual_husky.mdx index f109b7f18..132405904 100644 --- a/docs_robots/outdoor_robots/husky/a300/user_manual_husky.mdx +++ b/docs_robots/outdoor_robots/husky/a300/user_manual_husky.mdx @@ -39,7 +39,7 @@ WARNING indicates a hazardous situation which, if not avoided, could result in d :::safety-caution -CAUTION indcates a hazardous situation which, if not avoided, could result in minor or moderate injury. +CAUTION indicates a hazardous situation which, if not avoided, could result in minor or moderate injury. ::: @@ -199,7 +199,7 @@ with Husky A300 while it is being operated. This reduces entrapment. :::safety-caution -**Always tie up long hair and avoid loose jewellery when working aroung Husky A300.** +**Always tie up long hair and avoid loose jewellery when working around Husky A300.** This reduces entrapment. @@ -1446,9 +1446,9 @@ Using other chargers may cause damage to the batteries. :::safety-warning -**Never charge Clearpath Robotics robots in environments with combustable materials.** +**Never charge Clearpath Robotics robots in environments with combustible materials.** -Sparks may occur and could cause combustable materials to ignite. +Sparks may occur and could cause combustible materials to ignite. ::: @@ -1502,7 +1502,7 @@ robot is powered off. 1. Plug the Standard Charger power cord into the Standard Charger and then into a wall receptacle. The LED on the Standard Charger will illuminate red and Husky's [Status Lights](#status-lights) will pulse yellow/green (if the robot is powered on). -1. When battery is charged fully, the LED on the Standard Charger will illuminate green if the the robot is powered off. +1. When battery is charged fully, the LED on the Standard Charger will illuminate green if the robot is powered off. Alternatively, if the robot is powered on the LED on the Standard Charger will remain red and Husky's [Status Lights](#status-lights) will pulse blue/green. 1. Unplug the Standard Charger from the wall and then disconnect it from the Battery Charger Port. @@ -1721,15 +1721,40 @@ See [Husky A300 Troubleshooting](troubleshooting_husky.mdx) for details on Husky - CE-marked - EN 61326-1:2013 - - EN 301 489-1 V1.9.2 - EN 61010-1:2010, EN 61010-1:2010/A1:2019/AC:2019-04, EN 61010-1:2010/A1:2019 - EN 301 489-1 V1.9.2 - EN 301 893 V2.1.1 - EN 300 328 V2.2.2 -- FCC Part 15 Subpart B -- FCC Part 18 -- ICES-002 -- ICES-003 +- United States + - FCC Part 15 Subpart B + - FCC Part 18 +- Canada + - ICES-002 + - ICES-003 +- Australia / New Zealand + - EN 55032:2015 (ETSI EN 301 489-17 V3.2.4, ETSI EN 301 489-1 V2.2.3) + - AS/NZS 4268:2017 + - AS/NZS 4024.1204:2019 + - EN 50566:2017 +- Korea + - KS 3124:2020 + - KS 3126:2020 + - KS C 9610-6-2:2019 + - KS C 9610-6-4:2022 +- Singapore +
+ +
+- Japan +
+ +
### Declarations @@ -1739,6 +1764,8 @@ including interference that may cause undesired operation. CAN ICES-003(A) / NMB-003(A) +Husky A300 has obtained Equipment Type Approval from India's Wireless Planning and Coordination Wing. + :::note The Husky A300 base configuration meets regulatory requirements as outlined in the manual and as diff --git a/docs_robots/outdoor_robots/jackal/integration_jackal.mdx b/docs_robots/outdoor_robots/jackal/integration_jackal.mdx index c2627a340..d0f31ece8 100644 --- a/docs_robots/outdoor_robots/jackal/integration_jackal.mdx +++ b/docs_robots/outdoor_robots/jackal/integration_jackal.mdx @@ -17,29 +17,39 @@ supply, and software integration. This guide aims to equip you with respect to t --- -### Mechanical Mounting +## Mechanical Mounting When determining mechanical mounting, you can use the Standard square mounting pattern on the lid of the Jackal. -At this time, the "PACS™" mounting system is not available for Jackal. +At this time, the [PACS™](../../accessories/pacs) mounting system is not available for Jackal. -#### Mechanical, Standard +### Mechanical, Standard -A standard Jackal is delivered with an 80 mm square mounting pattern of M5 threaded holes on its lid, which can be -used for attaching external payloads. The mounting holes come with M5 screws pre-installed. +A standard Jackal is delivered with a 120 mm square mounting pattern of M5×0.8 threaded holes on its lid, which can be +used for attaching external payloads. The mounting holes come with M5 thumbscrews pre-installed. You may mount your hardware directly onto the lid or you may design and mount a new plate to the lid and secure it to the lid using M5 screws. -### Mechanical, PACS +### Mechanical, PACS™ -While Jackal does not yet support PACS directly, the following kits may simplify your integration. +While Jackal does not support [PACS™](../../accessories/pacs) directly, the following kits may simplify your integration. +- [026369](/assets/pdf/clearpath_robotics_026369.pdf) Plate, which includes an 80 X 80 pattern of M5×0.8 threaded holes for mounting PACS™ sensors. +- [034769](/assets/pdf/clearpath_robotics_034769.pdf) Cable, helps add PACS™ sensors on a Jackal. + Our PACS™ sensor kits include power cables that match Husky's connector and pinout. + This adaptor cable converts Jackal's User Power connectors to have the same connector and pinout as Husky A300's. + :::note + + The adaptor only includes 12 V and VBAT, since Jackal does not include a 24 V power supply. + PACS™ sensor kits that use a 24 V pin will not work on Jackal by default. + + ::: - [OutdoorNav Starter Kit](../../accessories/add-ons/outdoornav_starter_kit.mdx) -### Electrical Integration {#jackal-payload-electrical-integration} +## Electrical Integration {#jackal-payload-electrical-integration} Except for bus-powered USB cameras, most payloads have separate leads for power and data. -#### Data Connections +### Data Connections Data connections may be brought through the hatch and connected directly to the internal computer. Both of Jackal's internal computer options support USB3 and Ethernet connectivity. With the performance @@ -48,7 +58,7 @@ computer, the PCIe slot may be used to supply Firewire, Thunderbolt, or addition Additionally, the internal mounting area may be used for an Ethernet switch, when attaching multiple Ethernet payloads, or for a PoE power injector as required. -#### Connector Summary +### Connector Summary The Jackal User Power Board (UPB) board provides a number of connections for power. These are summarized in the following table and described in more detail in the following sections. @@ -75,7 +85,7 @@ These are summarized in the following table and described in more detail in the -#### User Power Connections +### User Power Connections Similar to the data connections, power leads may be brought through the hatch, and connected to the User Power Board. The following are available as user power: @@ -95,10 +105,10 @@ pin does not exceed 8 A. ::: -#### MCU Debug LEDs +### MCU Debug LEDs The Jackal MCU circuit board comes equipped with four LEDs controlled by Jackal firmware for debugging. -If the system is working properly, these LEDs functions as follows: +If the system is working properly, these LEDs function as follows: - **DBG1**: toggles every 500 ms when main loop on MCU is running - **DBG2**: not used in normal operation; LED should be off diff --git a/docs_robots/outdoor_robots/jackal/troubleshooting_jackal.mdx b/docs_robots/outdoor_robots/jackal/troubleshooting_jackal.mdx index 54731c5ee..29e4a3022 100644 --- a/docs_robots/outdoor_robots/jackal/troubleshooting_jackal.mdx +++ b/docs_robots/outdoor_robots/jackal/troubleshooting_jackal.mdx @@ -22,7 +22,7 @@ Refer to the [Networking page](/docs/ros/networking/overview). ### Cannot connect to the robot's computer over a network cable -Reter to the [Networking page](/docs/ros/networking/overview). +Refer to the [Networking page](/docs/ros/networking/overview). --- @@ -42,7 +42,7 @@ Refer to the [Mini ITX troubleshooting page](../../accessories/computers/mini_it ### ROS package is not starting -Verify the upstart logs, `/var/log/upstart/husky_core.log`, to see if there are any error during upstart. +Verify the upstart logs, `/var/log/upstart/husky_core.log`, to see if there are any errors during upstart. ### Sensors are not turning on diff --git a/docs_robots/outdoor_robots/jackal/user_manual_jackal.mdx b/docs_robots/outdoor_robots/jackal/user_manual_jackal.mdx index a7b2aa30e..c7498775a 100644 --- a/docs_robots/outdoor_robots/jackal/user_manual_jackal.mdx +++ b/docs_robots/outdoor_robots/jackal/user_manual_jackal.mdx @@ -79,7 +79,7 @@ The human-machine-interface (HMI) panel is shown below and includes from left: | Icon | Description | | :---------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | | **Motion Stop button**: LED is solid green when Jackal is able to drive and flashing green when the Jackal's motors are disengaged; pressing button toggles the motors between engaged and disengaged mode (further details in [Motion Stop Buttons](#jackal-stop-buttons)) | -| | **Comms indictor**: LED is solid green when communication between the MCU and computer has been established and LED is off otherwise | +| | **Comms indicator**: LED is solid green when communication between the MCU and computer has been established and LED is off otherwise | | | **Wi-Fi indicator**: LED is solid green when Wi-Fi is connected and LED is off otherwise | | | **Battery indicator**: LED is solid green when the battery level is ok, solid yellow when the battery level is getting low (should be charged soon), and solid red when the battery level is critical (should be charged immediately) | | | **System Power button**: LED is solid blue when the system is powered on and running and the LED is flashing blue during the shutdown process; when the system is powered off, pressing the power button begins the power on process; when the system is powered on, a quick press of the power button begins a graceful shutdown and a prolonged press of the power button triggers and immediate power off of the system | @@ -99,7 +99,7 @@ The human-machine-interface (HMI) panel is shown below and includes from left: Additional payloads such IMUs, lidars, cameras, GPS, manipulators and many more can be integrated with Jackal, either as part of your Jackal purchase or installed after receiving your Jackal. You can find a list of supported packages and related documentation for payloads in this -documention portal, under the [Computers](../../accessories/computers/computers.mdx), +documentation portal, under the [Computers](../../accessories/computers/computers.mdx), [Sensors](../../accessories/sensors/sensors.mdx), [Manipulators](../../accessories/manipulators/manipulators.mdx), and [Accessories](../../accessories/add-ons/add-ons.mdx) sections. In addition, refer to [Jackal Integration](integration_jackal.mdx) for details on how to integrate your own payload or how to integrate a payload kit from Clearpath Robotics. diff --git a/docs_robots/outdoor_robots/warthog/integration_warthog/integration_warthog.mdx b/docs_robots/outdoor_robots/warthog/integration_warthog/integration_warthog.mdx index 9d399e3c3..7dc0107b3 100644 --- a/docs_robots/outdoor_robots/warthog/integration_warthog/integration_warthog.mdx +++ b/docs_robots/outdoor_robots/warthog/integration_warthog/integration_warthog.mdx @@ -9,7 +9,7 @@ import ComponentPacsMechanical from "/components/pacs_mechanical.mdx"; import ComponentCommonSoftwareIntegration from "/components/common_software_integration.mdx"; import Support from "/components/support.mdx"; -To attach custom hardware to Warthog, you will have to take care of mechnical mounting, electrical supply, and software integration. +To attach custom hardware to Warthog, you will have to take care of mechanical mounting, electrical supply, and software integration. This section aims to equip you with respect to these challenges. --- @@ -24,7 +24,7 @@ When determining mechanical mounting, you have two options, both of which are de ### Mechanical, Standard A standard Warthog includes thru holes on the sides of the battery compartment. -You can besign mounting brackets to interface with these holes. +You can design mounting brackets to interface with these holes. ### Mechanical, PACS™ @@ -43,7 +43,7 @@ Refer to the following pages for Warthog brackets that can simplify your integra Damage to both the UGV and the payload will result. - The chassis has a removable access cover measuring 1175 mm X 667 mm (46.25" X 26.25"). This access cover is supported underneath by two adjustable cross members. - Regardless of payload, it is imperative that both cross members remain installed (approximately evenly spaced) to provided required support to the access cover. + Regardless of payload, it is imperative that both cross members remain installed (approximately evenly spaced) to provide required support to the access cover. Consider that any payload installed above the top deck will prevent access to the chassis through the access cover, without first removing the installed payload. - The rotation of the suspension differential link in the horizontal plane will allow the payload to extend beyond the chassis top deck in both fore and aft locations. The amount of this payload extension (overhang) is dependent on several factors, including the weight and method of attachment of the payload as well as the terrain in which the UGV will operate. @@ -74,7 +74,7 @@ For continued protection against risk of fire, only replace fuses with those of Except for bus-powered USB cameras, most payloads have separate leads for power and data. -### Top Plate Power and Data Connections Connections +### Top Plate Power and Data Connections | Description | Notes | Mating Connector (CPR Item) | Mating Connector (Manufacturer Item) | | :------------------------------------------------------ | :-------------------------------------- | :-------------------------- | :---------------------------------------------------------------------------------------- | diff --git a/docs_robots/outdoor_robots/warthog/integration_warthog/kits_warthog/extrusion_rails_warthog.mdx b/docs_robots/outdoor_robots/warthog/integration_warthog/kits_warthog/extrusion_rails_warthog.mdx index 8aacdf691..bf43c5c3f 100644 --- a/docs_robots/outdoor_robots/warthog/integration_warthog/kits_warthog/extrusion_rails_warthog.mdx +++ b/docs_robots/outdoor_robots/warthog/integration_warthog/kits_warthog/extrusion_rails_warthog.mdx @@ -13,7 +13,7 @@ sidebar_position: 1 This kit adds [25 mm X 50 mm aluminum extrusions](/assets/pdf/clearpath_robotics_028459-TDS1.pdf) to both sides of the Warthog. The extrusions are attached to the Warthog using M6×1 stainless steel screws, and [stainless steel rivets](https://www.mcmaster.com/97525A247/) with a Ø5 mm shank. -You can attach your own custom brakets to the extrusions using M5×0.8 T-slot nuts, or these other useful off-the-shelf items: +You can attach your own custom brackets to the extrusions using M5×0.8 T-slot nuts, or these other useful off-the-shelf items: | Description | CPR Item | Manufacturer | Manufacturer Item | | :-------------------------------------------- | :------------------------------------------------------: | :----------- | :----------------------------------------------------------------------------------------------------------------------------------------------------- | diff --git a/docs_robots/outdoor_robots/warthog/integration_warthog/kits_warthog/top_plate_warthog.mdx b/docs_robots/outdoor_robots/warthog/integration_warthog/kits_warthog/top_plate_warthog.mdx index e1ad6c6fd..b8a928a48 100644 --- a/docs_robots/outdoor_robots/warthog/integration_warthog/kits_warthog/top_plate_warthog.mdx +++ b/docs_robots/outdoor_robots/warthog/integration_warthog/kits_warthog/top_plate_warthog.mdx @@ -63,7 +63,7 @@ You may need to loosen the Cross-Bar's brackets to get access to the end for ins ### Step 2 -Place the Plate _(ID1)_ ontop of the Extrusion Rails and Crossbar. The Plate's countersink features should be facing up. +Place the Plate _(ID1)_ on top of the Extrusion Rails and Crossbar. The Plate's countersink features should be facing up. ### Step 3 diff --git a/docs_robots/outdoor_robots/warthog/maintenance_warthog.mdx b/docs_robots/outdoor_robots/warthog/maintenance_warthog.mdx index 9eb0b7888..622a26724 100644 --- a/docs_robots/outdoor_robots/warthog/maintenance_warthog.mdx +++ b/docs_robots/outdoor_robots/warthog/maintenance_warthog.mdx @@ -158,7 +158,7 @@ If your unit came equipped with the tracks upgrade, please keep the following co - The tracks drive units pull considerably more current to operate. It is advised to operate a Warthog with tracks at reduced speeds, either through ROS commands or by reducing the speed scale when operating with the Futaba controller. - Due to the increased drive current, expect lower battery life than a wheeled Warthog. - It is recommend to drive at reduced speeds to increase battery life. + It is recommended to drive at reduced speeds to increase battery life. - It is possible to trigger an over current error in the motor controller by increasing speed drastically shortly after resetting a stop condition. The system's body lights will seem as if the unit is ready to drive, however it will not respond to drive commands. To clear this state, simply cycle another stop condition, and ramp up speeds slower. diff --git a/docs_robots/outdoor_robots/warthog/troubleshooting_warthog.mdx b/docs_robots/outdoor_robots/warthog/troubleshooting_warthog.mdx index be09577f5..4aca29116 100644 --- a/docs_robots/outdoor_robots/warthog/troubleshooting_warthog.mdx +++ b/docs_robots/outdoor_robots/warthog/troubleshooting_warthog.mdx @@ -22,7 +22,7 @@ Refer to the [Networking page](/docs/ros/networking/overview). ### Cannot connect to the robot's computer over a network cable -Reter to the [Networking page](/docs/ros/networking/overview). +Refer to the [Networking page](/docs/ros/networking/overview). --- @@ -42,7 +42,7 @@ Refer to the [Mini ITX troubleshooting page](../../accessories/computers/mini_it ### ROS package is not starting -Verify the upstart logs, `/var/log/upstart/husky_core.log`, to see if there are any error during upstart. +Verify the upstart logs, `/var/log/upstart/husky_core.log`, to see if there are any errors during upstart. ### Sensors are not turning on diff --git a/docs_robots/solutions/husky_a300_amp/husky_a300_amp.mdx b/docs_robots/solutions/husky_a300_amp/husky_a300_amp.mdx index 5e5761e74..664ef2c0f 100644 --- a/docs_robots/solutions/husky_a300_amp/husky_a300_amp.mdx +++ b/docs_robots/solutions/husky_a300_amp/husky_a300_amp.mdx @@ -112,7 +112,7 @@ import ComponentReplacingFusesBf1 from "/components/husky_a300/husky_a300_replac ## Introduction ### About The Husky AMP—_(Autonomous Mobile Platform)_—uses a Husky A300 as its base. - We then then add sensors, autonomy navigation software, and a web user interface for commanding the robot. + We then add sensors, autonomy navigation software, and a web user interface for commanding the robot. This manual will explain how to use your Husky AMP, how to add new hardware and software, and how to maintain the robot. diff --git a/docs_versioned_docs/version-ros2humble/components/_clearpath_firmware.mdx b/docs_versioned_docs/version-ros2humble/components/_clearpath_firmware.mdx index 9037e4233..7ee5ecd9c 100644 --- a/docs_versioned_docs/version-ros2humble/components/_clearpath_firmware.mdx +++ b/docs_versioned_docs/version-ros2humble/components/_clearpath_firmware.mdx @@ -28,7 +28,7 @@ Before flashing firmware, place your robot up on blocks or disengage the drivetr :::note - The J100 MCU does not have an ethernet interface, and therefore cannot be flashed using the eternet bootloader. You must follow the subsequent steps to flash the J100 MCU over mini-USB. + The J100 MCU does not have an ethernet interface, and therefore cannot be flashed using the ethernet bootloader. You must follow the subsequent steps to flash the J100 MCU over mini-USB. ::: diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/franka.mdx b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/franka.mdx new file mode 100644 index 000000000..4e5c341ee --- /dev/null +++ b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/franka.mdx @@ -0,0 +1,206 @@ + +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + + + + +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: franka + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + arm_id: fr3 + robot_ip: 192.168.131.40 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: franka + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + arm_id: fr3 + robot_ip: 192.168.131.40 + gripper: + model: franka_gripper +``` +
+ +
+ + + + + + + + + + + + +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: franka + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + arm_id: fp3 + robot_ip: 192.168.131.40 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: franka + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + arm_id: fp3 + robot_ip: 192.168.131.40 + gripper: + model: franka_gripper +``` +
+ + +
+ + + + + + + + + + + +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: franka + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + arm_id: fer + robot_ip: 192.168.131.40 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: franka + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + arm_id: fer + robot_ip: 192.168.131.40 + gripper: + model: franka_gripper +``` +
+ + +
+
+ + +
+Franka Setup + +### Package and Setup +The Franka arms use the `franka_description` and `franka_ros2` ROS 2 packages abd the `libfranka` SDK. The description and driver are open source, maintained by Franka Robotics, and hosted on GitHub. Refer to the [description repository](https://github.com/frankarobotics/franka_description), [driver repository](https://github.com/frankarobotics/franka_ros2), and [SDK repository](https://github.com/frankarobotics/libfranka). Follow the [instructions in the driver repository's README](https://github.com/frankarobotics/franka_ros2/blob/humble/README.md#franka-ros-2-dependencies-setup) to build the Franka packages in a workspace. + +For more specifics on the way Clearpath's configuration system adds the arm to the robot description, see the [description file](https://github.com/clearpathrobotics/clearpath_common/blob/humble/clearpath_manipulators_description/urdf/arm/franka.urdf.xacro). Note, all parameters to the `xacro:macro franka` can be passed through the `robot.yaml` entry above. For examples, read the sections below. + +### Franka Desk Setup + +#### Networking Settings +
+ +
+By default, the `C2 - Shop Floor network` should have `DHCP Client` disabled and set to the static `192.168.131.40` IP address. If changed to an IP other than `192.168.131.40`, then that new address must be passed to the `robot.yaml` entry through the `robot_ip` parameter. + +#### Initializing the Arm +
+ +
+To begin moving the arm, unlock the joints. Then, enable the `FCI` mode to allow a an external computer to control the arm. + +### Parameter: Device IP +The `robot_ip` must be set to match the networking settings of the arm's control box. By default, we use the `192.168.131.40` address. + + +
diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/franka_gripper.mdx b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/franka_gripper.mdx new file mode 100644 index 000000000..622fad2a9 --- /dev/null +++ b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/franka_gripper.mdx @@ -0,0 +1,38 @@ + + + + + +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: franka + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + arm_id: fr3 + robot_ip: 192.168.131.40 + gripper: + model: franka_gripper +``` +
+ +
+Franka Gripper Setup + +### Package and Setup +The Franka grippers can only be used with the Franka arms and have the same dependencies. They use the `franka_description` and `franka_ros2` ROS 2 packages abd the `libfranka` SDK. The description and driver are open source, maintained by Franka Robotics, and hosted on GitHub. Refer to the [description repository](https://github.com/frankarobotics/franka_description), [driver repository](https://github.com/frankarobotics/franka_ros2), and [SDK repository](https://github.com/frankarobotics/libfranka). Follow the [instructions in the driver repository's README](https://github.com/frankarobotics/franka_ros2/blob/humble/README.md#franka-ros-2-dependencies-setup) to build the Franka packages in a workspace. + +For more specifics on the way Clearpath's configuration system adds the arm to the robot description, see the [description file](https://github.com/clearpathrobotics/clearpath_common/blob/humble/clearpath_manipulators_description/urdf/arm/franka.urdf.xacro). Note, all parameters to the `xacro:macro franka` can be passed through the `robot.yaml` entry above. For examples, read the sections below. + +
diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka.png b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka.png new file mode 100644 index 000000000..4a976d819 Binary files /dev/null and b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka.png differ diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/activate_fci.png b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/activate_fci.png new file mode 100644 index 000000000..9da3236fd Binary files /dev/null and b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/activate_fci.png differ diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/fer.png b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/fer.png new file mode 100644 index 000000000..b9c6459b2 Binary files /dev/null and b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/fer.png differ diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/fer_w_gripper.png b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/fer_w_gripper.png new file mode 100644 index 000000000..a9c3f9ace Binary files /dev/null and b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/fer_w_gripper.png differ diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/fp3.png b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/fp3.png new file mode 100644 index 000000000..d52ad00fa Binary files /dev/null and b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/fp3.png differ diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/fp3_w_gripper.png b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/fp3_w_gripper.png new file mode 100644 index 000000000..0fee2b0a7 Binary files /dev/null and b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/fp3_w_gripper.png differ diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/fr3.png b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/fr3.png new file mode 100644 index 000000000..50d28b368 Binary files /dev/null and b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/fr3.png differ diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/fr3_w_gripper.png b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/fr3_w_gripper.png new file mode 100644 index 000000000..eec3af4b7 Binary files /dev/null and b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/fr3_w_gripper.png differ diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/network.png b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/network.png new file mode 100644 index 000000000..ad6864fbd Binary files /dev/null and b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/network.png differ diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka_gripper.png b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka_gripper.png new file mode 100644 index 000000000..f1710821d Binary files /dev/null and b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka_gripper.png differ diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_2f_lite.mdx b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_2f_lite.mdx index e6bf8fc20..8b4c2fb42 100644 --- a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_2f_lite.mdx +++ b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_2f_lite.mdx @@ -1,3 +1,5 @@ +import KinovaCommon from "/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_common.mdx"; +
@@ -27,11 +29,11 @@ manipulators:
-#### Package and Setup +
+Kinova 2F Lite Gripper Setup :::note -The Kinova 2F Lite gripper is the standard gripper on the Kinova Gen3 Lite. It is controlled via the arm's hardware interface and therefore, does not need it's own controller. +The Kinova 2F Lite gripper is the standard gripper on the Kinova Gen3 Lite. It is controlled via the arm's hardware interface and therefore, does not need its own controller. ::: -The Kinova 2F Lite gripper uses the `kortex_description` and `kortex_driver` ROS 2 Packages. The driver is open source, maintaned by Kinova Robotics, and hosted on [GitHub](https://github.com/Kinovarobotics/ros2_kortex). - -For more specifics on the way Clearpath's configuration system adds the manipulator to the robot description, see the Kinova 2F Lite gripper [description file](https://github.com/clearpathrobotics/clearpath_common/blob/humble/clearpath_manipulators_description/urdf/gripper/kinova_2f_lite.urdf.xacro) in `clearpath_manipulators_description`. + +
diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_common.mdx b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_common.mdx new file mode 100644 index 000000000..839b2c2a4 --- /dev/null +++ b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_common.mdx @@ -0,0 +1,7 @@ +### Package and Setup +Kinova manipulators the `kortex_description` and `kortex_driver` ROS 2 Packages. The driver is open source, maintained by Kinova Robotics, and hosted on [GitHub](https://github.com/Kinovarobotics/ros2_kortex). + +For more specifics on the way Clearpath's configuration system adds the manipulator to the robot description, see the Kinova [description files](https://github.com/clearpathrobotics/clearpath_common/blob/humble/clearpath_manipulators_description/urdf/arm) in `clearpath_manipulators_description`. + +### Device IP and Port +The `ip` and `port` parameters must be set to the corresponding values set on the manipulators configuration page. diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_gen3_6dof.mdx b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_gen3_6dof.mdx index b7326ce03..580161088 100644 --- a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_gen3_6dof.mdx +++ b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_gen3_6dof.mdx @@ -1,3 +1,5 @@ +import KinovaCommon from "/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_common.mdx"; +
@@ -27,10 +29,9 @@ manipulators:
-#### Package and Setup -The Kinova Gen3 6Dof uses the `kortex_description` and `kortex_driver` ROS 2 Packages. The driver is open source, maintaned by Kinova Robotics, and hosted on [GitHub](https://github.com/Kinovarobotics/ros2_kortex). +
+Kinova Gen3 6DoF Setup -For more specifics on the way Clearpath's configuration system adds the manipulator to the robot description, see the Kinova Gen3 6Dof [description file](https://github.com/clearpathrobotics/clearpath_common/blob/humble/clearpath_manipulators_description/urdf/arm/kinova_gen3_6dof.urdf.xacro) in `clearpath_manipulators_description`. + -#### Device IP and Port -The `ip` and `port` parameters must be set to the corresponding values set on the manipulators configuration page. +
diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_gen3_7dof.mdx b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_gen3_7dof.mdx index 2dce25ff0..dea254bba 100644 --- a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_gen3_7dof.mdx +++ b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_gen3_7dof.mdx @@ -1,3 +1,5 @@ +import KinovaCommon from "/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_common.mdx"; +
@@ -27,10 +29,9 @@ manipulators:
-#### Package and Setup -The Kinova Gen3 7Dof uses the `kortex_description` and `kortex_driver` ROS 2 Packages. The driver is open source, maintaned by Kinova Robotics, and hosted on [GitHub](https://github.com/Kinovarobotics/ros2_kortex). +
+Kinova Gen3 7DoF Setup -For more specifics on the way Clearpath's configuration system adds the manipulator to the robot description, see the Kinova Gen3 7Dof [description file](https://github.com/clearpathrobotics/clearpath_common/blob/humble/clearpath_manipulators_description/urdf/arm/kinova_gen3_6dof.urdf.xacro) in `clearpath_manipulators_description`. + -#### Device IP and Port -The `ip` and `port` parameters must be set to the corresponding values set on the manipulators configuration page. +
diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_gen3_lite.mdx b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_gen3_lite.mdx index 163fb05bd..ec143029b 100644 --- a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_gen3_lite.mdx +++ b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_gen3_lite.mdx @@ -1,3 +1,5 @@ +import KinovaCommon from "/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_common.mdx"; +
@@ -27,10 +29,9 @@ manipulators:
-#### Package and Setup -The Kinova Gen3 Lite uses the `kortex_description` and `kortex_driver` ROS 2 Packages. The driver is open source, maintaned by Kinova Robotics, and hosted on [GitHub](https://github.com/Kinovarobotics/ros2_kortex). +
+Kinova Gen3 Lite Setup -For more specifics on the way Clearpath's configuration system adds the manipulator to the robot description, see the Kinova Gen3 Lite [description file](https://github.com/clearpathrobotics/clearpath_common/blob/humble/clearpath_manipulators_description/urdf/arm/kinova_gen3_lite.urdf.xacro) in `clearpath_manipulators_description`. + -#### Device IP and Port -The `ip` and `port` parameters must be set to the corresponding values set on the manipulators configuration page. +
diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/robotiq_2f_140.mdx b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/robotiq_2f_140.mdx index 874f6214b..caf0e3c9a 100644 --- a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/robotiq_2f_140.mdx +++ b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/robotiq_2f_140.mdx @@ -27,11 +27,15 @@ manipulators: -#### Package and Setup +
+Robotiq 2F 140 Setup + +### Package and Setup :::note -The Robotiq 2F 140 gripper is supported by the Kinova Gen3 arm's wrist connector and hardware interface. Therefore, when attached to Kinova arm's the Robotiq gripper does not need it's own controller. +The Robotiq 2F 140 gripper is supported by the Kinova Gen3 arm's wrist connector and hardware interface. Therefore, when attached to Kinova arm's the Robotiq gripper does not need its own controller. ::: -The Robotiq 2F 140 uses the `robotiq_description` and `robotiq_driver` ROS 2 Packages. The driver is open source, maintaned by PickNik Robotics, and hosted on [GitHub](https://github.com/PickNikRobotics/ros2_robotiq_gripper). +The Robotiq 2F 140 uses the `robotiq_description` and `robotiq_driver` ROS 2 Packages. The driver is open source, maintained by PickNik Robotics, and hosted on [GitHub](https://github.com/PickNikRobotics/ros2_robotiq_gripper). For more specifics on the way Clearpath's configuration system adds the manipulator to the robot description, see the Robotiq 2F 140 gripper [description file](https://github.com/clearpathrobotics/clearpath_common/blob/humble/clearpath_manipulators_description/urdf/gripper/robotiq_2f_140.urdf.xacro) in `clearpath_manipulators_description`. +
diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/robotiq_2f_85.mdx b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/robotiq_2f_85.mdx index dd81d48cc..663803424 100644 --- a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/robotiq_2f_85.mdx +++ b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/robotiq_2f_85.mdx @@ -27,11 +27,15 @@ manipulators: -#### Package and Setup +
+Robotiq 2F 85 Setup + +### Package and Setup :::note -The Robotiq 2F 85 gripper is supported by the Kinova Gen3 arm's wrist connector and hardware interface. Therefore, when attached to Kinova arm's the Robotiq gripper does not need it's own controller. +The Robotiq 2F 85 gripper is supported by the Kinova Gen3 arm's wrist connector and hardware interface. Therefore, when attached to Kinova arm's the Robotiq gripper does not need its own controller. ::: -The Robotiq 2F 85 uses the `robotiq_description` and `robotiq_driver` ROS 2 Packages. The driver is open source, maintaned by PickNik Robotics, and hosted on [GitHub](https://github.com/PickNikRobotics/ros2_robotiq_gripper). +The Robotiq 2F 85 uses the `robotiq_description` and `robotiq_driver` ROS 2 Packages. The driver is open source, maintained by PickNik Robotics, and hosted on [GitHub](https://github.com/PickNikRobotics/ros2_robotiq_gripper). For more specifics on the way Clearpath's configuration system adds the manipulator to the robot description, see the Robotiq 2F 85 gripper [description file](https://github.com/clearpathrobotics/clearpath_common/blob/humble/clearpath_manipulators_description/urdf/gripper/robotiq_2f_85.urdf.xacro) in `clearpath_manipulators_description`. +
diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/universal_robots.mdx b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/universal_robots.mdx index 2e55a1db5..30c61ac8f 100644 --- a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/universal_robots.mdx +++ b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/universal_robots.mdx @@ -26,16 +26,20 @@ manipulators: -#### Package and Setup +
+Universal Robots Setup + +### Package and Setup The Universal Robots arms use the `ur_description` and `ur_driver` ROS 2 Packages. The description and driver are open source, maintained by Universal Robots, and are hosted on GitHub. Refer to the [description repository](https://github.com/UniversalRobots/Universal_Robots_ROS2_Description) and [driver repository](https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver). For more specifics on the way Clearpath's configuration system adds the arm to the robot description, see the [description file](https://github.com/clearpathrobotics/clearpath_common/blob/humble/clearpath_manipulators_description/urdf/arm/universal_robots.urdf.xacro). Note, all parameters to the `xacro:macro universal_robots` can be passed through the `robot.yaml` entry above. For examples, read the sections below. -#### Teach Pendant Setup +### Teach Pendant Setup The following sub-sections will cover the standard UR teach pendant setup, but with the specific Clearpath parameters. For the UR instructions see: [**Setting up a UR robot for ur_robot_driver**](https://docs.universal-robots.com/Universal_Robots_ROS2_Documentation/doc/ur_robot_driver/ur_robot_driver/doc/installation/robot_setup.html) and [**Installing a URCap on a e-Series robot**](https://docs.universal-robots.com/Universal_Robots_ROS2_Documentation/doc/ur_robot_driver/ur_robot_driver/doc/installation/install_urcap_e_series.html). -##### Networking Settings + +#### Networking Settings At Clearpath, we use the `192.168.131.x` subnet and assign manipulators to the range `192.168.131.40-49`. Therefore, when setting up a UR arm, we encourage the use of the `192.168.131.40` address. Navigate to the **Settings/System/Networking** page of the UR teach pendant and set the following: @@ -46,7 +50,7 @@ Navigate to the **Settings/System/Networking** page of the UR teach pendant and -##### URCap +#### URCap In order to control the arm from an external device, the `External Control` URCap needs to be setup. You can find the latest `externalcontrol-x.x.x.urcap` in its [repository](https://github.com/UniversalRobots/Universal_Robots_ExternalControl_URCap/releases). Install it by adding it to the `programs` folder in the `/`, root directory of the arm's control box. Use a USB stick or `scp`. Navigate to the **Settings/System/URCaps** page to install the URCap. Note, you will be prompted and must restart before using the URCap. @@ -63,7 +67,7 @@ Navigate to the **Installation/URCaps** page to configure the IP address and hos -##### External Control Program +#### External Control Program Once the URCap has been installed and configured, a program that launches the **ExternalControl** task needs to be created and set as default. Begin by navigating to the **Programs/URCap** section, make sure the program is empty except for the addition of the **ExternalControl** task. Save the program as `external_control.urp`: @@ -81,7 +85,7 @@ Now, set the program as default so that it is automatically loaded and ready to -##### Initializing the Arm +#### Initializing the Arm At start up, the arm needs to be turned on and initialized. Press the button in the bottom left corner which will bring-up the arm start-up sequence window. Follow the instructions to initialize the arm: @@ -131,13 +135,12 @@ At start up, the arm needs to be turned on and initialized. Press the button in Once the robot is in normal mode, you can proceed to initialize the external control program. - -#### Standard Initialization (Recommended) +### Standard Initialization (Recommended) At start up, the robot computer will launch the arm's controller using the `clearpath-manipulators.service`. Once the arm is on and initialized through the teach pendant, start the `external_control` program, which will begin communication with the ROS driver. Start the program by pressing the play button on the **Run** page. -##### Troubleshooting +#### Troubleshooting If the following error pop-up window appears, then ensure that the arm's URCap configuration matches the robot's computer and that the robot's computer is able to ping the arm. The error also indicates that the ROS driver is not currently running or has been stopped. Restart the `clearpath-manipulators.service` and try again: ```yaml sudo systemctl stop clearpath-manipulators.service @@ -151,10 +154,10 @@ sudo systemctl start clearpath-manipulators.service -#### Headless Initialization +### Headless Initialization If the arm has been setup to accept external control by surrendering manual control in the teach pendant, then it is possible to bypass the manual initialization of the UR program on the tablet. If this is the case, make sure the arm has been turned on and initialized through the teach pendant, then set, `headless: true` in the `robot.yaml`. This will restart the services and the arm should connect automatically. -##### Setup +#### Setup The headless setup is not recommended as it is more complicated, however it exposes the entire teach pendant's functionality to the ROS interface, and thus, provides experienced ROS users with the ability to detect arm faults, clear faults, and restart the arm programmatically. To begin the setup, make sure that remote control is enabled in the **Settings/System/Remote Control** page: @@ -186,13 +189,13 @@ Then, you will be able to switch from **Automatic** to **Remote Control**: In this mode, you will be unable to interface with the arm directly from the tablet. Instead, all commands must be sent by the external device. You can restore manual control by following the steps above in reverse. -#### Parameter: Device IP +### Parameter: Device IP The `robot_ip` must be set to match the networking settings of the arm's control box. By default, we use the `192.168.131.40` address. -#### Parameter: UR Type +### Parameter: UR Type The `ur_type` parameter can be modified to change the type of the arm. By default, it is set to `ur5e`. But, it is critical that it is changed to match the real arm type. The following types are supported: `ur3`, `ur3e`, `ur5`, `ur5e`, `ur10`, `ur10e`, `ur16e`, `ur20`, `ur30`. -#### Parameter: Calibration Parameters +### Parameter: Calibration Parameters By default, the default kinematics parameter file is passed to the arm's ROS controller. Because each arm has it's own measurable offsets, it is likely that without updating this calibration file the arm's movements will not be as accurate as could be. Therefore, use the [`ur_calibration`](https://docs.universal-robots.com/Universal_Robots_ROS2_Documentation/doc/ur_robot_driver/ur_robot_driver/doc/installation/robot_setup.html#extract-calibration-information) package to obtain the calibration parameter file. ```bash @@ -218,3 +221,4 @@ Note, you can also pass in substitution arguments: ```yaml kinematics_parameters_file: "$(find package_name)/path/to/my_robot_calibration.yaml" ``` + diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/sensors/axis_camera.mdx b/docs_versioned_docs/version-ros2humble/components/yaml/sensors/axis_camera.mdx index 804d72949..6749ad95c 100644 --- a/docs_versioned_docs/version-ros2humble/components/yaml/sensors/axis_camera.mdx +++ b/docs_versioned_docs/version-ros2humble/components/yaml/sensors/axis_camera.mdx @@ -108,5 +108,5 @@ If `ptz_teleop` is `True` the `axis_camera` driver will subscribe to the robot's For additional details on configuring PTZ teleoperation, please refer to the `axis_camera` package [on github](https://github.com/ros-drivers/axis_camera). -#### Q62-Specfic Features +#### Q62-Specific Features The Axis Q62 camera features a wiper, infrared/night-vision mode, and a defogger. Services to control these features can be enabled by setting the `wiper`, `ir`, and `defog` parameters to `True`. diff --git a/docs_versioned_docs/version-ros2humble/ros/changelog.mdx b/docs_versioned_docs/version-ros2humble/ros/changelog.mdx index 2ad052b2b..06085d079 100644 --- a/docs_versioned_docs/version-ros2humble/ros/changelog.mdx +++ b/docs_versioned_docs/version-ros2humble/ros/changelog.mdx @@ -80,8 +80,8 @@ The `StopStatus` message in `clearpath_msgs` has an additional field in the `0.3 - R100 Platform and [Attachments](./config/yaml/platform/attachments/r100.mdx) - [Manipulator Generators](./config/generators.mdx#manipulation-generation) - MoveIt! Configuration Generation -- [Kinova Gen3 Lite, 6Dof, and 7Dof Arms](./config/yaml/manipulators.mdx#kinova-arms) -- [Robotiq 2F 85 and 140 Grippers](./config/yaml/manipulators.mdx#robotiq-grippers) +- [Kinova Gen3 Lite, 6Dof, and 7Dof Arms](./config/yaml/manipulators.mdx#kinova-gen3-lite) +- [Robotiq 2F 85 and 140 Grippers](./config/yaml/manipulators.mdx#robotiq-2F-85) ### Changed - `StopStatus` message added `needs_reset` parameter for R100 platform. diff --git a/docs_versioned_docs/version-ros2humble/ros/config/yaml/manipulators.mdx b/docs_versioned_docs/version-ros2humble/ros/config/yaml/manipulators.mdx index b9b0c899f..3848b1779 100644 --- a/docs_versioned_docs/version-ros2humble/ros/config/yaml/manipulators.mdx +++ b/docs_versioned_docs/version-ros2humble/ros/config/yaml/manipulators.mdx @@ -12,7 +12,8 @@ import Kinova2FLite from "/docs_versioned_docs/version-ros2humble/components/yam import Robotiq2F85 from "/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/robotiq_2f_85.mdx"; import Robotiq2F140 from "/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/robotiq_2f_140.mdx"; import UniversalRobots from "/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/universal_robots.mdx"; - +import Franka from "/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/franka.mdx"; +import FrankaGripper from "/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/franka_gripper.mdx"; Manipulators include all robotic arms and grippers. Unlike sensors, manipulators are not controlled by external drivers. Instead, a hardware controller must be loaded into the controller manager to handle the joint interface to move the specific manipulator joints. @@ -20,27 +21,44 @@ Additionally, MoveIt! must be launched to plan paths and move manipulators to a Every arm can have at most one gripper, and grippers can only be added to an existing arm. This way, depending on the arm and the gripper, the configuration system can determine whether the arm handles communication with the gripper or whether it must be done through an external connection directly to the robot computer. -## Kinova Arms {#kinova-arms} +# Arms + +## Kinova Gen3 Lite {#kinova-gen3-lite}
+## Kinova Gen3 6DoF {#kinova-gen3-6dof}
+## Kinova Gen3 7DoF {#kinova-gen3-7dof}
-## Kinova Grippers {#kinova-grippers} +## Universal Robots {#universal-robots} + +
+ +## Franka {#franka} + +
+ +# Grippers + +## Kinova 2F Lite {#kinova-2f-lite}
-## Robotiq Grippers {#robotiq-grippers} +## Robotiq 2F 85 {#robotiq-2F-85}
+## Robotiq 2F 140 {#robotiq-2F-140}
-## Universal Robots {#universal-robots} - +## Franka Hand {#franka-hand} +
+ + diff --git a/docs_versioned_docs/version-ros2humble/ros/installation/robot.mdx b/docs_versioned_docs/version-ros2humble/ros/installation/robot.mdx index 3d6036ef5..72e8e1762 100644 --- a/docs_versioned_docs/version-ros2humble/ros/installation/robot.mdx +++ b/docs_versioned_docs/version-ros2humble/ros/installation/robot.mdx @@ -61,7 +61,7 @@ to create the installation media, an ethernet cable, a monitor, and a keyboard. 7. On first boot, the username will be `administrator` and the password will be `clearpath`. You should use the `passwd` utility to change the `administrator` account password. 8. Log on to the computer and run `bash -e clearpath_computer_installer.sh` to install the needed software. - This will take a while to complete and has a prompts that must be answered. + This will take a while to complete and has prompts that must be answered. ## Internet Connection diff --git a/docs_versioned_docs/version-ros2humble/ros/tutorials/rviz.mdx b/docs_versioned_docs/version-ros2humble/ros/tutorials/rviz.mdx index 88451a44e..f0000012c 100644 --- a/docs_versioned_docs/version-ros2humble/ros/tutorials/rviz.mdx +++ b/docs_versioned_docs/version-ros2humble/ros/tutorials/rviz.mdx @@ -23,9 +23,18 @@ This launch file is used to visualize the robot model without needing a robot pr #### View Robot ```bash -ros2 launch clearpath_viz view_robot.launch.py namespace:=a200_0000 +ros2 launch clearpath_viz view_robot.launch.py namespace:=a200_0000 setup_path:=SETUP_PATH + ``` +> Replace `SETUP_PATH` with the path to the directory where the `robot.yaml` is located. + +> Do not include `~` in the `SETUP_PATH`, use `$HOME` instead. + +> Make sure that `SETUP_PATH` ends with `/`. + +> If following the [offboard computer setup instructions](../installation/offboard_pc.mdx), this will be `$HOME/clearpath`. + This launch file should be used when visualizing the robot while connected to the robot (wired or wirelessly). This will subscribe to topics from the robot to populate the visualization. Update the `namespace` parameter to match the robot's namespace. #### View Navigation diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/attachments/a300/wireless_charger.mdx b/docs_versioned_docs/version-ros2jazzy/components/yaml/attachments/a300/wireless_charger.mdx index 2c9bb712d..0cb26e013 100644 --- a/docs_versioned_docs/version-ros2jazzy/components/yaml/attachments/a300/wireless_charger.mdx +++ b/docs_versioned_docs/version-ros2jazzy/components/yaml/attachments/a300/wireless_charger.mdx @@ -24,6 +24,6 @@ platform:
-The A300 can optionally be equipped with a wireless charging coil, mounted to the the right side of the robot. +The A300 can optionally be equipped with a wireless charging coil, mounted to the right side of the robot. The `${name}_face` link is located in the centre of the charging coil's face, with the X axis pointing outwards. diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/franka/configs.mdx b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/franka/configs.mdx new file mode 100644 index 000000000..52a173f56 --- /dev/null +++ b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/franka/configs.mdx @@ -0,0 +1,330 @@ + +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: franka + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + arm_id: fr3 + robot_ip: 192.168.131.40 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: franka + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + arm_id: fr3 + robot_ip: 192.168.131.40 + gripper: + model: franka_gripper +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: franka + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + arm_id: fr3 + robot_ip: 192.168.131.40 + gripper: + model: robotiq_2f_85 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: franka + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + arm_id: fr3 + robot_ip: 192.168.131.40 + gripper: + model: robotiq_2f_140 +``` +
+ +
+ + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: franka + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + arm_id: fp3 + robot_ip: 192.168.131.40 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: franka + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + arm_id: fp3 + robot_ip: 192.168.131.40 + gripper: + model: franka_gripper +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: franka + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + arm_id: fp3 + robot_ip: 192.168.131.40 + gripper: + model: robotiq_2f_85 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: franka + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + arm_id: fp3 + robot_ip: 192.168.131.40 + gripper: + model: robotiq_2f_140 +``` +
+ +
+ + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: franka + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + arm_id: fer + robot_ip: 192.168.131.40 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: franka + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + arm_id: fer + robot_ip: 192.168.131.40 + gripper: + model: franka_gripper +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: franka + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + arm_id: fer + robot_ip: 192.168.131.40 + gripper: + model: robotiq_2f_85 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: franka + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + arm_id: fer + robot_ip: 192.168.131.40 + gripper: + model: robotiq_2f_140 +``` +
+ +
+
diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/franka/details.mdx b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/franka/details.mdx new file mode 100644 index 000000000..e9047b58c --- /dev/null +++ b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/franka/details.mdx @@ -0,0 +1,34 @@ +### Package and Setup {#franka_package_and_setup} +The Franka arms use the `franka_description` and `franka_ros2` ROS 2 packages abd the `libfranka` SDK. The description and driver are open source, maintained by Franka Robotics, and hosted on GitHub. Refer to the [description repository](https://github.com/frankarobotics/franka_description), [driver repository](https://github.com/frankarobotics/franka_ros2), and [SDK repository](https://github.com/frankarobotics/libfranka). Follow the [instructions in the driver repository's README](https://github.com/frankarobotics/franka_ros2/blob/humble/README.md#franka-ros-2-dependencies-setup) to build the Franka packages in a workspace. + +For more specifics on the way Clearpath's configuration system adds the arm to the robot description, see the [description file](https://github.com/clearpathrobotics/clearpath_common/blob/humble/clearpath_manipulators_description/urdf/arm/franka.urdf.xacro). Note, all parameters to the `xacro:macro franka` can be passed through the `robot.yaml` entry above. For examples, read the sections below. + +### Franka Desk Setup {#franka_desk_setup} + +#### Networking Settings {#franka_networking_settings} +
+ +Networking Settings Setup + +
+ +
+By default, the `C2 - Shop Floor network` should have `DHCP Client` disabled and set to the static `192.168.131.40` IP address. If changed to an IP other than `192.168.131.40`, then that new address must be passed to the `robot.yaml` entry through the `robot_ip` parameter. + +
+ +#### Initializing the Arm {#franka_arm_initialization} +
+ +Initializing the Arm + +
+ +
+To begin moving the arm, unlock the joints. Then, enable the `FCI` mode to allow a an external computer to control the arm. + +
+ +### Parameter: Device IP {#franka_param_ip} +The `robot_ip` must be set to match the networking settings of the arm's control box. By default, we use the `192.168.131.40` address. + diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/franka/lineup.mdx b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/franka/lineup.mdx new file mode 100644 index 000000000..66e4aaec2 --- /dev/null +++ b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/franka/lineup.mdx @@ -0,0 +1,5 @@ +
+
+ +
+
diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/kinova_2f_lite.png b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/kinova_2f_lite.png deleted file mode 100644 index 0d8d94034..000000000 Binary files a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/kinova_2f_lite.png and /dev/null differ diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/kinova_gen3_6dof.png b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/kinova_gen3_6dof.png deleted file mode 100644 index 558188107..000000000 Binary files a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/kinova_gen3_6dof.png and /dev/null differ diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/kinova_gen3_7dof.png b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/kinova_gen3_7dof.png deleted file mode 100644 index 9daea80ba..000000000 Binary files a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/kinova_gen3_7dof.png and /dev/null differ diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/kinova_gen3_lite.png b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/kinova_gen3_lite.png deleted file mode 100644 index 42133ee56..000000000 Binary files a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/kinova_gen3_lite.png and /dev/null differ diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/robotiq_2f_140.png b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/robotiq_2f_140.png deleted file mode 100644 index a70468213..000000000 Binary files a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/robotiq_2f_140.png and /dev/null differ diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/robotiq_2f_85.png b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/robotiq_2f_85.png deleted file mode 100644 index 4968f30f1..000000000 Binary files a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/robotiq_2f_85.png and /dev/null differ diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots.png b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots.png deleted file mode 100644 index ce8e12dcf..000000000 Binary files a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots.png and /dev/null differ diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova/configs.mdx b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova/configs.mdx new file mode 100644 index 000000000..ff7a337dc --- /dev/null +++ b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova/configs.mdx @@ -0,0 +1,160 @@ +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + + +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: kinova_gen3_lite + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ip: 192.168.131.40 + port: 10000 + gripper: + model: kinova_2f_lite +``` +
+
+ + + + + + + + + + + + + + +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: kinova_gen3_6dof + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ip: 192.168.131.40 + port: 10000 + gripper: + model: robotiq_2f_85 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: kinova_gen3_6dof + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ip: 192.168.131.40 + port: 10000 + gripper: + model: robotiq_2f_140 +``` +
+
+ + + + + + + + + + + + + + + +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: kinova_gen3_7dof + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ip: 192.168.131.40 + port: 10000 + gripper: + model: robotiq_2f_85 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: kinova_gen3_7dof + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ip: 192.168.131.40 + port: 10000 + gripper: + model: robotiq_2f_140 +``` +
+
+ +
diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova/details.mdx b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova/details.mdx new file mode 100644 index 000000000..94f901750 --- /dev/null +++ b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova/details.mdx @@ -0,0 +1,8 @@ +### Package and Setup {#kinova_package_and_setup} +Kinova manipulators uses the `kortex_description` and `kortex_driver` ROS 2 Packages. The driver is open source, maintained by Kinova Robotics, and hosted on [GitHub](https://github.com/Kinovarobotics/ros2_kortex). + +For more specifics on the way Clearpath's configuration system adds the manipulator to the robot description, see the Kinova's [description files](https://github.com/clearpathrobotics/clearpath_common/blob/jazzy/clearpath_manipulators_description/urdf/arm/) in `clearpath_manipulators_description`. + +### Device IP and Port {#kinova_param_ip_port} +The `ip` and `port` parameters must be set to the corresponding values set on the manipulators configuration page. + diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova/lineup.mdx b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova/lineup.mdx new file mode 100644 index 000000000..849469cbe --- /dev/null +++ b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova/lineup.mdx @@ -0,0 +1,6 @@ +
+
+ +
+
+ diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova_2f_lite.mdx b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova_2f_lite.mdx deleted file mode 100644 index 2dc2b0d50..000000000 --- a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova_2f_lite.mdx +++ /dev/null @@ -1,37 +0,0 @@ - - - - - -
-
-
- -
-
-
- -```yaml -manipulators: - moveit: - enable: false - arms: - - model: kinova_gen3_lite - parent: default_mount - xyz: [0.0, 0.0, 0.0] - rpy: [0.0, 0.0, 0.0] - ip: 192.168.131.40 - port: 10000 - gripper: - model: kinova_2f_lite -``` -
- -#### Package and Setup -:::note -The Kinova 2F Lite gripper is the standard gripper on the Kinova Gen3 Lite. It is controlled via the arm's hardware interface and therefore, does not need it's own controller. -::: -The Kinova 2F Lite gripper uses the `kortex_description` and `kortex_driver` ROS 2 Packages. The driver is open source, maintaned by Kinova Robotics, and hosted on [GitHub](https://github.com/Kinovarobotics/ros2_kortex). - -For more specifics on the way Clearpath's configuration system adds the manipulator to the robot description, see the Kinova 2F Lite gripper [description file](https://github.com/clearpathrobotics/clearpath_common/blob/jazzy/clearpath_manipulators_description/urdf/gripper/kinova_2f_lite.urdf.xacro) in `clearpath_manipulators_description`. - diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova_gen3_6dof.mdx b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova_gen3_6dof.mdx deleted file mode 100644 index 158324e1a..000000000 --- a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova_gen3_6dof.mdx +++ /dev/null @@ -1,36 +0,0 @@ - - - - - -
-
-
- -
-
-
- -```yaml -manipulators: - moveit: - enable: false - arms: - - model: kinova_gen3_6dof - parent: default_mount - xyz: [0.0, 0.0, 0.0] - rpy: [0.0, 0.0, 0.0] - ip: 192.168.131.40 - port: 10000 - gripper: - model: robotiq_2f_85 -``` -
- -#### Package and Setup -The Kinova Gen3 6Dof uses the `kortex_description` and `kortex_driver` ROS 2 Packages. The driver is open source, maintaned by Kinova Robotics, and hosted on [GitHub](https://github.com/Kinovarobotics/ros2_kortex). - -For more specifics on the way Clearpath's configuration system adds the manipulator to the robot description, see the Kinova Gen3 6Dof [description file](https://github.com/clearpathrobotics/clearpath_common/blob/jazzy/clearpath_manipulators_description/urdf/arm/kinova_gen3_6dof.urdf.xacro) in `clearpath_manipulators_description`. - -#### Device IP and Port -The `ip` and `port` parameters must be set to the corresponding values set on the manipulators configuration page. diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova_gen3_7dof.mdx b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova_gen3_7dof.mdx deleted file mode 100644 index 3198b51f0..000000000 --- a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova_gen3_7dof.mdx +++ /dev/null @@ -1,36 +0,0 @@ - - - - - -
-
-
- -
-
-
- -```yaml -manipulators: - moveit: - enable: false - arms: - - model: kinova_gen3_7dof - parent: default_mount - xyz: [0.0, 0.0, 0.0] - rpy: [0.0, 0.0, 0.0] - ip: 192.168.131.40 - port: 10000 - gripper: - model: robotiq_2f_85 -``` -
- -#### Package and Setup -The Kinova Gen3 7Dof uses the `kortex_description` and `kortex_driver` ROS 2 Packages. The driver is open source, maintaned by Kinova Robotics, and hosted on [GitHub](https://github.com/Kinovarobotics/ros2_kortex). - -For more specifics on the way Clearpath's configuration system adds the manipulator to the robot description, see the Kinova Gen3 7Dof [description file](https://github.com/clearpathrobotics/clearpath_common/blob/jazzy/clearpath_manipulators_description/urdf/arm/kinova_gen3_6dof.urdf.xacro) in `clearpath_manipulators_description`. - -#### Device IP and Port -The `ip` and `port` parameters must be set to the corresponding values set on the manipulators configuration page. diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova_gen3_lite.mdx b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova_gen3_lite.mdx deleted file mode 100644 index 64bd13fd2..000000000 --- a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova_gen3_lite.mdx +++ /dev/null @@ -1,36 +0,0 @@ - - - - - -
-
-
- -
-
-
- -```yaml -manipulators: - moveit: - enable: false - arms: - - model: kinova_gen3_lite - parent: default_mount - xyz: [0.0, 0.0, 0.0] - rpy: [0.0, 0.0, 0.0] - ip: 192.168.131.40 - port: 10000 - gripper: - model: kinova_2f_lite -``` -
- -#### Package and Setup -The Kinova Gen3 Lite uses the `kortex_description` and `kortex_driver` ROS 2 Packages. The driver is open source, maintaned by Kinova Robotics, and hosted on [GitHub](https://github.com/Kinovarobotics/ros2_kortex). - -For more specifics on the way Clearpath's configuration system adds the manipulator to the robot description, see the Kinova Gen3 Lite [description file](https://github.com/clearpathrobotics/clearpath_common/blob/jazzy/clearpath_manipulators_description/urdf/arm/kinova_gen3_lite.urdf.xacro) in `clearpath_manipulators_description`. - -#### Device IP and Port -The `ip` and `port` parameters must be set to the corresponding values set on the manipulators configuration page. diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/robotiq_2f_140.mdx b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/robotiq_2f_140.mdx deleted file mode 100644 index 8aa5833be..000000000 --- a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/robotiq_2f_140.mdx +++ /dev/null @@ -1,37 +0,0 @@ - - - - - -
-
-
- -
-
-
- -```yaml -manipulators: - moveit: - enable: false - arms: - - model: kinova_gen3_6dof - parent: default_mount - xyz: [0.0, 0.0, 0.0] - rpy: [0.0, 0.0, 0.0] - ip: 192.168.131.40 - port: 10000 - gripper: - model: robotiq_2f_140 -``` -
- -#### Package and Setup -:::note -The Robotiq 2F 140 gripper is supported by the Kinova Gen3 arm's wrist connector and hardware interface. Therefore, when attached to Kinova arm's the Robotiq gripper does not need it's own controller. -::: -The Robotiq 2F 140 uses the `robotiq_description` and `robotiq_driver` ROS 2 Packages. The driver is open source, maintaned by PickNik Robotics, and hosted on [GitHub](https://github.com/PickNikRobotics/ros2_robotiq_gripper). - -For more specifics on the way Clearpath's configuration system adds the manipulator to the robot description, see the Robotiq 2F 140 gripper [description file](https://github.com/clearpathrobotics/clearpath_common/blob/jazzy/clearpath_manipulators_description/urdf/gripper/robotiq_2f_140.urdf.xacro) in `clearpath_manipulators_description`. - diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/robotiq_2f_85.mdx b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/robotiq_2f_85.mdx deleted file mode 100644 index d7457ed63..000000000 --- a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/robotiq_2f_85.mdx +++ /dev/null @@ -1,37 +0,0 @@ - - - - - -
-
-
- -
-
-
- -```yaml -manipulators: - moveit: - enable: false - arms: - - model: kinova_gen3_6dof - parent: default_mount - xyz: [0.0, 0.0, 0.0] - rpy: [0.0, 0.0, 0.0] - ip: 192.168.131.40 - port: 10000 - gripper: - model: robotiq_2f_85 -``` -
- -#### Package and Setup -:::note -The Robotiq 2F 85 gripper is supported by the Kinova Gen3 arm's wrist connector and hardware interface. Therefore, when attached to Kinova arm's the Robotiq gripper does not need it's own controller. -::: -The Robotiq 2F 85 uses the `robotiq_description` and `robotiq_driver` ROS 2 Packages. The driver is open source, maintaned by PickNik Robotics, and hosted on [GitHub](https://github.com/PickNikRobotics/ros2_robotiq_gripper). - -For more specifics on the way Clearpath's configuration system adds the manipulator to the robot description, see the Robotiq 2F 85 gripper [description file](https://github.com/clearpathrobotics/clearpath_common/blob/jazzy/clearpath_manipulators_description/urdf/gripper/robotiq_2f_85.urdf.xacro) in `clearpath_manipulators_description`. - diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/universal_robots/configs.mdx b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/universal_robots/configs.mdx new file mode 100644 index 000000000..720e1fce4 --- /dev/null +++ b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/universal_robots/configs.mdx @@ -0,0 +1,522 @@ +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: universal_robots + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ur_type: ur3e + robot_ip: 192.168.131.40 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: universal_robots + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ur_type: ur3e + robot_ip: 192.168.131.40 + gripper: + model: robotiq_2f_85 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: universal_robots + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ur_type: ur3e + robot_ip: 192.168.131.40 + gripper: + model: robotiq_2f_140 +``` +
+
+ + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: universal_robots + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ur_type: ur5e + robot_ip: 192.168.131.40 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: universal_robots + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ur_type: ur5e + robot_ip: 192.168.131.40 + gripper: + model: robotiq_2f_85 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: universal_robots + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ur_type: ur5e + robot_ip: 192.168.131.40 + gripper: + model: robotiq_2f_140 +``` +
+
+ + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: universal_robots + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ur_type: ur10e + robot_ip: 192.168.131.40 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: universal_robots + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ur_type: ur10e + robot_ip: 192.168.131.40 + gripper: + model: robotiq_2f_85 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: universal_robots + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ur_type: ur10e + robot_ip: 192.168.131.40 + gripper: + model: robotiq_2f_140 +``` +
+
+ + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: universal_robots + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ur_type: ur16e + robot_ip: 192.168.131.40 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: universal_robots + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ur_type: ur16e + robot_ip: 192.168.131.40 + gripper: + model: robotiq_2f_85 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: universal_robots + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ur_type: ur16e + robot_ip: 192.168.131.40 + gripper: + model: robotiq_2f_140 +``` +
+
+ + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: universal_robots + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ur_type: ur20 + robot_ip: 192.168.131.40 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: universal_robots + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ur_type: ur20 + robot_ip: 192.168.131.40 + gripper: + model: robotiq_2f_85 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: universal_robots + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ur_type: ur20 + robot_ip: 192.168.131.40 + gripper: + model: robotiq_2f_140 +``` +
+
+ + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: universal_robots + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ur_type: ur30 + robot_ip: 192.168.131.40 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: universal_robots + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ur_type: ur30 + robot_ip: 192.168.131.40 + gripper: + model: robotiq_2f_85 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: universal_robots + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ur_type: ur30 + robot_ip: 192.168.131.40 + gripper: + model: robotiq_2f_140 +``` +
+
+ +
diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/universal_robots.mdx b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/universal_robots/details.mdx similarity index 73% rename from docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/universal_robots.mdx rename to docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/universal_robots/details.mdx index c409fb1a9..654753e7c 100644 --- a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/universal_robots.mdx +++ b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/universal_robots/details.mdx @@ -1,94 +1,88 @@ - - - - - -
-
-
- -
-
-
- -```yaml -manipulators: - moveit: - enable: false - arms: - - model: universal_robots - parent: default_mount - xyz: [0.0, 0.0, 0.0] - rpy: [0.0, 0.0, 0.0] - ur_type: ur5e - robot_ip: 192.168.131.40 - headless: false -``` -
- -#### Package and Setup +### Package and Setup {#ur_package_and_setup} The Universal Robots arms use the `ur_description` and `ur_driver` ROS 2 Packages. The description and driver are open source, maintained by Universal Robots, and are hosted on GitHub. Refer to the [description repository](https://github.com/UniversalRobots/Universal_Robots_ROS2_Description) and [driver repository](https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver). For more specifics on the way Clearpath's configuration system adds the arm to the robot description, see the [description file](https://github.com/clearpathrobotics/clearpath_common/blob/jazzy/clearpath_manipulators_description/urdf/arm/universal_robots.urdf.xacro). Note, all parameters to the `xacro:macro universal_robots` can be passed through the `robot.yaml` entry above. For examples, read the sections below. -#### Teach Pendant Setup +### Teach Pendant Setup {#ur_teach_pendant_setup} The following sub-sections will cover the standard UR teach pendant setup, but with the specific Clearpath parameters. For the UR instructions see: [**Setting up a UR robot for ur_robot_driver**](https://docs.universal-robots.com/Universal_Robots_ROS2_Documentation/doc/ur_robot_driver/ur_robot_driver/doc/installation/robot_setup.html) and [**Installing a URCap on a e-Series robot**](https://docs.universal-robots.com/Universal_Robots_ROS2_Documentation/doc/ur_robot_driver/ur_robot_driver/doc/installation/install_urcap_e_series.html). -##### Networking Settings + + +#### Networking Settings {#ur_networking_setup} +
+Network Settings Setup + At Clearpath, we use the `192.168.131.x` subnet and assign manipulators to the range `192.168.131.40-49`. Therefore, when setting up a UR arm, we encourage the use of the `192.168.131.40` address. Navigate to the **Settings/System/Networking** page of the UR teach pendant and set the following:
- +
-##### URCap +
+ +#### URCap +
+ +URCap Setup + In order to control the arm from an external device, the `External Control` URCap needs to be setup. You can find the latest `externalcontrol-x.x.x.urcap` in its [repository](https://github.com/UniversalRobots/Universal_Robots_ExternalControl_URCap/releases). Install it by adding it to the `programs` folder in the `/`, root directory of the arm's control box. Use a USB stick or `scp`. Navigate to the **Settings/System/URCaps** page to install the URCap. Note, you will be prompted and must restart before using the URCap.
- +
Navigate to the **Installation/URCaps** page to configure the IP address and hostname of the external device. The standard Clearpath robot computer IP address is `192.168.131.40`. Each robot has its own hostname, we will use `cpr-a300-0000` as a placeholder:
- +
-##### External Control Program +
+ +#### External Control Program {#ur_external_control_prog} +
+ +External Control Program Setup + Once the URCap has been installed and configured, a program that launches the **ExternalControl** task needs to be created and set as default. Begin by navigating to the **Programs/URCap** section, make sure the program is empty except for the addition of the **ExternalControl** task. Save the program as `external_control.urp`:
- +
Now, set the program as default so that it is automatically loaded and ready to run on start-up. Navigate to the **Installation/General/Startup** page and set the `external_control.urp` program as the default:
- +
+
+ +#### Initializing the Arm {#ur_arm_initialization} +
+ +Initializing the Arm in Teach Pendant -##### Initializing the Arm At start up, the arm needs to be turned on and initialized. Press the button in the bottom left corner which will bring-up the arm start-up sequence window. Follow the instructions to initialize the arm: @@ -98,7 +92,7 @@ At start up, the arm needs to be turned on and initialized. Press the button in @@ -106,7 +100,7 @@ At start up, the arm needs to be turned on and initialized. Press the button in @@ -114,7 +108,7 @@ At start up, the arm needs to be turned on and initialized. Press the button in @@ -122,7 +116,7 @@ At start up, the arm needs to be turned on and initialized. Press the button in @@ -131,13 +125,18 @@ At start up, the arm needs to be turned on and initialized. Press the button in Once the robot is in normal mode, you can proceed to initialize the external control program. + -#### Standard Initialization (Recommended) +### Standard Initialization (Recommended) {#ur_standard_initialization} At start up, the robot computer will launch the arm's controller using the `clearpath-manipulators.service`. Once the arm is on and initialized through the teach pendant, start the `external_control` program, which will begin communication with the ROS driver. Start the program by pressing the play button on the **Run** page. -##### Troubleshooting +#### Troubleshooting {#ur_init_troubleshooting} +
+ +Troubleshooting Initialization + If the following error pop-up window appears, then ensure that the arm's URCap configuration matches the robot's computer and that the robot's computer is able to ping the arm. The error also indicates that the ROS driver is not currently running or has been stopped. Restart the `clearpath-manipulators.service` and try again: ```yaml sudo systemctl stop clearpath-manipulators.service @@ -146,55 +145,65 @@ sudo systemctl start clearpath-manipulators.service
- +
+
-#### Headless Initialization +### Headless Initialization {#ur_headless_initialization} If the arm has been setup to accept external control by surrendering manual control in the teach pendant, then it is possible to bypass the manual initialization of the UR program on the tablet. If this is the case, make sure the arm has been turned on and initialized through the teach pendant, then set, `headless: true` in the `robot.yaml`. This will restart the services and the arm should connect automatically. -##### Setup +
+ +Headless Initialization Setup + The headless setup is not recommended as it is more complicated, however it exposes the entire teach pendant's functionality to the ROS interface, and thus, provides experienced ROS users with the ability to detect arm faults, clear faults, and restart the arm programmatically. To begin the setup, make sure that remote control is enabled in the **Settings/System/Remote Control** page:
- +
To enter **Remote Control** mode, first put the teach pendant in **Automatic**:
- +
Then, you will be able to switch from **Automatic** to **Remote Control**:
- +
- +
In this mode, you will be unable to interface with the arm directly from the tablet. Instead, all commands must be sent by the external device. You can restore manual control by following the steps above in reverse. -#### Parameter: Device IP +
+ +### Parameter: Device IP {#ur_param_ip} The `robot_ip` must be set to match the networking settings of the arm's control box. By default, we use the `192.168.131.40` address. -#### Parameter: UR Type +### Parameter: UR Type {#ur_param_type} The `ur_type` parameter can be modified to change the type of the arm. By default, it is set to `ur5e`. But, it is critical that it is changed to match the real arm type. The following types are supported: `ur3`, `ur3e`, `ur5`, `ur5e`, `ur10`, `ur10e`, `ur16e`, `ur20`, `ur30`. -#### Parameter: Calibration Parameters +### Parameter: Calibration Parameters {#ur_param_calib} By default, the default kinematics parameter file is passed to the arm's ROS controller. Because each arm has it's own measurable offsets, it is likely that without updating this calibration file the arm's movements will not be as accurate as could be. Therefore, use the [`ur_calibration`](https://docs.universal-robots.com/Universal_Robots_ROS2_Documentation/doc/ur_robot_driver/ur_robot_driver/doc/installation/robot_setup.html#extract-calibration-information) package to obtain the calibration parameter file. +
+ +UR Retrieve Calibration + ```bash ros2 launch ur_calibration calibration_correction.launch.py robot_ip:= target_filename:="${HOME}/my_robot_calibration.yaml" ``` @@ -218,3 +227,5 @@ Note, you can also pass in substitution arguments: ```yaml kinematics_parameters_file: "$(find package_name)/path/to/my_robot_calibration.yaml" ``` + +
diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/universal_robots/lineup.mdx b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/universal_robots/lineup.mdx new file mode 100644 index 000000000..10579c37a --- /dev/null +++ b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/universal_robots/lineup.mdx @@ -0,0 +1,5 @@ +
+
+ +
+
diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/sensors/axis_camera.mdx b/docs_versioned_docs/version-ros2jazzy/components/yaml/sensors/axis_camera.mdx index 90200b8a4..b26766847 100644 --- a/docs_versioned_docs/version-ros2jazzy/components/yaml/sensors/axis_camera.mdx +++ b/docs_versioned_docs/version-ros2jazzy/components/yaml/sensors/axis_camera.mdx @@ -108,5 +108,5 @@ If `ptz_teleop` is `True` the `axis_camera` driver will subscribe to the robot's For additional details on configuring PTZ teleoperation, please refer to the `axis_camera` package [on github](https://github.com/ros-drivers/axis_camera). -#### Q62-Specfic Features +#### Q62-Specific Features The Axis Q62 camera features a wiper, infrared/night-vision mode, and a defogger. Services to control these features can be enabled by setting the `wiper`, `ir`, and `defog` parameters to `True`. diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/sensors/fixposition_xvn.mdx b/docs_versioned_docs/version-ros2jazzy/components/yaml/sensors/fixposition_xvn.mdx index 418332753..a01176a87 100644 --- a/docs_versioned_docs/version-ros2jazzy/components/yaml/sensors/fixposition_xvn.mdx +++ b/docs_versioned_docs/version-ros2jazzy/components/yaml/sensors/fixposition_xvn.mdx @@ -49,7 +49,7 @@ ins: #### Package and Setup -The Fixposition Vision-RTK2 (formerly Fixposition XVN) uses the `fixposition_driver_ros2` ROS 2 driver, maintained by +The Fixposition Vision-RTK2 (also known as the Movella XVN) uses the `fixposition_driver_ros2` ROS 2 driver, maintained by Fixposition. The driver is open-source and hosted on [GitHub](https://github.com/fixposition/fixposition_driver). The ROS 2 driver must be built from source, following [these instructions](https://docs.fixposition.com/fd/installation-and-usage). diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/sensors/luxonis_oakd.mdx b/docs_versioned_docs/version-ros2jazzy/components/yaml/sensors/luxonis_oakd.mdx index 3056bbb86..e7a3486d1 100644 --- a/docs_versioned_docs/version-ros2jazzy/components/yaml/sensors/luxonis_oakd.mdx +++ b/docs_versioned_docs/version-ros2jazzy/components/yaml/sensors/luxonis_oakd.mdx @@ -18,7 +18,7 @@ camera: xyz: [0.0, 0.0, 0.0] rpy: [0.0, 0.0, 0.0] ros_parameters: - oakd: + luxonis_oakd: device_type: pro camera: i_enable_imu: false diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/sensors/phidgets_spatial.mdx b/docs_versioned_docs/version-ros2jazzy/components/yaml/sensors/phidgets_spatial.mdx index 2ba939f02..a3c6c7a92 100644 --- a/docs_versioned_docs/version-ros2jazzy/components/yaml/sensors/phidgets_spatial.mdx +++ b/docs_versioned_docs/version-ros2jazzy/components/yaml/sensors/phidgets_spatial.mdx @@ -26,6 +26,6 @@
- +
- +
- +
- +
- +
#### Package and Setup -The Phidgets devices use the `phidgets_spatial` ROS 2 package. The driver is open source, maintained by ROS community, and hosted on [GitHub](https://github.com/ros-drivers/phidgets_drivers). +The Phidgets devices use the `phidgets_spatial` ROS 2 package. The driver is open source, maintained by the ROS community, and hosted on [GitHub](https://github.com/ros-drivers/phidgets_drivers). For more specifics on the way Clearpath's configuration system launches the `phidgets_spatial` driver, see the `phidgets_spatial` [launch file](https://github.com/clearpathrobotics/clearpath_robot/blob/jazzy/clearpath_sensors/launch/phidgets_spatial.launch.py) and the [default parameter file](https://github.com/clearpathrobotics/clearpath_robot/blob/jazzy/clearpath_sensors/config/phidgets_spatial.yaml) in `clearpath_sensors`. diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/sensors/stereolabs_zed.mdx b/docs_versioned_docs/version-ros2jazzy/components/yaml/sensors/stereolabs_zed.mdx index bbd9c2f22..b13f2faaa 100644 --- a/docs_versioned_docs/version-ros2jazzy/components/yaml/sensors/stereolabs_zed.mdx +++ b/docs_versioned_docs/version-ros2jazzy/components/yaml/sensors/stereolabs_zed.mdx @@ -29,7 +29,7 @@ camera: #### Package and Setup -The Stereolabs Zed cameras use the `zed-ros2-wrapper` ROS 2 driver. The driver is open source, maintained by Stereolabs, and hosted on [GitHub](https://github.com/stereolabs/zed-ros2-wrapper). The `zed_wrapper` nodes depend on the the [ZED SDK](https://www.stereolabs.com/developers/release). The `zed-ros2-wrapper` ROS packages and the ZED SDK **are not installed by ROS dependencies** because the SDK and the wrapper depend on CUDA and need to be built against the specific version installed on your computer. Therefore, **you will have to install these manually by following the instructions in the [`zed-ros2-wrapper`](https://github.com/stereolabs/zed-ros2-wrapper/blob/master/README.md) repository. +The Stereolabs Zed cameras use the `zed-ros2-wrapper` ROS 2 driver. The driver is open source, maintained by Stereolabs, and hosted on [GitHub](https://github.com/stereolabs/zed-ros2-wrapper). The `zed_wrapper` nodes depend on the [ZED SDK](https://www.stereolabs.com/developers/release). The `zed-ros2-wrapper` ROS packages and the ZED SDK **are not installed by ROS dependencies** because the SDK and the wrapper depend on CUDA and need to be built against the specific version installed on your computer. Therefore, **you will have to install these manually by following the instructions in the [`zed-ros2-wrapper`](https://github.com/stereolabs/zed-ros2-wrapper/blob/master/README.md) repository. For specifics on the way Clearpath's configuration system launches the camera, see the Stereolabs Zed [launch file](https://github.com/clearpathrobotics/clearpath_robot/blob/jazzy/clearpath_sensors/launch/stereolabs_zed.launch.py) and the [default parameter file](https://github.com/clearpathrobotics/clearpath_robot/blob/jazzy/clearpath_sensors/config/stereolabs_zed.yaml) in `clearpath_sensors`. diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/sensors/swiftnav_duro.mdx b/docs_versioned_docs/version-ros2jazzy/components/yaml/sensors/swiftnav_duro.mdx index ebe1ff72b..9d479ef9b 100644 --- a/docs_versioned_docs/version-ros2jazzy/components/yaml/sensors/swiftnav_duro.mdx +++ b/docs_versioned_docs/version-ros2jazzy/components/yaml/sensors/swiftnav_duro.mdx @@ -31,7 +31,7 @@ gps: #### Package and Setup The SwiftNav Duro uses the `duro_gps_driver` ROS 2 driver. The driver is open source, maintained by the autonomous vehicle development team of Széchenyi University, and hosted on [GitHub](https://github.com/szenergy/duro_gps_driver). -The `duro_gps_driver` and its dependency `libsbp`, the Swift binary protocol libray, must be built from source. +The `duro_gps_driver` and its dependency `libsbp`, the Swift binary protocol library, must be built from source. Build and install the `libsbp`: ```bash diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/sensors/wiferion.mdx b/docs_versioned_docs/version-ros2jazzy/components/yaml/sensors/wiferion.mdx index f310a872c..b007b45d6 100644 --- a/docs_versioned_docs/version-ros2jazzy/components/yaml/sensors/wiferion.mdx +++ b/docs_versioned_docs/version-ros2jazzy/components/yaml/sensors/wiferion.mdx @@ -42,7 +42,7 @@ sensors: #### Package and Setup -The Wiferion Wireless Charger uses the `wiferion_charger` ROS 2 driver. The driver is open source, maintained by Clearpath, and hosted on [GitHub](https://github.com/clearpathrobotics/wiferion_charger). The packages is installed alongside the `clearpath_robot` package as a dependency. +The Wiferion Wireless Charger uses the `wiferion_charger` ROS 2 driver. The driver is open source, maintained by Clearpath, and hosted on [GitHub](https://github.com/clearpathrobotics/wiferion_charger). The packages are installed alongside the `clearpath_robot` package as a dependency. The driver uses the [`clearpath_ros2_socketcan_interface`](https://github.com/clearpathrobotics/clearpath_ros2_socketcan_interface/) to communicate with the CAN bus via ROS 2 topics. Therefore, a ROS 2 socket CAN bridge must be available to use the driver. Make sure to define a CAN bridge for the CAN interface connected to the Wiferion charger. diff --git a/docs_versioned_docs/version-ros2jazzy/ros/changelog.mdx b/docs_versioned_docs/version-ros2jazzy/ros/changelog.mdx index 7785bc96c..731b05196 100644 --- a/docs_versioned_docs/version-ros2jazzy/ros/changelog.mdx +++ b/docs_versioned_docs/version-ros2jazzy/ros/changelog.mdx @@ -77,6 +77,34 @@ import Style from '/assets/css/changelog.css'; +## [2.8] 2025-10-23 + +### New Features +- Added a new platform.wireless section to config +- Added system.bash support +- Added support for multiple launch files to be listed in platform.extras.launch, added launch arguments field +- Added support for automatic discovery range +- Added support for Kinova arms +- Added support for Franka arms +- Added support for StereoLabs Zed2 camera +- Added Peplink router & base station diagnostics into Networking +- Added additional Puma diagnostics + +### Fixed +- Replace assert with raise + relevant Exception +- Fixed OakD Parameters +- Raised a FileNotFound exception instead of an assertion error if the middleware config path doesn't exist +- Renamed oakd namespace in robot.yaml to luxonis_oakd driver package +- Fixed URDF Parameters on Kinova and Grippers +- Added dependency on python3-apt +- Replaced assertions in clearpath_generator_common with specific exceptions +- Fixed catching FileNotFound exceptions when loading the samples and ignore them +- Set simulated camera topic +- Skipped xacro load for Zed2 camera since wrapper must be manually installed +- Included hidden with foxglove bridge for onav +- Disabled prefixing of links by mecanum controller +- Fixed Ridgeback rear lights and cover colors + ## [2.7] 2025-08-25 ### New Features diff --git a/docs_versioned_docs/version-ros2jazzy/ros/config/yaml/manipulators.mdx b/docs_versioned_docs/version-ros2jazzy/ros/config/yaml/manipulators.mdx index 643f057df..931ceb0b9 100644 --- a/docs_versioned_docs/version-ros2jazzy/ros/config/yaml/manipulators.mdx +++ b/docs_versioned_docs/version-ros2jazzy/ros/config/yaml/manipulators.mdx @@ -5,13 +5,29 @@ sidebar_position: 8 toc_min_heading_level: 2 toc_max_heading_level: 4 --- -import KinovaGen3Lite from "/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova_gen3_lite.mdx"; + + + +import KinovaLineUp from "/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova/lineup.mdx"; +import KinovaConfigs from "/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova/configs.mdx"; +import KinovaDetails from "/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova/details.mdx"; + +import UniversalRobotsLineUp from "/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/universal_robots/lineup.mdx"; +import UniversalRobotsConfigs from "/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/universal_robots/configs.mdx"; +import UniversalRobotsDetails from "/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/universal_robots/details.mdx"; + +import FrankaLineUp from "/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/franka/lineup.mdx"; +import FrankaConfigs from "/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/franka/configs.mdx"; +import FrankaDetails from "/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/franka/details.mdx"; Manipulators include all robotic arms and grippers. Unlike sensors, manipulators are not controlled by external drivers. Instead, a hardware controller must be loaded into the controller manager to handle the joint interface to move the specific manipulator joints. @@ -22,29 +38,52 @@ Every arm can have at most one gripper, and grippers can only be added to an exi By default, MoveIt! is disabled but can be enabled in the `robot.yaml`. -## Supported Manipulators - -### Kinova Arms {#kinova-arms} + +## Franka {#franka} + + + +
-### Kinova Grippers {#kinova-grippers} +## Kinova {#kinova} + + + +
+ +## Universal Robots {#universal-robots} + + + +
+ + + diff --git a/docs_versioned_docs/version-ros2jazzy/ros/config/yaml/platform/extras.mdx b/docs_versioned_docs/version-ros2jazzy/ros/config/yaml/platform/extras.mdx index b57d619dc..38534af04 100644 --- a/docs_versioned_docs/version-ros2jazzy/ros/config/yaml/platform/extras.mdx +++ b/docs_versioned_docs/version-ros2jazzy/ros/config/yaml/platform/extras.mdx @@ -12,11 +12,12 @@ Despite all current customization options, we still would like our users to be a Extras have the following entries: - **urdf:** - - **package:** name of the ROS 2 package that contains the extras URDF (optional). - **path:** relative path within the package or absolute path to robot extras URDF -- **launch:** - - **package:** name of the ROS 2 package that contains the extras launch file (optional). + - **package:** name of the ROS 2 package that contains the extras URDF (optional) +- **launch:** a list of objects containing - **path:** relative path within the package or absolute path to robot extras launch file + - **package:** name of the ROS 2 package that contains the extras launch file (optional) + - **args:** launch arguments to pass to the launch file when it is started (optional) - **ros_parameters:** in YAML to pass in parameters to platform nodes. This is useful to change parameters such as the robot's velocity and acceleration. ```yaml @@ -25,8 +26,8 @@ extras: package: package_name path: relative/path/to/urdf/in/package.urdf.xacro # or can contain /absolute/path/to/urdf.urdf.xacro launch: - package: package_name - path: relative/path/to/launch/in/package.launch.py + - package: package_name + path: relative/path/to/launch/in/package.launch.py ros_parameters: {} # node parameters, see below ``` @@ -132,8 +133,48 @@ The robot's URDF will now include the antenna, as shown in the image below: ## Extras Launch -If an `extras.launch` is specified, it is launched as part of the `clearpath-platform-extras.service` job. To check the status -of the extras launch, run +The launch files specified in this section are started as part of the `clearpath-platform-extras.service` job. Each launch file can be specified either as an absolute path or as a relative path within a package. Additionally, launch arguments may be specified with the `args` field: + +```yaml +platform: + extras: + launch: + - path: /absolute/path/to/some/file.launch.py + - path: launch/my_launch_file.launch.py + package: my_package + - path: launch/my_launch_with_args.launch.py + package: my_other_package + args: + spam: eggs + foo: bar +``` + +The three launches above are equivalent to the following command-line invocations: + +```bash +ros2 launch /absolute/path/to/some/file.launch.py + +ros2 launch my_package launch/my_launch_file.launch.py + +ros2 launch my_other_package launch/my_launch_with_args.launch.py spam:=eggs foo:=bar +``` + +:::note + +In `2.7.x` and earlier `extras.launch` only supported a single launch file: + +```yaml +platform: + extras: + path: launch/my_launch_file.launch.py + package: my_package +``` + +If your `robot.yaml` file contains the old format you will see a deprecation notice. We recommend updating your `robot.yaml` to the new format by converting `extras.launch` to a list. + +::: + +To check the status of the extras launch, run ```bash systemctl status clearpath-platform-extras.service diff --git a/docs_versioned_docs/version-ros2jazzy/ros/config/yaml/sensors/imu.mdx b/docs_versioned_docs/version-ros2jazzy/ros/config/yaml/sensors/imu.mdx index cbabddad8..3035e4430 100644 --- a/docs_versioned_docs/version-ros2jazzy/ros/config/yaml/sensors/imu.mdx +++ b/docs_versioned_docs/version-ros2jazzy/ros/config/yaml/sensors/imu.mdx @@ -1,5 +1,5 @@ --- -title: Inertial Measurment Units +title: Inertial Measurement Units sidebar_label: IMU sidebar_position: 4 toc_min_heading_level: 2 diff --git a/docs_versioned_docs/version-ros2jazzy/ros/config/yaml/sensors/lidar2d.mdx b/docs_versioned_docs/version-ros2jazzy/ros/config/yaml/sensors/lidar2d.mdx index f14b1c325..08c538e49 100644 --- a/docs_versioned_docs/version-ros2jazzy/ros/config/yaml/sensors/lidar2d.mdx +++ b/docs_versioned_docs/version-ros2jazzy/ros/config/yaml/sensors/lidar2d.mdx @@ -8,7 +8,7 @@ toc_max_heading_level: 4 import HokuyoUST from "/docs_versioned_docs/version-ros2jazzy/components/yaml/sensors/hokuyo_ust.mdx"; import SickLMS1xx from "/docs_versioned_docs/version-ros2jazzy/components/yaml/sensors/sick_lms1xx.mdx"; -Two dimensional LiDARs provide a single planar scan, which is pusblished as a `sensor_msgs/LaserScan` message. It is important to accurately position the scanner in the visual description of the robot to ensure that the scanned plane is accurate with respect to the robot. +Two dimensional LiDARs provide a single planar scan, which is published as a `sensor_msgs/LaserScan` message. It is important to accurately position the scanner in the visual description of the robot to ensure that the scanned plane is accurate with respect to the robot. ## Supported 2D Lidars diff --git a/docs_versioned_docs/version-ros2jazzy/ros/config/yaml/sensors/lidar3d.mdx b/docs_versioned_docs/version-ros2jazzy/ros/config/yaml/sensors/lidar3d.mdx index 09f53a690..ebe3cbb61 100644 --- a/docs_versioned_docs/version-ros2jazzy/ros/config/yaml/sensors/lidar3d.mdx +++ b/docs_versioned_docs/version-ros2jazzy/ros/config/yaml/sensors/lidar3d.mdx @@ -9,7 +9,7 @@ import OusterLidar from "/docs_versioned_docs/version-ros2jazzy/components/yaml/ import SeyondLidar from "/docs_versioned_docs/version-ros2jazzy/components/yaml/sensors/seyond_robin.mdx"; import VelodyneLidar from "/docs_versioned_docs/version-ros2jazzy/components/yaml/sensors/velodyne_lidar.mdx"; -Three dimensional LiDARs provide a pointcloud of all points detected by several planar scanners at various angles, which is published as a `sensor_msgs/PointCloud2` message. It is important to accurately position the LiDAR in the visual descriptiuon of the robot to ensured that the scanned points are accurate with respect to the robot. +Three dimensional LiDARs provide a pointcloud of all points detected by several planar scanners at various angles, which is published as a `sensor_msgs/PointCloud2` message. It is important to accurately position the LiDAR in the visual description of the robot to ensure that the scanned points are accurate with respect to the robot. ## Supported 3D Lidars diff --git a/docs_versioned_docs/version-ros2jazzy/ros/config/yaml/system.mdx b/docs_versioned_docs/version-ros2jazzy/ros/config/yaml/system.mdx index f61e618c5..80a40cd7c 100644 --- a/docs_versioned_docs/version-ros2jazzy/ros/config/yaml/system.mdx +++ b/docs_versioned_docs/version-ros2jazzy/ros/config/yaml/system.mdx @@ -67,10 +67,12 @@ Currently only the Husky A200 can use `rmw_zenoh_cpp`. Attempting to use Zenoh o | Key | Value / Datatype | Description | |:---:| :--------------: | ----------- | -| **implementation** | `rmw_fastrtps_cpp` | Declares the RMW Implementation to use. Currently only supports `rmw_fastrtps_cpp` and `rmw_zenoh_cpp`. | +| **implementation** | string | Declares the RMW Implementation to use. Currently only supports `rmw_fastrtps_cpp` and `rmw_zenoh_cpp`. | | **discovery** | `simple` or `server` | Select `simple` for simple discovery and `server` for discovery server. (Defaults to `simple`. Ignored if `implementation` is not `rmw_fastrtps_cpp`.) | | **profile** | string | Advanced feature, allows an optional custom profile to be provided - RMW Implementation / vendor specific. | | **servers** | list | Provides a list of all discovery servers in the system and whether or not the robot should connect to them. Ignored if `implementation` is not `rmw_fastrtps_cpp`.| +| **automatic_discovery_range** | string | Sets the value for the `ROS_AUTOMATIC_DISCOVERY_RANGE` environment variable. Must be one of `subnet`, `localhost`, `system_default`, or `off`. | +| **static_peers** | list | List of IP addresses or hostnames that ROS should discover nodes on. Sets the value of the `ROS_STATIC_PEERS` environment variable. | For example: @@ -78,6 +80,10 @@ For example: middleware: implementation: rmw_fastrtps_cpp discovery: simple + automatic_discovery_range: subnet + static_peers: + - 192.168.131.1 + - 192.168.131.2 profile: path/to/profile.xml servers: # This section is described further below - hostname: cpr-a200-0000 @@ -121,6 +127,30 @@ servers: enabled: True ``` +## Bash Environment + +Some ROS nodes may expect additional environment variables to be set. Instead of setting these system-wide, you may instead use the `system.bash` section to define additional environment variables or source additional bash files _before_ any ROS nodes are started by the Clearpath systemd jobs. + +```yaml +system: + bash: + source: + - /path/to/some_config.bash + - /path/to/another_setup.bash + env: + ADDITIONAL_ENVAR: spam + ANOTHER_ENVAR: eggs +``` + +This example will include the following in the generated `setup.bash` file used by all Clearpath systemd jobs: + +```bash +source /path/to/some_config.bash +source /path/to/another_setup.bash +export ADDITIONAL_ENVAR="spam" +export ANOTHER_ENVAR="eggs" +``` + ## Sample
diff --git a/docs_versioned_docs/version-ros2jazzy/ros/installation/robot.mdx b/docs_versioned_docs/version-ros2jazzy/ros/installation/robot.mdx index c12ce6551..4475c75f2 100644 --- a/docs_versioned_docs/version-ros2jazzy/ros/installation/robot.mdx +++ b/docs_versioned_docs/version-ros2jazzy/ros/installation/robot.mdx @@ -81,7 +81,7 @@ to create the installation media, an ethernet cable, a monitor, and a keyboard. 7. On first boot, the username will be `robot` and the password will be `clearpath`. You should use the `passwd` utility to change the `robot` account password. 8. Log on to the computer and run `bash -e clearpath_computer_installer.sh` to install the needed software. - This will take a while to complete and has a prompts that must be answered. + This will take a while to complete and has prompts that must be answered. If your setup requires being able to manually edit your robot's partition table, or if your robot's computer diff --git a/docs_versioned_docs/version-ros2jazzy/ros/troubleshooting.mdx b/docs_versioned_docs/version-ros2jazzy/ros/troubleshooting.mdx index 38ea1ed9d..f424ecdf1 100644 --- a/docs_versioned_docs/version-ros2jazzy/ros/troubleshooting.mdx +++ b/docs_versioned_docs/version-ros2jazzy/ros/troubleshooting.mdx @@ -9,7 +9,7 @@ import JitterError from "/docs_versioned_docs/version-ros2jazzy/components/troub The following are common problems our [support team](https://support.clearpathrobotics.com/hc/en-us) have received. Before [submitting a request](https://support.clearpathrobotics.com/hc/en-us/requests/new) please review the items below to see if they resolve your problem. If your problem is not resolved, download a [diagnostic capture](./cockpit/ros2_diagnostics.mdx#capture-diagnostics) from the [Cockpit webserver](./cockpit/overview.mdx) and attach it to the support request. -An alternative to Cockpit diagnostic capture is running `ros2 run clearpath_robot grab-diagnostics` which will grab all the typical data needed for troubleshooting and place it into a compressed folded. +If accessing the Cockpit webserver fails, an alternative to Cockpit diagnostic capture is running `ros2 run clearpath_robot grab-diagnostics` which will grab all the typical data needed for troubleshooting and place it into a compressed folded. It can be copied off the computer using a tool such as `scp`. Our [getting started](/docs/ros) section may also help answer some questions. diff --git a/docs_versioned_docs/version-ros2jazzy/ros/tutorials/navigation_demos/actions.mdx b/docs_versioned_docs/version-ros2jazzy/ros/tutorials/navigation_demos/actions.mdx index 4816c208b..5c45e80cf 100644 --- a/docs_versioned_docs/version-ros2jazzy/ros/tutorials/navigation_demos/actions.mdx +++ b/docs_versioned_docs/version-ros2jazzy/ros/tutorials/navigation_demos/actions.mdx @@ -51,10 +51,10 @@ The message is divided into 3 parts: * the result (what the robot sends back to us when the action completes), and * feedback (what the robot sends to us while the action is still in-progress). -## Determine the goal location {#goal-position} +### Determine the goal location {#goal-position} First we must determine where we want the robot to drive to. The easiest way to do this is to -use the [publish point](nav2.mdx#publish-point) tool. +use the [publish point](rviz#publish-point) tool. Suppose we receve this point on the on the `/a300_0000/clicked_point` topic: ```yaml @@ -89,7 +89,7 @@ These alternate ways to determine the robot's goal are outside the scope of this ::: -## Determine the goal orientation {#goal-orientation} +### Determine the goal orientation {#goal-orientation} The `navigate_to_pose` action requires a `PoseStamped` object. A `Pose` in ROS consists of an XYZ location in space and a [**Quaternion**](https://docs.ros.org/en/jazzy/Tutorials/Intermediate/Tf2/Quaternion-Fundamentals.html) @@ -144,7 +144,7 @@ $$Z = sin(\frac{\theta}{2})$$ $$W = cos(\frac{\theta}{2})$$ -## Sending the Action Goal +### Sending the Action Goal :::tip @@ -213,4 +213,4 @@ Result: error_msg: '' Goal finished with status: SUCCEEDED -``` \ No newline at end of file +``` diff --git a/docs_versioned_docs/version-ros2jazzy/ros/tutorials/navigation_demos/localization.mdx b/docs_versioned_docs/version-ros2jazzy/ros/tutorials/navigation_demos/localization.mdx index db173c047..67321c7a8 100644 --- a/docs_versioned_docs/version-ros2jazzy/ros/tutorials/navigation_demos/localization.mdx +++ b/docs_versioned_docs/version-ros2jazzy/ros/tutorials/navigation_demos/localization.mdx @@ -21,6 +21,8 @@ Make sure you have installed the simulator before starting this tutorial. Take a ## Launching Localization +See [Launching Nav2](nav2) for instructions on launching localization + :::note When using the simulation, it is important to add `use_sim_time:=true` to the Nav2, SLAM, and @@ -29,16 +31,30 @@ to `false`. ::: -To start localization using [AMCL](https://docs.nav2.org/configuration/packages/configuring-amcl.html) -[follow the steps](nav2.mdx#launching-the-simulation-and-nav2) described in the Nav2 -startup. When you get to step 4, run -```bash -ros2 launch clearpath_nav2_demos localiztion.launch.py use_sim_time:=true -``` - -The default map used by `localization.launch.py` is a -[map](https://github.com/clearpathrobotics/clearpath_nav2_demos/blob/jazzy/maps/warehouse.yaml) of the simulated warehouse world. -If you are using a custom map, pass it in with the `map` launch argument: -```bash -ros2 launch clearpath_nav2_demos localization.launch.py use_sim_time:=true map:=/path/to/my/map.yaml -``` +## Setting the 2D Pose Estimate + +When starting localization, the robot will be `lost` -- no transform from `base_link` to the `map` frame will be published. +To fix this you must manually set an initial 2D pose estimate. + +The **2D Pose Estimate** tool in Rviz allows you to provide Nav2 with the robot's approximate initial position on the map. +This is a necessary step before you can navigate with the robot. +This step connects the `map` frame to the rest of the robot's TF tree. + +To set the robot's initial position, click and hold the mouse button on the map in the robot's approximate location. +While holding the left mouse button, drag the green arrow to set the robot's orientation. Releasing the left +mouse button will set the robot's position and orientation relative to the `map` frame. + +If you are using SLAM and there is no map yet, simply click on the centre of the screen and drag up. + +Once you have set the robot's initial pose you should see red markers representing the lidar data as well +as coloured gradients indicating collision zones around walls and obstacles. + +
+
+ +
Setting the initial pose estimate
+
+
diff --git a/docs_versioned_docs/version-ros2jazzy/ros/tutorials/navigation_demos/nav2.mdx b/docs_versioned_docs/version-ros2jazzy/ros/tutorials/navigation_demos/nav2.mdx index 68eb6f2a7..a4dff68f5 100644 --- a/docs_versioned_docs/version-ros2jazzy/ros/tutorials/navigation_demos/nav2.mdx +++ b/docs_versioned_docs/version-ros2jazzy/ros/tutorials/navigation_demos/nav2.mdx @@ -1,6 +1,6 @@ --- -title: Nav2 -sidebar_label: Nav2 +title: Launching Navigation +sidebar_label: Launching Nav2 sidebar_position: 2 toc_min_heading_level: 2 toc_max_heading_level: 5 @@ -18,128 +18,166 @@ to `false`. ::: -## Launching the simulation and Nav2 +:::note + +Clearpath's Nav2 demos are written to support 2D lidars. If your robot has a 3D lidar on it, you can use the +[3d lidar's `scan` topic](../../api/sensors_api#3d-lidar-topics) to provide the necessary 2d `laserscan` input by +using the `scan_topic` argument, e.g. `scan_topic:=/a300_0000/sensors/lidar3d_0/scan`. However, this is +experimental and potentially impacts various factors such as computing resources. + +::: + +:::warning + +Some lidars, especially 3D lidars, can have a minimum range that is _larger_ than the robot's footprint. +In this case it is possible for an obstacle to be so close to the robot that the lidar cannot detect it, potentially causing damage or injury. +Always keep an eye on the robot and be ready to press the emergency stop if necessary. + +::: + +## Launching Nav2 and SLAM on a physical robot -**1.** Move the `robot.yaml` file to your setup folder (`$HOME/clearpath` by default for the simulation or `/etc/clearpath/robot.yaml` on a physical robot). +The following commands can be run on the robot itself, or on an [offboard computer](../../installation/offboard_pc). +Running on the robot will result in less latency, but can also result in high CPU usage on the robot, depending what other nodes are running. -**2.** Open a terminal and launch the simulation: +**1.** Ensure the `clearpath-platform` and `clearpath-sensors` services are running. Run `ros2 topic list` to make sure the robot's `scan` topic is visible +**2.** Start Nav2 by running +```bash +ros2 launch clearpath_nav2_demos nav2.launch.py ``` -ros2 launch clearpath_gz simulation.launch.py +If your robot uses a 3D lidar instead of a 2D lidar, specify the `scan_topic` argument: +```bash +ros2 launch clearpath_nav2_demos nav2.launch.py scan_topic:=/a300_0000/sensors/lidar3d_0/scan ``` -If the simulation does not start automatically, press the large orange "play" button in the bottom left corner. +**3.** Start SLAM by running: +```bash +ros2 launch clearpath_nav2_demos slam.launch.py +``` +If your robot uses a 3D lidar instead of a 2D lidar, specify the `scan_topic` argument: +```bash +ros2 launch clearpath_nav2_demos slam.launch.py scan_topic:=/a300_0000/sensors/lidar3d_0/scan +``` -**3.** Open a second terminal and start Rviz. If you are using a physical robot or running the simulation -on an external server, this step must be should on your workstation, not on the robot or simulation server itself. +**4.** On your laptop, start Rviz to view the map by running +```bash +ros2 launch clearpath_viz view_navigation namespace:=/a300_0000 ``` -ros2 launch clearpath_viz view_navigation.launch.py namespace:=a300_0000 use_sim_time:=true + +**5.** Drive the robot around manually, or by sending it Nav2 goals. + +See [SLAM](slam) for more information about interacting with SLAM. + +See [Nav2 Goals](rviz#nav2-goal) for more information about sending navigation goals. + +## Launching Nav2 and SLAM in simulation + +**1.** Start the simulation by running +```bash +ros2 launch clearpath_gz simulation.launch setup_path:=/path/to/robot_setup +``` +The `setup_path` should point to the folder you have your [`robot.yaml`](../../config/yaml/overview) file, +e.g. `/home/username/clearpath` or `/etc/clearpath` + +**2.** Start Nav2 by running +```bash +ros2 launch clearpath_nav2_demos nav2.launch.py use_sim_time:=true setup_path:=/path/to/robot_setup +``` +If your simulated robot uses a 3D lidar instead of a 2D lidar, specify the `scan_topic` argument: +```bash +ros2 launch clearpath_nav2_demos nav2.launch.py scan_topic:=/a300_0000/sensors/lidar3d_0/scan use_sim_time:=true setup_path:=/path/to/robot_setup +``` + +**3.** Start SLAM by running: +```bash +ros2 launch clearpath_nav2_demos slam.launch.py use_sim_time:=true setup_path:=/path/to/robot_setup +``` +If your robot uses a 3D lidar instead of a 2D lidar, specify the `scan_topic` argument: +```bash +ros2 launch clearpath_nav2_demos slam.launch.py scan_topic:=/a300_0000/sensors/lidar3d_0/scan use_sim_time:=true setup_path:=/path/to/robot_setup +``` + +**4.** Start Rviz to view the map by running +```bash +ros2 launch clearpath_viz view_navigation namespace:=/a300_0000 use_sim_time:=true ``` -**4.** Open a third terminal and start either [SLAM](slam.mdx) or [Localization](localization.mdx), depdending on -whether or not you want to create a new map or use a pre-existing map. +**5.** Drive the robot around manually, or by sending it 2D nav goals. -**5.** Set the initial pose of the robot using the [**2D Pose Estimate**](#2d-pose-estimate) tool in RViz. +See [SLAM](slam) for more information about interacting with SLAM. -**6.** Open fourth second terminal and launch nav2: +See [Nav2 Goals](rviz#nav2-goal) for more information about sending navigation goals. +## Launching Nav2 and Localization on a physical robot + +The following commands can be run on the robot itself, or on an [offboard computer](../../installation/offboard_pc). +Running on the robot will result in less latency, but can also result in high CPU usage on the robot, depending what other nodes are running. + +**1.** Ensure the `clearpath-platform` and `clearpath-sensors` services are running. Run `ros2 topic list` to make sure the robot's `scan` topic is visible + +**2.** Start Nav2 by running +```bash +ros2 launch clearpath_nav2_demos nav2.launch.py +``` +If your robot uses a 3D lidar instead of a 2D lidar, specify the `scan_topic` argument: +```bash +ros2 launch clearpath_nav2_demos nav2.launch.py scan_topic:=/a300_0000/sensors/lidar3d_0/scan +``` + +**3.** Start localization by running: +```bash +ros2 launch clearpath_nav2_demos localization.launch.py map:=/path/to/map.yaml +``` +If your robot uses a 3D lidar instead of a 2D lidar, specify the `scan_topic` argument: +```bash +ros2 launch clearpath_nav2_demos localization.launch.py scan_topic:=/a300_0000/sensors/lidar3d_0/scan map:=/path/to/map.yaml +``` + +**4.** On your laptop, start Rviz to view the map by running +```bash +ros2 launch clearpath_viz view_navigation namespace:=/a300_0000 +``` + +**5.** Use Rviz to [set the 2D pose estimate](localization#setting-the-2d-pose-estimate). + +**6.** Send 2D a nav goal to the robot [using Rviz' 2D Nav Goal tool](rviz#nav2-goal) or [the Navigation to Pose action](actions#the-navigate-to-pose-action). + +## Launching Nav2 and Localization in simulation + +The following commands can be run on the robot itself, or on an [offboard computer](../../installation/offboard_pc). +Running on the robot will result in less latency, but can also result in high CPU usage on the robot, depending what other nodes are running. + +**1.** Start the simulation by running +```bash +ros2 launch clearpath_gz simulation.launch setup_path:=/path/to/robot_setup ``` +The `setup_path` should point to the folder you have your [`robot.yaml`](../../config/yaml/overview) file, +e.g. `/home/username/clearpath` or `/etc/clearpath` + +**2.** Start Nav2 by running +```bash ros2 launch clearpath_nav2_demos nav2.launch.py use_sim_time:=true ``` +If your robot uses a 3D lidar instead of a 2D lidar, specify the `scan_topic` argument: +```bash +ros2 launch clearpath_nav2_demos nav2.launch.py scan_topic:=/a300_0000/sensors/lidar3d_0/scan use_sim_time:=true +``` + +**3.** Start localization by running: +```bash +ros2 launch clearpath_nav2_demos localization.launch.py map:=/path/to/map.yaml use_sim_time:=true +``` +If your robot uses a 3D lidar instead of a 2D lidar, specify the `scan_topic` argument: +```bash +ros2 launch clearpath_nav2_demos localization.launch.py scan_topic:=/a300_0000/sensors/lidar3d_0/scan map:=/path/to/map.yaml use_sim_time:=true +``` + +**4.** On your laptop, start Rviz to view the map by running +```bash +ros2 launch clearpath_viz view_navigation namespace:=/a300_0000 +``` + +**5.** Use Rviz to [set the 2D pose estimate](localization#setting-the-2d-pose-estimate). -**7.** Give the robot a navigation goal using the [**Nav2 Goal**](#nav2-goal) tool in RViz. - -## Nav2 Tools in Rviz - -The Rviz configuration used by the `clearpath_viz view_navigation.launch.py` file includes several -tools for interacting with Nav2. These tools require Rviz's **Fixed Frame** to be set to `map`. To -set the fixed frame, use the toolbar on the left and open Displays > Global Options > Fixed Frame. - -Initially the `map` frame may not be connected to the rest of the **TF Tree**. This is normal, and -will be fixed when we use the **2D Pose Estimate** tool. If `map` does not appear in the frame drop-down -simply type the word `map` into the box and press `ENTER`. - -To select a Nav2 tool, simply click on the button on the toolbar at the top of Rviz's main window - -
-
- -
Rviz's toolbar with Nav2 tools
-
-
- -### 2D Pose Estimate - -The **2D Pose Estimate** tool allows you to provide Nav2 with the robot's approximate initial position on -the map. This is a necessary step before you can navigate with the robot. This step connects the `map` -frame to the rest of the robot's TF tree. - -To set the robot's initial position, click and hold the mouse button on the map in the robot's approximate location. -While holding the left mouse button, drag the green arrow to set the robot's orientation. Releasing the left -mouse button will set the robot's position and orientation relative to the `map` frame. - -If you are using SLAM and there is no map yet, simply click on the centre of the screen and drag up. - -Once you have set the robot's initial pose you should see red markers representing the lidar data as well -as coloured gradients indicating collision zones around walls and obstacles. - -
-
- -
Setting the initial pose estimate
-
-
- -### Publish Point - -The **Publish Point** tool allows you to click on the map and publish the XYZ coordinates of that -point to the `clicked_point` topic. In a terminal run the command -```bash -ros2 topic echo /a300_0000/clicked_point -``` -Then select the Publish Point tool and click somewhere on the map. In the terminal you will see -the location you clicked as a `geometry_msgs/msg/PointStamped` message: -```yaml -header: - stamp: - sec: 1747855824 - nanosec: 867726206 - frame_id: map -point: - x: -0.12474524974822998 - y: 0.002330044750124216 - z: -0.001434326171875 -``` - -
-
- -
Publishing a point
-
-
- -### Nav2 Goal - -The **Nav2 Goal** tool allows you to set a goal pose for the robot. The Nav2 stack will then plan a path to the goal pose -and attempt to drive the robot there. - -You will see a red path line appear, indicating the robot's planned path, and the robot will start to drive along this path. - -
-
- -
Navigation in simulation
-
-
+**6.** Send 2D a nav goal to the robot [using Rviz' 2D Nav Goal tool](rviz#nav2-goal) or [the Navigation to Pose action](actions#the-navigate-to-pose-action). diff --git a/docs_versioned_docs/version-ros2jazzy/ros/tutorials/navigation_demos/overview.mdx b/docs_versioned_docs/version-ros2jazzy/ros/tutorials/navigation_demos/overview.mdx index e90108807..7bb897cc2 100644 --- a/docs_versioned_docs/version-ros2jazzy/ros/tutorials/navigation_demos/overview.mdx +++ b/docs_versioned_docs/version-ros2jazzy/ros/tutorials/navigation_demos/overview.mdx @@ -49,8 +49,8 @@ SLAM (Simultaneous Localization and Mapping), or Localization. :::warning The SLAM and Localization implementations in the `clearpath_nav2_demos` package are intended to be -used in flat, indoor environents. We do not recommend using them to navigate through -unstructured, outdoor environments nor in indoor enviromnents with elevation changes and ramps. +used in flat, indoor environments. We do not recommend using them to navigate through +unstructured, outdoor environments nor in indoor environments with elevation changes and ramps. ::: diff --git a/docs_versioned_docs/version-ros2jazzy/ros/tutorials/navigation_demos/rviz.mdx b/docs_versioned_docs/version-ros2jazzy/ros/tutorials/navigation_demos/rviz.mdx new file mode 100644 index 000000000..24f067649 --- /dev/null +++ b/docs_versioned_docs/version-ros2jazzy/ros/tutorials/navigation_demos/rviz.mdx @@ -0,0 +1,79 @@ +--- +title: Rviz Nav2 Tools +sidebar_label: Rviz Nav2 Tools +sidebar_position: 7 +toc_min_heading_level: 2 +toc_max_heading_level: 5 +--- + +The Rviz configuration used by the `clearpath_viz view_navigation.launch.py` file includes several +tools for interacting with Nav2. These tools require Rviz's **Fixed Frame** to be set to `map`. To +set the fixed frame, use the toolbar on the left and open Displays > Global Options > Fixed Frame. + +Initially the `map` frame may not be connected to the rest of the **TF Tree**. This is normal, and +will be fixed when we use the **2D Pose Estimate** tool. If `map` does not appear in the frame drop-down +simply type the word `map` into the box and press `ENTER`. + +To select a Nav2 tool, simply click on the button on the toolbar at the top of Rviz's main window + +
+
+ +
Rviz's toolbar with Nav2 tools
+
+
+ +## 2D Pose Estimate + +See [Localization](localization#setting-the-2d-pose-estimate). + +## Publish Point + +The **Publish Point** tool allows you to click on the map and publish the XYZ coordinates of that +point to the `clicked_point` topic. In a terminal run the command +```bash +ros2 topic echo /a300_0000/clicked_point +``` +Then select the Publish Point tool and click somewhere on the map. In the terminal you will see +the location you clicked as a `geometry_msgs/msg/PointStamped` message: +```yaml +header: + stamp: + sec: 1747855824 + nanosec: 867726206 + frame_id: map +point: + x: -0.12474524974822998 + y: 0.002330044750124216 + z: -0.001434326171875 +``` + +
+
+ +
Publishing a point
+
+
+ +## Nav2 Goal + +The **Nav2 Goal** tool allows you to set a goal pose for the robot. The Nav2 stack will then plan a path to the goal pose +and attempt to drive the robot there. + +You will see a red path line appear, indicating the robot's planned path, and the robot will start to drive along this path. + +
+
+ +
Navigation in simulation
+
+
diff --git a/docs_versioned_docs/version-ros2jazzy/ros/tutorials/navigation_demos/slam.mdx b/docs_versioned_docs/version-ros2jazzy/ros/tutorials/navigation_demos/slam.mdx index fbcd3e7e5..15826b55c 100644 --- a/docs_versioned_docs/version-ros2jazzy/ros/tutorials/navigation_demos/slam.mdx +++ b/docs_versioned_docs/version-ros2jazzy/ros/tutorials/navigation_demos/slam.mdx @@ -24,19 +24,7 @@ Make sure you have installed the simulator before starting this tutorial. Take a ## Launching SLAM -:::note - -When using the simulation, it is important to add `use_sim_time:=true` to the Nav2, SLAM, and -Localization launch files. When using a physical robot, either omit `use_sim_time` or set it -to `false`. - -::: - -To start SLAM, [follow the steps](nav2.mdx#launching-the-simulation-and-nav2) described in the Nav2 -startup. When you get to step 4, run -```bash -ros2 launch clearpath_nav2_demos slam.launch.py use_sim_time:=true -``` +See [launch instructions](nav2) for instructions on how to launch SLAM. ### Building the map diff --git a/docs_versioned_docs/version-ros2jazzy/ros/tutorials/rviz.mdx b/docs_versioned_docs/version-ros2jazzy/ros/tutorials/rviz.mdx index b29f86951..6b04458cf 100644 --- a/docs_versioned_docs/version-ros2jazzy/ros/tutorials/rviz.mdx +++ b/docs_versioned_docs/version-ros2jazzy/ros/tutorials/rviz.mdx @@ -23,9 +23,18 @@ This launch file is used to visualize the robot model without needing a robot pr ### View Robot ```bash -ros2 launch clearpath_viz view_robot.launch.py namespace:=a200_0000 +ros2 launch clearpath_viz view_robot.launch.py namespace:=a200_0000 setup_path:=SETUP_PATH + ``` +> Replace `SETUP_PATH` with the path to the directory where the `robot.yaml` is located. + +> Do not include `~` in the `SETUP_PATH`, use `$HOME` instead. + +> Make sure that `SETUP_PATH` ends with `/`. + +> If following the [offboard computer setup instructions](../installation/offboard_pc.mdx), this will be `$HOME/clearpath`. + This launch file should be used when visualizing the robot while connected to the robot (wired or wirelessly). This will subscribe to topics from the robot to populate the visualization. Update the `namespace` parameter to match the robot's namespace. ### View Navigation diff --git a/outdoornav_user_manual_versioned_docs/version-0.12.0/web_user_interface/ui_map_mode.mdx b/outdoornav_user_manual_versioned_docs/version-0.12.0/web_user_interface/ui_map_mode.mdx index b579ef50a..744ae37ef 100644 --- a/outdoornav_user_manual_versioned_docs/version-0.12.0/web_user_interface/ui_map_mode.mdx +++ b/outdoornav_user_manual_versioned_docs/version-0.12.0/web_user_interface/ui_map_mode.mdx @@ -25,7 +25,7 @@ The list below defines what a "Map" and "Mission" are in relation to the Map mod their relevant components. These terms are referred to throughout this page. - **Mission** A Mission is a set of one or more Goalpoints. -- **Map** A Operator created map that goes over the aerial view and is used to define valid driveable +- **Map** An Operator created map that goes over the aerial view and is used to define valid driveable areas for a mission. - **Point** A map point used to help define a path. - **Path** A connection between two points that the UGV can travel along for missions. Can be defined as @@ -115,7 +115,7 @@ start placing points and building paths. To add points to the map, ensure that the UI is still in "Map Edit Mode" and click on the map. This will add a point to the map and also trigger the "Connection Mode". The path type button (one-way/two-way) will turn blue to indicate that the next point that is added will be connected to the previously created point. -A Operator may cancel this connection by pressing the ESC key or by clicking the path type button. Points can be +An Operator may cancel this connection by pressing the ESC key or by clicking the path type button. Points can be dragged and dropped to adjust their positions. To delete a point, right click the point and select Delete. While in edit mode, Ghost points will appear in the center of each path that can be dragged and dropped to split the @@ -124,12 +124,12 @@ path. ### Map Paths Paths are generally added as part of the Point placement process as mentioned above. However, there may be -cases where a Operator would like to connect existing points. To accomplish this, simply exit out of connection mode +cases where an Operator would like to connect existing points. To accomplish this, simply exit out of connection mode then click on the existing points. Once the first point is clicked on, connection mode will be re-established with the previously clicked point as the starting location. As paths are added they will be visible in the Map properties table, along with their relevant details. To edit a -path's details a Operator can simply right click on the path or select the gear icon for the specific path in the table. +path's details an Operator can simply right click on the path or select the gear icon for the specific path in the table. This will open an overlay on the map that will allow the Operator to edit both one-way paths and two-way paths. In the case of two-way paths users can keep both ways in sync with each other or vary the properties depending on the direction. @@ -164,7 +164,7 @@ modified. Press enter/click aside to save the change. ### Map Defaults When adding paths the map uses defined default values to set the maximum driving radius -and speed limit. If a Operator wishes to adjust these defaults this can be done here. This will +and speed limit. If an Operator wishes to adjust these defaults this can be done here. This will only affect paths created after the changes have been made. ### Network Path Recorder @@ -242,7 +242,7 @@ modified. Press enter/click aside to save the change. ### Return to Dock -A Operator may wish to add a flag to the mission to indicate when and if the UGV should +An Operator may wish to add a flag to the mission to indicate when and if the UGV should return to the dock while executing the mission. When enabled, the Operator can input a battery percentage that once reached the UGV will begin navigating back to the specified dock or to the closest dock. They can then set the minimum battery life before the UGV diff --git a/outdoornav_user_manual_versioned_docs/version-0.13.0/web_user_interface/ui_map_mode.mdx b/outdoornav_user_manual_versioned_docs/version-0.13.0/web_user_interface/ui_map_mode.mdx index 4a98b95ac..1b4dd7b6b 100644 --- a/outdoornav_user_manual_versioned_docs/version-0.13.0/web_user_interface/ui_map_mode.mdx +++ b/outdoornav_user_manual_versioned_docs/version-0.13.0/web_user_interface/ui_map_mode.mdx @@ -25,7 +25,7 @@ The list below defines what a "Map" and "Mission" are in relation to the Map mod their relevant components. These terms are referred to throughout this page. - **Mission** A Mission is a set of one or more Goalpoints. -- **Map** A Operator created map that goes over the aerial view and is used to define valid driveable +- **Map** An Operator created map that goes over the aerial view and is used to define valid driveable areas for a mission. - **Point** A map point used to help define a path. - **Path** A connection between two points that the UGV can travel along for missions. Can be defined as @@ -98,7 +98,7 @@ system will automatically create a map for them with default settings. To add points to the map, ensure that the UI is still in "Map Edit Mode" and click on the map. This will add a point to the map and also trigger the "Connection Mode". The path type button (one-way/two-way) will turn blue to indicate that the next point that is added will be connected to the previously created point. -A Operator may cancel this connection by pressing the ESC key or by clicking the path type button. Points can be +An Operator may cancel this connection by pressing the ESC key or by clicking the path type button. Points can be dragged and dropped to adjust their positions. To delete a point, right click the point and select Delete. While in edit mode, Ghost points will appear in the center of each path that can be dragged and dropped to split the @@ -107,12 +107,12 @@ path. ### Map Paths Paths are generally added as part of the Point placement process as mentioned above. However, there may be -cases where a Operator would like to connect existing points. To accomplish this, simply exit out of connection mode +cases where an Operator would like to connect existing points. To accomplish this, simply exit out of connection mode then click on the existing points. Once the first point is clicked on, connection mode will be re-established with the previously clicked point as the starting location. As paths are added they will be visible in the Map properties table, along with their relevant details. To edit a -path's details a Operator can simply right click on the path or select the gear icon for the specific path in the table. +path's details an Operator can simply right click on the path or select the gear icon for the specific path in the table. This will open an overlay on the map that will allow the Operator to edit both one-way paths and two-way paths. In the case of two-way paths users can keep both ways in sync with each other or vary the properties depending on the direction. @@ -147,7 +147,7 @@ modified. Press enter/click aside to save the change. ### Map Defaults When adding paths the map uses defined default values to set the maximum driving radius -and speed limit. If a Operator wishes to adjust these defaults this can be done here. This will +and speed limit. If an Operator wishes to adjust these defaults this can be done here. This will only affect paths created after the changes have been made. ### Network Path Recorder @@ -225,7 +225,7 @@ modified. Press enter/click aside to save the change. ### Return to Dock -A Operator may wish to add a flag to the mission to indicate when and if the UGV should +An Operator may wish to add a flag to the mission to indicate when and if the UGV should return to the dock while executing the mission. When enabled, the Operator can input a battery percentage that once reached the UGV will begin navigating back to the specified dock or to the closest dock. They can then set the minimum battery life before the UGV diff --git a/outdoornav_user_manual_versioned_docs/version-0.14.0/web_user_interface/ui_map_mode.mdx b/outdoornav_user_manual_versioned_docs/version-0.14.0/web_user_interface/ui_map_mode.mdx index 4a98b95ac..1b4dd7b6b 100644 --- a/outdoornav_user_manual_versioned_docs/version-0.14.0/web_user_interface/ui_map_mode.mdx +++ b/outdoornav_user_manual_versioned_docs/version-0.14.0/web_user_interface/ui_map_mode.mdx @@ -25,7 +25,7 @@ The list below defines what a "Map" and "Mission" are in relation to the Map mod their relevant components. These terms are referred to throughout this page. - **Mission** A Mission is a set of one or more Goalpoints. -- **Map** A Operator created map that goes over the aerial view and is used to define valid driveable +- **Map** An Operator created map that goes over the aerial view and is used to define valid driveable areas for a mission. - **Point** A map point used to help define a path. - **Path** A connection between two points that the UGV can travel along for missions. Can be defined as @@ -98,7 +98,7 @@ system will automatically create a map for them with default settings. To add points to the map, ensure that the UI is still in "Map Edit Mode" and click on the map. This will add a point to the map and also trigger the "Connection Mode". The path type button (one-way/two-way) will turn blue to indicate that the next point that is added will be connected to the previously created point. -A Operator may cancel this connection by pressing the ESC key or by clicking the path type button. Points can be +An Operator may cancel this connection by pressing the ESC key or by clicking the path type button. Points can be dragged and dropped to adjust their positions. To delete a point, right click the point and select Delete. While in edit mode, Ghost points will appear in the center of each path that can be dragged and dropped to split the @@ -107,12 +107,12 @@ path. ### Map Paths Paths are generally added as part of the Point placement process as mentioned above. However, there may be -cases where a Operator would like to connect existing points. To accomplish this, simply exit out of connection mode +cases where an Operator would like to connect existing points. To accomplish this, simply exit out of connection mode then click on the existing points. Once the first point is clicked on, connection mode will be re-established with the previously clicked point as the starting location. As paths are added they will be visible in the Map properties table, along with their relevant details. To edit a -path's details a Operator can simply right click on the path or select the gear icon for the specific path in the table. +path's details an Operator can simply right click on the path or select the gear icon for the specific path in the table. This will open an overlay on the map that will allow the Operator to edit both one-way paths and two-way paths. In the case of two-way paths users can keep both ways in sync with each other or vary the properties depending on the direction. @@ -147,7 +147,7 @@ modified. Press enter/click aside to save the change. ### Map Defaults When adding paths the map uses defined default values to set the maximum driving radius -and speed limit. If a Operator wishes to adjust these defaults this can be done here. This will +and speed limit. If an Operator wishes to adjust these defaults this can be done here. This will only affect paths created after the changes have been made. ### Network Path Recorder @@ -225,7 +225,7 @@ modified. Press enter/click aside to save the change. ### Return to Dock -A Operator may wish to add a flag to the mission to indicate when and if the UGV should +An Operator may wish to add a flag to the mission to indicate when and if the UGV should return to the dock while executing the mission. When enabled, the Operator can input a battery percentage that once reached the UGV will begin navigating back to the specified dock or to the closest dock. They can then set the minimum battery life before the UGV diff --git a/outdoornav_user_manual_versioned_docs/version-2.0.0/api/_category_.json b/outdoornav_user_manual_versioned_docs/version-2.0.0/api/_category_.json index 79c716587..d9a89b340 100644 --- a/outdoornav_user_manual_versioned_docs/version-2.0.0/api/_category_.json +++ b/outdoornav_user_manual_versioned_docs/version-2.0.0/api/_category_.json @@ -1,4 +1,4 @@ { - "label": "Application Programming Interface", + "label": "API", "position": 7 } diff --git a/outdoornav_user_manual_versioned_docs/version-2.0.0/api/api_endpoints/_category_.json b/outdoornav_user_manual_versioned_docs/version-2.0.0/api/api_endpoints/_category_.json new file mode 100644 index 000000000..ff29bf083 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.0.0/api/api_endpoints/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Endpoints", + "position": 2 +} diff --git a/outdoornav_user_manual_versioned_docs/version-2.0.0/api/api_endpoints/autonomy_api.mdx b/outdoornav_user_manual_versioned_docs/version-2.0.0/api/api_endpoints/autonomy_api.mdx new file mode 100644 index 000000000..d1bd2a74b --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.0.0/api/api_endpoints/autonomy_api.mdx @@ -0,0 +1,118 @@ +--- +title: Autonomy API Endpoints +sidebar_label: Autonomy API +sidebar_position: 2 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +:::note + +All nodes, topics, and services are namespace prefixed with the robot serial number. + +If your serial number is `cpr-a300-00001`, then your namespace +will be `a300_00001`. This can be overwritten in the [robot.yaml](../../../../docs/ros/config/yaml/overview) file. + +::: + +  + +## Subscribers {#autonomy-subscribers} + +  + +| Topic | Message type | Description | QoS | +| :---------------------- | :----------------------------------------------------------------------------------------------------------- | :-------------- | :-------------------------------------------- | +| platform/cmd_vel_out | [geometry_msgs/msg/TwistStamped](https://github.com/ros2/common_interfaces/blob/jazzy/geometry_msgs/msg/TwistStamped.msg) | Continuous platform level velocity output | [System Default](/docs/ros/api/overview#system-default) | +| platform/odom | [nav_msgs/msg/Odometry](https://github.com/ros2/common_interfaces/blob/jazzy/nav_msgs/msg/Odometry.msg) | Platform wheel odometry | [System Default](/docs/ros/api/overview#system-default) | +| joy_teleop/cmd_vel | [geometry_msgs/msg/TwistStamped](https://github.com/ros2/common_interfaces/blob/jazzy/geometry_msgs/msg/TwistStamped.msg) | Velocity commands from joystick inputs | [System Default](/docs/ros/api/overview#system-default) | + +  + +## Publishers {#autonomy-publishers} + +  + +| Topic | Message type | Description | QoS | +| :---------------------- | :----------------------------------------------------------------------------------------------------------- | :-------------- | :-------------------------------------------- | +| autonomy/config | [clearpath_navigation_msgs/msg/AutonomyConfig](pathname:///api/html/clearpath_navigation_msgs/msg/AutonomyConfig.html) | Autonomy configuration | [System Default](/docs/ros/api/overview#system-default) | +| autonomy/initial_path | [nav_msgs/msg/Path](https://github.com/ros2/common_interfaces/blob/jazzy/nav_msgs/msg/Path.msg) | Initial Path computed by autonomy | [System Default](/docs/ros/api/overview#system-default) | +| autonomy/status | [clearpath_navigation_msgs/msg/AutonomyStatus](pathname:///api/html/clearpath_navigation_msgs/msg/AutonomyStatus.html) | Status of the autonomy | [System Default](/docs/ros/api/overview#system-default) | +| control_selection/current_mode | [clearpath_control_msgs/msg/ControlMode](pathname:///api/html/clearpath_control_msgs/msg/ControlMode.html) | Current control mode (NEUTRAL, MANUAL, AUTONOMY). | [System Default](/docs/ros/api/overview#system-default) | +| control_selection/control_state | [clearpath_control_msgs/msg/ControlSelectionState](pathname:///api/html/clearpath_control_msgs/msg/ControlSelectionState.html) | Complete state of control selection node. | [System Default](/docs/ros/api/overview#system-default) | +| docking/docking_server/path | [nav_msgs/msg/Path](https://github.com/ros2/common_interfaces/blob/jazzy/nav_msgs/msg/Path.msg) | Docking path | +| docking/undocking_server/path | [nav_msgs/msg/Path](https://github.com/ros2/common_interfaces/blob/jazzy/nav_msgs/msg/Path.msg) | Undocking path | +| goto/preview | [clearpath_navigation_msgs/msg/GoToPreview](pathname:///api/html/clearpath_navigation_msgs/msg/GoToPreview.html) | Preview points for a GoTo execution | [System Default](/docs/ros/api/overview#system-default) | +| localization/datum | [sensor_msgs/msg/NavSatFix](https://github.com/ros2/common_interfaces/blob/jazzy/sensor_msgs/msg/NavSatFix.msg) | Map origin (0, 0), specified as the datum | [System Default](/docs/ros/api/overview#system-default) | +| localization/fix | [sensor_msgs/msg/NavSatFix](https://github.com/ros2/common_interfaces/blob/jazzy/sensor_msgs/msg/NavSatFix.msg) | Platform lat/lon coordinates | [System Default](/docs/ros/api/overview#system-default) | +| localization/odom | [nav_msgs/msg/Odometry](https://github.com/ros2/common_interfaces/blob/jazzy/nav_msgs/msg/Odometry.msg) | Platform map coordinates | [System Default](/docs/ros/api/overview#system-default) | +| mission/preview | [clearpath_navigation_msgs/msg/MissionPreview](pathname:///api/html/clearpath_navigation_msgs/msg/MissionPreview.html) | Preview points for a mission execution | [System Default](/docs/ros/api/overview#system-default) | +| speed_limit | [clearpath_navigation_msgs/msg/GoToPreview](https://github.com/ros-navigation/navigation2/blob/main/nav2_msgs/msg/SpeedLimit.msg) | Current navigation speed limit | [System Default](/docs/ros/api/overview#system-default) | +| ui/heartbeat | [geometry_msgs/msg/TwistStamped](https://github.com/ros2/common_interfaces/blob/jazzy/geometry_msgs/msg/TwistStamped.msg) | Heartbeat of the UI | [System Default](/docs/ros/api/overview#system-default) | +| ui_teleop/cmd_vel | [geometry_msgs/msg/TwistStamped](https://github.com/ros2/common_interfaces/blob/jazzy/geometry_msgs/msg/TwistStamped.msg) | Velocity commands fron the UI joystick | [System Default](/docs/ros/api/overview#system-default) | + +  + +## Services {#autonomy-services} + +  + +| Service | Service type | Description | +| :---------------------- | :----------------------------------------------------------------------------------------------------------- | :-------------- | +| autonomy/stop | [std_srvs/srv/Trigger](https://docs.ros2.org/foxy/api/std_srvs/srv/Trigger.html) | Stop all autonomy executions | +| control_selection/set_mode | [clearpath_control_msgs/srv/SetControlMode](pathname:///api/html/clearpath_control_msgs/srv/SetControlMode.html) | Set the control mode | +| control_selection/pause | [std_srvs/srv/SetBool](https://docs.ros2.org/foxy/api/std_srvs/srv/SetBool.html) | Pause execution | +| control_selection/resume | [std_srvs/srv/SetBool](https://docs.ros2.org/foxy/api/std_srvs/srv/SetBool.html) | Resume execution | +| docking/dock_manager/add_dock | [clearpath_dock_msgs/srv/AddDock](pathname:///api/html/clearpath_dock_msgs/srv/AddDock.html) | Add a dock | +| docking/dock_manager/clear_data | [std_srvs/srv/Trigger](https://docs.ros2.org/foxy/api/std_srvs/srv/Trigger.html) | Clear all dock data | +| docking/dock_manager/delete_dock | [clearpath_dock_msgs/srv/RemoveDock](pathname:///api/html/clearpath_dock_msgs/srv/RemoveDock.html) | Delete a dock | +| docking/dock_manager/export | [clearpath_dock_msgs/srv/ExportData](pathname:///api/html/clearpath_dock_msgs/srv/ExportData.html) | Export dock data | +| docking/dock_manager/get_database | [clearpath_dock_msgs/srv/GetDockDatabase](pathname:///api/html/clearpath_dock_msgs/srv/GetDockDatabase.html) | Returns the entire dock database | +| docking/dock_manager/get_dock | [clearpath_dock_msgs/srv/GetDock](pathname:///api/html/clearpath_dock_msgs/srv/GetDock.html) | Returns a docks info | +| docking/dock_manager/import | [clearpath_dock_msgs/srv/ImportData](pathname:///api/html/clearpath_dock_msgs/srv/ImportData.html) | Import a dock | +| docking/dock_manager/update_dock | [clearpath_dock_msgs/srv/UpdateDock](pathname:///api/html/clearpath_dock_msgs/srv/UpdateDock.html) | Update a docks information | +| docking/dock_localizer/add_dock_current_pose| [clearpath_dock_msgs/srv/AddDockCurrentPose](pathname:///api/html/clearpath_dock_msgs/srv/AddDockCurrentPose.html) | Add a dock with the current pose | +| docking/dock_localizer/get_dock_poses| [clearpath_dock_msgs/srv/GetDockPoses](pathname:///api/html/clearpath_dock_msgs/srv/GetDockPoses.html) | Return the dock and predock poses of a specific dock | +| docking/dock_localizer/survey_dock| [clearpath_dock_msgs/srv/SurveyDock](pathname:///api/html/clearpath_dock_msgs/srv/SurveyDock.html) | Survey the docks position | +| localization/lat_lon_to_xy | [clearpath_localization_msgs/srv/ConvertLatLonToCartesian](pathname:///api/html/clearpath_localization_msgs/srv/ConvertLatLonToCartesian.html) | Convert lat/lon condinate to map XY coordinate | +| localization/lat_lon_to_xy_array | [clearpath_localization_msgs/srv/ConvertLatLonToCartesianArray](pathname:///api/html/clearpath_localization_msgs/srv/ConvertLatLonToCartesianArray.html) | Convert a set of lat/lon coordinates to map XY coordinates | +| localization/set_datum | [clearpath_localization_msgs/srv/SetDatum](pathname:///api/html/clearpath_localization_msgs/srv/SetDatum.html) | Set the datum | +| localization/xy_to_lat_lon | [clearpath_localization_msgs/srv/ConvertCartesianToLatLon](pathname:///api/html/clearpath_localization_msgs/srv/ConvertCartesianToLatLon.html) | Convert map XY coordinate to lat/lon coordinate | +| localization/xy_to_lat_lon_array | [clearpath_localization_msgs/srv/ConvertCartesianToLatLonArray](pathname:///api/html/clearpath_localization_msgs/srv/ConvertCartesianToLatLonArray.html) | Convert a set of map XY coordinates to lat/lon coordinates | +| log_manager/delete_log | [clearpath_logger_msgs/srv/DeleteLog](pathname:///api/html/clearpath_logger_msgs/srv/DeleteLog.html) | Delete a secific log | +| log_manager/start_recording | [std_srvs/srv/Trigger](https://docs.ros2.org/foxy/api/std_srvs/srv/Trigger.html) | Start logging data | +| log_manager/stop_recording | [std_srvs/srv/Trigger](https://docs.ros2.org/foxy/api/std_srvs/srv/Trigger.html) | Stop logging data | +| safety/watchdogs/add_communication_watchdog | [clearpath_safety_msgs/srv/AddCommunicationWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/AddCommunicationWatchdog.html) | Create a new Communication watchdog | +| safety/watchdogs/add_heartbeat_watchdog | [clearpath_safety_msgs/srv/AddHeartbeatWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/AddHeartbeatWatchdog.html) | Create a new Heartbeat watchdog | +| safety/watchdogs/add_inclination_watchdog | [clearpath_safety_msgs/srv/AddInclinationWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/AddInclinationWatchdog.html) | Create a new Inclination watchdog | +| safety/watchdogs/add_num_points_watchdog | [clearpath_safety_msgs/srv/AddNumPointsWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/AddNumPointsWatchdog.html) | Create a new NumPoints watchdog | +| safety/watchdogs/add_odom_covariance_watchdog | [clearpath_safety_msgs/srv/AddOdomCovarianceWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/AddOdomCovarianceWatchdog.html) | Create a new OdomCovariance watchdog | +| safety/watchdogs/add_rtk_fix_watchdog | [clearpath_safety_msgs/srv/AddRtkFixWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/AddRtkFixWatchdog.html) | Create a new RTKFix watchdog | +| safety/watchdogs/add_topic_data_watchdog | [clearpath_safety_msgs/srv/AddTopicDataWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/AddTopicDataWatchdog.html) | Create a new TopicData watchdog | +| safety/watchdogs/add_trigger_watchdog | [clearpath_safety_msgs/srv/AddTriggerWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/AddTriggerWatchdog.html) | Create a new Trigger watchdog | +| safety/watchdogs/enable_all | [std_srvs/srv/SetBool](https://docs.ros2.org/foxy/api/std_srvs/srv/SetBool.html) | Enable/disable all watchdogs | +| safety/watchdogs/remove_watchdog | [clearpath_safety_msgs/srv/RemoveWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/RemoveWatchdog.html) | Remove/delete a watchdog | +| safety/watchdogs/update_communication_watchdog | [clearpath_safety_msgs/srv/UpdateCommunicationWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/UpdateCommunicationWatchdog.html) | Create a new Communication watchdog | +| safety/watchdogs/update_heartbeat_watchdog | [clearpath_safety_msgs/srv/UpdateHeartbeatWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/UpdateHeartbeatWatchdog.html) | Create a new Heartbeat watchdog | +| safety/watchdogs/update_inclination_watchdog | [clearpath_safety_msgs/srv/UpdateInclinationWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/UpdateInclinationWatchdog.html) | Create a new Inclination watchdog | +| safety/watchdogs/update_num_points_watchdog | [clearpath_safety_msgs/srv/UpdateNumPointsWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/UpdateNumPointsWatchdog.html) | Create a new NumPoints watchdog | +| safety/watchdogs/update_odom_covariance_watchdog | [clearpath_safety_msgs/srv/UpdateOdomCovarianceWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/UpdateOdomCovarianceWatchdog.html) | Create a new OdomCovariance watchdog | +| safety/watchdogs/update_rtk_fix_watchdog | [clearpath_safety_msgs/srv/UpdateRtkFixWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/UpdateRtkFixWatchdog.html) | Create a new RTKFix watchdog | +| safety/watchdogs/update_topic_data_watchdog | [clearpath_safety_msgs/srv/UpdateTopicDataWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/UpdateTopicDataWatchdog.html) | Create a new TopicData watchdog | +| safety/watchdogs/update_trigger_watchdog | [clearpath_safety_msgs/srv/UpdateTriggerWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/UpdateTriggerWatchdog.html) | Create a new Trigger watchdog | + +  + +## Actions {#autonomy-actions} + +  + +| Action Name | Action type | Description | +| :---------------------- | :----------------------------------------------------------------------------------------------------------- | :-------------- | +| autonomy/network_mission | [clearpath_navigation_msgs/action/ExecuteNetworkMissionByUuid](pathname:///api/html/clearpath_navigation_msgs/action/ExecuteNetworkMissionByUuid.html) | Execute an autonomous mission | +| autonomy/network_mission_from_goal | [clearpath_navigation_msgs/action/ExecuteNetworkMissionFromGoal](pathname:///api/html/clearpath_navigation_msgs/action/ExecuteNetworkMissionFromGoal.html) | Execute an autonomous mission, starting from a specific goal | +| autonomy/network_goto | [clearpath_navigation_msgs/action/ExecuteNetworkGoTo](pathname:///api/html/clearpath_navigation_msgs/action/ExecuteNetworkGoTo.html) | Send platform to location | +| autonomy/network_goto_poi | [clearpath_navigation_msgs/action/ExecuteNetworkGoToPOI](pathname:///api/html/clearpath_navigation_msgs/action/ExecuteNetworkGoToPOI.html) | Send platform to a point of interest | +| autonomy/local_dock | [clearpath_dock_msgs/action/Dock](pathname:///api/html/clearpath_dock_msgs/action/Dock.html) | Dock the platform (charge target must be visible by platform 2D lidar sensor) | +| autonomy/local_undock | [clearpath_dock_msgs/action/Undock](pathname:///api/html/clearpath_dock_msgs/action/Undock.html) | Undock the platform (charge target must be visible by the 2D lidar sensor) | +| autonomy/network_dock | [clearpath_dock_msgs/action/NetworkDock](pathname:///api/html/clearpath_dock_msgs/action/NetworkDock.html) | Send robot to charger (charger must be in the driveable space of the map) | diff --git a/outdoornav_user_manual_versioned_docs/version-2.0.0/api/api_endpoints/mission_manager_api.mdx b/outdoornav_user_manual_versioned_docs/version-2.0.0/api/api_endpoints/mission_manager_api.mdx new file mode 100644 index 000000000..3aacfcc1f --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.0.0/api/api_endpoints/mission_manager_api.mdx @@ -0,0 +1,102 @@ +--- +title: Mission Manager API Endpoints +sidebar_label: Mission Manager API +sidebar_position: 3 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +:::note + +All nodes, topics, and services are namespace prefixed with the robot serial number. + +If your serial number is `cpr-a300-00001`, then your namespace +will be `a300_00001`. This can be overwritten in the [robot.yaml](../../../../docs/ros/config/yaml/overview) file. + +::: + +  + +## Publishers {#mission-manager-publishers} + +  + +| Topic | Message type | Description | QoS | +| :---------------------- | :----------------------------------------------------------------------------------------------------------- | :-------------- | :-------------------------------------------- | +| mission_manager/state | [clearpath_mission_manager_msgs/msg/StorageState](pathname:///api/html/clearpath_mission_manager_msgs/msg/StorageState.html) | Database containing all map/mission data | Latched | +| mission_manager/network_maps_validity | [clearpath_mission_manager_msgs/msg/NetworkMapValidityState](pathname:///api/html/clearpath_mission_manager_msgs/msg/NetworkMapValidityState.html) | Validity state of all maps | Latched | + +  + +## Services {#mission-manager-services} + +  + +| Service | Service type | Description | +| :---------------------- | :----------------------------------------------------------------------------------------------------------- | :-------------- | +| mission_manager/add_network_edge | [clearpath_mission_manager_msgs/srv/AddNetworkEdge](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddNetworkEdge.html) | Add edge to network map | +| mission_manager/add_network_path | [clearpath_mission_manager_msgs/srv/AddNetworkPath](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddNetworkPath.html) | Add a path to map | +| mission_manager/add_network_point | [clearpath_mission_manager_msgs/srv/AddNetworkPoint](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddNetworkPoint.html) | Add a map point | +| mission_manager/add_tag | [clearpath_mission_manager_msgs/srv/AddRemoveTag](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddRemoveTag.html) | Add tag to map point | +| mission_manager/add_task_to_start | [clearpath_mission_manager_msgs/srv/AddRemoveById](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddRemoveById.html) | Add task to list of start tasks | +| mission_manager/add_task_to_stop | [clearpath_mission_manager_msgs/srv/AddRemoveById](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddRemoveById.html) | Add task to list of stop tasks | +| mission_manager/add_task_to_waypoint | [clearpath_mission_manager_msgs/srv/AddRemoveById](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddRemoveById.html) | Add task to a Goal point | +| mission_manager/add_waypoint_to_mission | [clearpath_mission_manager_msgs/srv/AddRemoveById](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddRemoveById.html) | Add Goal to mission | +| mission_manager/clone_mission | [clearpath_mission_manager_msgs/srv/CloneMission](pathname:///api/html/clearpath_mission_manager_msgs/srv/CloneMission.html) | Clone mission | +| mission_manager/clone_network_map | [clearpath_mission_manager_msgs/srv/CloneNetworkMap](pathname:///api/html/clearpath_mission_manager_msgs/srv/CloneNetworkMap.html) | Clone map | +| mission_manager/clone_network_mission | [clearpath_mission_manager_msgs/srv/CloneNetworkMission](pathname:///api/html/clearpath_mission_manager_msgs/srv/CloneNetworkMission.html) | Clone mission | +| mission_manager/clone_point_of_interest | [clearpath_mission_manager_msgs/srv/ClonePointOfInterest](pathname:///api/html/clearpath_mission_manager_msgs/srv/ClonePointOfInterest.html) | Clone point of interest | +| mission_manager/clone_task | [clearpath_mission_manager_msgs/srv/GetTask](pathname:///api/html/clearpath_mission_manager_msgs/srv/GetTask.html) | Clone task | +| mission_manager/clone_waypoint | [clearpath_mission_manager_msgs/srv/GetWaypoint](pathname:///api/html/clearpath_mission_manager_msgs/srv/GetWaypoint.html) | Clone goal | +| mission_manager/create_network_map | [clearpath_mission_manager_msgs/srv/CreateNetworkMap](pathname:///api/html/clearpath_mission_manager_msgs/srv/CreateNetworkMap.html) | Create map | +| mission_manager/create_network_mission | [clearpath_mission_manager_msgs/srv/CreateNetworkMission](pathname:///api/html/clearpath_mission_manager_msgs/srv/CreateNetworkMission.html) | Create mission | +| mission_manager/create_point_of_interest | [clearpath_mission_manager_msgs/srv/CreatePointOfInterest](pathname:///api/html/clearpath_mission_manager_msgs/srv/CreatePointOfInterest.html) | Create point of interest | +| mission_manager/create_task | [clearpath_mission_manager_msgs/srv/CreateTask](pathname:///api/html/clearpath_mission_manager_msgs/srv/CreateTask.html) | Create task | +| mission_manager/create_waypoint | [clearpath_mission_manager_msgs/srv/CreateWaypoint](pathname:///api/html/clearpath_mission_manager_msgs/srv/CreateWaypoint.html) | Create Goal | +| mission_manager/create_waypoint_from_poi | [clearpath_mission_manager_msgs/srv/CreateWaypointFromPoi](pathname:///api/html/clearpath_mission_manager_msgs/srv/CreateWaypointFromPoi.html) | Create Goal from point of interest | +| mission_manager/delete_all | [clearpath_mission_manager_msgs/srv/DeleteEverything](pathname:///api/html/clearpath_mission_manager_msgs/srv/DeleteEverything.html) | Delete all mission/map/poi data | +| mission_manager/delete_network_edge | [clearpath_mission_manager_msgs/srv/AddRemoveById](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddRemoveById.html) | Delete map edge | +| mission_manager/delete_network_edges | [clearpath_mission_manager_msgs/srv/DeleteMultiple](pathname:///api/html/clearpath_mission_manager_msgs/srv/DeleteMultiple.html) | Delete map edges | +| mission_manager/delete_network_map | [clearpath_mission_manager_msgs/srv/DeleteById](pathname:///api/html/clearpath_mission_manager_msgs/srv/DeleteById.html) | Delete map | +| mission_manager/delete_network_mission | [clearpath_mission_manager_msgs/srv/DeleteById](pathname:///api/html/clearpath_mission_manager_msgs/srv/DeleteById.html) | Delete mission | +| mission_manager/delete_network_point | [clearpath_mission_manager_msgs/srv/AddRemoveById](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddRemoveById.html) | Delete map point | +| mission_manager/delete_network_points | [clearpath_mission_manager_msgs/srv/DeleteMultiple](pathname:///api/html/clearpath_mission_manager_msgs/srv/DeleteMultiple.html) | Delete map points | +| mission_manager/delete_orphan_objects | [clearpath_mission_manager_msgs/srv/DeleteEverything](pathname:///api/html/clearpath_mission_manager_msgs/srv/DeleteEverything.html) | Delete orphaned objects | +| mission_manager/delete_point_of_interest | [clearpath_mission_manager_msgs/srv/DeleteById](pathname:///api/html/clearpath_mission_manager_msgs/srv/DeleteById.html) | Delete point of interest | +| mission_manager/delete_task | [clearpath_mission_manager_msgs/srv/DeleteById](pathname:///api/html/clearpath_mission_manager_msgs/srv/DeleteById.html) | Delete task | +| mission_manager/delete_tasks | [clearpath_mission_manager_msgs/srv/DeleteMultiple](pathname:///api/html/clearpath_mission_manager_msgs/srv/DeleteMultiple.html) | Delete tasks | +| mission_manager/delete_waypoint | [clearpath_mission_manager_msgs/srv/DeleteById](pathname:///api/html/clearpath_mission_manager_msgs/srv/DeleteById.html) | Delete Goal | +| mission_manager/delete_waypoints | [clearpath_mission_manager_msgs/srv/DeleteMultiple](pathname:///api/html/clearpath_mission_manager_msgs/srv/DeleteMultiple.html) | Delete Goals | +| mission_manager/remove_tag | [clearpath_mission_manager_msgs/srv/AddRemoveTag](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddRemoveTag.html) | Remove tag from item | +| mission_manager/export | [clearpath_mission_manager_msgs/srv/ExportData](pathname:///api/html/clearpath_mission_manager_msgs/srv/ExportData.html) | Export mission/map/poi database | +| mission_manager/get_all | [clearpath_mission_manager_msgs/srv/GetEverything](pathname:///api/html/clearpath_mission_manager_msgs/srv/GetEverything.html) | Return all map/mission/poi data | +| mission_manager/get_all_network_maps | [clearpath_mission_manager_msgs/srv/GetAllNetworkMaps](pathname:///api/html/clearpath_mission_manager_msgs/srv/GetAllNetworkMaps.html) | Return all maps | +| mission_manager/get_all_network_missions | [clearpath_mission_manager_msgs/srv/GetAllNetworkMissions](pathname:///api/html/clearpath_mission_manager_msgs/srv/GetAllNetworkMissions.html) | Return all missions | +| mission_manager/get_all_points_of_interest | [clearpath_mission_manager_msgs/srv/GetAllPointsOfInterest](pathname:///api/html/clearpath_mission_manager_msgs/srv/GetAllPointsOfInterest.html) | Return all points of interest | +| mission_manager/get_all_tasks | [clearpath_mission_manager_msgs/srv/GetAllTasks](pathname:///api/html/clearpath_mission_manager_msgs/srv/GetAllTasks.html) | Return all tasks | +| mission_manager/get_all_waypoints | [clearpath_mission_manager_msgs/srv/GetAllWaypoints](pathname:///api/html/clearpath_mission_manager_msgs/srv/GetAllWaypoints.html) | Return all goals | +| mission_manager/get_network_map | [clearpath_mission_manager_msgs/srv/GetNetworkMap](pathname:///api/html/clearpath_mission_manager_msgs/srv/GetNetworkMap.html) | Return specific map | +| mission_manager/get_network_mission | [clearpath_mission_manager_msgs/srv/GetNetworkMission](pathname:///api/html/clearpath_mission_manager_msgs/srv/GetNetworkMission.html) | Return specific mission | +| mission_manager/get_point_of_interest | [clearpath_mission_manager_msgs/srv/GetPointOfInterest](pathname:///api/html/clearpath_mission_manager_msgs/srv/GetPointOfInterest.html) | Return specific point of interest | +| mission_manager/get_task | [clearpath_mission_manager_msgs/srv/GetTask](pathname:///api/html/clearpath_mission_manager_msgs/srv/GetTask.html) | Return specific task | +| mission_manager/get_waypoint | [clearpath_mission_manager_msgs/srv/GetWaypoint](pathname:///api/html/clearpath_mission_manager_msgs/srv/GetWaypoint.html) | Return specific goal | +| mission_manager/import | [clearpath_mission_manager_msgs/srv/ImportData](pathname:///api/html/clearpath_mission_manager_msgs/srv/ImportData.html) | Import mission/map/poi data to database | +| mission_manager/import_mission | [clearpath_mission_manager_msgs/srv/ImportMission](pathname:///api/html/clearpath_mission_manager_msgs/srv/ImportMission.html) | Import mission to database | +| mission_manager/import_network_map | [clearpath_mission_manager_msgs/srv/ImportNetworkMap](pathname:///api/html/clearpath_mission_manager_msgs/srv/ImportNetworkMap.html) | Inport map to database | +| mission_manager/import_network_mission | [clearpath_mission_manager_msgs/srv/ImportNetworkMission](pathname:///api/html/clearpath_mission_manager_msgs/srv/ImportNetworkMission.html) | Import mission to database | +| mission_manager/remove_task_from_start | [clearpath_mission_manager_msgs/srv/AddRemoveById](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddRemoveById.html) | Remove task from list of start tasks | +| mission_manager/remove_task_from_stop | [clearpath_mission_manager_msgs/srv/AddRemoveById](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddRemoveById.html) | Remove task from list of stop tasks| +| mission_manager/remove_task_from_waypoint | [clearpath_mission_manager_msgs/srv/AddRemoveById](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddRemoveById.html) | Remove task from goal | +| mission_manager/remove_waypoint_from_mission | [clearpath_mission_manager_msgs/srv/AddRemoveById](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddRemoveById.html) | Remove goal from mission | +| mission_manager/restore | [clearpath_mission_manager_msgs/srv/ImportData](pathname:///api/html/clearpath_mission_manager_msgs/srv/ImportData.html) | Restore data from a file | +| mission_manager/split_network_edge | [clearpath_mission_manager_msgs/srv/SplitNetworkEdge](pathname:///api/html/clearpath_mission_manager_msgs/srv/SplitNetworkEdge.html) | Split a map edge | +| mission_manager/update_network_edge | [clearpath_mission_manager_msgs/srv/UpdateNetworkEdge](pathname:///api/html/clearpath_mission_manager_msgs/srv/UpdateNetworkEdge.html) | Update map edge | +| mission_manager/update_network_edges | [clearpath_mission_manager_msgs/srv/UpdateNetworkEdges](pathname:///api/html/clearpath_mission_manager_msgs/srv/UpdateNetworkEdges.html) | Update map edges | +| mission_manager/update_network_map | [clearpath_mission_manager_msgs/srv/UpdateNetworkMap](pathname:///api/html/clearpath_mission_manager_msgs/srv/UpdateNetworkMap.html) | Update map | +| mission_manager/update_network_mission | [clearpath_mission_manager_msgs/srv/UpdateNetworkMission](pathname:///api/html/clearpath_mission_manager_msgs/srv/UpdateNetworkMissiond.html) | Update mission | +| mission_manager/update_network_point | [clearpath_mission_manager_msgs/srv/UpdateNetworkPoint](pathname:///api/html/clearpath_mission_manager_msgs/srv/UpdateNetworkPoint.html) | Update map point | +| mission_manager/update_network_points | [clearpath_mission_manager_msgs/srv/UpdateNetworkPoints](pathname:///api/html/clearpath_mission_manager_msgs/srv/UpdateNetworkPoints.html) | UPdate map points | +| mission_manager/update_point_of_interest | [clearpath_mission_manager_msgs/srv/UpdatePointOfInterest](pathname:///api/html/clearpath_mission_manager_msgs/srv/UpdatePointOfInterest.html) | Update points of interestt | +| mission_manager/update_task | [clearpath_mission_manager_msgs/srv/UpdateTask](pathname:///api/html/clearpath_mission_manager_msgs/srv/UpdateTask.html) | Update task | +| mission_manager/update_waypoint | [clearpath_mission_manager_msgs/srv/UpdateWaypoint](pathname:///api/html/clearpath_mission_manager_msgs/srv/UpdateWaypoint.html) | Update goal | +| mission_manager/validate_network_map | [clearpath_mission_manager_msgs/srv/ValidateNetworkMap](pathname:///api/html/clearpath_mission_manager_msgs/srv/ValidateNetworkMap.html) | Check validity of specific map | diff --git a/outdoornav_user_manual_versioned_docs/version-2.0.0/api/api_examples/_category_.json b/outdoornav_user_manual_versioned_docs/version-2.0.0/api/api_examples/_category_.json new file mode 100644 index 000000000..62e826eef --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.0.0/api/api_examples/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Examples", + "position": 3 +} diff --git a/outdoornav_user_manual_versioned_docs/version-2.0.0/api/api_examples/api_examples_overview.mdx b/outdoornav_user_manual_versioned_docs/version-2.0.0/api/api_examples/api_examples_overview.mdx new file mode 100644 index 000000000..7b29ba744 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.0.0/api/api_examples/api_examples_overview.mdx @@ -0,0 +1,15 @@ +--- +title: API Examples Overview +sidebar_label: Overview +sidebar_position: 1 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +:::note + +API examples will be available in version 2.2.0. +For urgent concerns regarding the API, please contact +[customer support](../../support.mdx) + +::: \ No newline at end of file diff --git a/outdoornav_user_manual_versioned_docs/version-2.0.0/api/api_examples/run_basic_mission.mdx b/outdoornav_user_manual_versioned_docs/version-2.0.0/api/api_examples/run_basic_mission.mdx new file mode 100644 index 000000000..bebd90f46 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.0.0/api/api_examples/run_basic_mission.mdx @@ -0,0 +1,15 @@ +--- +title: Run a Basic Mission +sidebar_label: Run a Basic Mission +sidebar_position: 3 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +:::note + +API examples will be available in version 2.2.0. +For urgent concerns regarding the API, please contact +[customer support](../../support.mdx) + +::: diff --git a/outdoornav_user_manual_versioned_docs/version-2.0.0/api/api_examples/using_the_api.mdx b/outdoornav_user_manual_versioned_docs/version-2.0.0/api/api_examples/using_the_api.mdx new file mode 100644 index 000000000..705242285 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.0.0/api/api_examples/using_the_api.mdx @@ -0,0 +1,164 @@ +--- +title: Using the API +sidebar_label: Using the API +sidebar_position: 2 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +:::note + +All action names and service names are namespace prefixed with the robot serial number. + +::: + + +## Commanding the Robot + +To command a robot, we provide action interfaces that are defined in our Autonomy API. +Below, are the `action_name`, `action_type`, and `pkg_name` for each required action. +The user is then able to write their own C++ or Python action client using this +information. + +### Start a mission + +| | | +| :---------------------- | :--------------| +| `action_name` | autonomy/network_mission | +| `pkg_name` | clearpath_navigation_msgs | +| `action_type` | ExecuteNetworkMissionByUuid | + +### Start a Mission from a specific goal + +| | | +| :---------------------- | :--------------| +| `action_name` | autonomy/network_mission_from_goal | +| `pkg_name` | clearpath_navigation_msgs | +| `action_type` | ExecuteNetworkMissionFromGoal | + + +### Send the robot to a location in the map + +| | | +| :---------------------- | :--------------| +| `action_name` | autonomy/network_goto | +| `pkg_name` | clearpath_navigation_msgs | +| `action_type` | ExecuteNetworkGoTo | + +### Send the robot to a point of interest (POI) + +| | | +| :---------------------- | :--------------| +| `action_name` | autonomy/network_goto_poi | +| `pkg_name` | clearpath_navigation_msgs | +| `action_type` | ExecuteNetworkGoToPOI | + +## Docking the robot + +### Local docking + +| | | +| :---------------------- | :--------------| +| `action_name` | autonomy/local_dock | +| `pkg_name` | clearpath_navigation_msgs | +| `action_type` | Dock | + +### Local undocking + +| | | +| :---------------------- | :--------------| +| `action_name` | autonomy/local_undock | +| `pkg_name` | clearpath_navigation_msgs | +| `action_type` | Undock | + +`action_name`: autonomy/local_undock + +`pkg_name`: clearpath_dock_msgs + +`action_type`: Undock + +### Network docking + +| | | +| :---------------------- | :--------------| +| `action_name` | autonomy/network_dock | +| `pkg_name` | clearpath_navigation_msgs | +| `action_type` | NetworkDock | + +## Navigation Control + +### Pause navigation + +| | | +| :---------------------- | :--------------| +| `service_name` | control_selection/pause | +| `pkg_name` | std_srvs | +| `service_type` | SetBool | + +### Resume navigation + +| | | +| :---------------------- | :--------------| +| `service_name` | control_selection/resume | +| `pkg_name` | std_srvs | +| `service_type` | SetBool | + +### Stop all autonomy actions + +| | | +| :---------------------- | :--------------| +| `service_name` | autonomy/stop| +| `pkg_name` | std_srvs | +| `service_type` | Trigger | + +## [Action Client (C++)](https://docs.ros.org/en/jazzy/Tutorials/Intermediate/Writing-an-Action-Server-Client/Cpp.html#writing-an-action-client) +```cpp +#include "action_tutorials_interfaces/action/fibonacci.hpp" + +#include "rclcpp/rclcpp.hpp" +#include "rclcpp_action/rclcpp_action.hpp" +#include "rclcpp_components/register_node_macro.hpp" + +... + using = action_tutorials_interfaces::action::; + using GoalHandle = rclcpp_action::ClientGoalHandle; + +... + this->client_ptr_ = rclcpp_action::create_client<>( + this, ); + +... + auto goal_msg = ::Goal(); + auto send_goal_options = rclcpp_action::Client<>::SendGoalOptions(); + +... + this->client_ptr_->async_send_goal(goal_msg, send_goal_options); +``` + +## [Action Client (Python)](https://docs.ros.org/en/jazzy/Tutorials/Intermediate/Writing-an-Action-Server-Client/Py.html#writing-an-action-client) + +```python +from .action import + +... + + self._action_client = ActionClient(self, , ) + +... + goal_msgs = .Goal() + self._action_client.wait_for_server() + self._action_client.send_goal_async(goal_msg) +``` + + +## Terminal Command-line + +In order to command the robot from the command-line, you will need to run the +following command, where the `--feedack` argument will allow the user to view +the action feedbacks message: + +```bash +ros2 action send_goal --feedback +``` + +The `values` are based on the actions message type. diff --git a/outdoornav_user_manual_versioned_docs/version-2.0.0/api/api_overview.mdx b/outdoornav_user_manual_versioned_docs/version-2.0.0/api/api_overview.mdx index 3c6055d67..92e2c2735 100644 --- a/outdoornav_user_manual_versioned_docs/version-2.0.0/api/api_overview.mdx +++ b/outdoornav_user_manual_versioned_docs/version-2.0.0/api/api_overview.mdx @@ -1,6 +1,6 @@ --- title: API Overview -sidebar_label: API Overview +sidebar_label: Overview sidebar_position: 1 toc_min_heading_level: 2 toc_max_heading_level: 4 @@ -10,17 +10,120 @@ 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
-
-
+flexibility to do so. The API is, at present, a [ROS 2 Jazzy](https://docs.ros.org/en/jazzy/index.html) API. -The message and services types for the API are defined at: -https://github.com/clearpathrobotics/clearpath_msgs/tree/onav-ros2/clearpath_outdoornav_msgs +The API is divided into two sections, whose details are provided below: + +- [Autonomy API](./api_endpoints/autonomy_api): 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 Subscribed to by Autonomy](./api_endpoints/autonomy_api.mdx#autonomy-subscribers): + The set of [ROS Topics](http://wiki.ros.org/Topics) + subscribed to by OutdoorNav Software, typically published by the + client for directing OutdoorNav operation. + - [Topics Published by Autonomy](./api_endpoints/autonomy_api.mdx#autonomy-publishers): + The set of [ROS Topics](http://wiki.ros.org/Topics) published by + OutdoorNav Software, to be subscribed to by the UGV. + - [Services Exported by Autonomy](./api_endpoints/autonomy_api#autonomy-services): + 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#autonomy-actions): + 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): The set of [ROS + Services](http://wiki.ros.org/Services) that are used for creating, deleting, + and modifying OutdoorNav Missions +- [API Examples](./api_examples/api_examples_overview): Example code to come. + + +## QoS Profiles {#qos-profiles} + +Topics and services in ROS 2 use Quality of Service (QoS) profiles to change communication policies. The QoS profile +of a topic or service has several policies such as history, depth, reliability, durability, and more. For more details on +QoS settings, visit the [ROS 2 documentation](https://docs.ros.org/en/jazzy/Concepts/About-Quality-of-Service-Settings.html). + +For Clearpath platforms, the main policies that may change between different topics and services are reliability and durability. For reliability +there are two options: _Best Effort_, and _Reliable_. A _Best Effort_ reliability suggests that an attempt will be made to publish +the data, but if the network is not robust then the data may be lost. On the other hand, _Reliable_ guarantees that the data will be received. +This may require that the data be sent multiple times. + +The durability of a QoS profile can be either _Transient Local_ or _Volatile_. _Transient Local_ means that data for published messages will +be stored by the publisher even after it has been published. A new subscriber will receive the data even if a lot of time has passed since it was originally published. +This durability is typically used for data that only needs to be published once, such as the robot description. The other durability policy is _Volatile_ which does not +store old messages. The messages are published and only active subscribers will receive the data. New subscribers will have to wait for the next message to be published. +Most topics will use a _Volatile_ durability policy. + +It is important to check for [QoS compatibility](https://docs.ros.org/en/jazzy/Concepts/Intermediate/About-Quality-of-Service-Settings.html#qos-compatibilities) when interacting with ROS 2. +Mixing of QoS policies when publishing or subscribing to topics can lead to incompatibility. For example, subscribing to a Best Effort publisher with a Reliable subscriber +is not compatible and will result in no data being received on the subscriber. The easiest way to check the QoS profile of a topic is to use the ROS 2 command line interface. + +``` +ros2 topic info /topic_name -v +``` + +## Common QoS profiles {#common-qos-profiles} + +The following are some common QoS profiles used by Clearpath platforms. + +### System Default + +- **History**: _Keep Last_ +- **Depth**: _10_ +- **Reliability**: _Reliable_ +- **Durability**: _Volatile_ +- **Deadline**: _System Default_ +- **Lifespan**: _System Default_ +- **Liveliness**: _Automatic_ +- **Lease Duration**: _System Default_ + +The _System Default_ QoS profile is the most common profile used by most topics. + +### Sensor Data + +- **History**: _Keep Last_ +- **Depth**: _5_ +- **Reliability**: _Best Effort_ +- **Durability**: _Volatile_ +- **Deadline**: _System Default_ +- **Lifespan**: _System Default_ +- **Liveliness**: _Automatic_ +- **Lease Duration**: _System Default_ + +The _Sensor Data_ QoS Profile uses a _Best Effort_ reliability to send the latest data +as soon as possible, without bothering to resend data that was not received. This is mostly used +by the MCU and sensor drivers. + +:::note + +Not all sensor drivers use this QoS profile. Always check the QoS profile before trying to subscribe to the topic. + +::: + +### Transient Local + +- **History**: _Keep Last_ +- **Depth**: _10_ +- **Reliability**: _Reliable_ +- **Durability**: _Transient Local_ +- **Deadline**: _System Default_ +- **Lifespan**: _System Default_ +- **Liveliness**: _Automatic_ +- **Lease Duration**: _System Default_ + +The _Transient Local_ QoS Profile offers a _Transient Local_ durability, and is typically used by topics that only +want to send messages once. For Clearpath platforms, this includes the robot description topic and the `/rosout` topic +which offers system logs. + +## Namespacing + +Namespacing is the method of adding a prefix to a robot's nodes and topics; this helps differentiate them from another robot that +may be on the same network. For example, every robot will have a `cmd_vel` topic for commanding velocity. If both robots +used the same topic, then they would both drive when a message is published to that topic. By namespacing, we can remap the topic +to `robot1/cmd_vel` and `robot2/cmd_vel` for each respective robot. -More details on the API will be provided in a future release of the documentation. \ No newline at end of file +By default, the namespace of the robot will be obtained from the serial number of the robot. If your serial number is `cpr-a300-00001`, then your namespace +will be `a300_00001`. This can be overwritten in the [robot.yaml](../../../docs/ros/config/yaml/overview) file. diff --git a/outdoornav_user_manual_versioned_docs/version-2.0.0/installation/_category_.json b/outdoornav_user_manual_versioned_docs/version-2.0.0/installation/_category_.json new file mode 100644 index 000000000..2ffaa1571 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.0.0/installation/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Installation", + "position": 10 +} diff --git a/outdoornav_user_manual_versioned_docs/version-2.0.0/installation/overview.mdx b/outdoornav_user_manual_versioned_docs/version-2.0.0/installation/overview.mdx new file mode 100644 index 000000000..f836cbdbc --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.0.0/installation/overview.mdx @@ -0,0 +1,21 @@ +--- +title: Installation +sidebar_label: Installation +sidebar_position: 1 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +As of version 2.0.0, the OutdoorNav software uses ROS 2 Jazzy as its base. It is incompatible +with any other previous version of ROS. If you have a base platform running an older version +of ROS 2, consult [the following page](../../../docs/ros/installation/upgrading) to upgrade your +base to ROS 2 Jazzy. If you have a base platform running ROS 1, please reach out to +\ in order to receive instructions to install the correct +version. + +## Installing OutdoorNav Updates + +All AMP/Observer UGVs ship with the latest version of the OutdoorNav software. +If you receive an email regarding an available OutdoorNav software update, follow +the [update instructions](updates) to update the OutdoorNav software. + diff --git a/outdoornav_user_manual_versioned_docs/version-2.0.0/installation/updates.mdx b/outdoornav_user_manual_versioned_docs/version-2.0.0/installation/updates.mdx new file mode 100644 index 000000000..c84f73b05 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.0.0/installation/updates.mdx @@ -0,0 +1,155 @@ +--- +title: Installing Updates +sidebar_label: Installing Updates +sidebar_position: 1 +toc_min_heading_level: 4 +toc_max_heading_level: 4 +--- + +The following page details the steps to update the OutdoorNav software that is already +installed on your platform. + + +:::note + +Please ensure that you have received an email advising you that an update is available +since only those who receive the update emails will be have access to the update files. + +::: + +## Download + +1. Click the link that was sent to you in the update email. You will be sent to a cloud storage +drive with the following file structure (/Documents/General/Releases/...) + +2. Navigate to the version folder you wish to update to and download the following files: + + - **cpr-onav-ui.tar** + + - **cpr-onav-base.tar** + + - **cpr-onav-autonomy.tar** + + - **cpr-onav-app.zip** + +3. Connect to the robot + + Option 1: via ethernet (port located inside of the rear charge port door) + + Option 2: via wifi (Husky SSID: cpr_a300_amp_xxx) + +4. Transfer all files to the robots **/opt/onav/** folder + + **Linux**: + + ```code + scp cpr-onav-app.zip cpr-onav-ui.tar cpr-onav-base.tar cpr-onav-autonomy.tar robot@192.168.131.1:/opt/onav/ + ``` + + **Windows**: Use [FileZilla Client](https://filezilla-project.org/download.php?platform=win64) to transfer all files to the robot. + + SFTP Connection: + + * Host: sftp://192.168.131.1 + + * Username: robot + + * Password: clearpath + +:::note + +If you are upgrading to version 2.1.0 from 2.0.x please also navigate to +Documents/General/Releases/2.1 (on the cloud storage), download one +of the following files : + +* **outdoornav.yaml.amp** for standard AMP robots, or, + +* **outdoornav.yaml.observer** for Observer robots. + +Transfer the file to the robot: + + +```code +scp outdoornav.yaml.amp robot@192.168.131.1:/opt/onav/ +``` + +```code +scp outdoornav.yaml.observer robot@192.168.131.1:/opt/onav/ +``` + +Finally, navigate to the Documents/General/Releases/2.1 (on the cloud storage), +download the update script and transfer it to the robot: + +```code +scp update.py robot@192.168.131.1:/opt/onav/ros2/app/upgrade/ +``` +::: + +## Update + +1. Run the below command to update the version of OutdoorNav, where +***\*** is the folder of the last version of OutdoorNav that +has been installed on the robot and ***\*** is the version you want +to update to. + + ```code + python3 /opt/onav//app/upgrade/update.py -v -c amp + ``` + + Eg. To update from version 2.0.0 to version 2.1.0 run the following + + ```code + python3 /opt/onav/ros2/app/upgrade/update.py -v 2.1.0 -c amp + ``` + + * this will create a new version folder in /opt/onav/ + + * copy all persistent data from the last version + + * installs the app folder + + * stops the currently running version of OutdoorNav + + * starts the new version of OutdoorNav + +:::note + +If you have an Observer model robot please use the following command to update + +```code +python3 /opt/onav/ros2/app/upgrade/update.py -v -c observer +``` + +::: + +## Cleanup + +1. Remove all extraneous files + + ```code + rm /opt/onav/cpr-onav-ui.tar /opt/onav/cpr-onav-base.tar /opt/onav/cpr-onav-autonomy.tar /opt/onav/cpr-onav-app.zip + ``` + +:::note + +If you have an standard AMP model robot please use the following command to finalize cleanup: + +```code +rm /opt/onav/outdoornav.yaml.amp +``` + +If you have an Observer model robot please use the following command to finalize cleanup: + +```code +rm /opt/onav/outdoornav.yaml.observer +``` + +::: + +:::note + +If you have made any customisation changes to the app/ directory of your +previous version, you will need to make these same modifications manually +yourself to the new versions **app/** directory files. + +::: \ No newline at end of file diff --git a/outdoornav_user_manual_versioned_docs/version-2.0.0/web_user_interface/ui_map_mode.mdx b/outdoornav_user_manual_versioned_docs/version-2.0.0/web_user_interface/ui_map_mode.mdx index 31695fe38..a904724bb 100644 --- a/outdoornav_user_manual_versioned_docs/version-2.0.0/web_user_interface/ui_map_mode.mdx +++ b/outdoornav_user_manual_versioned_docs/version-2.0.0/web_user_interface/ui_map_mode.mdx @@ -25,7 +25,7 @@ The list below defines what a "Map" and "Mission" are in relation to the Map mod their relevant components. These terms are referred to throughout this page. - **Mission** A Mission is a set of one or more Goalpoints. -- **Map** A Operator created map that goes over the aerial view and is used to define valid driveable +- **Map** An Operator created map that goes over the aerial view and is used to define valid driveable areas for a mission. - **Point** A map point used to help define a path. - **Path** A connection between two points that the UGV can travel along for missions. Can be defined as @@ -98,7 +98,7 @@ system will automatically create a map for them with default settings. To add points to the map, ensure that the UI is still in "Map Edit Mode" and click on the map. This will add a point to the map and also trigger the "Connection Mode". The path type button (one-way/two-way) will turn blue to indicate that the next point that is added will be connected to the previously created point. -A Operator may cancel this connection by pressing the ESC key or by clicking the path type button. Points can be +An Operator may cancel this connection by pressing the ESC key or by clicking the path type button. Points can be dragged and dropped to adjust their positions. To delete a point, right click the point and select Delete. While in edit mode, Ghost points will appear in the center of each path that can be dragged and dropped to split the @@ -107,12 +107,12 @@ path. ### Map Paths Paths are generally added as part of the Point placement process as mentioned above. However, there may be -cases where a Operator would like to connect existing points. To accomplish this, simply exit out of connection mode +cases where an Operator would like to connect existing points. To accomplish this, simply exit out of connection mode then click on the existing points. Once the first point is clicked on, connection mode will be re-established with the previously clicked point as the starting location. As paths are added they will be visible in the Map properties table, along with their relevant details. To edit a -path's details a Operator can simply right click on the path or select the gear icon for the specific path in the table. +path's details an Operator can simply right click on the path or select the gear icon for the specific path in the table. This will open an overlay on the map that will allow the Operator to edit both one-way paths and two-way paths. In the case of two-way paths users can keep both ways in sync with each other or vary the properties depending on the direction. @@ -147,7 +147,7 @@ modified. Press enter/click aside to save the change. ### Map Defaults When adding paths the map uses defined default values to set the maximum driving radius -and speed limit. If a Operator wishes to adjust these defaults this can be done here. This will +and speed limit. If an Operator wishes to adjust these defaults this can be done here. This will only affect paths created after the changes have been made. ### Network Path Recorder @@ -225,7 +225,7 @@ modified. Press enter/click aside to save the change. ### Return to Dock -A Operator may wish to add a flag to the mission to indicate when and if the UGV should +An Operator may wish to add a flag to the mission to indicate when and if the UGV should return to the dock while executing the mission. When enabled, the Operator can input a battery percentage that once reached the UGV will begin navigating back to the specified dock or to the closest dock. They can then set the minimum battery life before the UGV diff --git a/outdoornav_user_manual_versioned_docs/version-2.1.0/_category_.json b/outdoornav_user_manual_versioned_docs/version-2.1.0/_category_.json new file mode 100644 index 000000000..f5966a95c --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.1.0/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "OutdoorNav User Manual", + "position": 1 +} diff --git a/outdoornav_user_manual_versioned_docs/version-2.1.0/api/_category_.json b/outdoornav_user_manual_versioned_docs/version-2.1.0/api/_category_.json new file mode 100644 index 000000000..d9a89b340 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.1.0/api/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "API", + "position": 7 +} diff --git a/outdoornav_user_manual_versioned_docs/version-2.1.0/api/api_endpoints/_category_.json b/outdoornav_user_manual_versioned_docs/version-2.1.0/api/api_endpoints/_category_.json new file mode 100644 index 000000000..ff29bf083 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.1.0/api/api_endpoints/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Endpoints", + "position": 2 +} diff --git a/outdoornav_user_manual_versioned_docs/version-2.1.0/api/api_endpoints/autonomy_api.mdx b/outdoornav_user_manual_versioned_docs/version-2.1.0/api/api_endpoints/autonomy_api.mdx new file mode 100644 index 000000000..f307167a2 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.1.0/api/api_endpoints/autonomy_api.mdx @@ -0,0 +1,120 @@ +--- +title: Autonomy API Endpoints +sidebar_label: Autonomy API +sidebar_position: 2 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +:::note + +All nodes, topics, and services are namespace prefixed with the robot serial number. + +If your serial number is `cpr-a300-00001`, then your namespace +will be `a300_00001`. This can be overwritten in the [robot.yaml](../../../../docs/ros/config/yaml/overview) file. + +::: + +  + +## Subscribers {#autonomy-subscribers} + +  + +| Topic | Message type | Description | QoS | +| :---------------------- | :----------------------------------------------------------------------------------------------------------- | :-------------- | :-------------------------------------------- | +| platform/cmd_vel_out | [geometry_msgs/msg/TwistStamped](https://github.com/ros2/common_interfaces/blob/jazzy/geometry_msgs/msg/TwistStamped.msg) | Continuous platform level velocity output | [System Default](/docs/ros/api/overview#system-default) | +| platform/odom | [nav_msgs/msg/Odometry](https://github.com/ros2/common_interfaces/blob/jazzy/nav_msgs/msg/Odometry.msg) | Platform wheel odometry | [System Default](/docs/ros/api/overview#system-default) | +| joy_teleop/cmd_vel | [geometry_msgs/msg/TwistStamped](https://github.com/ros2/common_interfaces/blob/jazzy/geometry_msgs/msg/TwistStamped.msg) | Velocity commands from joystick inputs | [System Default](/docs/ros/api/overview#system-default) | + +  + +## Publishers {#autonomy-publishers} + +  + +| Topic | Message type | Description | QoS | +| :---------------------- | :----------------------------------------------------------------------------------------------------------- | :-------------- | :-------------------------------------------- | +| autonomy/config | [clearpath_navigation_msgs/msg/AutonomyConfig](pathname:///api/html/clearpath_navigation_msgs/msg/AutonomyConfig.html) | Autonomy configuration | [System Default](/docs/ros/api/overview#system-default) | +| autonomy/initial_path | [nav_msgs/msg/Path](https://github.com/ros2/common_interfaces/blob/jazzy/nav_msgs/msg/Path.msg) | Initial Path computed by autonomy | [System Default](/docs/ros/api/overview#system-default) | +| autonomy/status | [clearpath_navigation_msgs/msg/AutonomyStatus](pathname:///api/html/clearpath_navigation_msgs/msg/AutonomyStatus.html) | Status of the autonomy | [System Default](/docs/ros/api/overview#system-default) | +| control_selection/current_mode | [clearpath_control_msgs/msg/ControlMode](pathname:///api/html/clearpath_control_msgs/msg/ControlMode.html) | Current control mode (NEUTRAL, MANUAL, AUTONOMY). | [System Default](/docs/ros/api/overview#system-default) | +| control_selection/control_state | [clearpath_control_msgs/msg/ControlSelectionState](pathname:///api/html/clearpath_control_msgs/msg/ControlSelectionState.html) | Complete state of control selection node. | [System Default](/docs/ros/api/overview#system-default) | +| docking/docking_server/path | [nav_msgs/msg/Path](https://github.com/ros2/common_interfaces/blob/jazzy/nav_msgs/msg/Path.msg) | Docking path | +| docking/undocking_server/path | [nav_msgs/msg/Path](https://github.com/ros2/common_interfaces/blob/jazzy/nav_msgs/msg/Path.msg) | Undocking path | +| goto/preview | [clearpath_navigation_msgs/msg/GoToPreview](pathname:///api/html/clearpath_navigation_msgs/msg/GoToPreview.html) | Preview points for a GoTo execution | [System Default](/docs/ros/api/overview#system-default) | +| localization/datum | [sensor_msgs/msg/NavSatFix](https://github.com/ros2/common_interfaces/blob/jazzy/sensor_msgs/msg/NavSatFix.msg) | Map origin (0, 0), specified as the datum | [System Default](/docs/ros/api/overview#system-default) | +| localization/fix | [sensor_msgs/msg/NavSatFix](https://github.com/ros2/common_interfaces/blob/jazzy/sensor_msgs/msg/NavSatFix.msg) | Platform lat/lon coordinates | [System Default](/docs/ros/api/overview#system-default) | +| localization/odom | [nav_msgs/msg/Odometry](https://github.com/ros2/common_interfaces/blob/jazzy/nav_msgs/msg/Odometry.msg) | Platform map coordinates | [System Default](/docs/ros/api/overview#system-default) | +| mission/preview | [clearpath_navigation_msgs/msg/MissionPreview](pathname:///api/html/clearpath_navigation_msgs/msg/MissionPreview.html) | Preview points for a mission execution | [System Default](/docs/ros/api/overview#system-default) | +| speed_limit | [clearpath_navigation_msgs/msg/GoToPreview](https://github.com/ros-navigation/navigation2/blob/main/nav2_msgs/msg/SpeedLimit.msg) | Current navigation speed limit | [System Default](/docs/ros/api/overview#system-default) | +| ui/heartbeat | [geometry_msgs/msg/TwistStamped](https://github.com/ros2/common_interfaces/blob/jazzy/geometry_msgs/msg/TwistStamped.msg) | Heartbeat of the UI | [System Default](/docs/ros/api/overview#system-default) | +| ui_teleop/cmd_vel | [geometry_msgs/msg/TwistStamped](https://github.com/ros2/common_interfaces/blob/jazzy/geometry_msgs/msg/TwistStamped.msg) | Velocity commands fron the UI joystick | [System Default](/docs/ros/api/overview#system-default) | + +  + +## Services {#autonomy-services} + +  + +| Service | Service type | Description | +| :---------------------- | :----------------------------------------------------------------------------------------------------------- | :-------------- | +| autonomy/stop | [std_srvs/srv/Trigger](https://docs.ros2.org/foxy/api/std_srvs/srv/Trigger.html) | Stop all autonomy executions | +| control_selection/set_mode | [clearpath_control_msgs/srv/SetControlMode](pathname:///api/html/clearpath_control_msgs/srv/SetControlMode.html) | Set the control mode | +| control_selection/pause | [std_srvs/srv/SetBool](https://docs.ros2.org/foxy/api/std_srvs/srv/SetBool.html) | Pause execution | +| control_selection/resume | [std_srvs/srv/SetBool](https://docs.ros2.org/foxy/api/std_srvs/srv/SetBool.html) | Resume execution | +| docking/dock_manager/add_dock | [clearpath_dock_msgs/srv/AddDock](pathname:///api/html/clearpath_dock_msgs/srv/AddDock.html) | Add a dock | +| docking/dock_manager/clear_data | [std_srvs/srv/Trigger](https://docs.ros2.org/foxy/api/std_srvs/srv/Trigger.html) | Clear all dock data | +| docking/dock_manager/delete_dock | [clearpath_dock_msgs/srv/RemoveDock](pathname:///api/html/clearpath_dock_msgs/srv/RemoveDock.html) | Delete a dock | +| docking/dock_manager/export | [clearpath_dock_msgs/srv/ExportData](pathname:///api/html/clearpath_dock_msgs/srv/ExportData.html) | Export dock data | +| docking/dock_manager/get_database | [clearpath_dock_msgs/srv/GetDockDatabase](pathname:///api/html/clearpath_dock_msgs/srv/GetDockDatabase.html) | Returns the entire dock database | +| docking/dock_manager/get_dock | [clearpath_dock_msgs/srv/GetDock](pathname:///api/html/clearpath_dock_msgs/srv/GetDock.html) | Returns a docks info | +| docking/dock_manager/import | [clearpath_dock_msgs/srv/ImportData](pathname:///api/html/clearpath_dock_msgs/srv/ImportData.html) | Import a dock | +| docking/dock_manager/update_dock | [clearpath_dock_msgs/srv/UpdateDock](pathname:///api/html/clearpath_dock_msgs/srv/UpdateDock.html) | Update a docks information | +| docking/dock_localizer/add_dock_current_pose| [clearpath_dock_msgs/srv/AddDockCurrentPose](pathname:///api/html/clearpath_dock_msgs/srv/AddDockCurrentPose.html) | Add a dock with the current pose | +| docking/dock_localizer/get_dock_poses| [clearpath_dock_msgs/srv/GetDockPoses](pathname:///api/html/clearpath_dock_msgs/srv/GetDockPoses.html) | Return the dock and predock poses of a specific dock | +| docking/dock_localizer/survey_dock| [clearpath_dock_msgs/srv/SurveyDock](pathname:///api/html/clearpath_dock_msgs/srv/SurveyDock.html) | Survey the docks position | +| execute_task | [clearpath_task_msgs/srv/ExecuteTask](pathname:///api/html/clearpath_task_msgs/srv/ExecuteTask.html) | Run a task as a service | +| localization/lat_lon_to_xy | [clearpath_localization_msgs/srv/ConvertLatLonToCartesian](pathname:///api/html/clearpath_localization_msgs/srv/ConvertLatLonToCartesian.html) | Convert lat/lon condinate to map XY coordinate | +| localization/lat_lon_to_xy_array | [clearpath_localization_msgs/srv/ConvertLatLonToCartesianArray](pathname:///api/html/clearpath_localization_msgs/srv/ConvertLatLonToCartesianArray.html) | Convert a set of lat/lon coordinates to map XY coordinates | +| localization/set_datum | [clearpath_localization_msgs/srv/SetDatum](pathname:///api/html/clearpath_localization_msgs/srv/SetDatum.html) | Set the datum | +| localization/xy_to_lat_lon | [clearpath_localization_msgs/srv/ConvertCartesianToLatLon](pathname:///api/html/clearpath_localization_msgs/srv/ConvertCartesianToLatLon.html) | Convert map XY coordinate to lat/lon coordinate | +| localization/xy_to_lat_lon_array | [clearpath_localization_msgs/srv/ConvertCartesianToLatLonArray](pathname:///api/html/clearpath_localization_msgs/srv/ConvertCartesianToLatLonArray.html) | Convert a set of map XY coordinates to lat/lon coordinates | +| log_manager/delete_log | [clearpath_logger_msgs/srv/DeleteLog](pathname:///api/html/clearpath_logger_msgs/srv/DeleteLog.html) | Delete a secific log | +| log_manager/start_recording | [std_srvs/srv/Trigger](https://docs.ros2.org/foxy/api/std_srvs/srv/Trigger.html) | Start logging data | +| log_manager/stop_recording | [std_srvs/srv/Trigger](https://docs.ros2.org/foxy/api/std_srvs/srv/Trigger.html) | Stop logging data | +| safety/watchdogs/add_communication_watchdog | [clearpath_safety_msgs/srv/AddCommunicationWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/AddCommunicationWatchdog.html) | Create a new Communication watchdog | +| safety/watchdogs/add_heartbeat_watchdog | [clearpath_safety_msgs/srv/AddHeartbeatWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/AddHeartbeatWatchdog.html) | Create a new Heartbeat watchdog | +| safety/watchdogs/add_inclination_watchdog | [clearpath_safety_msgs/srv/AddInclinationWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/AddInclinationWatchdog.html) | Create a new Inclination watchdog | +| safety/watchdogs/add_num_points_watchdog | [clearpath_safety_msgs/srv/AddNumPointsWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/AddNumPointsWatchdog.html) | Create a new NumPoints watchdog | +| safety/watchdogs/add_odom_covariance_watchdog | [clearpath_safety_msgs/srv/AddOdomCovarianceWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/AddOdomCovarianceWatchdog.html) | Create a new OdomCovariance watchdog | +| safety/watchdogs/add_rtk_fix_watchdog | [clearpath_safety_msgs/srv/AddRtkFixWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/AddRtkFixWatchdog.html) | Create a new RTKFix watchdog | +| safety/watchdogs/add_topic_data_watchdog | [clearpath_safety_msgs/srv/AddTopicDataWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/AddTopicDataWatchdog.html) | Create a new TopicData watchdog | +| safety/watchdogs/add_trigger_watchdog | [clearpath_safety_msgs/srv/AddTriggerWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/AddTriggerWatchdog.html) | Create a new Trigger watchdog | +| safety/watchdogs/enable_all | [std_srvs/srv/SetBool](https://docs.ros2.org/foxy/api/std_srvs/srv/SetBool.html) | Enable/disable all watchdogs | +| safety/watchdogs/remove_watchdog | [clearpath_safety_msgs/srv/RemoveWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/RemoveWatchdog.html) | Remove/delete a watchdog | +| safety/watchdogs/update_communication_watchdog | [clearpath_safety_msgs/srv/UpdateCommunicationWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/UpdateCommunicationWatchdog.html) | Create a new Communication watchdog | +| safety/watchdogs/update_heartbeat_watchdog | [clearpath_safety_msgs/srv/UpdateHeartbeatWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/UpdateHeartbeatWatchdog.html) | Create a new Heartbeat watchdog | +| safety/watchdogs/update_inclination_watchdog | [clearpath_safety_msgs/srv/UpdateInclinationWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/UpdateInclinationWatchdog.html) | Create a new Inclination watchdog | +| safety/watchdogs/update_num_points_watchdog | [clearpath_safety_msgs/srv/UpdateNumPointsWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/UpdateNumPointsWatchdog.html) | Create a new NumPoints watchdog | +| safety/watchdogs/update_odom_covariance_watchdog | [clearpath_safety_msgs/srv/UpdateOdomCovarianceWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/UpdateOdomCovarianceWatchdog.html) | Create a new OdomCovariance watchdog | +| safety/watchdogs/update_rtk_fix_watchdog | [clearpath_safety_msgs/srv/UpdateRtkFixWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/UpdateRtkFixWatchdog.html) | Create a new RTKFix watchdog | +| safety/watchdogs/update_topic_data_watchdog | [clearpath_safety_msgs/srv/UpdateTopicDataWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/UpdateTopicDataWatchdog.html) | Create a new TopicData watchdog | +| safety/watchdogs/update_trigger_watchdog | [clearpath_safety_msgs/srv/UpdateTriggerWatchdog](pathname:///api/html/clearpath_safety_msgs/srv/UpdateTriggerWatchdog.html) | Create a new Trigger watchdog | + +  + +## Actions {#autonomy-actions} + +  + +| Action Name | Action type | Description | +| :---------------------- | :----------------------------------------------------------------------------------------------------------- | :-------------- | +| autonomy/network_mission | [clearpath_navigation_msgs/action/ExecuteNetworkMissionByUuid](pathname:///api/html/clearpath_navigation_msgs/action/ExecuteNetworkMissionByUuid.html) | Execute an autonomous mission | +| autonomy/network_mission_from_goal | [clearpath_navigation_msgs/action/ExecuteNetworkMissionFromGoal](pathname:///api/html/clearpath_navigation_msgs/action/ExecuteNetworkMissionFromGoal.html) | Execute an autonomous mission, starting from a specific goal | +| autonomy/network_goto | [clearpath_navigation_msgs/action/ExecuteNetworkGoTo](pathname:///api/html/clearpath_navigation_msgs/action/ExecuteNetworkGoTo.html) | Send platform to location | +| autonomy/network_goto_poi | [clearpath_navigation_msgs/action/ExecuteNetworkGoToPOI](pathname:///api/html/clearpath_navigation_msgs/action/ExecuteNetworkGoToPOI.html) | Send platform to a point of interest | +| autonomy/local_dock | [clearpath_dock_msgs/action/Dock](pathname:///api/html/clearpath_dock_msgs/action/Dock.html) | Dock the platform (charge target must be visible by platform 2D lidar sensor) | +| autonomy/local_undock | [clearpath_dock_msgs/action/Undock](pathname:///api/html/clearpath_dock_msgs/action/Undock.html) | Undock the platform (charge target must be visible by the 2D lidar sensor) | +| autonomy/network_dock | [clearpath_dock_msgs/action/NetworkDock](pathname:///api/html/clearpath_dock_msgs/action/NetworkDock.html) | Send robot to charger (charger must be in the driveable space of the map) | +| execute_task_action | [clearpath_task_msgs/action/ExecuteTask](pathname:///api/html/clearpath_task_msgs/action/ExecuteTask.html) | Run a task as an action | diff --git a/outdoornav_user_manual_versioned_docs/version-2.1.0/api/api_endpoints/mission_manager_api.mdx b/outdoornav_user_manual_versioned_docs/version-2.1.0/api/api_endpoints/mission_manager_api.mdx new file mode 100644 index 000000000..3aacfcc1f --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.1.0/api/api_endpoints/mission_manager_api.mdx @@ -0,0 +1,102 @@ +--- +title: Mission Manager API Endpoints +sidebar_label: Mission Manager API +sidebar_position: 3 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +:::note + +All nodes, topics, and services are namespace prefixed with the robot serial number. + +If your serial number is `cpr-a300-00001`, then your namespace +will be `a300_00001`. This can be overwritten in the [robot.yaml](../../../../docs/ros/config/yaml/overview) file. + +::: + +  + +## Publishers {#mission-manager-publishers} + +  + +| Topic | Message type | Description | QoS | +| :---------------------- | :----------------------------------------------------------------------------------------------------------- | :-------------- | :-------------------------------------------- | +| mission_manager/state | [clearpath_mission_manager_msgs/msg/StorageState](pathname:///api/html/clearpath_mission_manager_msgs/msg/StorageState.html) | Database containing all map/mission data | Latched | +| mission_manager/network_maps_validity | [clearpath_mission_manager_msgs/msg/NetworkMapValidityState](pathname:///api/html/clearpath_mission_manager_msgs/msg/NetworkMapValidityState.html) | Validity state of all maps | Latched | + +  + +## Services {#mission-manager-services} + +  + +| Service | Service type | Description | +| :---------------------- | :----------------------------------------------------------------------------------------------------------- | :-------------- | +| mission_manager/add_network_edge | [clearpath_mission_manager_msgs/srv/AddNetworkEdge](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddNetworkEdge.html) | Add edge to network map | +| mission_manager/add_network_path | [clearpath_mission_manager_msgs/srv/AddNetworkPath](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddNetworkPath.html) | Add a path to map | +| mission_manager/add_network_point | [clearpath_mission_manager_msgs/srv/AddNetworkPoint](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddNetworkPoint.html) | Add a map point | +| mission_manager/add_tag | [clearpath_mission_manager_msgs/srv/AddRemoveTag](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddRemoveTag.html) | Add tag to map point | +| mission_manager/add_task_to_start | [clearpath_mission_manager_msgs/srv/AddRemoveById](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddRemoveById.html) | Add task to list of start tasks | +| mission_manager/add_task_to_stop | [clearpath_mission_manager_msgs/srv/AddRemoveById](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddRemoveById.html) | Add task to list of stop tasks | +| mission_manager/add_task_to_waypoint | [clearpath_mission_manager_msgs/srv/AddRemoveById](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddRemoveById.html) | Add task to a Goal point | +| mission_manager/add_waypoint_to_mission | [clearpath_mission_manager_msgs/srv/AddRemoveById](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddRemoveById.html) | Add Goal to mission | +| mission_manager/clone_mission | [clearpath_mission_manager_msgs/srv/CloneMission](pathname:///api/html/clearpath_mission_manager_msgs/srv/CloneMission.html) | Clone mission | +| mission_manager/clone_network_map | [clearpath_mission_manager_msgs/srv/CloneNetworkMap](pathname:///api/html/clearpath_mission_manager_msgs/srv/CloneNetworkMap.html) | Clone map | +| mission_manager/clone_network_mission | [clearpath_mission_manager_msgs/srv/CloneNetworkMission](pathname:///api/html/clearpath_mission_manager_msgs/srv/CloneNetworkMission.html) | Clone mission | +| mission_manager/clone_point_of_interest | [clearpath_mission_manager_msgs/srv/ClonePointOfInterest](pathname:///api/html/clearpath_mission_manager_msgs/srv/ClonePointOfInterest.html) | Clone point of interest | +| mission_manager/clone_task | [clearpath_mission_manager_msgs/srv/GetTask](pathname:///api/html/clearpath_mission_manager_msgs/srv/GetTask.html) | Clone task | +| mission_manager/clone_waypoint | [clearpath_mission_manager_msgs/srv/GetWaypoint](pathname:///api/html/clearpath_mission_manager_msgs/srv/GetWaypoint.html) | Clone goal | +| mission_manager/create_network_map | [clearpath_mission_manager_msgs/srv/CreateNetworkMap](pathname:///api/html/clearpath_mission_manager_msgs/srv/CreateNetworkMap.html) | Create map | +| mission_manager/create_network_mission | [clearpath_mission_manager_msgs/srv/CreateNetworkMission](pathname:///api/html/clearpath_mission_manager_msgs/srv/CreateNetworkMission.html) | Create mission | +| mission_manager/create_point_of_interest | [clearpath_mission_manager_msgs/srv/CreatePointOfInterest](pathname:///api/html/clearpath_mission_manager_msgs/srv/CreatePointOfInterest.html) | Create point of interest | +| mission_manager/create_task | [clearpath_mission_manager_msgs/srv/CreateTask](pathname:///api/html/clearpath_mission_manager_msgs/srv/CreateTask.html) | Create task | +| mission_manager/create_waypoint | [clearpath_mission_manager_msgs/srv/CreateWaypoint](pathname:///api/html/clearpath_mission_manager_msgs/srv/CreateWaypoint.html) | Create Goal | +| mission_manager/create_waypoint_from_poi | [clearpath_mission_manager_msgs/srv/CreateWaypointFromPoi](pathname:///api/html/clearpath_mission_manager_msgs/srv/CreateWaypointFromPoi.html) | Create Goal from point of interest | +| mission_manager/delete_all | [clearpath_mission_manager_msgs/srv/DeleteEverything](pathname:///api/html/clearpath_mission_manager_msgs/srv/DeleteEverything.html) | Delete all mission/map/poi data | +| mission_manager/delete_network_edge | [clearpath_mission_manager_msgs/srv/AddRemoveById](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddRemoveById.html) | Delete map edge | +| mission_manager/delete_network_edges | [clearpath_mission_manager_msgs/srv/DeleteMultiple](pathname:///api/html/clearpath_mission_manager_msgs/srv/DeleteMultiple.html) | Delete map edges | +| mission_manager/delete_network_map | [clearpath_mission_manager_msgs/srv/DeleteById](pathname:///api/html/clearpath_mission_manager_msgs/srv/DeleteById.html) | Delete map | +| mission_manager/delete_network_mission | [clearpath_mission_manager_msgs/srv/DeleteById](pathname:///api/html/clearpath_mission_manager_msgs/srv/DeleteById.html) | Delete mission | +| mission_manager/delete_network_point | [clearpath_mission_manager_msgs/srv/AddRemoveById](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddRemoveById.html) | Delete map point | +| mission_manager/delete_network_points | [clearpath_mission_manager_msgs/srv/DeleteMultiple](pathname:///api/html/clearpath_mission_manager_msgs/srv/DeleteMultiple.html) | Delete map points | +| mission_manager/delete_orphan_objects | [clearpath_mission_manager_msgs/srv/DeleteEverything](pathname:///api/html/clearpath_mission_manager_msgs/srv/DeleteEverything.html) | Delete orphaned objects | +| mission_manager/delete_point_of_interest | [clearpath_mission_manager_msgs/srv/DeleteById](pathname:///api/html/clearpath_mission_manager_msgs/srv/DeleteById.html) | Delete point of interest | +| mission_manager/delete_task | [clearpath_mission_manager_msgs/srv/DeleteById](pathname:///api/html/clearpath_mission_manager_msgs/srv/DeleteById.html) | Delete task | +| mission_manager/delete_tasks | [clearpath_mission_manager_msgs/srv/DeleteMultiple](pathname:///api/html/clearpath_mission_manager_msgs/srv/DeleteMultiple.html) | Delete tasks | +| mission_manager/delete_waypoint | [clearpath_mission_manager_msgs/srv/DeleteById](pathname:///api/html/clearpath_mission_manager_msgs/srv/DeleteById.html) | Delete Goal | +| mission_manager/delete_waypoints | [clearpath_mission_manager_msgs/srv/DeleteMultiple](pathname:///api/html/clearpath_mission_manager_msgs/srv/DeleteMultiple.html) | Delete Goals | +| mission_manager/remove_tag | [clearpath_mission_manager_msgs/srv/AddRemoveTag](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddRemoveTag.html) | Remove tag from item | +| mission_manager/export | [clearpath_mission_manager_msgs/srv/ExportData](pathname:///api/html/clearpath_mission_manager_msgs/srv/ExportData.html) | Export mission/map/poi database | +| mission_manager/get_all | [clearpath_mission_manager_msgs/srv/GetEverything](pathname:///api/html/clearpath_mission_manager_msgs/srv/GetEverything.html) | Return all map/mission/poi data | +| mission_manager/get_all_network_maps | [clearpath_mission_manager_msgs/srv/GetAllNetworkMaps](pathname:///api/html/clearpath_mission_manager_msgs/srv/GetAllNetworkMaps.html) | Return all maps | +| mission_manager/get_all_network_missions | [clearpath_mission_manager_msgs/srv/GetAllNetworkMissions](pathname:///api/html/clearpath_mission_manager_msgs/srv/GetAllNetworkMissions.html) | Return all missions | +| mission_manager/get_all_points_of_interest | [clearpath_mission_manager_msgs/srv/GetAllPointsOfInterest](pathname:///api/html/clearpath_mission_manager_msgs/srv/GetAllPointsOfInterest.html) | Return all points of interest | +| mission_manager/get_all_tasks | [clearpath_mission_manager_msgs/srv/GetAllTasks](pathname:///api/html/clearpath_mission_manager_msgs/srv/GetAllTasks.html) | Return all tasks | +| mission_manager/get_all_waypoints | [clearpath_mission_manager_msgs/srv/GetAllWaypoints](pathname:///api/html/clearpath_mission_manager_msgs/srv/GetAllWaypoints.html) | Return all goals | +| mission_manager/get_network_map | [clearpath_mission_manager_msgs/srv/GetNetworkMap](pathname:///api/html/clearpath_mission_manager_msgs/srv/GetNetworkMap.html) | Return specific map | +| mission_manager/get_network_mission | [clearpath_mission_manager_msgs/srv/GetNetworkMission](pathname:///api/html/clearpath_mission_manager_msgs/srv/GetNetworkMission.html) | Return specific mission | +| mission_manager/get_point_of_interest | [clearpath_mission_manager_msgs/srv/GetPointOfInterest](pathname:///api/html/clearpath_mission_manager_msgs/srv/GetPointOfInterest.html) | Return specific point of interest | +| mission_manager/get_task | [clearpath_mission_manager_msgs/srv/GetTask](pathname:///api/html/clearpath_mission_manager_msgs/srv/GetTask.html) | Return specific task | +| mission_manager/get_waypoint | [clearpath_mission_manager_msgs/srv/GetWaypoint](pathname:///api/html/clearpath_mission_manager_msgs/srv/GetWaypoint.html) | Return specific goal | +| mission_manager/import | [clearpath_mission_manager_msgs/srv/ImportData](pathname:///api/html/clearpath_mission_manager_msgs/srv/ImportData.html) | Import mission/map/poi data to database | +| mission_manager/import_mission | [clearpath_mission_manager_msgs/srv/ImportMission](pathname:///api/html/clearpath_mission_manager_msgs/srv/ImportMission.html) | Import mission to database | +| mission_manager/import_network_map | [clearpath_mission_manager_msgs/srv/ImportNetworkMap](pathname:///api/html/clearpath_mission_manager_msgs/srv/ImportNetworkMap.html) | Inport map to database | +| mission_manager/import_network_mission | [clearpath_mission_manager_msgs/srv/ImportNetworkMission](pathname:///api/html/clearpath_mission_manager_msgs/srv/ImportNetworkMission.html) | Import mission to database | +| mission_manager/remove_task_from_start | [clearpath_mission_manager_msgs/srv/AddRemoveById](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddRemoveById.html) | Remove task from list of start tasks | +| mission_manager/remove_task_from_stop | [clearpath_mission_manager_msgs/srv/AddRemoveById](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddRemoveById.html) | Remove task from list of stop tasks| +| mission_manager/remove_task_from_waypoint | [clearpath_mission_manager_msgs/srv/AddRemoveById](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddRemoveById.html) | Remove task from goal | +| mission_manager/remove_waypoint_from_mission | [clearpath_mission_manager_msgs/srv/AddRemoveById](pathname:///api/html/clearpath_mission_manager_msgs/srv/AddRemoveById.html) | Remove goal from mission | +| mission_manager/restore | [clearpath_mission_manager_msgs/srv/ImportData](pathname:///api/html/clearpath_mission_manager_msgs/srv/ImportData.html) | Restore data from a file | +| mission_manager/split_network_edge | [clearpath_mission_manager_msgs/srv/SplitNetworkEdge](pathname:///api/html/clearpath_mission_manager_msgs/srv/SplitNetworkEdge.html) | Split a map edge | +| mission_manager/update_network_edge | [clearpath_mission_manager_msgs/srv/UpdateNetworkEdge](pathname:///api/html/clearpath_mission_manager_msgs/srv/UpdateNetworkEdge.html) | Update map edge | +| mission_manager/update_network_edges | [clearpath_mission_manager_msgs/srv/UpdateNetworkEdges](pathname:///api/html/clearpath_mission_manager_msgs/srv/UpdateNetworkEdges.html) | Update map edges | +| mission_manager/update_network_map | [clearpath_mission_manager_msgs/srv/UpdateNetworkMap](pathname:///api/html/clearpath_mission_manager_msgs/srv/UpdateNetworkMap.html) | Update map | +| mission_manager/update_network_mission | [clearpath_mission_manager_msgs/srv/UpdateNetworkMission](pathname:///api/html/clearpath_mission_manager_msgs/srv/UpdateNetworkMissiond.html) | Update mission | +| mission_manager/update_network_point | [clearpath_mission_manager_msgs/srv/UpdateNetworkPoint](pathname:///api/html/clearpath_mission_manager_msgs/srv/UpdateNetworkPoint.html) | Update map point | +| mission_manager/update_network_points | [clearpath_mission_manager_msgs/srv/UpdateNetworkPoints](pathname:///api/html/clearpath_mission_manager_msgs/srv/UpdateNetworkPoints.html) | UPdate map points | +| mission_manager/update_point_of_interest | [clearpath_mission_manager_msgs/srv/UpdatePointOfInterest](pathname:///api/html/clearpath_mission_manager_msgs/srv/UpdatePointOfInterest.html) | Update points of interestt | +| mission_manager/update_task | [clearpath_mission_manager_msgs/srv/UpdateTask](pathname:///api/html/clearpath_mission_manager_msgs/srv/UpdateTask.html) | Update task | +| mission_manager/update_waypoint | [clearpath_mission_manager_msgs/srv/UpdateWaypoint](pathname:///api/html/clearpath_mission_manager_msgs/srv/UpdateWaypoint.html) | Update goal | +| mission_manager/validate_network_map | [clearpath_mission_manager_msgs/srv/ValidateNetworkMap](pathname:///api/html/clearpath_mission_manager_msgs/srv/ValidateNetworkMap.html) | Check validity of specific map | diff --git a/outdoornav_user_manual_versioned_docs/version-2.1.0/api/api_examples/_category_.json b/outdoornav_user_manual_versioned_docs/version-2.1.0/api/api_examples/_category_.json new file mode 100644 index 000000000..62e826eef --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.1.0/api/api_examples/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Examples", + "position": 3 +} diff --git a/outdoornav_user_manual_versioned_docs/version-2.1.0/api/api_examples/api_examples_overview.mdx b/outdoornav_user_manual_versioned_docs/version-2.1.0/api/api_examples/api_examples_overview.mdx new file mode 100644 index 000000000..7b29ba744 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.1.0/api/api_examples/api_examples_overview.mdx @@ -0,0 +1,15 @@ +--- +title: API Examples Overview +sidebar_label: Overview +sidebar_position: 1 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +:::note + +API examples will be available in version 2.2.0. +For urgent concerns regarding the API, please contact +[customer support](../../support.mdx) + +::: \ No newline at end of file diff --git a/outdoornav_user_manual_versioned_docs/version-2.1.0/api/api_examples/run_basic_mission.mdx b/outdoornav_user_manual_versioned_docs/version-2.1.0/api/api_examples/run_basic_mission.mdx new file mode 100644 index 000000000..bebd90f46 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.1.0/api/api_examples/run_basic_mission.mdx @@ -0,0 +1,15 @@ +--- +title: Run a Basic Mission +sidebar_label: Run a Basic Mission +sidebar_position: 3 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +:::note + +API examples will be available in version 2.2.0. +For urgent concerns regarding the API, please contact +[customer support](../../support.mdx) + +::: diff --git a/outdoornav_user_manual_versioned_docs/version-2.1.0/api/api_examples/using_the_api.mdx b/outdoornav_user_manual_versioned_docs/version-2.1.0/api/api_examples/using_the_api.mdx new file mode 100644 index 000000000..705242285 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.1.0/api/api_examples/using_the_api.mdx @@ -0,0 +1,164 @@ +--- +title: Using the API +sidebar_label: Using the API +sidebar_position: 2 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +:::note + +All action names and service names are namespace prefixed with the robot serial number. + +::: + + +## Commanding the Robot + +To command a robot, we provide action interfaces that are defined in our Autonomy API. +Below, are the `action_name`, `action_type`, and `pkg_name` for each required action. +The user is then able to write their own C++ or Python action client using this +information. + +### Start a mission + +| | | +| :---------------------- | :--------------| +| `action_name` | autonomy/network_mission | +| `pkg_name` | clearpath_navigation_msgs | +| `action_type` | ExecuteNetworkMissionByUuid | + +### Start a Mission from a specific goal + +| | | +| :---------------------- | :--------------| +| `action_name` | autonomy/network_mission_from_goal | +| `pkg_name` | clearpath_navigation_msgs | +| `action_type` | ExecuteNetworkMissionFromGoal | + + +### Send the robot to a location in the map + +| | | +| :---------------------- | :--------------| +| `action_name` | autonomy/network_goto | +| `pkg_name` | clearpath_navigation_msgs | +| `action_type` | ExecuteNetworkGoTo | + +### Send the robot to a point of interest (POI) + +| | | +| :---------------------- | :--------------| +| `action_name` | autonomy/network_goto_poi | +| `pkg_name` | clearpath_navigation_msgs | +| `action_type` | ExecuteNetworkGoToPOI | + +## Docking the robot + +### Local docking + +| | | +| :---------------------- | :--------------| +| `action_name` | autonomy/local_dock | +| `pkg_name` | clearpath_navigation_msgs | +| `action_type` | Dock | + +### Local undocking + +| | | +| :---------------------- | :--------------| +| `action_name` | autonomy/local_undock | +| `pkg_name` | clearpath_navigation_msgs | +| `action_type` | Undock | + +`action_name`: autonomy/local_undock + +`pkg_name`: clearpath_dock_msgs + +`action_type`: Undock + +### Network docking + +| | | +| :---------------------- | :--------------| +| `action_name` | autonomy/network_dock | +| `pkg_name` | clearpath_navigation_msgs | +| `action_type` | NetworkDock | + +## Navigation Control + +### Pause navigation + +| | | +| :---------------------- | :--------------| +| `service_name` | control_selection/pause | +| `pkg_name` | std_srvs | +| `service_type` | SetBool | + +### Resume navigation + +| | | +| :---------------------- | :--------------| +| `service_name` | control_selection/resume | +| `pkg_name` | std_srvs | +| `service_type` | SetBool | + +### Stop all autonomy actions + +| | | +| :---------------------- | :--------------| +| `service_name` | autonomy/stop| +| `pkg_name` | std_srvs | +| `service_type` | Trigger | + +## [Action Client (C++)](https://docs.ros.org/en/jazzy/Tutorials/Intermediate/Writing-an-Action-Server-Client/Cpp.html#writing-an-action-client) +```cpp +#include "action_tutorials_interfaces/action/fibonacci.hpp" + +#include "rclcpp/rclcpp.hpp" +#include "rclcpp_action/rclcpp_action.hpp" +#include "rclcpp_components/register_node_macro.hpp" + +... + using = action_tutorials_interfaces::action::; + using GoalHandle = rclcpp_action::ClientGoalHandle; + +... + this->client_ptr_ = rclcpp_action::create_client<>( + this, ); + +... + auto goal_msg = ::Goal(); + auto send_goal_options = rclcpp_action::Client<>::SendGoalOptions(); + +... + this->client_ptr_->async_send_goal(goal_msg, send_goal_options); +``` + +## [Action Client (Python)](https://docs.ros.org/en/jazzy/Tutorials/Intermediate/Writing-an-Action-Server-Client/Py.html#writing-an-action-client) + +```python +from .action import + +... + + self._action_client = ActionClient(self, , ) + +... + goal_msgs = .Goal() + self._action_client.wait_for_server() + self._action_client.send_goal_async(goal_msg) +``` + + +## Terminal Command-line + +In order to command the robot from the command-line, you will need to run the +following command, where the `--feedack` argument will allow the user to view +the action feedbacks message: + +```bash +ros2 action send_goal --feedback +``` + +The `values` are based on the actions message type. diff --git a/outdoornav_user_manual_versioned_docs/version-2.1.0/api/api_overview.mdx b/outdoornav_user_manual_versioned_docs/version-2.1.0/api/api_overview.mdx new file mode 100644 index 000000000..92e2c2735 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.1.0/api/api_overview.mdx @@ -0,0 +1,129 @@ +--- +title: API Overview +sidebar_label: 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. + +The API is, at present, a [ROS 2 Jazzy](https://docs.ros.org/en/jazzy/index.html) API. +The API is divided into two sections, whose details are provided below: + +- [Autonomy API](./api_endpoints/autonomy_api): 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 Subscribed to by Autonomy](./api_endpoints/autonomy_api.mdx#autonomy-subscribers): + The set of [ROS Topics](http://wiki.ros.org/Topics) + subscribed to by OutdoorNav Software, typically published by the + client for directing OutdoorNav operation. + - [Topics Published by Autonomy](./api_endpoints/autonomy_api.mdx#autonomy-publishers): + The set of [ROS Topics](http://wiki.ros.org/Topics) published by + OutdoorNav Software, to be subscribed to by the UGV. + - [Services Exported by Autonomy](./api_endpoints/autonomy_api#autonomy-services): + 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#autonomy-actions): + 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): The set of [ROS + Services](http://wiki.ros.org/Services) that are used for creating, deleting, + and modifying OutdoorNav Missions +- [API Examples](./api_examples/api_examples_overview): Example code to come. + + +## QoS Profiles {#qos-profiles} + +Topics and services in ROS 2 use Quality of Service (QoS) profiles to change communication policies. The QoS profile +of a topic or service has several policies such as history, depth, reliability, durability, and more. For more details on +QoS settings, visit the [ROS 2 documentation](https://docs.ros.org/en/jazzy/Concepts/About-Quality-of-Service-Settings.html). + +For Clearpath platforms, the main policies that may change between different topics and services are reliability and durability. For reliability +there are two options: _Best Effort_, and _Reliable_. A _Best Effort_ reliability suggests that an attempt will be made to publish +the data, but if the network is not robust then the data may be lost. On the other hand, _Reliable_ guarantees that the data will be received. +This may require that the data be sent multiple times. + +The durability of a QoS profile can be either _Transient Local_ or _Volatile_. _Transient Local_ means that data for published messages will +be stored by the publisher even after it has been published. A new subscriber will receive the data even if a lot of time has passed since it was originally published. +This durability is typically used for data that only needs to be published once, such as the robot description. The other durability policy is _Volatile_ which does not +store old messages. The messages are published and only active subscribers will receive the data. New subscribers will have to wait for the next message to be published. +Most topics will use a _Volatile_ durability policy. + +It is important to check for [QoS compatibility](https://docs.ros.org/en/jazzy/Concepts/Intermediate/About-Quality-of-Service-Settings.html#qos-compatibilities) when interacting with ROS 2. +Mixing of QoS policies when publishing or subscribing to topics can lead to incompatibility. For example, subscribing to a Best Effort publisher with a Reliable subscriber +is not compatible and will result in no data being received on the subscriber. The easiest way to check the QoS profile of a topic is to use the ROS 2 command line interface. + +``` +ros2 topic info /topic_name -v +``` + +## Common QoS profiles {#common-qos-profiles} + +The following are some common QoS profiles used by Clearpath platforms. + +### System Default + +- **History**: _Keep Last_ +- **Depth**: _10_ +- **Reliability**: _Reliable_ +- **Durability**: _Volatile_ +- **Deadline**: _System Default_ +- **Lifespan**: _System Default_ +- **Liveliness**: _Automatic_ +- **Lease Duration**: _System Default_ + +The _System Default_ QoS profile is the most common profile used by most topics. + +### Sensor Data + +- **History**: _Keep Last_ +- **Depth**: _5_ +- **Reliability**: _Best Effort_ +- **Durability**: _Volatile_ +- **Deadline**: _System Default_ +- **Lifespan**: _System Default_ +- **Liveliness**: _Automatic_ +- **Lease Duration**: _System Default_ + +The _Sensor Data_ QoS Profile uses a _Best Effort_ reliability to send the latest data +as soon as possible, without bothering to resend data that was not received. This is mostly used +by the MCU and sensor drivers. + +:::note + +Not all sensor drivers use this QoS profile. Always check the QoS profile before trying to subscribe to the topic. + +::: + +### Transient Local + +- **History**: _Keep Last_ +- **Depth**: _10_ +- **Reliability**: _Reliable_ +- **Durability**: _Transient Local_ +- **Deadline**: _System Default_ +- **Lifespan**: _System Default_ +- **Liveliness**: _Automatic_ +- **Lease Duration**: _System Default_ + +The _Transient Local_ QoS Profile offers a _Transient Local_ durability, and is typically used by topics that only +want to send messages once. For Clearpath platforms, this includes the robot description topic and the `/rosout` topic +which offers system logs. + +## Namespacing + +Namespacing is the method of adding a prefix to a robot's nodes and topics; this helps differentiate them from another robot that +may be on the same network. For example, every robot will have a `cmd_vel` topic for commanding velocity. If both robots +used the same topic, then they would both drive when a message is published to that topic. By namespacing, we can remap the topic +to `robot1/cmd_vel` and `robot2/cmd_vel` for each respective robot. + +By default, the namespace of the robot will be obtained from the serial number of the robot. If your serial number is `cpr-a300-00001`, then your namespace +will be `a300_00001`. This can be overwritten in the [robot.yaml](../../../docs/ros/config/yaml/overview) file. diff --git a/outdoornav_user_manual_versioned_docs/version-2.1.0/faq.mdx b/outdoornav_user_manual_versioned_docs/version-2.1.0/faq.mdx new file mode 100644 index 000000000..ae2cf7eba --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.1.0/faq.mdx @@ -0,0 +1,65 @@ +--- +title: Frequently Asked Questions +sidebar_label: Frequently Asked Questions +sidebar_position: 11 +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 through the web user interface or through the ROS 2 API. + +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?** + + OutdoorNav 2.0.0+ is developed in ROS 2 (and is built in Docker containers on top of ROS 2 Jazzy), + so the recommended ROS version is ROS 2 Jazzy. Previous versions of OutdoorNav were based on ROS 1, + but those versions are no longer supported. + +4. **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. **Can I use OutdoorNav without using the UI?** + + We empower customers to send mission via either the UI or our [ROS 2 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. + +## Web User Interface + +1. **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. + +2. **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). diff --git a/outdoornav_user_manual_versioned_docs/version-2.1.0/index.mdx b/outdoornav_user_manual_versioned_docs/version-2.1.0/index.mdx new file mode 100644 index 000000000..3d1655b95 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.1.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-2.1.0/installation/_category_.json b/outdoornav_user_manual_versioned_docs/version-2.1.0/installation/_category_.json new file mode 100644 index 000000000..2ffaa1571 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.1.0/installation/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Installation", + "position": 10 +} diff --git a/outdoornav_user_manual_versioned_docs/version-2.1.0/installation/overview.mdx b/outdoornav_user_manual_versioned_docs/version-2.1.0/installation/overview.mdx new file mode 100644 index 000000000..f836cbdbc --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.1.0/installation/overview.mdx @@ -0,0 +1,21 @@ +--- +title: Installation +sidebar_label: Installation +sidebar_position: 1 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +As of version 2.0.0, the OutdoorNav software uses ROS 2 Jazzy as its base. It is incompatible +with any other previous version of ROS. If you have a base platform running an older version +of ROS 2, consult [the following page](../../../docs/ros/installation/upgrading) to upgrade your +base to ROS 2 Jazzy. If you have a base platform running ROS 1, please reach out to +\ in order to receive instructions to install the correct +version. + +## Installing OutdoorNav Updates + +All AMP/Observer UGVs ship with the latest version of the OutdoorNav software. +If you receive an email regarding an available OutdoorNav software update, follow +the [update instructions](updates) to update the OutdoorNav software. + diff --git a/outdoornav_user_manual_versioned_docs/version-2.1.0/installation/updates.mdx b/outdoornav_user_manual_versioned_docs/version-2.1.0/installation/updates.mdx new file mode 100644 index 000000000..7aca7f4e5 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.1.0/installation/updates.mdx @@ -0,0 +1,102 @@ +--- +title: Installing Updates +sidebar_label: Installing Updates +sidebar_position: 1 +toc_min_heading_level: 4 +toc_max_heading_level: 4 +--- + +The following page details the steps to update the OutdoorNav software that is already +installed on your platform. + + +:::note + +Please ensure that you have received an email advising you that an update is available +since only those who receive the update emails will be have access to the update files. + +::: + +## Download + +1. Click the link that was sent to you in the update email. You will be sent to a cloud storage +drive with the following file structure (/Documents/General/Releases/...) + +2. Navigate to the version folder you wish to update to and download the following files: + + - **cpr-onav-ui.tar** + + - **cpr-onav-base.tar** + + - **cpr-onav-autonomy.tar** + + - **cpr-onav-app.zip** + +3. Connect to the robot + + Option 1: via ethernet (port located inside of the rear charge port door) + + Option 2: via wifi (Husky SSID: cpr_a300_amp_xxx) + +4. Transfer all files to the robots **/opt/onav/** folder + + **Linux**: + + ```code + scp cpr-onav-app.zip cpr-onav-ui.tar cpr-onav-base.tar cpr-onav-autonomy.tar robot@192.168.131.1:/opt/onav/ + ``` + + **Windows**: Use [FileZilla Client](https://filezilla-project.org/download.php?platform=win64) to transfer all files to the robot. + + SFTP Connection: + + * Host: sftp://192.168.131.1 + + * Username: robot + + * Password: clearpath + + +## Update + +1. Run the below command to update the version of OutdoorNav, where +***\*** is the folder of the last version of OutdoorNav that +has been installed on the robot and ***\*** is the version you want +to update to. + + ```code + python3 /opt/onav//app/update/update.py -v + ``` + + Eg. To update from version 2.1.0 to version 2.2.0 run the following + + ```code + python3 /opt/onav/2.1.0/app/update/update.py -v 2.2.0 + ``` + + * this will create a new version folder in /opt/onav/ + + * copy all persistent data from the last version + + * installs the app folder + + * stops the currently running version of OutdoorNav + + * starts the new version of OutdoorNav + + +## Cleanup + +1. Remove all extraneous files + + ```code + rm /opt/onav/cpr-onav-ui.tar /opt/onav/cpr-onav-base.tar /opt/onav/cpr-onav-autonomy.tar /opt/onav/cpr-onav-app.zip + ``` + +:::note + +If you have made any customization changes to the **app/** directory of your +previous version, you will need to make these same modifications manually +yourself to the new versions app/ directory files. + +::: \ No newline at end of file diff --git a/outdoornav_user_manual_versioned_docs/version-2.1.0/overview/_category_.json b/outdoornav_user_manual_versioned_docs/version-2.1.0/overview/_category_.json new file mode 100644 index 000000000..8414dc7f2 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.1.0/overview/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Overview", + "position": 4 +} diff --git a/outdoornav_user_manual_versioned_docs/version-2.1.0/overview/overview_introduction.mdx b/outdoornav_user_manual_versioned_docs/version-2.1.0/overview/overview_introduction.mdx new file mode 100644 index 000000000..21a17e203 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.1.0/overview/overview_introduction.mdx @@ -0,0 +1,79 @@ +--- +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. + +## Key Features + +Key features of OutdoorNav Software include: + +- Mission Planning and Autonomous Navigation + + - Robust GPS-based localization with sensor fusion of camera, IMU, LiDAR + and platform odometry + - Autonomous path following through a network of paths + - 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 + +- 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 autonomy API + +- 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 diff --git a/outdoornav_user_manual_versioned_docs/version-2.1.0/overview/overview_operating_conditions.mdx b/outdoornav_user_manual_versioned_docs/version-2.1.0/overview/overview_operating_conditions.mdx new file mode 100644 index 000000000..072e31800 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.1.0/overview/overview_operating_conditions.mdx @@ -0,0 +1,113 @@ +--- +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 + +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. With +standard sensors: + +- Location accuracy (position & heading): Less than 5 cm and less than 2° +- Path tracking accuracy (approximate): 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. | +| 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 3D LiDARs. Obstacle detection and avoidance may not function in all weather conditions and must be disabled to navigate in heavy snow or rain. | +| 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. | +| 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. | diff --git a/outdoornav_user_manual_versioned_docs/version-2.1.0/overview/overview_scope.mdx b/outdoornav_user_manual_versioned_docs/version-2.1.0/overview/overview_scope.mdx new file mode 100644 index 000000000..5b741ff5c --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.1.0/overview/overview_scope.mdx @@ -0,0 +1,13 @@ +--- +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). \ No newline at end of file diff --git a/outdoornav_user_manual_versioned_docs/version-2.1.0/quick_start/_category_.json b/outdoornav_user_manual_versioned_docs/version-2.1.0/quick_start/_category_.json new file mode 100644 index 000000000..6a14af931 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.1.0/quick_start/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Quick Start", + "position": 5 +} diff --git a/outdoornav_user_manual_versioned_docs/version-2.1.0/quick_start/quick_start.mdx b/outdoornav_user_manual_versioned_docs/version-2.1.0/quick_start/quick_start.mdx new file mode 100644 index 000000000..673d4f125 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.1.0/quick_start/quick_start.mdx @@ -0,0 +1,204 @@ +--- +title: Quick Start +sidebar_label: Quick Start +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. + +## Connect to Web UI {#connecting_to_web_ui} + +1. Ensure that the UGV is powered on. +1. If the optional Base Station is included, ensure that it is powered on. +1. If using a custom networking configuration, ensure that the custom + networking setup on the UGV is complete. +1. Connect your computer to the same wifi network as the UGV, then open the + Chrome browser on your computer and load the OutdoorNav Homepage. + + - Option 1 (easiest): No base station, computer connected to UGV's + wifi access point (eg. cpr_a300_amp_00009) + - OutdoorNav homepage: https://192.168.131.1 + - Option 2: No base station, UGV and computer connected to the same + (external) wifi access point + - OutdoorNav homepage: + - if DNS is working on the wifi network, use the robot's hostname (eg. https://cpr-a300-00009) + - if DNS is not working on the wifi network, check the IP address of the UGV's computer and use it + - Option 3: Base station, UGV and computer connected to base station + - OutdoorNav homepage: use the IP address that was noted on the documentation + that shipped with the robot + +1. Click to accept 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. + +
+
+ +
Web UI Mission Planning View
+
+
+ +## Check Camera Views {#checking-camera-feeds} + +When your system includes cameras, the live view from each camera is shown on the right side +of the OutdoorNav Homepage. Clicking on a camera view will maximize it on the screen. +Cycle through each camera view and confirm that it is providing live updates. + +Refer to [Camera Views](../web_user_interface/ui_overview#camera-views) for more details. + +
+
+ +
Web UI Front Camera View
+
+
+ +## Check System Status {#checking-system-status} + +Access **Menu** → **TOOLS** → **Status Monitor** to display the system status. + +Make note of any issues and correct those before proceeding. + +
+
+ +
Web UI Status Monitor (showing warnings on IMU status and Wheelspeed)
+
+
+ +## Check 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), +DIR (heading), and FUS (sensor fusion) GPS status indicators on the UI +should be green: . + +:::note + +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 clearer visibility to satellites. + +If your robot is not equipped with a Base Station, a separate data +source is required to obtain a GPS fix. Contact [Support](../support) +for additional details. + +::: + +## Complete the System Configuration {#system_config} + +### Load 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. + +### Set Dock Location + +:::note + +If the Clearpath Robotics autonomous docking package has been included, +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. + +::: + +
+
+ +
Husky A300 Autocharge Dock
+
+
+ +
Husky A300 at 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 wait for the system to finish booting. + +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. + +3. Let the UGV sit in this position for 2 minutes to acquire an RTK GPS + fix. The POS (position), DIR (heading), and FUS (sensor fusion) GPS status indicators on + the UI should be green: . + + :::note + + 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, **Menu** → **SETTINGS** → **Add New Dock Location**. + 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. + +## Create Your First Map + +1. Ensure that the UI is in "Map Edit Mode": + → + . +1. Open the drop down menu in the bottom bar (left-side) and select the "Add Map" option. +1. Start placing points and building paths. (A map will be created with the default settings.) + +For more details, refer to [Map Creation](../web_user_interface/ui_map_mode#mapCreation). + +## Create Your First Mission + +1. Ensure that the UI is in "Mission Edit Mode": + → + . +1. Open the drop down menu in the bottom bar (right side) and select the "Add Mission" option. +1. Select the "Goalpoint Mode" button. +1. Click on the map to add a goalpoint. +1. Confirm that a preview path is shown on the map. + +For more details, refer to [Mission Creation](../web_user_interface/ui_map_mode#missionCreation). + +## Execute Your First Mission + +1. In the bottom bar of the UI, click the "Play" button . +1. Confirm that the "Play" button has turned green, which indicates that the mission has started. + +For more details, refer to [Mission Execution](../web_user_interface/ui_map_mode#missionExecution). diff --git a/outdoornav_user_manual_versioned_docs/version-2.1.0/release_notes.mdx b/outdoornav_user_manual_versioned_docs/version-2.1.0/release_notes.mdx new file mode 100644 index 000000000..16b9dc0d5 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.1.0/release_notes.mdx @@ -0,0 +1,392 @@ +--- +title: Release Notes +sidebar_label: Release Notes +sidebar_position: 2 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +import Style from '/assets/css/changelog.css'; + +
+ +## 2.0.0 + +### New Features + +- First release with ROS 2 Jazzy support + +### API Changes + +- Many changes as part of the migration to ROS 2; not backwards compatible with earlier releases + +### Bug Fixes + +- N/A + +### Known Issues + +- None + +## 0.14.0 + +### New Features + +- Added in the ability to connect a PS4 controller to the UI directly. +- Improved the PTZ Controls, allowing users to move via a draggable interface, + box selection or double clicking. +- System Watchdogs can now be added to the UGV to + allow for safeguards to be put in place depending on the needs of the user. + +### API Changes + +- Added new message definitions and service calls for watchdogs + +### Bug Fixes + +- 2532: Wireless Connection adaptor not publishing + +### 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 +- 2525: Path Previewer has issues cleaning up upon completion in mission less states + +## 0.13.0 + +### New Features + +- Points of Interest can now be added either + through the UI or through the API to specify locations/objects of interest that + are persistent. +- Execution Logs are now recorded and stored on the UGV. + These logs record all mission data, images, video/audio recordings as well as telemetry + and GPS data. Details of the logs can be viewed through the UI or you can access the file browser. +- Reformatted the UI menu. +- Updated UI layout. Map editing, tables and zooming features now in new location on UI. + Moved from bottom bar to left bar. +- Added layers to UI for user customized views. + +### API Changes + +- Added new message definitions and service calls for points of interest +- Added new message definitions and service calls for execution logging + +### Bug Fixes + +- 2332: upgrading from 0.11 to 0.12.0 in teleoperation only configuration and Q62 + installed causes duplication of axis driver. Please contact [Support](./support.mdx) + if you run into this issue. +- 2344: Autonomy not going down during low-power mode +- 2360: Waypoint/Map modes use different mouse click to open context menus + +### 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 +- 2532: Wireless Connection adaptor not publishing +- 2525: Path Previewer has issues cleaning up upon completion in mission less states + +## 0.12.0 + +### New Features + +- Modified mission planning modes. Now includes: + - Map mode (which allows the user to create maps of an environment + and send mission using said map) + - Waypoint mode (which allows the user to create more direct mission + by placing waypoints directly on the Aerial overlay) +- Added an Assisted teleoperation feature to prevent robot collisions with + obstacles when it is being teleoperated. +- Added the upgrade command to the CLI tool. Customers can now upgrade their + software as long as they are eligible to be upgraded to the newest version. + Please contact [Support](./support.mdx) for more information. +- New visualization of status command in CLI tool +- Added a filebrowser extension to access/view the robot filesystem for easier + media access + +### API Changes + +- Added new message definitions and service calls for the storage/editing of Maps + +### Bug Fixes + +- 1973: Fixed python “machineid” error during installation +- 2089: Fixed the no serial number on /platform/id topic +- 2169: Fixed the mission manager/scheduler still requesting during Teleop only mode + +### 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 +- 2332: upgrading from 0.11 to 0.12.0 in teleoperation only configuration and Q62 + installed causes duplication of axis driver. Please contact [Support](./support.mdx) + if you run into this issue. +- 2344: Autonomy not going down during low-power mode +- 2360: Waypoint/Map modes use different mouse click to open context menus + +## 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 Changes + +- 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 Changes + +- Action definition changes + - 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 +- 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 +- 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 +- If installed with PDU, UGV can be set to Low Power mode to better conserve power +- New navigation topics added to ROS Autonomy API: + - /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. + - 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. +- Added re-localization service. +- 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. + 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-2.1.0/safety.mdx b/outdoornav_user_manual_versioned_docs/version-2.1.0/safety.mdx new file mode 100644 index 000000000..3f2d66458 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.1.0/safety.mdx @@ -0,0 +1,139 @@ +--- +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. + +- 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-2.1.0/support.mdx b/outdoornav_user_manual_versioned_docs/version-2.1.0/support.mdx new file mode 100644 index 000000000..b9dc2da68 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.1.0/support.mdx @@ -0,0 +1,11 @@ +--- +title: Support +sidebar_label: Support +sidebar_position: 12 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +import OutdoorNavSupport from "/components/support_outdoornav.mdx"; + + diff --git a/outdoornav_user_manual_versioned_docs/version-2.1.0/tools/_category_.json b/outdoornav_user_manual_versioned_docs/version-2.1.0/tools/_category_.json new file mode 100644 index 000000000..35283c57f --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.1.0/tools/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Tools", + "position": 9 +} diff --git a/outdoornav_user_manual_versioned_docs/version-2.1.0/tools/docker_logs.mdx b/outdoornav_user_manual_versioned_docs/version-2.1.0/tools/docker_logs.mdx new file mode 100644 index 000000000..958a2c875 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.1.0/tools/docker_logs.mdx @@ -0,0 +1,25 @@ +--- +title: Docker Logs +sidebar_label: Docker Logs +sidebar_position: 1 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +We have enabled the ability to view, through a web browser, the logs of all of the +running docker images on the system. All of the docker images that are related to +OutdoorNav are prefixes with the tag `app-`. To access the logs, either open the user +interface, access the **Menu** → **Tools** → **Docker Logs** or navigate to the +following [URL](http://192.168.131.1/_/logs). + +
+
+ +
Docker logs (Dozzle)
+
+
+ +The docker logs are enabled using a software called [Dozzle](https://dozzle.dev/). diff --git a/outdoornav_user_manual_versioned_docs/version-2.1.0/tools/file_browser.mdx b/outdoornav_user_manual_versioned_docs/version-2.1.0/tools/file_browser.mdx new file mode 100644 index 000000000..56b470170 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.1.0/tools/file_browser.mdx @@ -0,0 +1,24 @@ +--- +title: File Browser +sidebar_label: File Browser +sidebar_position: 2 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +We have enabled the ability to view, through a web browser, the robot filesystem +for the specific version that is running. To access the file browser, either open the user +interface, access the **Menu** → **File** → **File Browser** or navigate to the +following [URL](http://192.168.131.1/_/files). + +
+
+ +
File Browser
+
+
+ +The file browser is enabled using a software called [File Browser](https://filebrowser.org/). diff --git a/outdoornav_user_manual_versioned_docs/version-2.1.0/tools/foxglove_visualization.mdx b/outdoornav_user_manual_versioned_docs/version-2.1.0/tools/foxglove_visualization.mdx new file mode 100644 index 000000000..ba6a04622 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.1.0/tools/foxglove_visualization.mdx @@ -0,0 +1,28 @@ +--- +title: Foxglove Visualization +sidebar_label: Foxglove Visualization +sidebar_position: 3 +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +We have enabled Foxglove visualization as part of OutdoorNav, for improved debugging +and data visualization and analysis. To access the Foxglove visualization interface for +standard OutdoorNav configurations, access the **Menu** → **Tools** → +**Foxglove Visualization** or navigate to the following [URL](http://192.168.131.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 use it, please consult the [Foxglove documentation](https://foxglove.dev/docs/studio). diff --git a/outdoornav_user_manual_versioned_docs/version-2.1.0/web_user_interface/_category_.json b/outdoornav_user_manual_versioned_docs/version-2.1.0/web_user_interface/_category_.json new file mode 100644 index 000000000..31b780353 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.1.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-2.1.0/web_user_interface/ui_manual_mode.mdx b/outdoornav_user_manual_versioned_docs/version-2.1.0/web_user_interface/ui_manual_mode.mdx new file mode 100644 index 000000000..62f4f4d4a --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.1.0/web_user_interface/ui_manual_mode.mdx @@ -0,0 +1,73 @@ +--- +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 +--- + +## Manual Mode Overview + +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. **User Connections:** Shows the number of users connected to OutdoorNav. +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. Four fixed direction buttons are + now present to move the UGV in purely forward/reverse directions or + clockwise/counter-clockwise. Finally, we overlay an obstacle map + on top of the joystick, representing obstacle distances from the + UGV. +3. **Speedometer:** An indicator of the UGV's current linear speed. +4. **Sensitivity Scale:** A UGV-specific scale that controls the + maximum allowable UGV velocities at each level. The default maximum + linear velocity is 1.0 meters per second and the maximum angular + velocity is 0.5 radians per second. These can be changed in the + [General Settings](./ui_overview.mdx#config-general-settings) page. + The scale levels are 100%, 80%, 50% and 20%, with the default set + to 80%. +5. **UI Lockout:** The lockout toggle that will prevent the Joystick from + sending commands to the UGV. The purpose of this is to help prevent + unwanted users from teleoperating the UGV. This feature + does not lock out the controller connected to the robot. + +## Remote Controller Connection + +If the user has a PS4 controller they can connect it to the UI directly. This +will allow user drive the UGV the same way as the controller thats connected +directly to the UGV. The controller will only function provided the UI window +is in focus. Users can also see if other connections have a controller connected +by expanding the User Connections icon as seen below. + +
+
+ +
Users connected to the UGV's UI Interface
+
+
+ +## 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 and be cautious when driving the UGV with larger delay for +risk of crashing into obstacles. diff --git a/outdoornav_user_manual_versioned_docs/version-2.1.0/web_user_interface/ui_map_mode.mdx b/outdoornav_user_manual_versioned_docs/version-2.1.0/web_user_interface/ui_map_mode.mdx new file mode 100644 index 000000000..1c44916d9 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.1.0/web_user_interface/ui_map_mode.mdx @@ -0,0 +1,362 @@ +--- +title: Web UI Map Mode +sidebar_label: Web UI Map 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 Operator 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 Map Mode of OutdoorNav Software uses a set of robotic +navigation modules that allows the Operator(s) to define driveable paths and +then execute missions using these maps. The UGV leverages these paths +along with specified goal points to calculate a route. Operators can +define one-way or two-way paths, speed limits for paths, allowable +deviation distances from the paths and cost factors for each path. + +## Definitions {#definitions} + +The list below defines what a "Map" and "Mission" are in relation to the Map mode view. The list also includes +their relevant components. These terms are referred to throughout this page. + +- **Mission** A Mission is a set of one or more Goalpoints. +- **Map** An Operator created map that goes over the aerial view and is used to define valid driveable + areas for a mission. +- **Point** A map point used to help define a path. +- **Path** A connection between two points that the UGV can travel along for missions. Can be defined as + one way or two way. +- **Goalpoint** A Goalpoint is a mission relevant geographical point referenced by its + position relative to the datum in meters. These points are travelled to as part of the Mission. +- **Task** A Task is an automated activity or wait time implemented as + a ROS action at a specific event or Goalpoint. +- **GoToPoint** A Goalpoint that is independent of a mission. This point is meant to be a one off + position to send the UGV to. +- **Ghost point** A transparent point that is not part of the map. This + point appears between two other points when in map edit mode. The Operator can + drag and drop this ghost point to split a path. The newly created paths will + keep the same properties as the path that was split (speed limit, cost factor, etc. ) + +## Map Mode Bottom Bar + +
+
+ +
Map Mode Bottom Bar
+
+
+ +1. **Map List:** Contains the list of Maps that Operator(s) have + created. The system also performs a health check of the map + to ensure that the UGV can't get into a stuck state. This is + shown with various icons by the map's name. + + - Valid Map: Every path is reachable within the map and the UGV should not become trapped. + + - Disconnected Points: + The map contains points that will trap the UGV if it navigates to it. The best example of these are one-way paths that lead to dead ends. + + - Disconnected Maps: + There are groups of paths that are not connected and are treated as separate maps. This may be desired by the Operator but it can lead to situations where the UGV has sections that aren't navigable.{" "} + +2. **Path Type Button:** The Path connection button that is used to set the type of path being connected between + points (one-way/two-way). When in connection mode the button will be highlighted. To disable connection mode click the button or + press the ESC key. + +3. **Point Drop Button:** Drops a point at the UGV's current location. This action can also be accomplished by pressing Shift + P. + +4. **Mission List** Contains the list of Missions that Operator(s) have created. + +5. **Goalpoint Drop Button:** The Goalpoint indicator marker on the + bottom bar allows the Operator to place a Goalpoint at the location of the UGV. + This action can also be triggered by using the shortcut key combination Shift + X. + +## Map Creation {#mapCreation} + +Before creating a mission the Operator will need to first create a map that the UGV can use +to generate paths. First ensure that the UI is in "Map Edit Mode" (select the pencil icon in the bottom bar next to +the map selection drop down). Open the drop down menu and select the "Add Map" option. From here the Operator can create +a new map from scratch, clone the current map that is open or import a previously exported map. Once created the Operator can +start placing points and building paths. If there are no maps in the system the Operator can also start placing points and the +system will automatically create a map for them with default settings. + +### Map Points + +To add points to the map, ensure that the UI is still in "Map Edit Mode" and click on the map. This will +add a point to the map and also trigger the "Connection Mode". The path type button (one-way/two-way) will +turn blue to indicate that the next point that is added will be connected to the previously created point. +An Operator may cancel this connection by pressing the ESC key or by clicking the path type button. Points can be +dragged and dropped to adjust their positions. To delete a point, right click the point and select Delete. + +While in edit mode, Ghost points will appear in the center of each path that can be dragged and dropped to split the +path. + +### Map Paths + +Paths are generally added as part of the Point placement process as mentioned above. However, there may be +cases where an Operator would like to connect existing points. To accomplish this, simply exit out of connection mode +then click on the existing points. Once the first point is clicked on, connection mode will be re-established with +the previously clicked point as the starting location. + +As paths are added they will be visible in the Map properties table, along with their relevant details. To edit a +path's details an Operator can simply right click on the path or select the gear icon for the specific path in the table. +This will open an overlay on the map that will allow the Operator to edit both one-way paths and two-way paths. In the +case of two-way paths users can keep both ways in sync with each other or vary the properties depending on the +direction. + +
+
+ +
Editing a two-way path that's in sync
+
+
+ +### Map Panel + +
+
+ +
Map Panel
+
+
+ +Enable the "Map Panel" toggle to open the details of the current map. This table will +show the maps current default settings, the "Network Path Recorder" and the general +map details. The Operator can modify the maps name, default path properties and edit path's through this +view. + +### Rename Map + +To rename the Map click the Map 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. + +### Map Defaults + +When adding paths the map uses defined default values to set the maximum driving radius +and speed limit. If an Operator wishes to adjust these defaults this can be done here. This will +only affect paths created after the changes have been made. + +### Network Path Recorder + +An Operator can start a path recorder to place map points based on the UGV's position as it drives. +As the UGV drives a preview path will be generated to show generally where the path will be placed. +The Operator can then choose to save the path which will generate the relevant points and paths or cancel +the recording which will remove the preview. + +### Map Details + +The general map details includes the total number of points as well as a table that highlights each +path within the map. Operators can delete paths or edit paths through this table as needed. If a path is +one-way it will show a directional arrow next to it. Two-way paths are shown as a single row unless they +are out of sync regarding their cost factor, speed limit or maximum driving radius. + +## Mission Creation {#missionCreation} + +To create a new Mission first ensure that the UI is in "Mission Edit Mode" ( +select the rightmost 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 Operator to create a new Mission +which can then be defined with Goalpoints. + +### Goalpoint Mode + +To add new Goalpoints to a Mission while edit mode is enabled select the +"Goalpoint Mode" button. This will allow the Operator to place Goalpoints at +locations where the Operator clicks on the map. These will appear as a circle +with an arrow pointing in the direction the UGV will face upon arriving +at the Goalpoint. The arrow can be rotated by holding the CTRL key and dragging +the Goalpoint to the new direction. It can also be modified through the Mission Panel's Goalpoint Advanced Settings. +When not holding the CTRL key the Goal point can be dragged and dropped +to new locations in the same way as map Points. + +### Preview Path + +
+
+ +
Mission Path Preview
+
+
+ +As Goalpoints are placed on the map the system will generate a path preview based on the UGV's +location and the order the Goalpoints are placed in. This can be used to help determine the +general route the UGV will attempt to take. + +:::note + +**In order for the UGV to reach the Goalpoint it must be on a reachable path. The preview path will look like a segmented red line for any points that +the UGV cannot reach.** + +::: + +### Goalpoint Panel + +
+
+ +
Goalpoint Panel
+
+
+ +Enable the "Goalpoint Panel" toggle to open the list of available Goalpoints +within the selected Mission as shown in the figure above. The Operator can +now rearrange the list, add Tasks to the Goalpoints, and modify the final heading +and/or tolerance of each Goalpoint. The Operator can also modify mission properties such +as the mission name, a return to dock threshold, 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. + +### Return to Dock + +An Operator may wish to add a flag to the mission to indicate when and if the UGV should +return to the dock while executing the mission. When enabled, the Operator can input a +battery percentage that once reached the UGV will begin navigating back to the specified +dock or to the closest dock. They can then set the minimum battery life before the UGV +is expected to resume the mission. + +### 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 Goalpoints + +Goalpoints can be rearranged in order of operation in the list. To do this, +enable the "Goalpoints Panel" toggle to access the list of Goalpoints. Here, the +Operator will be able to drag and drop the Goalpoints to reorder them. + +### Add Tasks to Goalpoint {#add-task} + +
+
+ +
Add Task to Goalpoint
+
+
+ +To add a Task to a Goalpoint: + +1. Click the "+" icon (beside the Gear icon) in the Goalpoint 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 Goalpoint icons will be + decorated accordingly depending on the task selected. Goalpoints in the + table will also have a small icon to indicate if tasks are assigned to the + Goalpoint accordingly. + +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 Goalpoint. + If it's not checked, the Mission will become cancelled upon the Task's failure. + +5. Click the Gear icon next to the selected Task to modify or add required Task testings. + +### Advanced Settings + +#### Goalpoint Heading + +When creating a Goalpoint, the Operator has the option of setting a final heading +for the Goalpoint. For example, when creating a Goalpoint at an inspection point, +the Operator may want the UGV to navigate and stop facing a certain +direction. In [Goalpoint Panel](#goalpoint-panel), the list of +Goalpoints can be seen and the advanced settings of each Goalpoint can be accessed +by clicking the "Gear" icon. + +To set the Goalpoint's final heading, the Operator 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 + +Goalpoints that have a heading or tolerance assigned to them will show a different colour +on their settings icon. + +::: + +
+
+ +
Goalpoint Advanced Settings
+
+
+ +This heading is the same heading that is applied to the Goalpoint icon's arrow direction. + +#### Goalpoint Tolerance + +When creating a Mission, the Operator has the option of setting a specific +tolerance for each Goalpoint. By default, the Goalpoint position and orientation +tolerances are 0.3 meters and 180°, respectively. If a specific Goalpoint +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 Goalpoint 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 [Goalpoint Panel](#goalpoint-panel), the list of Goalpoints can be +seen and the advanced settings of each Goalpoint can be accessed by clicking +the "Gear" icon. To set the Goalpoint's tolerance, the Operator will need to +check the "Goalpoint Tolerance Enabled" checkbox and enter the position and +orientation values, in meters and degrees, respectively. + +## Mission Execution {#missionExecution} + +### Start Mission + +In the bottom bar of the UI, the Operator has the ability to start the currently selected Mission by +clicking the "Play" button . + +When a Mission has been started the Play button will turn green. + +### Pause Mission + +At the bottom of the UI, the Operator 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 Operator 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 Operator must PAUSE the active mission if the Operator +wants to teleoperate the UGV. + +### Cancel Mission/Task + +At the bottom of the UI, the Operator 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. + +### Navigate to GoToPoint + +
+
+ +
GoToPoint with preview path
+
+
+ +When a Map has been created a user can right click on a path or a path's driveable area to place a GoToPoint. This +point will be a single point that will also create a small overlay to allow users to start or cancel the "Go To" +execution. Before starting the execution the GoToPoint can be dragged to any driveable area or rotated using the CTRL +key just like with Goalpoints. + +A user can also right click on any Point of Interest that has the "Go To" tag and navigate to it in the same way. diff --git a/outdoornav_user_manual_versioned_docs/version-2.1.0/web_user_interface/ui_overview.mdx b/outdoornav_user_manual_versioned_docs/version-2.1.0/web_user_interface/ui_overview.mdx new file mode 100644 index 000000000..2628753b5 --- /dev/null +++ b/outdoornav_user_manual_versioned_docs/version-2.1.0/web_user_interface/ui_overview.mdx @@ -0,0 +1,510 @@ +--- +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 an 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), File, Settings, Autonomy, Tools, and Help. + +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), heading (DIR + indicator), and sensor fusion (FUS 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. **Views List:** A dropdown list of available views, detailed later + in this section. Some of the available views are Map, and Camera views etc. + +10. **Lights Control:** If the UGV is equipped with software controllable lights they can be + controlled here. + +11. **Mission Execution Buttons:** These buttons allow users to Start, Pause and Stop an + autonomous 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) + +## Map View + +
+
+ +
Map View
+
+
+ +1. **Zoom-to-Robot Button:** This button will zoom the map to where the UGV + is presently located. +2. **Zoom-to-Fit Button:** This button will zoom the map to where there + is activity (ie. where the datum is set or where features have been + set on the map.) +3. **Table Button:** This button opens the Map/Mission table. When in Waypoint Mode it will open the table directly, while in + Map mode it will allow users to select the table to open or open a table based on which mode is being edited. +4. **Edit Mode Buttons:** This button will allow the user to set the current map edit mode. + By clicking the button, a panel opens on the right with the available modes to edit with. +
+
+ +
Edit Modes
+
+
+5. **UGV + Dock:** The robot represents the UGV position, with the red arrow pointing forward. + Its location is its position in the world frame and its orientation is the heading in + the world frame. +6. **Datum (not shown):** 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. + +## Camera Views {#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. **Start/Stop Recording:** This button will start/stop video recording for the + camera and store the video file on the UGV. +5. **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. +6. **Camera Positions List:** Deprecated feature. +7. **Save Camera Position:** Deprecated feature. + +#### Q62 PTZ Features + +
+
+ +
Q62 PTZ Camera Controls
+
+
+ +1. **Virtual PTZ Joystick:** This joystick can be dragged away from the center + of the screen and the camera will follow. The further away from the center + the user drags the joystick, the faster the camera moves. +2. **Q62 Wiper:** Future feature. +3. **Q62 Defogger:** Future feature. +4. **Q62 Infrared:** Future feature. + +The Q62 PTZ Camera has the ability to move the camera in other ways besides the +sliders on the screen. Some of these are shown below in brief video clips. + +
+
+
+
+ +### Front and Back Views + +
+
+ +
Front View
+
+
+ +
+
+ +
Back View
+
+
+ +## Settings {#config-general-settings} + +The settings section can be found accessing **Menu** → **SETTINGS** and allows the user to modify +some settings, both for the UI and the UGV. + +
+
+ +
Settings Page
+
+
+ +### Teleop Settings + +#### Maximum Linear Speed + +The maximum linear speed (forwards/backwards) at which the robot will +be allowed to operate. + +#### Maximum Angular Speed + +The maximum speed at which the robot will be allowed to turn. + +### Map Settings + +#### Coordinate Display Format + +The Operator can change the coordinate space from X/Y relative to the Datum to Latitude/Longitude. + +#### Map Tile Source + +Select between [OpenStreetMap](https://www.openstreetmap.org/), +[MapBox](https://www.mapbox.com/), and Custom map tiles. + +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 for use with +[MapBox](https://www.mapbox.com/) once a suitable map key has been +acquired. It offers a free tier that will be sufficient in +almost all cases. + +##### Using OpenStreetMap Maps + +No key is required to use +[OpenStreetMap](https://www.openstreetmap.org/) maps. + +##### Using MapBox Maps + +Using [MapBox](https://www.mapbox.com/) maps requires a key, which can +then be used by the Web UI. + +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, select **MapBox**. +4. Copy the MapBox key from Step 1 into the input box. +5. Click **Save All Settings**. + +##### 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, 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 + http://localhost:8000/{z}/{x}/{-y}.png. 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 **Save All Settings**. + +##### 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. + +#### Datum Latitude, Datum Longitude + +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. Enter the +new values and click the "Set Datum Position" button. + +### Advanced Settings + +Only adjust these settings if advised to by [Support](../support). + +## Autonomy Features + +To operate the UGV autonomously, use [Map Mode](ui_map_mode.mdx). +The key features of Map Mode are outlined below. + +### Tasks + +When running a mission autonomously the user can assign tasks to various events. These tasks, along with their decoration icons, are found below: + +- Dock Robot: + Will dock the UGV to begin charging the UGV's battery. + +- 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 or by navigating to the Files section in the hamburger menu. + + 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 or by navigating to the Files section in the hamburger menu. + + Settings: Select which camera the recording will come from. + +- Start/Stop Audio Recording: + Will start/stop recording audio using one of the UGV microphone(s) to the /opt/onav/saved_files/media/... folder and can be retrieved using a tool such as FileZilla or by navigating to the Files section in the hamburger menu. + + Settings: Select which microphone 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. + +- 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. + +- Inspect POI: + Will move the PTZ camera to inspect a specified Point of interest. + + Settings: Select the inspectable Point of Interest and enter in the zoom level to use. + +- 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. + +:::note + +If a Waypoint/Goalpoint has more than one task assigned to it, the icon will +be replaced with a sheet of paper icon like so: + +::: + +### Points of Interest + +Points of Interest (POI) can be added onto the map, marking a location or an object that is persistent. +The intended use for the points of interest feature is to allow the +user to set up locations that they know will almost never change and to be able to navigate to and inspect these +locations. + +#### Creating POIs + +To create a POI, ensure that you are in "POI edit mode" (Hotkey, e+4). Click on the map to place your POI and assign +the POI a name. You also have the ability on creation to assign a heading, tags and custom fields (all optional). + +
+
+ +
Point of Interest creation
+
+
+ +#### Editing POIs + +To edit an existing POI, right click the POI and select Edit. This will allow you to modify any of the existing properties +of the POI. If you want to simply modify the heading of a POI, you can use the CTRL hotkey to enable heading modification +and rotate the POI to your desired heading. See video below for an example of the editing the heading of a POI using the +(CTRL hotkey). + +
+
+ +
Rotating a Point of Interests heading
+
+
+ +#### Predefined actions + +If a POI is assigned one of the two predefined tags, `goto` and/or `inspect`, the user will have the ability to perform +some quick actions when they right click the POI. If the POI has a `goto` tag, +the user will see a `Go To` option in the right click options that will autonomously navigate the UGV to the location of +the POI (if it is within the bounds of the current network). If the POI has an `inspect` tag, the user will see an `Inspect` +option in the right click options that will move the PTZ camera to view the POI when clicked. See the below image for an +example of a POI that has both the `goto` and `inspect` tags, and therefore has the `Go To` and `Inspect` action options +when right clicked. + +
+
+ +
Point of Interest actions
+
+
+ +#### Creating Missions from POIs + +If the user wants your UGV to navigate to a set of predefined locations they can create POI's for each of these stops and leverage +them accordingly. By entering the network mission edit mode (hotkey: e+3), the user can simply click on the POIs in order of +traversal to create your network mission. The network goals that are created on each click of a POI will place a Goal at the +exact location of the POI and will also use the heading that has been defined by the POI. + +
+
+ +
Creating a Goal from a POI
+
+
diff --git a/outdoornav_user_manual_versioned_sidebars/version-2.1.0-sidebars.json b/outdoornav_user_manual_versioned_sidebars/version-2.1.0-sidebars.json new file mode 100644 index 000000000..2782dc0f4 --- /dev/null +++ b/outdoornav_user_manual_versioned_sidebars/version-2.1.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 cafb07c59..99f368fc5 100644 --- a/outdoornav_user_manual_versions.json +++ b/outdoornav_user_manual_versions.json @@ -1,4 +1,5 @@ [ + "2.1.0", "2.0.0", "0.14.0", "0.13.0", diff --git a/package-lock.json b/package-lock.json index 1667ba3b9..8537fbdb4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5393,7 +5393,8 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, "node_modules/ccount": { "version": "2.0.1", diff --git a/static/api/html/builtin_interfaces/index-msg.html b/static/api/html/builtin_interfaces/index-msg.html new file mode 100644 index 000000000..a04fbcf1a --- /dev/null +++ b/static/api/html/builtin_interfaces/index-msg.html @@ -0,0 +1,18 @@ + + + + + builtin_interfaces Message / Service / Action Documentation + + + +
+

builtin_interfaces Message Documentation

+ + +
+ + diff --git a/static/api/html/builtin_interfaces/msg/Duration.html b/static/api/html/builtin_interfaces/msg/Duration.html new file mode 100644 index 000000000..cce2aaaa0 --- /dev/null +++ b/static/api/html/builtin_interfaces/msg/Duration.html @@ -0,0 +1,37 @@ + + + + + msg/Duration Documentation + + + +
+

builtin_interfaces/msg/Duration Message

+
+

File: builtin_interfaces/msg/Duration.msg

+

Raw Message Definition

+
+
# Duration defines a period between two time points.

+
# Messages of this datatype are of ROS Time following this design:

+
# https://design.ros2.org/articles/clock_and_time.html

+
+
# The seconds component, valid over all int32 values.

+ int32 sec
+
+
# The nanoseconds component, valid in the range [0, 1e9), to be added to the seconds component.

+
# e.g.

+
# The duration -1.7 seconds is represented as {sec: -2, nanosec: 3e8}

+
# The duration 1.7 seconds is represented as {sec: 1, nanosec: 7e8}

+ uint32 nanosec
+
+

Compact Message Definition

+
+ int32 sec
+ uint32 nanosec
+
+
+ +
+ + diff --git a/static/api/html/builtin_interfaces/msg/Time.html b/static/api/html/builtin_interfaces/msg/Time.html new file mode 100644 index 000000000..d7f63a265 --- /dev/null +++ b/static/api/html/builtin_interfaces/msg/Time.html @@ -0,0 +1,36 @@ + + + + + msg/Time Documentation + + + +
+

builtin_interfaces/msg/Time Message

+
+

File: builtin_interfaces/msg/Time.msg

+

Raw Message Definition

+
+
# This message communicates ROS Time defined here:

+
# https://design.ros2.org/articles/clock_and_time.html

+
+
# The seconds component, valid over all int32 values.

+ int32 sec
+
+
# The nanoseconds component, valid in the range [0, 1e9), to be added to the seconds component.

+
# e.g.

+
# The time -1.7 seconds is represented as {sec: -2, nanosec: 3e8}

+
# The time 1.7 seconds is represented as {sec: 1, nanosec: 7e8}

+ uint32 nanosec
+
+

Compact Message Definition

+
+ int32 sec
+ uint32 nanosec
+
+
+ +
+ + diff --git a/static/api/html/clearpath_control_msgs/index-msg.html b/static/api/html/clearpath_control_msgs/index-msg.html new file mode 100644 index 000000000..6432e8713 --- /dev/null +++ b/static/api/html/clearpath_control_msgs/index-msg.html @@ -0,0 +1,23 @@ + + + + + clearpath_control_msgs Message / Service / Action Documentation + + + +
+

clearpath_control_msgs Message Documentation

+ +

clearpath_control_msgs Service Documentation

+ + +
+ + diff --git a/static/api/html/clearpath_control_msgs/msg/ControlMode.html b/static/api/html/clearpath_control_msgs/msg/ControlMode.html new file mode 100644 index 000000000..765222bae --- /dev/null +++ b/static/api/html/clearpath_control_msgs/msg/ControlMode.html @@ -0,0 +1,34 @@ + + + + + msg/ControlMode Documentation + + + +
+

clearpath_control_msgs/msg/ControlMode Message

+
+

File: clearpath_control_msgs/msg/ControlMode.msg

+

Raw Message Definition

+
+
# Control mode message

+
+ int8 NEUTRAL=0
+ int8 MANUAL=1
+ int8 AUTONOMY=2
+
+ int8 mode
+
+

Compact Message Definition

+
+ int8 NEUTRAL=0
+ int8 MANUAL=1
+ int8 AUTONOMY=2
+ int8 mode
+
+
+ +
+ + diff --git a/static/api/html/clearpath_control_msgs/msg/ControlSelectionState.html b/static/api/html/clearpath_control_msgs/msg/ControlSelectionState.html new file mode 100644 index 000000000..decbe6088 --- /dev/null +++ b/static/api/html/clearpath_control_msgs/msg/ControlSelectionState.html @@ -0,0 +1,29 @@ + + + + + msg/ControlSelectionState Documentation + + + +
+

clearpath_control_msgs/msg/ControlSelectionState Message

+
+

File: clearpath_control_msgs/msg/ControlSelectionState.msg

+

Raw Message Definition

+
+
# The complete state of the control selection module. This message includes the autonomy state as well as the navigation mode.

+
+ ControlState autonomy
+ ControlMode mode
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_control_msgs/msg/ControlState.html b/static/api/html/clearpath_control_msgs/msg/ControlState.html new file mode 100644 index 000000000..333a93377 --- /dev/null +++ b/static/api/html/clearpath_control_msgs/msg/ControlState.html @@ -0,0 +1,29 @@ + + + + + msg/ControlState Documentation + + + +
+

clearpath_control_msgs/msg/ControlState Message

+
+

File: clearpath_control_msgs/msg/ControlState.msg

+

Raw Message Definition

+
+
# The autonomy state message, The autonomy can be either enabled/disabled and active/paused.

+
+ bool enabled
+ bool paused
+
+

Compact Message Definition

+
+ boolean enabled
+ boolean paused
+
+
+ +
+ + diff --git a/static/api/html/clearpath_control_msgs/srv/SetControlMode.html b/static/api/html/clearpath_control_msgs/srv/SetControlMode.html new file mode 100644 index 000000000..e2b78a8c3 --- /dev/null +++ b/static/api/html/clearpath_control_msgs/srv/SetControlMode.html @@ -0,0 +1,29 @@ + + + + + srv/SetControlMode Documentation + + + +
+

clearpath_control_msgs/srv/SetControlMode Service

+
+

File: clearpath_control_msgs/srv/SetControlMode.msg

+

Raw Message Definition

+
+
# Service definition to set the control mode

+
+ clearpath_control_msgs/ControlMode mode
+ ---
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_dock_msgs/action/Dock.html b/static/api/html/clearpath_dock_msgs/action/Dock.html new file mode 100644 index 000000000..0bf58e765 --- /dev/null +++ b/static/api/html/clearpath_dock_msgs/action/Dock.html @@ -0,0 +1,46 @@ + + + + + action/Dock Documentation + + + +
+

clearpath_dock_msgs/action/Dock Action

+
+

File: clearpath_dock_msgs/action/Dock.action

+

Raw Message Definition

+
+
# Request

+ string dock_name
+ ---
+
# Result

+ uint16 error_code
+ bool success
+ float32 elapsed_time
+ string message
+ ---
+
# Feedback

+ uint16 state
+ float32 elapsed_time
+ string message
+
+

Compact Message Definition

+
+ string dock_name
+
+ uint16 state
+ float elapsed_time
+ string message
+
+ uint16 error_code
+ boolean success
+ float elapsed_time
+ string message
+
+
+ +
+ + diff --git a/static/api/html/clearpath_dock_msgs/action/NetworkDock.html b/static/api/html/clearpath_dock_msgs/action/NetworkDock.html new file mode 100644 index 000000000..1c90ed9c5 --- /dev/null +++ b/static/api/html/clearpath_dock_msgs/action/NetworkDock.html @@ -0,0 +1,53 @@ + + + + + action/NetworkDock Documentation + + + +
+

clearpath_dock_msgs/action/NetworkDock Action

+
+

File: clearpath_dock_msgs/action/NetworkDock.action

+

Raw Message Definition

+
+
# Action definition for undocking a Clearpath UGV from one of its charging docks.

+
+
# goal

+ string dock_name
+ string network_uuid
+
+ ---
+
# result

+ bool success
+ string message
+ uint16 NONE=0
+ uint16 error_code
+ string error_msg
+ ---
+
# feedback

+ string message
+ clearpath_navigation_msgs/NetworkMissionSegment network_plan
+ float32 elapsed_time
+
+

Compact Message Definition

+
+ string dock_name
+ string network_uuid
+
+ string message
+ clearpath_navigation_msgs/msg/NetworkMissionSegment network_plan
+ float elapsed_time
+
+ uint16 NONE=0
+ boolean success
+ string message
+ uint16 error_code
+ string error_msg
+
+
+ +
+ + diff --git a/static/api/html/clearpath_dock_msgs/action/Undock.html b/static/api/html/clearpath_dock_msgs/action/Undock.html new file mode 100644 index 000000000..ae5397702 --- /dev/null +++ b/static/api/html/clearpath_dock_msgs/action/Undock.html @@ -0,0 +1,46 @@ + + + + + action/Undock Documentation + + + +
+

clearpath_dock_msgs/action/Undock Action

+
+

File: clearpath_dock_msgs/action/Undock.action

+

Raw Message Definition

+
+
# Request

+ string dock_name
+ ---
+
# Result

+ uint16 error_code
+ bool success
+ float32 elapsed_time
+ string message
+ ---
+
# Feedback

+ uint16 state
+ float32 elapsed_time
+ string message
+
+

Compact Message Definition

+
+ string dock_name
+
+ uint16 state
+ float elapsed_time
+ string message
+
+ uint16 error_code
+ boolean success
+ float elapsed_time
+ string message
+
+
+ +
+ + diff --git a/static/api/html/clearpath_dock_msgs/index-msg.html b/static/api/html/clearpath_dock_msgs/index-msg.html new file mode 100644 index 000000000..b52d15d14 --- /dev/null +++ b/static/api/html/clearpath_dock_msgs/index-msg.html @@ -0,0 +1,43 @@ + + + + + clearpath_dock_msgs Message / Service / Action Documentation + + + +
+

clearpath_dock_msgs Message Documentation

+ +

clearpath_dock_msgs Service Documentation

+ +

clearpath_dock_msgs Action Documentation

+ + +
+ + diff --git a/static/api/html/clearpath_dock_msgs/msg/DockDatabase.html b/static/api/html/clearpath_dock_msgs/msg/DockDatabase.html new file mode 100644 index 000000000..a53b0ba06 --- /dev/null +++ b/static/api/html/clearpath_dock_msgs/msg/DockDatabase.html @@ -0,0 +1,31 @@ + + + + + msg/DockDatabase Documentation + + + +
+

clearpath_dock_msgs/msg/DockDatabase Message

+
+

File: clearpath_dock_msgs/msg/DockDatabase.msg

+

Raw Message Definition

+
+
# Message definition containing the properties for each of the docks available.

+
+ std_msgs/Header header
+ clearpath_dock_msgs/DockInfo[] docks
+ clearpath_dock_msgs/DockTemplate[] templates
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_dock_msgs/msg/DockInfo.html b/static/api/html/clearpath_dock_msgs/msg/DockInfo.html new file mode 100644 index 000000000..09f0147bb --- /dev/null +++ b/static/api/html/clearpath_dock_msgs/msg/DockInfo.html @@ -0,0 +1,59 @@ + + + + + msg/DockInfo Documentation + + + +
+

clearpath_dock_msgs/msg/DockInfo Message

+
+

File: clearpath_dock_msgs/msg/DockInfo.msg

+

Raw Message Definition

+
+
# Message definition containing the information of a single dock. This includes identifiers, lat/lon and orientation of the dock.

+
+
# Message definition containing the information of a single dock. This includes identifiers, lat/lon and orientation of the dock.

+
+ string name
+ string dock_template
+
+
# location of the dock frame

+ float64 latitude
+ float64 longitude
+ geometry_msgs/Quaternion orientation
+
+
+
+
# 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

+
+

Compact Message Definition

+
+ string name
+ string dock_template
+ double latitude
+ double longitude
+ geometry_msgs/msg/Quaternion orientation
+
+
+ +
+ + diff --git a/static/api/html/clearpath_dock_msgs/msg/DockInfoArray.html b/static/api/html/clearpath_dock_msgs/msg/DockInfoArray.html new file mode 100644 index 000000000..c3cdc1154 --- /dev/null +++ b/static/api/html/clearpath_dock_msgs/msg/DockInfoArray.html @@ -0,0 +1,29 @@ + + + + + msg/DockInfoArray Documentation + + + +
+

clearpath_dock_msgs/msg/DockInfoArray Message

+
+

File: clearpath_dock_msgs/msg/DockInfoArray.msg

+

Raw Message Definition

+
+
# Message definition containing the properties for each of the docks available.

+
+ std_msgs/Header header
+ clearpath_dock_msgs/DockInfo[] docks
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_dock_msgs/msg/DockState.html b/static/api/html/clearpath_dock_msgs/msg/DockState.html new file mode 100644 index 000000000..6544aa609 --- /dev/null +++ b/static/api/html/clearpath_dock_msgs/msg/DockState.html @@ -0,0 +1,38 @@ + + + + + msg/DockState Documentation + + + +
+

clearpath_dock_msgs/msg/DockState Message

+
+

File: clearpath_dock_msgs/msg/DockState.msg

+

Raw Message Definition

+
+
# 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
+
+

Compact Message Definition

+
+ uint8 UNDOCKED=0
+ uint8 DOCKED=1
+ uint8 IN_PROGRESS=2
+ uint8 FAILED=3
+ uint8 CANCELLED=4
+ uint8 state
+
+
+ +
+ + diff --git a/static/api/html/clearpath_dock_msgs/msg/DockTemplate.html b/static/api/html/clearpath_dock_msgs/msg/DockTemplate.html new file mode 100644 index 000000000..b812294a8 --- /dev/null +++ b/static/api/html/clearpath_dock_msgs/msg/DockTemplate.html @@ -0,0 +1,41 @@ + + + + + msg/DockTemplate Documentation + + + +
+

clearpath_dock_msgs/msg/DockTemplate Message

+
+

File: clearpath_dock_msgs/msg/DockTemplate.msg

+

Raw Message Definition

+
+
# Message definition containing the information of a single dock. This includes identifiers, lat/lon and orientation of the dock.

+
+
# Message definition containing the information of a single dock. This includes identifiers, lat/lon and orientation of the dock.

+
+ string name
+ string target_name
+ geometry_msgs/Pose2D t_target_dock
+ geometry_msgs/Pose2D t_dock_predock
+ geometry_msgs/Pose2D t_dock_undock
+
# a300_side_dock:

+
# target_name: 'side_dock_target'

+
# T_target_dock: {x: -0.5, y: 0.0, yaw: 0.4}

+
# T_dock_predock: {x: -1.0, y: 0.3, yaw: 0.8}

+
+

Compact Message Definition

+
+ string name
+ string target_name
+ geometry_msgs/msg/Pose2D t_target_dock
+ geometry_msgs/msg/Pose2D t_dock_predock
+ geometry_msgs/msg/Pose2D t_dock_undock
+
+
+ +
+ + diff --git a/static/api/html/clearpath_dock_msgs/msg/TargetTrackerState.html b/static/api/html/clearpath_dock_msgs/msg/TargetTrackerState.html new file mode 100644 index 000000000..af740f0dd --- /dev/null +++ b/static/api/html/clearpath_dock_msgs/msg/TargetTrackerState.html @@ -0,0 +1,41 @@ + + + + + msg/TargetTrackerState Documentation + + + +
+

clearpath_dock_msgs/msg/TargetTrackerState Message

+
+

File: clearpath_dock_msgs/msg/TargetTrackerState.msg

+

Raw Message Definition

+
+
# 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
+
+

Compact Message Definition

+
+ boolean active
+ boolean target_locked
+ geometry_msgs/msg/PoseWithCovarianceStamped target_pose
+ float score
+ double distance_to_target
+
+
+ +
+ + diff --git a/static/api/html/clearpath_dock_msgs/srv/AddDock.html b/static/api/html/clearpath_dock_msgs/srv/AddDock.html new file mode 100644 index 000000000..8c4fb9d6a --- /dev/null +++ b/static/api/html/clearpath_dock_msgs/srv/AddDock.html @@ -0,0 +1,35 @@ + + + + + srv/AddDock Documentation + + + +
+

clearpath_dock_msgs/srv/AddDock Service

+
+

File: clearpath_dock_msgs/srv/AddDock.msg

+

Raw Message Definition

+
+
# Service definition to add a dock to the list of available docks

+
+
# A dock information message for the dock to be added

+ clearpath_dock_msgs/DockInfo dock
+ ---
+
# True if the dock has been added successfully, otherwise False

+ bool success
+ string message
+
+

Compact Message Definition

+
+ boolean success
+ string message
+
+ clearpath_dock_msgs/msg/DockInfo dock
+
+
+ +
+ + diff --git a/static/api/html/clearpath_dock_msgs/srv/AddDockCurrentPose.html b/static/api/html/clearpath_dock_msgs/srv/AddDockCurrentPose.html new file mode 100644 index 000000000..35ac0d93c --- /dev/null +++ b/static/api/html/clearpath_dock_msgs/srv/AddDockCurrentPose.html @@ -0,0 +1,36 @@ + + + + + srv/AddDockCurrentPose Documentation + + + +
+

clearpath_dock_msgs/srv/AddDockCurrentPose Service

+
+

File: clearpath_dock_msgs/srv/AddDockCurrentPose.msg

+

Raw Message Definition

+
+
+ string dock_name
+ string dock_template
+ ---
+ bool success
+ string message
+ clearpath_dock_msgs/DockInfo dock
+
+

Compact Message Definition

+
+ boolean success
+ string message
+ clearpath_dock_msgs/msg/DockInfo dock
+
+ string dock_name
+ string dock_template
+
+
+ +
+ + diff --git a/static/api/html/clearpath_dock_msgs/srv/ExportData.html b/static/api/html/clearpath_dock_msgs/srv/ExportData.html new file mode 100644 index 000000000..9795db031 --- /dev/null +++ b/static/api/html/clearpath_dock_msgs/srv/ExportData.html @@ -0,0 +1,30 @@ + + + + + srv/ExportData Documentation + + + +
+

clearpath_dock_msgs/srv/ExportData Service

+
+

File: clearpath_dock_msgs/srv/ExportData.msg

+

Raw Message Definition

+
+ ---
+
# 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
+
+

Compact Message Definition

+
+ string data
+
+
+
+ +
+ + diff --git a/static/api/html/clearpath_dock_msgs/srv/GetDock.html b/static/api/html/clearpath_dock_msgs/srv/GetDock.html new file mode 100644 index 000000000..66f32f525 --- /dev/null +++ b/static/api/html/clearpath_dock_msgs/srv/GetDock.html @@ -0,0 +1,35 @@ + + + + + srv/GetDock Documentation + + + +
+

clearpath_dock_msgs/srv/GetDock Service

+
+

File: clearpath_dock_msgs/srv/GetDock.msg

+

Raw Message Definition

+
+
# Service definition to get dock related into for dock specified by UUID

+
+
#string name # dock_uuid

+ ---
+
# geometry_msgs/Pose dock_pose

+
# geometry_msgs/Pose predock_pose

+ clearpath_dock_msgs/DockInfo dock
+ bool success
+
+

Compact Message Definition

+
+ clearpath_dock_msgs/msg/DockInfo dock
+ boolean success
+
+ string name
+
+
+ +
+ + diff --git a/static/api/html/clearpath_dock_msgs/srv/GetDockDatabase.html b/static/api/html/clearpath_dock_msgs/srv/GetDockDatabase.html new file mode 100644 index 000000000..a1413ee40 --- /dev/null +++ b/static/api/html/clearpath_dock_msgs/srv/GetDockDatabase.html @@ -0,0 +1,31 @@ + + + + + srv/GetDockDatabase Documentation + + + +
+

clearpath_dock_msgs/srv/GetDockDatabase Service

+
+

File: clearpath_dock_msgs/srv/GetDockDatabase.msg

+

Raw Message Definition

+
+
# Service definition to get dock related into for dock specified by UUID

+
+ ---
+ clearpath_dock_msgs/DockDatabase database
+ bool success
+
+

Compact Message Definition

+
+ clearpath_dock_msgs/msg/DockDatabase database
+ boolean success
+
+
+
+ +
+ + diff --git a/static/api/html/clearpath_dock_msgs/srv/GetDockPoses.html b/static/api/html/clearpath_dock_msgs/srv/GetDockPoses.html new file mode 100644 index 000000000..145c2e916 --- /dev/null +++ b/static/api/html/clearpath_dock_msgs/srv/GetDockPoses.html @@ -0,0 +1,37 @@ + + + + + srv/GetDockPoses Documentation + + + +
+

clearpath_dock_msgs/srv/GetDockPoses Service

+
+

File: clearpath_dock_msgs/srv/GetDockPoses.msg

+

Raw Message Definition

+
+
# Service definition to get dock related into for dock specified by UUID

+
+ string name
+ ---
+ geometry_msgs/Pose dock_pose
+ geometry_msgs/Pose predock_pose
+ clearpath_dock_msgs/DockInfo dock
+ bool success
+
+

Compact Message Definition

+
+ geometry_msgs/msg/Pose dock_pose
+ geometry_msgs/msg/Pose predock_pose
+ clearpath_dock_msgs/msg/DockInfo dock
+ boolean success
+
+ string name
+
+
+ +
+ + diff --git a/static/api/html/clearpath_dock_msgs/srv/ImportData.html b/static/api/html/clearpath_dock_msgs/srv/ImportData.html new file mode 100644 index 000000000..fdb64e69e --- /dev/null +++ b/static/api/html/clearpath_dock_msgs/srv/ImportData.html @@ -0,0 +1,33 @@ + + + + + srv/ImportData Documentation + + + +
+

clearpath_dock_msgs/srv/ImportData Service

+
+

File: clearpath_dock_msgs/srv/ImportData.msg

+

Raw Message Definition

+
+
# 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_dock_msgs/DockInfoArray dock_storage
+
+

Compact Message Definition

+
+ clearpath_dock_msgs/msg/DockInfoArray dock_storage
+
+ string data
+
+
+ +
+ + diff --git a/static/api/html/clearpath_dock_msgs/srv/RemoveDock.html b/static/api/html/clearpath_dock_msgs/srv/RemoveDock.html new file mode 100644 index 000000000..a767174d1 --- /dev/null +++ b/static/api/html/clearpath_dock_msgs/srv/RemoveDock.html @@ -0,0 +1,36 @@ + + + + + srv/RemoveDock Documentation + + + +
+

clearpath_dock_msgs/srv/RemoveDock Service

+
+

File: clearpath_dock_msgs/srv/RemoveDock.msg

+

Raw Message Definition

+
+
# Service definition to remove a dock from the list of available docks

+
+
# The uuid or the semantic name of the dock to be removed

+
# string uuid

+ string name
+ ---
+
# True if the dock has been removed successfully, otherwise False

+ bool success
+ string message
+
+

Compact Message Definition

+
+ boolean success
+ string message
+
+ string name
+
+
+ +
+ + diff --git a/static/api/html/clearpath_dock_msgs/srv/RunDocking.html b/static/api/html/clearpath_dock_msgs/srv/RunDocking.html new file mode 100644 index 000000000..b960e01d3 --- /dev/null +++ b/static/api/html/clearpath_dock_msgs/srv/RunDocking.html @@ -0,0 +1,31 @@ + + + + + srv/RunDocking Documentation + + + +
+

clearpath_dock_msgs/srv/RunDocking Service

+
+

File: clearpath_dock_msgs/srv/RunDocking.msg

+

Raw Message Definition

+
+ string name
+ ---
+ bool success
+ string message
+
+

Compact Message Definition

+
+ boolean success
+ string message
+
+ string name
+
+
+ +
+ + diff --git a/static/api/html/clearpath_dock_msgs/srv/RunUndocking.html b/static/api/html/clearpath_dock_msgs/srv/RunUndocking.html new file mode 100644 index 000000000..c08faecd9 --- /dev/null +++ b/static/api/html/clearpath_dock_msgs/srv/RunUndocking.html @@ -0,0 +1,32 @@ + + + + + srv/RunUndocking Documentation + + + +
+

clearpath_dock_msgs/srv/RunUndocking Service

+
+

File: clearpath_dock_msgs/srv/RunUndocking.msg

+

Raw Message Definition

+
+
+ string name
+ ---
+ bool success
+ string message
+
+

Compact Message Definition

+
+ boolean success
+ string message
+
+ string name
+
+
+ +
+ + diff --git a/static/api/html/clearpath_dock_msgs/srv/SurveyDock.html b/static/api/html/clearpath_dock_msgs/srv/SurveyDock.html new file mode 100644 index 000000000..8846815b7 --- /dev/null +++ b/static/api/html/clearpath_dock_msgs/srv/SurveyDock.html @@ -0,0 +1,33 @@ + + + + + srv/SurveyDock Documentation + + + +
+

clearpath_dock_msgs/srv/SurveyDock Service

+
+

File: clearpath_dock_msgs/srv/SurveyDock.msg

+

Raw Message Definition

+
+ string dock_name
+ float32 timeout
+ ---
+ bool success
+ string message
+
+

Compact Message Definition

+
+ boolean success
+ string message
+
+ string dock_name
+ float timeout
+
+
+ +
+ + diff --git a/static/api/html/clearpath_dock_msgs/srv/UpdateDock.html b/static/api/html/clearpath_dock_msgs/srv/UpdateDock.html new file mode 100644 index 000000000..0ecd69fe1 --- /dev/null +++ b/static/api/html/clearpath_dock_msgs/srv/UpdateDock.html @@ -0,0 +1,35 @@ + + + + + srv/UpdateDock Documentation + + + +
+

clearpath_dock_msgs/srv/UpdateDock Service

+
+

File: clearpath_dock_msgs/srv/UpdateDock.msg

+

Raw Message Definition

+
+
# Service definition to either create a new dock or update an existing dock.

+ string name
+ clearpath_dock_msgs/DockInfo dock
+ ---
+
# True if the location was updated/added successfully, otherwise False

+ bool success
+ string message
+
+

Compact Message Definition

+
+ boolean success
+ string message
+
+ string name
+ clearpath_dock_msgs/msg/DockInfo dock
+
+
+ +
+ + diff --git a/static/api/html/clearpath_localization_msgs/index-msg.html b/static/api/html/clearpath_localization_msgs/index-msg.html new file mode 100644 index 000000000..91e5ad191 --- /dev/null +++ b/static/api/html/clearpath_localization_msgs/index-msg.html @@ -0,0 +1,28 @@ + + + + + clearpath_localization_msgs Message / Service / Action Documentation + + + +
+

clearpath_localization_msgs Message Documentation

+ +

clearpath_localization_msgs Service Documentation

+ + +
+ + diff --git a/static/api/html/clearpath_localization_msgs/msg/GNSSStatus.html b/static/api/html/clearpath_localization_msgs/msg/GNSSStatus.html new file mode 100644 index 000000000..894dd78ee --- /dev/null +++ b/static/api/html/clearpath_localization_msgs/msg/GNSSStatus.html @@ -0,0 +1,66 @@ + + + + + msg/GNSSStatus Documentation + + + +
+

clearpath_localization_msgs/msg/GNSSStatus Message

+
+

File: clearpath_localization_msgs/msg/GNSSStatus.msg

+

Raw Message Definition

+
+
# Message definition containing the GNSS receiver status information.

+
+ 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

+
+

Compact Message Definition

+
+ uint8 POSITION_RECEIVER=0
+ uint8 HEADING_RECEIVER=1
+ uint8 BASE_STATION_RECEIVER=2
+ uint8 POSITION_NO_FIX=0
+ uint8 POSITION_SPP=1
+ uint8 POSITION_SBAS=2
+ uint8 POSITION_RTK_FLOAT=3
+ uint8 POSITION_RTK_FIXED=4
+ uint8 HEADING_NOT_APPLICABLE=0
+ uint8 HEADING_NO_SOLUTION=1
+ uint8 HEADING_RTK_FLOAT=2
+ uint8 HEADING_RTK_FIXED=3
+ uint8 receiver_type
+ uint8 position_fix_type
+ uint8 heading_fix_type
+ uint8 num_connected_sats
+ uint8 num_sats_solution
+ float[] cn0
+ double correction_age
+
+
+ +
+ + diff --git a/static/api/html/clearpath_localization_msgs/msg/LocalizationStatus.html b/static/api/html/clearpath_localization_msgs/msg/LocalizationStatus.html new file mode 100644 index 000000000..0921fba34 --- /dev/null +++ b/static/api/html/clearpath_localization_msgs/msg/LocalizationStatus.html @@ -0,0 +1,41 @@ + + + + + msg/LocalizationStatus Documentation + + + +
+

clearpath_localization_msgs/msg/LocalizationStatus Message

+
+

File: clearpath_localization_msgs/msg/LocalizationStatus.msg

+

Raw Message Definition

+
+
# # Message definition containing localization status information for all sources of localization

+
+ std_msgs/Header header
+
# the localization accuracy as a percentage value (covariance?)

+
#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
+
+

Compact Message Definition

+
+ std_msgs/msg/Header header
+ float accuracy
+ clearpath_localization_msgs/msg/GNSSStatus position_gnss
+ clearpath_localization_msgs/msg/GNSSStatus heading_gnss
+ clearpath_localization_msgs/msg/GNSSStatus base_station_gnss
+ boolean dead_reckoning
+
+
+ +
+ + diff --git a/static/api/html/clearpath_localization_msgs/msg/XvnStatus.html b/static/api/html/clearpath_localization_msgs/msg/XvnStatus.html new file mode 100644 index 000000000..2b02c2104 --- /dev/null +++ b/static/api/html/clearpath_localization_msgs/msg/XvnStatus.html @@ -0,0 +1,101 @@ + + + + + msg/XvnStatus Documentation + + + +
+

clearpath_localization_msgs/msg/XvnStatus Message

+
+

File: clearpath_localization_msgs/msg/XvnStatus.msg

+

Raw Message Definition

+
+ std_msgs/Header header
+ float64 latitude
+ float64 longitude
+ float32 yaw
+ float32 stddev_x
+ float32 stddev_y
+ float32 stddev_yaw
+
+ uint8 UNKNOWN = 0
+ uint8 VISION = 1
+ uint8 VISUAL_INERTIAL = 2
+ uint8 INERTIAL_GNSS = 3
+ uint8 VI_GNSS = 4
+ uint8 fusion_status
+
+ uint8 IMU_NOT_CONVERGED = 0
+ uint8 IMU_CONVERGED = 1
+ uint8 imu_status
+
+ int8 WS_NOT_USED = -1
+ int8 WS_NOT_CONVERGED = 0
+ int8 WS_CONVERGED = 1
+ int8 wheelspeed_status
+
+ uint8 GNSS_UNKNOWN = 0
+ uint8 GNSS_NO_FIX = 1
+ uint8 GNSS_DEAD_RECKONING = 2
+ uint8 GNSS_TIME_FIX = 3
+ uint8 GNSS_2D_FIX = 4
+ uint8 GNSS_3D_FIX = 5
+ uint8 GNSS_3D_WITH_DR = 6
+ uint8 GNSS_RTK_FLOAT = 7
+ uint8 GNSS_RTK_FIX = 8
+
+ uint8 gnss1_status
+ uint8 gnss2_status
+
+ uint8 RTK_ERROR = 0
+ uint8 RTK_WARNING = 1
+ uint8 RTK_CONNECTING = 2
+ uint8 RTK_CONNECTED = 3
+ uint8 rtk_status
+
+

Compact Message Definition

+
+ uint8 UNKNOWN=0
+ uint8 VISION=1
+ uint8 VISUAL_INERTIAL=2
+ uint8 INERTIAL_GNSS=3
+ uint8 VI_GNSS=4
+ uint8 IMU_NOT_CONVERGED=0
+ uint8 IMU_CONVERGED=1
+ int8 WS_NOT_USED=-1
+ int8 WS_NOT_CONVERGED=0
+ int8 WS_CONVERGED=1
+ uint8 GNSS_UNKNOWN=0
+ uint8 GNSS_NO_FIX=1
+ uint8 GNSS_DEAD_RECKONING=2
+ uint8 GNSS_TIME_FIX=3
+ uint8 GNSS_2D_FIX=4
+ uint8 GNSS_3D_FIX=5
+ uint8 GNSS_3D_WITH_DR=6
+ uint8 GNSS_RTK_FLOAT=7
+ uint8 GNSS_RTK_FIX=8
+ uint8 RTK_ERROR=0
+ uint8 RTK_WARNING=1
+ uint8 RTK_CONNECTING=2
+ uint8 RTK_CONNECTED=3
+ std_msgs/msg/Header header
+ double latitude
+ double longitude
+ float yaw
+ float stddev_x
+ float stddev_y
+ float stddev_yaw
+ uint8 fusion_status
+ uint8 imu_status
+ int8 wheelspeed_status
+ uint8 gnss1_status
+ uint8 gnss2_status
+ uint8 rtk_status
+
+
+ +
+ + diff --git a/static/api/html/clearpath_localization_msgs/srv/ConvertCartesianToLatLon.html b/static/api/html/clearpath_localization_msgs/srv/ConvertCartesianToLatLon.html new file mode 100644 index 000000000..2e94a7d79 --- /dev/null +++ b/static/api/html/clearpath_localization_msgs/srv/ConvertCartesianToLatLon.html @@ -0,0 +1,31 @@ + + + + + srv/ConvertCartesianToLatLon Documentation + + + +
+

clearpath_localization_msgs/srv/ConvertCartesianToLatLon Service

+
+

File: clearpath_localization_msgs/srv/ConvertCartesianToLatLon.msg

+

Raw Message Definition

+
+
# Service definition to convert Cartesian (map) coordinates to lat-lon

+
+ geometry_msgs/PoseStamped pose
+ ---
+ sensor_msgs/NavSatFix msg
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_localization_msgs/srv/ConvertCartesianToLatLonArray.html b/static/api/html/clearpath_localization_msgs/srv/ConvertCartesianToLatLonArray.html new file mode 100644 index 000000000..74dbc9796 --- /dev/null +++ b/static/api/html/clearpath_localization_msgs/srv/ConvertCartesianToLatLonArray.html @@ -0,0 +1,31 @@ + + + + + srv/ConvertCartesianToLatLonArray Documentation + + + +
+

clearpath_localization_msgs/srv/ConvertCartesianToLatLonArray Service

+
+

File: clearpath_localization_msgs/srv/ConvertCartesianToLatLonArray.msg

+

Raw Message Definition

+
+
# Service definition to convert Cartesian (map) coordinates to lat-lon

+
+ geometry_msgs/PoseStamped[] pose
+ ---
+ sensor_msgs/NavSatFix[] msg
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_localization_msgs/srv/ConvertLatLonToCartesian.html b/static/api/html/clearpath_localization_msgs/srv/ConvertLatLonToCartesian.html new file mode 100644 index 000000000..1f911a219 --- /dev/null +++ b/static/api/html/clearpath_localization_msgs/srv/ConvertLatLonToCartesian.html @@ -0,0 +1,31 @@ + + + + + srv/ConvertLatLonToCartesian Documentation + + + +
+

clearpath_localization_msgs/srv/ConvertLatLonToCartesian Service

+
+

File: clearpath_localization_msgs/srv/ConvertLatLonToCartesian.msg

+

Raw Message Definition

+
+
# Service definition to convert the Lat/Lon to Cartesian coordinates

+
+ sensor_msgs/NavSatFix msg
+ ---
+ geometry_msgs/PoseStamped pose
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_localization_msgs/srv/ConvertLatLonToCartesianArray.html b/static/api/html/clearpath_localization_msgs/srv/ConvertLatLonToCartesianArray.html new file mode 100644 index 000000000..18ebe19a8 --- /dev/null +++ b/static/api/html/clearpath_localization_msgs/srv/ConvertLatLonToCartesianArray.html @@ -0,0 +1,31 @@ + + + + + srv/ConvertLatLonToCartesianArray Documentation + + + +
+

clearpath_localization_msgs/srv/ConvertLatLonToCartesianArray Service

+
+

File: clearpath_localization_msgs/srv/ConvertLatLonToCartesianArray.msg

+

Raw Message Definition

+
+
# Service definition to convert the Lat/Lon to Cartesian coordinates

+
+ sensor_msgs/NavSatFix[] msg
+ ---
+ geometry_msgs/PoseStamped[] pose
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_localization_msgs/srv/ResetLocalization.html b/static/api/html/clearpath_localization_msgs/srv/ResetLocalization.html new file mode 100644 index 000000000..2cc30e8b6 --- /dev/null +++ b/static/api/html/clearpath_localization_msgs/srv/ResetLocalization.html @@ -0,0 +1,33 @@ + + + + + srv/ResetLocalization Documentation + + + +
+

clearpath_localization_msgs/srv/ResetLocalization Service

+
+

File: clearpath_localization_msgs/srv/ResetLocalization.msg

+

Raw Message Definition

+
+
# Service definition to reset the localization

+
+ bool require_gnss
+ uint32 gnss_samples
+ ---
+ bool success
+
+

Compact Message Definition

+
+ boolean success
+
+ boolean require_gnss
+ uint32 gnss_samples
+
+
+ +
+ + diff --git a/static/api/html/clearpath_localization_msgs/srv/SetDatum.html b/static/api/html/clearpath_localization_msgs/srv/SetDatum.html new file mode 100644 index 000000000..8621b8f78 --- /dev/null +++ b/static/api/html/clearpath_localization_msgs/srv/SetDatum.html @@ -0,0 +1,33 @@ + + + + + srv/SetDatum Documentation + + + +
+

clearpath_localization_msgs/srv/SetDatum Service

+
+

File: clearpath_localization_msgs/srv/SetDatum.msg

+

Raw Message Definition

+
+
# Service definition to set the datum with a latitude (lat) and longitude (lon)

+
+ float32 lat
+ float32 lon
+ ---
+ bool success
+
+

Compact Message Definition

+
+ boolean success
+
+ float lat
+ float lon
+
+
+ +
+ + diff --git a/static/api/html/clearpath_logger_msgs/index-msg.html b/static/api/html/clearpath_logger_msgs/index-msg.html new file mode 100644 index 000000000..457511f10 --- /dev/null +++ b/static/api/html/clearpath_logger_msgs/index-msg.html @@ -0,0 +1,34 @@ + + + + + clearpath_logger_msgs Message / Service / Action Documentation + + + +
+

clearpath_logger_msgs Message Documentation

+ +

clearpath_logger_msgs Service Documentation

+ + +
+ + diff --git a/static/api/html/clearpath_logger_msgs/msg/Event.html b/static/api/html/clearpath_logger_msgs/msg/Event.html new file mode 100644 index 000000000..b2b142d4d --- /dev/null +++ b/static/api/html/clearpath_logger_msgs/msg/Event.html @@ -0,0 +1,146 @@ + + + + + msg/Event Documentation + + + +
+

clearpath_logger_msgs/msg/Event Message

+
+

File: clearpath_logger_msgs/msg/Event.msg

+

Raw Message Definition

+
+
#

+
# Universal log event. Represents a single even recorded to the log

+
#

+
+
# Tag for events that include a media_path

+ string TAG_MEDIA = media
+
+
# Tag indicating that the event's charger status & battery level have been set

+ string TAG_POWER = power
+
+
# Tag indicating that the event's GPS position has been set

+ string TAG_LOCATION = location
+
+
# Tag indicating that the event's odometry data has been set

+ string TAG_ODOMETRY = odom
+
+
# Tag indicating that the event's velocity data has been set

+ string TAG_VELOCITY = vel
+
+
# Tag indicating that the event's error/debugging data has been set

+ string TAG_ERROR = error
+
+
# Tag indicating that this event was automatically recorded telemetry

+ string TAG_AUTO_TELEMETRY = auto_telemetry
+
+
#

+
# Header & general meta-data about the event

+
#

+
+
# Header

+
# - seq: the order of this event within its parent ExecutionLog

+
# - frame_id: the sensor/manipulator frame referenced by the frame_pose field

+
# - stamp: the time that this event occurred

+ std_msgs/Header header
+
+
#

+
# Media & sensor data

+
#

+
+
# If this even has media, this is its path on-disk

+ string media_path
+
+
# If this event has media, this is its MIME type

+
# May be left blank

+ string media_mime_type
+
+
# The pose of the sensor/manipulator frame given by header.frame_id relative to

+
# base_link

+ geometry_msgs/Pose frame_pose
+
+
#

+
# Robot location, orientation, velocity

+
#

+
+
# The robot's latitude, longitude, and heading as recorded by the GPS

+
# - lat: decimal degrees

+
# - lon: decimal degrees

+
# - heading: ENU orientation in radians

+ geometry_msgs/Point lat_lon_heading
+
+
# The robot's location relative to the odometry frame

+ nav_msgs/Odometry odometry
+
+
# The robot's linear & angular velocity

+ geometry_msgs/Twist velocity
+
+
#

+
# Power & battery

+
#

+
+
# The 0-1 charge level of the battery

+ float32 battery_percent
+
+
# True of the robot's battery is charging, otherwise False

+ bool charging
+
+
# True if power-saving/low-power mode is enabled, otherwise False

+ bool power_saver
+
+
#

+
# Error and debugging events

+
#

+
+
# An error code indicating the type of error

+ int32 error_code
+
+
# A diagnostic error message, or non-integer error code

+ string error_msg
+
+
# The name of the module/process/pipeline/etc... that signalled the error

+ string error_component
+
+
#

+
# Custom fields for expansion

+
#

+
+
# Arbitrary free-form tags usable to annotate custom data

+ string[] tags
+
+
# Arbitrary JSON-formatted data that can contain user-defined fields

+ string custom_fields_json
+
+

Compact Message Definition

+
+ string TAG_MEDIA=media
+ string TAG_POWER=power
+ string TAG_LOCATION=location
+ string TAG_ODOMETRY=odom
+ string TAG_VELOCITY=vel
+ string TAG_ERROR=error
+ string TAG_AUTO_TELEMETRY=auto_telemetry
+ std_msgs/msg/Header header
+ string media_path
+ string media_mime_type
+ geometry_msgs/msg/Pose frame_pose
+ geometry_msgs/msg/Point lat_lon_heading
+ nav_msgs/msg/Odometry odometry
+ geometry_msgs/msg/Twist velocity
+ float battery_percent
+ boolean charging
+ boolean power_saver
+ int32 error_code
+ string error_msg
+ string error_component
+ string[] tags
+ string custom_fields_json
+
+
+ +
+ + diff --git a/static/api/html/clearpath_logger_msgs/msg/EventLog.html b/static/api/html/clearpath_logger_msgs/msg/EventLog.html new file mode 100644 index 000000000..d1a5dcda2 --- /dev/null +++ b/static/api/html/clearpath_logger_msgs/msg/EventLog.html @@ -0,0 +1,80 @@ + + + + + msg/EventLog Documentation + + + +
+

clearpath_logger_msgs/msg/EventLog Message

+
+

File: clearpath_logger_msgs/msg/EventLog.msg

+

Raw Message Definition

+
+
#

+
# A log representing a single mission execution

+
#

+
+
# The log is currently active and being modified

+ int32 STATE_ACTIVE = 0
+
+
# The log is old and closed

+ int32 STATE_CLOSED = 1
+
+
# The master record of the log exists, but its data has been deleted from the disk

+ int32 STATE_DELETED = 2
+
+
# The state of the log on disk

+ int32 state
+
+
# The time the log started recording

+ clearpath_logger_msgs/EventTime start_time
+
+
# The time the log stopped recording

+ clearpath_logger_msgs/EventTime end_time
+
+
# This execution's unique ID

+ string uuid
+
+
# A descriptive name for the log to be displayed in the GUI. Does not need to be unique

+ string name
+
+
# The total percentage of the battery used during the execution

+
# This measures only negative changes, not positive ones

+
# e.g. if the robot uses 75% of the battery, returns to dock to recharge to full

+
# and then finishes the mission using another 75% of the battery, this value

+
# will read 1.5

+ float32 battery_percent_used
+
+
# The total distance driven by the robot (approximate) during the execution (meters)

+
# The exact path used to calculate the distance may be simplified and subject to

+
# sensor noise/error

+ float32 distance_driven
+
+
# A custom JSON field for adding additional custom metrics, meta-data, etc... as needed

+ string custom_fields_json
+
+
# The list of events recorded in this execution

+ clearpath_logger_msgs/Event[] events
+
+

Compact Message Definition

+
+ int32 STATE_ACTIVE=0
+ int32 STATE_CLOSED=1
+ int32 STATE_DELETED=2
+ int32 state
+ clearpath_logger_msgs/msg/EventTime start_time
+ clearpath_logger_msgs/msg/EventTime end_time
+ string uuid
+ string name
+ float battery_percent_used
+ float distance_driven
+ string custom_fields_json
+ clearpath_logger_msgs/msg/Event[] events
+
+
+ +
+ + diff --git a/static/api/html/clearpath_logger_msgs/msg/EventLogs.html b/static/api/html/clearpath_logger_msgs/msg/EventLogs.html new file mode 100644 index 000000000..a3f8fef98 --- /dev/null +++ b/static/api/html/clearpath_logger_msgs/msg/EventLogs.html @@ -0,0 +1,25 @@ + + + + + msg/EventLogs Documentation + + + +
+

clearpath_logger_msgs/msg/EventLogs Message

+
+

File: clearpath_logger_msgs/msg/EventLogs.msg

+

Raw Message Definition

+
+ clearpath_logger_msgs/EventLog[] logs
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_logger_msgs/msg/EventTime.html b/static/api/html/clearpath_logger_msgs/msg/EventTime.html new file mode 100644 index 000000000..2991f9a67 --- /dev/null +++ b/static/api/html/clearpath_logger_msgs/msg/EventTime.html @@ -0,0 +1,27 @@ + + + + + msg/EventTime Documentation + + + +
+

clearpath_logger_msgs/msg/EventTime Message

+
+

File: clearpath_logger_msgs/msg/EventTime.msg

+

Raw Message Definition

+
+ int32 sec
+ uint32 nanosec
+
+

Compact Message Definition

+
+ int32 sec
+ uint32 nanosec
+
+
+ +
+ + diff --git a/static/api/html/clearpath_logger_msgs/srv/DeleteLog.html b/static/api/html/clearpath_logger_msgs/srv/DeleteLog.html new file mode 100644 index 000000000..6502502b2 --- /dev/null +++ b/static/api/html/clearpath_logger_msgs/srv/DeleteLog.html @@ -0,0 +1,33 @@ + + + + + srv/DeleteLog Documentation + + + +
+

clearpath_logger_msgs/srv/DeleteLog Service

+
+

File: clearpath_logger_msgs/srv/DeleteLog.msg

+

Raw Message Definition

+
+ string uuid
+ bool delete_media
+ bool purge_record
+ ---
+ bool success
+
+

Compact Message Definition

+
+ boolean success
+
+ string uuid
+ boolean delete_media
+ boolean purge_record
+
+
+ +
+ + diff --git a/static/api/html/clearpath_logger_msgs/srv/DownloadLog.html b/static/api/html/clearpath_logger_msgs/srv/DownloadLog.html new file mode 100644 index 000000000..a661c05ec --- /dev/null +++ b/static/api/html/clearpath_logger_msgs/srv/DownloadLog.html @@ -0,0 +1,35 @@ + + + + + srv/DownloadLog Documentation + + + +
+

clearpath_logger_msgs/srv/DownloadLog Service

+
+

File: clearpath_logger_msgs/srv/DownloadLog.msg

+

Raw Message Definition

+
+
# The UUID of the recording to download

+ string log_uuid
+ ---
+
# The on-disk path the the generated archive

+ string path
+
+
# If True at least one media file from the recording has been moved/deleted

+ bool media_missing
+
+

Compact Message Definition

+
+ string path
+ boolean media_missing
+
+ string log_uuid
+
+
+ +
+ + diff --git a/static/api/html/clearpath_logger_msgs/srv/GetAllLogs.html b/static/api/html/clearpath_logger_msgs/srv/GetAllLogs.html new file mode 100644 index 000000000..0e35913c9 --- /dev/null +++ b/static/api/html/clearpath_logger_msgs/srv/GetAllLogs.html @@ -0,0 +1,27 @@ + + + + + srv/GetAllLogs Documentation + + + +
+

clearpath_logger_msgs/srv/GetAllLogs Service

+
+

File: clearpath_logger_msgs/srv/GetAllLogs.msg

+

Raw Message Definition

+
+ ---
+ clearpath_logger_msgs/EventLog[] logs
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_logger_msgs/srv/RecordCustomEvent.html b/static/api/html/clearpath_logger_msgs/srv/RecordCustomEvent.html new file mode 100644 index 000000000..b575285a3 --- /dev/null +++ b/static/api/html/clearpath_logger_msgs/srv/RecordCustomEvent.html @@ -0,0 +1,38 @@ + + + + + srv/RecordCustomEvent Documentation + + + +
+

clearpath_logger_msgs/srv/RecordCustomEvent Service

+
+

File: clearpath_logger_msgs/srv/RecordCustomEvent.msg

+

Raw Message Definition

+
+
# A valid JSON string containing the custom data to be recorded

+ string custom_fields_json
+
+
# Tags to add to the event

+ string[] tags
+
+
# Optional frame ID relevant to the event

+ string frame_id
+ ---
+ clearpath_logger_msgs/Event event
+
+

Compact Message Definition

+
+ clearpath_logger_msgs/msg/Event event
+
+ string custom_fields_json
+ string[] tags
+ string frame_id
+
+
+ +
+ + diff --git a/static/api/html/clearpath_logger_msgs/srv/RecordErrorEvent.html b/static/api/html/clearpath_logger_msgs/srv/RecordErrorEvent.html new file mode 100644 index 000000000..e1275de0e --- /dev/null +++ b/static/api/html/clearpath_logger_msgs/srv/RecordErrorEvent.html @@ -0,0 +1,38 @@ + + + + + srv/RecordErrorEvent Documentation + + + +
+

clearpath_logger_msgs/srv/RecordErrorEvent Service

+
+

File: clearpath_logger_msgs/srv/RecordErrorEvent.msg

+

Raw Message Definition

+
+
# An error code indicating the type of error

+ int32 error_code
+
+
# A diagnostic error message, or non-integer error code

+ string error_msg
+
+
# The name of the module/process/pipeline/etc... that signalled the error

+ string error_component
+ ---
+ clearpath_logger_msgs/Event event
+
+

Compact Message Definition

+
+ clearpath_logger_msgs/msg/Event event
+
+ int32 error_code
+ string error_msg
+ string error_component
+
+
+ +
+ + diff --git a/static/api/html/clearpath_logger_msgs/srv/RecordEvent.html b/static/api/html/clearpath_logger_msgs/srv/RecordEvent.html new file mode 100644 index 000000000..1c90a8899 --- /dev/null +++ b/static/api/html/clearpath_logger_msgs/srv/RecordEvent.html @@ -0,0 +1,33 @@ + + + + + srv/RecordEvent Documentation + + + +
+

clearpath_logger_msgs/srv/RecordEvent Service

+
+

File: clearpath_logger_msgs/srv/RecordEvent.msg

+

Raw Message Definition

+
+
# The event to be recorded

+
# If the header's stamp is not zero the header will be modified to be the current time

+
# Otherwise the provided time will be used without verification

+ clearpath_logger_msgs/Event event
+ ---
+
# The event as it was recorded, after any modifications made for serialization

+ clearpath_logger_msgs/Event event
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_logger_msgs/srv/RecordLocationEvent.html b/static/api/html/clearpath_logger_msgs/srv/RecordLocationEvent.html new file mode 100644 index 000000000..163af889a --- /dev/null +++ b/static/api/html/clearpath_logger_msgs/srv/RecordLocationEvent.html @@ -0,0 +1,51 @@ + + + + + srv/RecordLocationEvent Documentation + + + +
+

clearpath_logger_msgs/srv/RecordLocationEvent Service

+
+

File: clearpath_logger_msgs/srv/RecordLocationEvent.msg

+

Raw Message Definition

+
+
# The robot's current latitude (decimal degrees)

+ float64 latitude
+
+
# The robot's current longitude (decimal degrees)

+ float64 longitude
+
+
# The robot's current heading (cardinal direction in decimal degrees)

+ float64 heading
+
+
# The robot's current linear & angular velocity

+ geometry_msgs/Twist velocity
+
+
# The robot's current odometry location

+ nav_msgs/Odometry odometry
+
+
# Tags for the event

+
# Should contain one or more of Event.TAG_LOCATION, TAG_ODOMETRY, or TAG_VELOCITY

+ string[] tags
+ ---
+ clearpath_logger_msgs/Event event
+
+

Compact Message Definition

+
+ clearpath_logger_msgs/msg/Event event
+
+ double latitude
+ double longitude
+ double heading
+ geometry_msgs/msg/Twist velocity
+ nav_msgs/msg/Odometry odometry
+ string[] tags
+
+
+ +
+ + diff --git a/static/api/html/clearpath_logger_msgs/srv/RecordMediaEvent.html b/static/api/html/clearpath_logger_msgs/srv/RecordMediaEvent.html new file mode 100644 index 000000000..6a88556a9 --- /dev/null +++ b/static/api/html/clearpath_logger_msgs/srv/RecordMediaEvent.html @@ -0,0 +1,41 @@ + + + + + srv/RecordMediaEvent Documentation + + + +
+

clearpath_logger_msgs/srv/RecordMediaEvent Service

+
+

File: clearpath_logger_msgs/srv/RecordMediaEvent.msg

+

Raw Message Definition

+
+
# The path to the media file on-disk

+ string media_path
+
+
# A MIME type string indicating the media type

+
# May be left blank if desired

+ string mime_type
+
+
# The frame ID for the sensor that recorded the media

+
# Leave blank if the sensor has no frame/TF data associated with it

+ string frame_id
+ ---
+
# The logged event

+ clearpath_logger_msgs/Event event
+
+

Compact Message Definition

+
+ clearpath_logger_msgs/msg/Event event
+
+ string media_path
+ string mime_type
+ string frame_id
+
+
+ +
+ + diff --git a/static/api/html/clearpath_logger_msgs/srv/RecordPowerEvent.html b/static/api/html/clearpath_logger_msgs/srv/RecordPowerEvent.html new file mode 100644 index 000000000..3c857a994 --- /dev/null +++ b/static/api/html/clearpath_logger_msgs/srv/RecordPowerEvent.html @@ -0,0 +1,35 @@ + + + + + srv/RecordPowerEvent Documentation + + + +
+

clearpath_logger_msgs/srv/RecordPowerEvent Service

+
+

File: clearpath_logger_msgs/srv/RecordPowerEvent.msg

+

Raw Message Definition

+
+
# The battery's current level

+
# 0.0 to 1.0

+ float32 battery_percent
+
+
# Is the battery currently charging?

+ bool charging
+ ---
+ clearpath_logger_msgs/Event event
+
+

Compact Message Definition

+
+ clearpath_logger_msgs/msg/Event event
+
+ float battery_percent
+ boolean charging
+
+
+ +
+ + diff --git a/static/api/html/clearpath_logger_msgs/srv/StartRecording.html b/static/api/html/clearpath_logger_msgs/srv/StartRecording.html new file mode 100644 index 000000000..0566ef96c --- /dev/null +++ b/static/api/html/clearpath_logger_msgs/srv/StartRecording.html @@ -0,0 +1,30 @@ + + + + + srv/StartRecording Documentation + + + +
+

clearpath_logger_msgs/srv/StartRecording Service

+
+

File: clearpath_logger_msgs/srv/StartRecording.msg

+

Raw Message Definition

+
+
# A human-readable name for the log

+ string name
+ ---
+ clearpath_logger_msgs/EventLog log
+
+

Compact Message Definition

+
+ clearpath_logger_msgs/msg/EventLog log
+
+ string name
+
+
+ +
+ + diff --git a/static/api/html/clearpath_logger_msgs/srv/StopRecording.html b/static/api/html/clearpath_logger_msgs/srv/StopRecording.html new file mode 100644 index 000000000..a598578e5 --- /dev/null +++ b/static/api/html/clearpath_logger_msgs/srv/StopRecording.html @@ -0,0 +1,30 @@ + + + + + srv/StopRecording Documentation + + + +
+

clearpath_logger_msgs/srv/StopRecording Service

+
+

File: clearpath_logger_msgs/srv/StopRecording.msg

+

Raw Message Definition

+
+
# Additional custom end-of-mission metrics to record as part of the log

+ string custom_fields_json
+ ---
+ clearpath_logger_msgs/EventLog log
+
+

Compact Message Definition

+
+ clearpath_logger_msgs/msg/EventLog log
+
+ string custom_fields_json
+
+
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/index-msg.html b/static/api/html/clearpath_mission_manager_msgs/index-msg.html new file mode 100644 index 000000000..4de44aeb6 --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/index-msg.html @@ -0,0 +1,73 @@ + + + + + clearpath_mission_manager_msgs Message / Service / Action Documentation + + + + + + diff --git a/static/api/html/clearpath_mission_manager_msgs/msg/NetworkEdgeReq.html b/static/api/html/clearpath_mission_manager_msgs/msg/NetworkEdgeReq.html new file mode 100644 index 000000000..5d4ca4c78 --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/msg/NetworkEdgeReq.html @@ -0,0 +1,33 @@ + + + + + msg/NetworkEdgeReq Documentation + + + +
+

clearpath_mission_manager_msgs/msg/NetworkEdgeReq Message

+
+

File: clearpath_mission_manager_msgs/msg/NetworkEdgeReq.msg

+

Raw Message Definition

+
+ string start_point_id
+ string end_point_id
+
+ float32 speed_limit
+
+ float32 radius
+
+

Compact Message Definition

+
+ string start_point_id
+ string end_point_id
+ float speed_limit
+ float radius
+
+
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/msg/NetworkMapState.html b/static/api/html/clearpath_mission_manager_msgs/msg/NetworkMapState.html new file mode 100644 index 000000000..d17aba67f --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/msg/NetworkMapState.html @@ -0,0 +1,48 @@ + + + + + msg/NetworkMapState Documentation + + + +
+

clearpath_mission_manager_msgs/msg/NetworkMapState Message

+
+

File: clearpath_mission_manager_msgs/msg/NetworkMapState.msg

+

Raw Message Definition

+
+
# The UUID of the map

+ string uuid
+
+
# True if the map actually exists and was found

+ bool exists
+
+
# The number of disconnected sub-graphs of the map

+
# Normally this will be 1 (i.e. the map is a single graph that is connected)

+
# but there are circumstances where the user may intentionally want 2+ disconnected graphs

+
# (e.g. a separate graph for each side of a fence, where the only connection between the two

+
# sides is an out-of-bounds, teleop-only road)

+ int32 num_subgraphs
+
+
# If the map has any disconnected vertices, we enumerate them here by their ID

+
# If size_exceeded is true, this list may be empty or incomplete (see below)

+ string[] disconnected_point_ids
+
+
# True if the map is too big for the validation to run on it

+
# Maps with more than 1000 vertices or 8000 edges will not be fully tests

+ bool size_exceeded
+
+

Compact Message Definition

+
+ string uuid
+ boolean exists
+ int32 num_subgraphs
+ string[] disconnected_point_ids
+ boolean size_exceeded
+
+
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/msg/NetworkMapValidityState.html b/static/api/html/clearpath_mission_manager_msgs/msg/NetworkMapValidityState.html new file mode 100644 index 000000000..b82cf357e --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/msg/NetworkMapValidityState.html @@ -0,0 +1,26 @@ + + + + + msg/NetworkMapValidityState Documentation + + + +
+

clearpath_mission_manager_msgs/msg/NetworkMapValidityState Message

+
+

File: clearpath_mission_manager_msgs/msg/NetworkMapValidityState.msg

+

Raw Message Definition

+
+
# Reports the validity of all network of paths maps registered with the mission manager

+ clearpath_mission_manager_msgs/NetworkMapState[] map_states
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/msg/StorageState.html b/static/api/html/clearpath_mission_manager_msgs/msg/StorageState.html new file mode 100644 index 000000000..0d4246d77 --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/msg/StorageState.html @@ -0,0 +1,53 @@ + + + + + msg/StorageState Documentation + + + +
+

clearpath_mission_manager_msgs/msg/StorageState Message

+
+

File: clearpath_mission_manager_msgs/msg/StorageState.msg

+

Raw Message Definition

+
+
# 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_task_msgs/Task[] tasks
+
+
# All network of paths missions in the database

+ clearpath_navigation_msgs/NetworkMission[] network_missions
+
+
# All network of paths maps in the database

+ clearpath_navigation_msgs/NetworkMap[] network_maps
+
+
# Points of interest

+ clearpath_navigation_msgs/PointOfInterest[] points_of_interest
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/AddNetworkEdge.html b/static/api/html/clearpath_mission_manager_msgs/srv/AddNetworkEdge.html new file mode 100644 index 000000000..5bd85838c --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/AddNetworkEdge.html @@ -0,0 +1,58 @@ + + + + + srv/AddNetworkEdge Documentation + + + +
+

clearpath_mission_manager_msgs/srv/AddNetworkEdge Service

+
+

File: clearpath_mission_manager_msgs/srv/AddNetworkEdge.msg

+

Raw Message Definition

+
+
# The UUID of the map we're operating on

+ string map_id
+
+
# The UUIDs of the start and end points for this edge

+ string start_point_id
+ string end_point_id
+
+
# The operational radius around the edge

+ float32 radius
+
+
# The speed limit when driving along this edge

+ float32 speed_limit
+
+
# An additional cost factor to prioritize certain edges over others in the planner

+
# Higher costs -> edge is less likely to be included in the planned route

+
# Expected range is (0.0, 100.0) (exclusive range).

+
# Values outside the expected range will be treated as the default 1.0

+ float32 cost_factor
+
+
# If true, we add 2 edges, with the second one having inverted start and end points

+ bool symmetrical
+
+ ---
+
+
# The generated edge(s)

+ clearpath_navigation_msgs/NetworkEdge[] edges
+
+

Compact Message Definition

+
+ clearpath_navigation_msgs/msg/NetworkEdge[] edges
+
+ string map_id
+ string start_point_id
+ string end_point_id
+ float radius
+ float speed_limit
+ float cost_factor
+ boolean symmetrical
+
+
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/AddNetworkPath.html b/static/api/html/clearpath_mission_manager_msgs/srv/AddNetworkPath.html new file mode 100644 index 000000000..3fca9a50e --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/AddNetworkPath.html @@ -0,0 +1,43 @@ + + + + + srv/AddNetworkPath Documentation + + + +
+

clearpath_mission_manager_msgs/srv/AddNetworkPath Service

+
+

File: clearpath_mission_manager_msgs/srv/AddNetworkPath.msg

+

Raw Message Definition

+
+
# The lat-lon locations of the points to add

+ float64[] latitudes
+ float64[] longitudes
+
+
# The UUID of the map we're adding points to

+ string map_id
+
+
# If true, bidirectional edges are added between the points

+ bool symmetrical
+
+ ---
+ bool success
+ string message
+
+

Compact Message Definition

+
+ boolean success
+ string message
+
+ double[] latitudes
+ double[] longitudes
+ string map_id
+ boolean symmetrical
+
+
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/AddNetworkPoint.html b/static/api/html/clearpath_mission_manager_msgs/srv/AddNetworkPoint.html new file mode 100644 index 000000000..6e6f412eb --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/AddNetworkPoint.html @@ -0,0 +1,53 @@ + + + + + srv/AddNetworkPoint Documentation + + + +
+

clearpath_mission_manager_msgs/srv/AddNetworkPoint Service

+
+

File: clearpath_mission_manager_msgs/srv/AddNetworkPoint.msg

+

Raw Message Definition

+
+
# The location of this point on the map

+ float64 latitude
+ float64 longitude
+
+
# The UUID of the map we're adding this point to

+ string map_id
+
+
# Optional list of node IDs in the map we want to connect to the new node

+
# This specifies edges originating in the given nodes, pointing to the new node

+ string[] connect_from
+
+
# Optional list of node IDs in the map we want to connect to the new node

+
# This specifies edges originating at the new node, pointing to the nodes with the given UUIDs

+ string[] connect_to
+
+
# If true, bidirectional edge are added between the nodes specified in connect_from and connect_to

+ bool symmetrical
+
+ ---
+
+
# The added point, with generated UUID

+ clearpath_navigation_msgs/NetworkPoint point
+
+

Compact Message Definition

+
+ clearpath_navigation_msgs/msg/NetworkPoint point
+
+ double latitude
+ double longitude
+ string map_id
+ string[] connect_from
+ string[] connect_to
+ boolean symmetrical
+
+
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/AddRemoveById.html b/static/api/html/clearpath_mission_manager_msgs/srv/AddRemoveById.html new file mode 100644 index 000000000..e5be45278 --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/AddRemoveById.html @@ -0,0 +1,42 @@ + + + + + srv/AddRemoveById Documentation + + + +
+

clearpath_mission_manager_msgs/srv/AddRemoveById Service

+
+

File: clearpath_mission_manager_msgs/srv/AddRemoveById.msg

+

Raw Message Definition

+
+
# The UUID of the object we're inserting/removing

+
# When removing, all instances with this UUID are deleted from the parent if this is set

+
# To remove a single instance at a given position, leave this blank and set position (see below)

+ string uuid
+
+
# The UUID of the parent object

+ string parent_uuid
+
+
# The zero-based index to insert the object into or removing from

+
# When removing by position, make sure to leave uuid empty

+ int32 position
+ ---
+
# True if the object was added/removed successfully, otherwise False

+ bool ok
+
+

Compact Message Definition

+
+ boolean ok
+
+ string uuid
+ string parent_uuid
+ int32 position
+
+
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/AddRemoveTag.html b/static/api/html/clearpath_mission_manager_msgs/srv/AddRemoveTag.html new file mode 100644 index 000000000..ee6614279 --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/AddRemoveTag.html @@ -0,0 +1,35 @@ + + + + + srv/AddRemoveTag Documentation + + + +
+

clearpath_mission_manager_msgs/srv/AddRemoveTag Service

+
+

File: clearpath_mission_manager_msgs/srv/AddRemoveTag.msg

+

Raw Message Definition

+
+
# The UUID of the item whose tags we're modifying

+ string uuid
+
+
# The tag to add/remove

+ string tag
+ ---
+
# The item's tags after modification

+ string[] tags
+
+

Compact Message Definition

+
+ string[] tags
+
+ string uuid
+ string tag
+
+
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/CloneMission.html b/static/api/html/clearpath_mission_manager_msgs/srv/CloneMission.html new file mode 100644 index 000000000..a094e5961 --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/CloneMission.html @@ -0,0 +1,40 @@ + + + + + srv/CloneMission Documentation + + + +
+

clearpath_mission_manager_msgs/srv/CloneMission Service

+
+

File: clearpath_mission_manager_msgs/srv/CloneMission.msg

+

Raw Message Definition

+
+
# 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
+
+

Compact Message Definition

+
+ clearpath_navigation_msgs/msg/Mission mission
+
+ string uuid
+ string new_name
+ boolean reverse
+
+
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/CloneNetworkMap.html b/static/api/html/clearpath_mission_manager_msgs/srv/CloneNetworkMap.html new file mode 100644 index 000000000..15b4bf1db --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/CloneNetworkMap.html @@ -0,0 +1,37 @@ + + + + + srv/CloneNetworkMap Documentation + + + +
+

clearpath_mission_manager_msgs/srv/CloneNetworkMap Service

+
+

File: clearpath_mission_manager_msgs/srv/CloneNetworkMap.msg

+

Raw Message Definition

+
+
# The UUID of the map to clone

+ string uuid
+
+
# The new name for the map

+
# If blank, the old map name will be re-used with -copy appended to the end

+ string new_name
+
+ ---
+
# The newly-created copy of the original map, with a new name and new UUID

+ clearpath_navigation_msgs/NetworkMap map
+
+

Compact Message Definition

+
+ clearpath_navigation_msgs/msg/NetworkMap map
+
+ string uuid
+ string new_name
+
+
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/CloneNetworkMission.html b/static/api/html/clearpath_mission_manager_msgs/srv/CloneNetworkMission.html new file mode 100644 index 000000000..243b14373 --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/CloneNetworkMission.html @@ -0,0 +1,40 @@ + + + + + srv/CloneNetworkMission Documentation + + + +
+

clearpath_mission_manager_msgs/srv/CloneNetworkMission Service

+
+

File: clearpath_mission_manager_msgs/srv/CloneNetworkMission.msg

+

Raw Message Definition

+
+
# 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/NetworkMission mission
+
+

Compact Message Definition

+
+ clearpath_navigation_msgs/msg/NetworkMission mission
+
+ string uuid
+ string new_name
+ boolean reverse
+
+
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/ClonePointOfInterest.html b/static/api/html/clearpath_mission_manager_msgs/srv/ClonePointOfInterest.html new file mode 100644 index 000000000..3437a5896 --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/ClonePointOfInterest.html @@ -0,0 +1,32 @@ + + + + + srv/ClonePointOfInterest Documentation + + + +
+

clearpath_mission_manager_msgs/srv/ClonePointOfInterest Service

+
+

File: clearpath_mission_manager_msgs/srv/ClonePointOfInterest.msg

+

Raw Message Definition

+
+ string uuid
+
+ string new_name
+ ---
+ clearpath_navigation_msgs/PointOfInterest result
+
+

Compact Message Definition

+
+ clearpath_navigation_msgs/msg/PointOfInterest result
+
+ string uuid
+ string new_name
+
+
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/CreateMission.html b/static/api/html/clearpath_mission_manager_msgs/srv/CreateMission.html new file mode 100644 index 000000000..38080a130 --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/CreateMission.html @@ -0,0 +1,48 @@ + + + + + srv/CreateMission Documentation + + + +
+

clearpath_mission_manager_msgs/srv/CreateMission Service

+
+

File: clearpath_mission_manager_msgs/srv/CreateMission.msg

+

Raw Message Definition

+
+
# The desired name for the new mission

+ string name
+
+
# The additional configuration options

+
# see clearpath_navigation_msgs/msg/Mission for details

+ string onav_config
+
+
# The ordered list of Waypoint UUIDs to include in this mission

+ string[] waypoint_ids
+
+
# The ordered list of Task UUIDs to include in the on_start Task Array

+ string[] on_start_ids
+
+
# The ordered list of Task UUIDs to include in the on_stop Task Array

+ string[] on_stop_ids
+ ---
+
# The resulting Mission, with an auto-generated UUID is returned

+ clearpath_navigation_msgs/Mission result
+
+

Compact Message Definition

+
+ clearpath_navigation_msgs/msg/Mission result
+
+ string name
+ string onav_config
+ string[] waypoint_ids
+ string[] on_start_ids
+ string[] on_stop_ids
+
+
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/CreateNetworkMap.html b/static/api/html/clearpath_mission_manager_msgs/srv/CreateNetworkMap.html new file mode 100644 index 000000000..ab5844613 --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/CreateNetworkMap.html @@ -0,0 +1,51 @@ + + + + + srv/CreateNetworkMap Documentation + + + +
+

clearpath_mission_manager_msgs/srv/CreateNetworkMap Service

+
+

File: clearpath_mission_manager_msgs/srv/CreateNetworkMap.msg

+

Raw Message Definition

+
+
# Create a new NetworkMap

+
+
# The human-readable name for the map

+ string name
+
+ float32 default_radius
+ float32 default_speed_limit
+
+
# The UUIDs of the points will be re-generated when creating the map.

+
# When calling this service it is acceptable to use e.g. 0, 1, 2, ... to identify each point and re-use these

+
# values for the start/stop points in the connections

+ clearpath_navigation_msgs/NetworkPoint[] points
+
+
# A simplified array of edges; just specify the start and end point IDs from the array above, rather than providing

+
# complete point objects

+ clearpath_mission_manager_msgs/NetworkEdgeReq[] connections
+
+ ---
+
+
# The resulting NetworkMap with an auto-generated UUID is returned

+ clearpath_navigation_msgs/NetworkMap result
+
+

Compact Message Definition

+
+ clearpath_navigation_msgs/msg/NetworkMap result
+
+ string name
+ float default_radius
+ float default_speed_limit
+ clearpath_navigation_msgs/msg/NetworkPoint[] points
+ clearpath_mission_manager_msgs/msg/NetworkEdgeReq[] connections
+
+
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/CreateNetworkMission.html b/static/api/html/clearpath_mission_manager_msgs/srv/CreateNetworkMission.html new file mode 100644 index 000000000..65fb031c7 --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/CreateNetworkMission.html @@ -0,0 +1,72 @@ + + + + + srv/CreateNetworkMission Documentation + + + +
+

clearpath_mission_manager_msgs/srv/CreateNetworkMission Service

+
+

File: clearpath_mission_manager_msgs/srv/CreateNetworkMission.msg

+

Raw Message Definition

+
+
# The desired name for the new mission

+ string name
+
+
# The additional configuration options

+
# see clearpath_navigation_msgs/msg/Mission for details

+ string onav_config
+
+
# The ordered list of Waypoint UUIDs to include in this mission

+ string[] waypoint_ids
+
+
# The ordered list of Task UUIDs to include in the on_start Task Array

+ string[] on_start_ids
+
+
# The ordered list of Task UUIDs to include in the on_stop Task Array

+ string[] on_stop_ids
+
+
# Boolean value indicating whether robot should attempt 'return to dock' behavior

+
# when battery level drops below return_to_dock_battery_level

+ bool return_to_dock_enabled
+
+
# Dock UUID that the robot should return to for 'return to dock' behavior

+ string return_to_dock_id
+
+
# Value from 0 to 1 indicating what charge level the robot will return to dock at

+ float32 return_to_dock_battery_level
+
+
# Value from 0 to 1 indicating what charge level the robot should resume this mission at

+
# after returning to dock for recharging

+ float32 resume_mission_battery_level
+
+
# Boolean value indicating whether 'network' level replanning should be performed

+
# in the event that a network edge is deemed un-traversable (e.g., due to obstacles)

+ bool network_replan_enabled
+
+ ---
+
# The resulting Mission, with an auto-generated UUID is returned

+ clearpath_navigation_msgs/NetworkMission result
+
+

Compact Message Definition

+
+ clearpath_navigation_msgs/msg/NetworkMission result
+
+ string name
+ string onav_config
+ string[] waypoint_ids
+ string[] on_start_ids
+ string[] on_stop_ids
+ boolean return_to_dock_enabled
+ string return_to_dock_id
+ float return_to_dock_battery_level
+ float resume_mission_battery_level
+ boolean network_replan_enabled
+
+
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/CreatePointOfInterest.html b/static/api/html/clearpath_mission_manager_msgs/srv/CreatePointOfInterest.html new file mode 100644 index 000000000..20ee48bec --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/CreatePointOfInterest.html @@ -0,0 +1,56 @@ + + + + + srv/CreatePointOfInterest Documentation + + + +
+

clearpath_mission_manager_msgs/srv/CreatePointOfInterest Service

+
+

File: clearpath_mission_manager_msgs/srv/CreatePointOfInterest.msg

+

Raw Message Definition

+
+
# The human-readable name of this POI

+ string name
+
+
# The latitude (in decimal degrees) of this POI

+ float64 latitude
+
+
# The longitude (in decinal degrees) of this POI

+ float64 longitude
+
+
# The height above ground level (in meters)

+ float64 elevation
+
+
# The compass heading (in degrees) of this POI (optional)

+ bool enable_heading
+ float64 heading
+
+
# A set of labels assigned to the POI in order to categorize it

+ string[] tags
+
+
# A JSON formatted string that contains user defined POI fields

+ string custom_fields_json
+ ---
+ clearpath_navigation_msgs/PointOfInterest result
+
+

Compact Message Definition

+
+ clearpath_navigation_msgs/msg/PointOfInterest result
+
+ string name
+ double latitude
+ double longitude
+ double elevation
+ boolean enable_heading
+ double heading
+ string[] tags
+ string custom_fields_json
+
+
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/CreateTask.html b/static/api/html/clearpath_mission_manager_msgs/srv/CreateTask.html new file mode 100644 index 000000000..9a413b918 --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/CreateTask.html @@ -0,0 +1,42 @@ + + + + + srv/CreateTask Documentation + + + +
+

clearpath_mission_manager_msgs/srv/CreateTask Service

+
+

File: clearpath_mission_manager_msgs/srv/CreateTask.msg

+

Raw Message Definition

+
+ string name
+ string task_type
+ string server_name
+ string payload
+ bool required
+ bool allow_failure
+ float64 timeout
+ ---
+
# The resulting Task with an auto-generated UUID is returned

+ clearpath_task_msgs/Task result
+
+

Compact Message Definition

+
+ clearpath_task_msgs/msg/Task result
+
+ string name
+ string task_type
+ string server_name
+ string payload
+ boolean required
+ boolean allow_failure
+ double timeout
+
+
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/CreateWaypoint.html b/static/api/html/clearpath_mission_manager_msgs/srv/CreateWaypoint.html new file mode 100644 index 000000000..68f4da328 --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/CreateWaypoint.html @@ -0,0 +1,60 @@ + + + + + srv/CreateWaypoint Documentation + + + +
+

clearpath_mission_manager_msgs/srv/CreateWaypoint Service

+
+

File: clearpath_mission_manager_msgs/srv/CreateWaypoint.msg

+

Raw Message Definition

+
+
# 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
+
+

Compact Message Definition

+
+ clearpath_navigation_msgs/msg/Waypoint result
+
+ string name
+ double latitude
+ double longitude
+ double heading
+ double position_tolerance
+ double yaw_tolerance
+ string[] task_ids
+ string[] assign_to
+
+
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/CreateWaypointFromPoi.html b/static/api/html/clearpath_mission_manager_msgs/srv/CreateWaypointFromPoi.html new file mode 100644 index 000000000..d4c390e54 --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/CreateWaypointFromPoi.html @@ -0,0 +1,29 @@ + + + + + srv/CreateWaypointFromPoi Documentation + + + +
+

clearpath_mission_manager_msgs/srv/CreateWaypointFromPoi Service

+
+

File: clearpath_mission_manager_msgs/srv/CreateWaypointFromPoi.msg

+

Raw Message Definition

+
+ clearpath_navigation_msgs/PointOfInterest point_of_interest
+ ---
+ clearpath_navigation_msgs/Waypoint waypoint
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/DeleteById.html b/static/api/html/clearpath_mission_manager_msgs/srv/DeleteById.html new file mode 100644 index 000000000..49d5f1f3d --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/DeleteById.html @@ -0,0 +1,31 @@ + + + + + srv/DeleteById Documentation + + + +
+

clearpath_mission_manager_msgs/srv/DeleteById Service

+
+

File: clearpath_mission_manager_msgs/srv/DeleteById.msg

+

Raw Message Definition

+
+
# The UUID of the object we want to delete

+ string uuid
+ ---
+
# True if the item was successfully deleted, otherwise False

+ bool ok
+
+

Compact Message Definition

+
+ boolean ok
+
+ string uuid
+
+
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/DeleteEverything.html b/static/api/html/clearpath_mission_manager_msgs/srv/DeleteEverything.html new file mode 100644 index 000000000..c33b547e1 --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/DeleteEverything.html @@ -0,0 +1,34 @@ + + + + + srv/DeleteEverything Documentation + + + +
+

clearpath_mission_manager_msgs/srv/DeleteEverything Service

+
+

File: clearpath_mission_manager_msgs/srv/DeleteEverything.msg

+

Raw Message Definition

+
+
# 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
+
+

Compact Message Definition

+
+ boolean ok
+
+ boolean yes_i_am_absolutely_sure_i_want_to_do_this
+
+
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/DeleteMultiple.html b/static/api/html/clearpath_mission_manager_msgs/srv/DeleteMultiple.html new file mode 100644 index 000000000..131fa7eed --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/DeleteMultiple.html @@ -0,0 +1,35 @@ + + + + + srv/DeleteMultiple Documentation + + + +
+

clearpath_mission_manager_msgs/srv/DeleteMultiple Service

+
+

File: clearpath_mission_manager_msgs/srv/DeleteMultiple.msg

+

Raw Message Definition

+
+
# A list of UUIDs of items we want to delete

+ string[] uuids
+
+
# An optional ID of the parent object we're deleting from

+ string parent_id
+ ---
+
# A list of UUIDs that we were asked to delete, but failed to

+ string[] failed_uuids
+
+

Compact Message Definition

+
+ string[] failed_uuids
+
+ string[] uuids
+ string parent_id
+
+
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/ExportData.html b/static/api/html/clearpath_mission_manager_msgs/srv/ExportData.html new file mode 100644 index 000000000..cf13c1bd3 --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/ExportData.html @@ -0,0 +1,30 @@ + + + + + srv/ExportData Documentation + + + +
+

clearpath_mission_manager_msgs/srv/ExportData Service

+
+

File: clearpath_mission_manager_msgs/srv/ExportData.msg

+

Raw Message Definition

+
+ ---
+
# 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
+
+

Compact Message Definition

+
+ string data
+
+
+
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/GetAllMissions.html b/static/api/html/clearpath_mission_manager_msgs/srv/GetAllMissions.html new file mode 100644 index 000000000..f4aeb90f4 --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/GetAllMissions.html @@ -0,0 +1,28 @@ + + + + + srv/GetAllMissions Documentation + + + +
+

clearpath_mission_manager_msgs/srv/GetAllMissions Service

+
+

File: clearpath_mission_manager_msgs/srv/GetAllMissions.msg

+

Raw Message Definition

+
+ ---
+
# An array of all Missions defined in the database

+ clearpath_navigation_msgs/Mission[] missions
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/GetAllNetworkMaps.html b/static/api/html/clearpath_mission_manager_msgs/srv/GetAllNetworkMaps.html new file mode 100644 index 000000000..7f94d6178 --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/GetAllNetworkMaps.html @@ -0,0 +1,27 @@ + + + + + srv/GetAllNetworkMaps Documentation + + + +
+

clearpath_mission_manager_msgs/srv/GetAllNetworkMaps Service

+
+

File: clearpath_mission_manager_msgs/srv/GetAllNetworkMaps.msg

+

Raw Message Definition

+
+ ---
+ clearpath_navigation_msgs/NetworkMap[] maps
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/GetAllNetworkMissions.html b/static/api/html/clearpath_mission_manager_msgs/srv/GetAllNetworkMissions.html new file mode 100644 index 000000000..bd65bce58 --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/GetAllNetworkMissions.html @@ -0,0 +1,28 @@ + + + + + srv/GetAllNetworkMissions Documentation + + + +
+

clearpath_mission_manager_msgs/srv/GetAllNetworkMissions Service

+
+

File: clearpath_mission_manager_msgs/srv/GetAllNetworkMissions.msg

+

Raw Message Definition

+
+ ---
+
# An array of all Missions defined in the database

+ clearpath_navigation_msgs/NetworkMission[] missions
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/GetAllPointsOfInterest.html b/static/api/html/clearpath_mission_manager_msgs/srv/GetAllPointsOfInterest.html new file mode 100644 index 000000000..fc6b8a6a5 --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/GetAllPointsOfInterest.html @@ -0,0 +1,27 @@ + + + + + srv/GetAllPointsOfInterest Documentation + + + +
+

clearpath_mission_manager_msgs/srv/GetAllPointsOfInterest Service

+
+

File: clearpath_mission_manager_msgs/srv/GetAllPointsOfInterest.msg

+

Raw Message Definition

+
+ ---
+ clearpath_navigation_msgs/PointOfInterest[] points_of_interest
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/GetAllTasks.html b/static/api/html/clearpath_mission_manager_msgs/srv/GetAllTasks.html new file mode 100644 index 000000000..95709028e --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/GetAllTasks.html @@ -0,0 +1,28 @@ + + + + + srv/GetAllTasks Documentation + + + +
+

clearpath_mission_manager_msgs/srv/GetAllTasks Service

+
+

File: clearpath_mission_manager_msgs/srv/GetAllTasks.msg

+

Raw Message Definition

+
+ ---
+
# The array of all Tasks defined in the database

+ clearpath_task_msgs/Task[] tasks
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/GetAllWaypoints.html b/static/api/html/clearpath_mission_manager_msgs/srv/GetAllWaypoints.html new file mode 100644 index 000000000..eee0af19b --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/GetAllWaypoints.html @@ -0,0 +1,28 @@ + + + + + srv/GetAllWaypoints Documentation + + + +
+

clearpath_mission_manager_msgs/srv/GetAllWaypoints Service

+
+

File: clearpath_mission_manager_msgs/srv/GetAllWaypoints.msg

+

Raw Message Definition

+
+ ---
+
# The array of all Waypoints defined in the database

+ clearpath_navigation_msgs/Waypoint[] waypoints
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/GetEverything.html b/static/api/html/clearpath_mission_manager_msgs/srv/GetEverything.html new file mode 100644 index 000000000..77fa0c2d9 --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/GetEverything.html @@ -0,0 +1,28 @@ + + + + + srv/GetEverything Documentation + + + +
+

clearpath_mission_manager_msgs/srv/GetEverything Service

+
+

File: clearpath_mission_manager_msgs/srv/GetEverything.msg

+

Raw Message Definition

+
+ ---
+
# All Missions, Waypoints, and Tasks defined in the database

+ clearpath_mission_manager_msgs/StorageState state
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/GetMission.html b/static/api/html/clearpath_mission_manager_msgs/srv/GetMission.html new file mode 100644 index 000000000..448a21c47 --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/GetMission.html @@ -0,0 +1,31 @@ + + + + + srv/GetMission Documentation + + + +
+

clearpath_mission_manager_msgs/srv/GetMission Service

+
+

File: clearpath_mission_manager_msgs/srv/GetMission.msg

+

Raw Message Definition

+
+
# 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
+
+

Compact Message Definition

+
+ clearpath_navigation_msgs/msg/Mission mission
+
+ string uuid
+
+
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/GetNetworkMap.html b/static/api/html/clearpath_mission_manager_msgs/srv/GetNetworkMap.html new file mode 100644 index 000000000..97e5161ec --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/GetNetworkMap.html @@ -0,0 +1,30 @@ + + + + + srv/GetNetworkMap Documentation + + + +
+

clearpath_mission_manager_msgs/srv/GetNetworkMap Service

+
+

File: clearpath_mission_manager_msgs/srv/GetNetworkMap.msg

+

Raw Message Definition

+
+
# The UUID of the NetworkMap we want to retrieve

+ string uuid
+ ---
+ clearpath_navigation_msgs/NetworkMap map
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/GetNetworkMission.html b/static/api/html/clearpath_mission_manager_msgs/srv/GetNetworkMission.html new file mode 100644 index 000000000..49a8bd27d --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/GetNetworkMission.html @@ -0,0 +1,31 @@ + + + + + srv/GetNetworkMission Documentation + + + +
+

clearpath_mission_manager_msgs/srv/GetNetworkMission Service

+
+

File: clearpath_mission_manager_msgs/srv/GetNetworkMission.msg

+

Raw Message Definition

+
+
# The UUID of the NetworkMission we want to retrieve

+ string uuid
+ ---
+
# The Mission with the given ID, or null if no Mission with that ID exists

+ clearpath_navigation_msgs/NetworkMission mission
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/GetPointOfInterest.html b/static/api/html/clearpath_mission_manager_msgs/srv/GetPointOfInterest.html new file mode 100644 index 000000000..917a924d7 --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/GetPointOfInterest.html @@ -0,0 +1,29 @@ + + + + + srv/GetPointOfInterest Documentation + + + +
+

clearpath_mission_manager_msgs/srv/GetPointOfInterest Service

+
+

File: clearpath_mission_manager_msgs/srv/GetPointOfInterest.msg

+

Raw Message Definition

+
+ string uuid
+ ---
+ clearpath_navigation_msgs/PointOfInterest point_of_interest
+
+

Compact Message Definition

+
+ clearpath_navigation_msgs/msg/PointOfInterest point_of_interest
+
+ string uuid
+
+
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/GetTask.html b/static/api/html/clearpath_mission_manager_msgs/srv/GetTask.html new file mode 100644 index 000000000..61ebecbc8 --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/GetTask.html @@ -0,0 +1,31 @@ + + + + + srv/GetTask Documentation + + + +
+

clearpath_mission_manager_msgs/srv/GetTask Service

+
+

File: clearpath_mission_manager_msgs/srv/GetTask.msg

+

Raw Message Definition

+
+
# 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_task_msgs/Task task
+
+

Compact Message Definition

+
+ clearpath_task_msgs/msg/Task task
+
+ string uuid
+
+
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/GetWaypoint.html b/static/api/html/clearpath_mission_manager_msgs/srv/GetWaypoint.html new file mode 100644 index 000000000..73463781d --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/GetWaypoint.html @@ -0,0 +1,31 @@ + + + + + srv/GetWaypoint Documentation + + + +
+

clearpath_mission_manager_msgs/srv/GetWaypoint Service

+
+

File: clearpath_mission_manager_msgs/srv/GetWaypoint.msg

+

Raw Message Definition

+
+
# 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
+
+

Compact Message Definition

+
+ clearpath_navigation_msgs/msg/Waypoint waypoint
+
+ string uuid
+
+
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/ImportData.html b/static/api/html/clearpath_mission_manager_msgs/srv/ImportData.html new file mode 100644 index 000000000..c6e40fc50 --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/ImportData.html @@ -0,0 +1,33 @@ + + + + + srv/ImportData Documentation + + + +
+

clearpath_mission_manager_msgs/srv/ImportData Service

+
+

File: clearpath_mission_manager_msgs/srv/ImportData.msg

+

Raw Message Definition

+
+
# 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
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/ImportMission.html b/static/api/html/clearpath_mission_manager_msgs/srv/ImportMission.html new file mode 100644 index 000000000..d5ac8f504 --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/ImportMission.html @@ -0,0 +1,32 @@ + + + + + srv/ImportMission Documentation + + + +
+

clearpath_mission_manager_msgs/srv/ImportMission Service

+
+

File: clearpath_mission_manager_msgs/srv/ImportMission.msg

+

Raw Message Definition

+
+
# The mission to import. UUIDs that do not already exist are added, but objects with existing UUIDs

+
# are re-used

+ clearpath_navigation_msgs/Mission mission
+ ---
+
# The imported mission

+ clearpath_navigation_msgs/Mission mission
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/ImportNetworkMap.html b/static/api/html/clearpath_mission_manager_msgs/srv/ImportNetworkMap.html new file mode 100644 index 000000000..8d3f3b927 --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/ImportNetworkMap.html @@ -0,0 +1,32 @@ + + + + + srv/ImportNetworkMap Documentation + + + +
+

clearpath_mission_manager_msgs/srv/ImportNetworkMap Service

+
+

File: clearpath_mission_manager_msgs/srv/ImportNetworkMap.msg

+

Raw Message Definition

+
+
# The map to import. UUIDs that do not already exist are added, but objects with existing UUIDs

+
# are re-used

+ clearpath_navigation_msgs/NetworkMap map
+ ---
+
# The imported map

+ clearpath_navigation_msgs/NetworkMap map
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/ImportNetworkMission.html b/static/api/html/clearpath_mission_manager_msgs/srv/ImportNetworkMission.html new file mode 100644 index 000000000..86d7d16d5 --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/ImportNetworkMission.html @@ -0,0 +1,32 @@ + + + + + srv/ImportNetworkMission Documentation + + + +
+

clearpath_mission_manager_msgs/srv/ImportNetworkMission Service

+
+

File: clearpath_mission_manager_msgs/srv/ImportNetworkMission.msg

+

Raw Message Definition

+
+
# The mission to import. UUIDs that do not already exist are added, but objects with existing UUIDs

+
# are re-used

+ clearpath_navigation_msgs/NetworkMission mission
+ ---
+
# The imported mission

+ clearpath_navigation_msgs/NetworkMission mission
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/ImportTask.html b/static/api/html/clearpath_mission_manager_msgs/srv/ImportTask.html new file mode 100644 index 000000000..6df60b5ff --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/ImportTask.html @@ -0,0 +1,33 @@ + + + + + srv/ImportTask Documentation + + + +
+

clearpath_mission_manager_msgs/srv/ImportTask Service

+
+

File: clearpath_mission_manager_msgs/srv/ImportTask.msg

+

Raw Message Definition

+
+ string task_json
+ ---
+ bool success
+ string message
+ clearpath_task_msgs/Task task
+
+

Compact Message Definition

+
+ boolean success
+ string message
+ clearpath_task_msgs/msg/Task task
+
+ string task_json
+
+
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/SplitNetworkEdge.html b/static/api/html/clearpath_mission_manager_msgs/srv/SplitNetworkEdge.html new file mode 100644 index 000000000..e6abd9baa --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/SplitNetworkEdge.html @@ -0,0 +1,47 @@ + + + + + srv/SplitNetworkEdge Documentation + + + +
+

clearpath_mission_manager_msgs/srv/SplitNetworkEdge Service

+
+

File: clearpath_mission_manager_msgs/srv/SplitNetworkEdge.msg

+

Raw Message Definition

+
+
# Splits an edge on a NetworkMap to connect to a new point

+
+
# The UUID of the map to edit

+ string map_id
+
+
# The UUID of the edge we want to split

+ string edge_id
+
+
# The position of the new point to create

+ float64 new_point_latitude
+ float64 new_point_longitude
+
+
# If true, we also split the reverse edge (if it exists)

+ bool symmetrical
+ ---
+
# The map in its new state

+ clearpath_navigation_msgs/NetworkMap result
+
+

Compact Message Definition

+
+ clearpath_navigation_msgs/msg/NetworkMap result
+
+ string map_id
+ string edge_id
+ double new_point_latitude
+ double new_point_longitude
+ boolean symmetrical
+
+
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/UpdateMission.html b/static/api/html/clearpath_mission_manager_msgs/srv/UpdateMission.html new file mode 100644 index 000000000..b058559a3 --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/UpdateMission.html @@ -0,0 +1,51 @@ + + + + + srv/UpdateMission Documentation + + + +
+

clearpath_mission_manager_msgs/srv/UpdateMission Service

+
+

File: clearpath_mission_manager_msgs/srv/UpdateMission.msg

+

Raw Message Definition

+
+
# 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 ordered list of Task UUIDs to include in the on_start Task Array

+ string[] on_start_ids
+
+
# The ordered list of Task UUIDs to include in the on_stop Task Array

+ string[] on_stop_ids
+ ---
+
# The edited Mission, or null if no mission with the given ID exists

+ clearpath_navigation_msgs/Mission result
+
+

Compact Message Definition

+
+ clearpath_navigation_msgs/msg/Mission result
+
+ string uuid
+ string name
+ string onav_config
+ string[] waypoint_ids
+ string[] on_start_ids
+ string[] on_stop_ids
+
+
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/UpdateNetworkEdge.html b/static/api/html/clearpath_mission_manager_msgs/srv/UpdateNetworkEdge.html new file mode 100644 index 000000000..4fd6637ef --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/UpdateNetworkEdge.html @@ -0,0 +1,59 @@ + + + + + srv/UpdateNetworkEdge Documentation + + + +
+

clearpath_mission_manager_msgs/srv/UpdateNetworkEdge Service

+
+

File: clearpath_mission_manager_msgs/srv/UpdateNetworkEdge.msg

+

Raw Message Definition

+
+
# The UUID of the map we're operating on

+ string map_id
+
+
# The UUIDs of the start and end points for this edge

+ string uuid
+
+
# The UUIDs of the start & end points of the edge we're editing

+
# Ignored if null/empty

+ string start_point_id
+ string end_point_id
+
+
# The operational radius around the edge

+ float32 radius
+
+
# The speed limit when driving along this edge

+ float32 speed_limit
+
+
# An additional cost factor to prioritize certain edges over others in the planner

+
# Higher costs -> edge is less likely to be included in the planned route

+
# Expected range is (0.0, 100.0) (exclusive range).

+
# Values outside the expected range will be treated as the default 1.0

+ float32 cost_factor
+
+ ---
+
+
# The updated edge

+ clearpath_navigation_msgs/NetworkEdge result
+
+

Compact Message Definition

+
+ clearpath_navigation_msgs/msg/NetworkEdge result
+
+ string map_id
+ string uuid
+ string start_point_id
+ string end_point_id
+ float radius
+ float speed_limit
+ float cost_factor
+
+
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/UpdateNetworkEdges.html b/static/api/html/clearpath_mission_manager_msgs/srv/UpdateNetworkEdges.html new file mode 100644 index 000000000..ee0326232 --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/UpdateNetworkEdges.html @@ -0,0 +1,53 @@ + + + + + srv/UpdateNetworkEdges Documentation + + + +
+

clearpath_mission_manager_msgs/srv/UpdateNetworkEdges Service

+
+

File: clearpath_mission_manager_msgs/srv/UpdateNetworkEdges.msg

+

Raw Message Definition

+
+
# Update multiple edges in a single map

+
+
# The UUID of the map we're operating on

+ string map_id
+
+
# The UUIDs of the start and end points for this edge

+ string[] uuids
+
+
# The operational radii around the edges

+
# Ignored if negative

+ float32[] radii
+
+
# The speed limit when driving along the edges

+
# Ignored if negative

+ float32[] speed_limits
+
+
# The cost factors of the edges

+ float32[] cost_factors
+
+ ---
+
+
# The updated edge

+ clearpath_navigation_msgs/NetworkEdge[] result
+
+

Compact Message Definition

+
+ clearpath_navigation_msgs/msg/NetworkEdge[] result
+
+ string map_id
+ string[] uuids
+ float[] radii
+ float[] speed_limits
+ float[] cost_factors
+
+
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/UpdateNetworkMap.html b/static/api/html/clearpath_mission_manager_msgs/srv/UpdateNetworkMap.html new file mode 100644 index 000000000..dfe6b585e --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/UpdateNetworkMap.html @@ -0,0 +1,36 @@ + + + + + srv/UpdateNetworkMap Documentation + + + +
+

clearpath_mission_manager_msgs/srv/UpdateNetworkMap Service

+
+

File: clearpath_mission_manager_msgs/srv/UpdateNetworkMap.msg

+

Raw Message Definition

+
+ string uuid
+
+ string name
+ float32 default_radius
+ float32 default_speed_limit
+ ---
+ clearpath_navigation_msgs/NetworkMap result
+
+

Compact Message Definition

+
+ clearpath_navigation_msgs/msg/NetworkMap result
+
+ string uuid
+ string name
+ float default_radius
+ float default_speed_limit
+
+
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/UpdateNetworkMission.html b/static/api/html/clearpath_mission_manager_msgs/srv/UpdateNetworkMission.html new file mode 100644 index 000000000..b315fee2c --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/UpdateNetworkMission.html @@ -0,0 +1,76 @@ + + + + + srv/UpdateNetworkMission Documentation + + + +
+

clearpath_mission_manager_msgs/srv/UpdateNetworkMission Service

+
+

File: clearpath_mission_manager_msgs/srv/UpdateNetworkMission.msg

+

Raw Message Definition

+
+
# The UUID of the mission we want to edit

+ string uuid
+
+
# The desired name for the new mission

+ string name
+
+
# The additional configuration options

+
# see clearpath_navigation_msgs/msg/Mission for details

+ string onav_config
+
+
# The ordered list of Waypoint UUIDs to include in this mission

+ string[] waypoint_ids
+
+
# The ordered list of Task UUIDs to include in the on_start Task Array

+ string[] on_start_ids
+
+
# The ordered list of Task UUIDs to include in the on_stop Task Array

+ string[] on_stop_ids
+
+
# Boolean value indicating whether robot should attempt 'return to dock' behavior

+
# when battery level drops below return_to_dock_battery_level

+ bool return_to_dock_enabled
+
+
# Dock UUID that the robot should return to for 'return to dock' behavior

+ string return_to_dock_id
+
+
# Value from 0 to 1 indicating what charge level the robot will return to dock at

+ float32 return_to_dock_battery_level
+
+
# Value from 0 to 1 indicating what charge level the robot should resume this mission at

+
# after returning to dock for recharging

+ float32 resume_mission_battery_level
+
+
# Boolean value indicating whether 'network' level replanning should be performed

+
# in the event that a network edge is deemed un-traversable (e.g., due to obstacles)

+ bool network_replan_enabled
+
+ ---
+
# The resulting Mission, with an auto-generated UUID is returned

+ clearpath_navigation_msgs/NetworkMission result
+
+

Compact Message Definition

+
+ clearpath_navigation_msgs/msg/NetworkMission result
+
+ string uuid
+ string name
+ string onav_config
+ string[] waypoint_ids
+ string[] on_start_ids
+ string[] on_stop_ids
+ boolean return_to_dock_enabled
+ string return_to_dock_id
+ float return_to_dock_battery_level
+ float resume_mission_battery_level
+ boolean network_replan_enabled
+
+
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/UpdateNetworkPoint.html b/static/api/html/clearpath_mission_manager_msgs/srv/UpdateNetworkPoint.html new file mode 100644 index 000000000..0f8de3082 --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/UpdateNetworkPoint.html @@ -0,0 +1,43 @@ + + + + + srv/UpdateNetworkPoint Documentation + + + +
+

clearpath_mission_manager_msgs/srv/UpdateNetworkPoint Service

+
+

File: clearpath_mission_manager_msgs/srv/UpdateNetworkPoint.msg

+

Raw Message Definition

+
+
# The UUID of the map we're working on

+ string map_id
+
+
# The UUID of the point to edit

+ string uuid
+
+
# The location of this point on the map

+ float64 latitude
+ float64 longitude
+
+ ---
+
+
# The added point, with generated UUID

+ clearpath_navigation_msgs/NetworkPoint result
+
+

Compact Message Definition

+
+ clearpath_navigation_msgs/msg/NetworkPoint result
+
+ string map_id
+ string uuid
+ double latitude
+ double longitude
+
+
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/UpdateNetworkPoints.html b/static/api/html/clearpath_mission_manager_msgs/srv/UpdateNetworkPoints.html new file mode 100644 index 000000000..6a1f7ac30 --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/UpdateNetworkPoints.html @@ -0,0 +1,43 @@ + + + + + srv/UpdateNetworkPoints Documentation + + + +
+

clearpath_mission_manager_msgs/srv/UpdateNetworkPoints Service

+
+

File: clearpath_mission_manager_msgs/srv/UpdateNetworkPoints.msg

+

Raw Message Definition

+
+
# The UUID of the map we're working on

+ string map_id
+
+
# The UUID of the points to edit

+ string[] uuids
+
+
# The location of the points on the map, in the same order as uuids

+ float64[] latitudes
+ float64[] longitudes
+
+ ---
+
+
# The added point, with generated UUID

+ clearpath_navigation_msgs/NetworkPoint[] result
+
+

Compact Message Definition

+
+ clearpath_navigation_msgs/msg/NetworkPoint[] result
+
+ string map_id
+ string[] uuids
+ double[] latitudes
+ double[] longitudes
+
+
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/UpdatePointOfInterest.html b/static/api/html/clearpath_mission_manager_msgs/srv/UpdatePointOfInterest.html new file mode 100644 index 000000000..f6973aa84 --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/UpdatePointOfInterest.html @@ -0,0 +1,60 @@ + + + + + srv/UpdatePointOfInterest Documentation + + + +
+

clearpath_mission_manager_msgs/srv/UpdatePointOfInterest Service

+
+

File: clearpath_mission_manager_msgs/srv/UpdatePointOfInterest.msg

+

Raw Message Definition

+
+
# The ID of the point to edit

+ string uuid
+
+
# The human-readable name of this POI

+ string name
+
+
# The latitude (in decimal degrees) of this POI

+ float64 latitude
+
+
# The longitude (in decinal degrees) of this POI

+ float64 longitude
+
+
# The height above ground level (in meters)

+ float64 elevation
+
+
# The compass heading (in degrees) of this POI (optional)

+ bool enable_heading
+ float64 heading
+
+
# A set of labels assigned to the POI in order to categorize it

+ string[] tags
+
+
# A JSON formatted string that contains user defined POI fields

+ string custom_fields_json
+ ---
+ clearpath_navigation_msgs/PointOfInterest result
+
+

Compact Message Definition

+
+ clearpath_navigation_msgs/msg/PointOfInterest result
+
+ string uuid
+ string name
+ double latitude
+ double longitude
+ double elevation
+ boolean enable_heading
+ double heading
+ string[] tags
+ string custom_fields_json
+
+
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/UpdateTask.html b/static/api/html/clearpath_mission_manager_msgs/srv/UpdateTask.html new file mode 100644 index 000000000..41e422a8d --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/UpdateTask.html @@ -0,0 +1,43 @@ + + + + + srv/UpdateTask Documentation + + + +
+

clearpath_mission_manager_msgs/srv/UpdateTask Service

+
+

File: clearpath_mission_manager_msgs/srv/UpdateTask.msg

+

Raw Message Definition

+
+ string uuid
+ string name
+ string task_type
+ string server_name
+ string payload
+ bool required
+ bool allow_failure
+ float64 timeout
+ ---
+ clearpath_task_msgs/Task result
+
+

Compact Message Definition

+
+ clearpath_task_msgs/msg/Task result
+
+ string uuid
+ string name
+ string task_type
+ string server_name
+ string payload
+ boolean required
+ boolean allow_failure
+ double timeout
+
+
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/UpdateWaypoint.html b/static/api/html/clearpath_mission_manager_msgs/srv/UpdateWaypoint.html new file mode 100644 index 000000000..82a33a4ac --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/UpdateWaypoint.html @@ -0,0 +1,59 @@ + + + + + srv/UpdateWaypoint Documentation + + + +
+

clearpath_mission_manager_msgs/srv/UpdateWaypoint Service

+
+

File: clearpath_mission_manager_msgs/srv/UpdateWaypoint.msg

+

Raw Message Definition

+
+
# 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
+
+

Compact Message Definition

+
+ clearpath_navigation_msgs/msg/Waypoint result
+
+ string uuid
+ string name
+ double latitude
+ double longitude
+ double heading
+ double position_tolerance
+ double yaw_tolerance
+ string[] task_ids
+
+
+ +
+ + diff --git a/static/api/html/clearpath_mission_manager_msgs/srv/ValidateNetworkMap.html b/static/api/html/clearpath_mission_manager_msgs/srv/ValidateNetworkMap.html new file mode 100644 index 000000000..be326cdd9 --- /dev/null +++ b/static/api/html/clearpath_mission_manager_msgs/srv/ValidateNetworkMap.html @@ -0,0 +1,32 @@ + + + + + srv/ValidateNetworkMap Documentation + + + +
+

clearpath_mission_manager_msgs/srv/ValidateNetworkMap Service

+
+

File: clearpath_mission_manager_msgs/srv/ValidateNetworkMap.msg

+

Raw Message Definition

+
+
# Checks that a Network of Paths map is valid and error/warning-free

+
+
# The UUID of the map to check

+ string uuid
+ ---
+ clearpath_mission_manager_msgs/NetworkMapState state
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_navigation_msgs/action/ExecuteMissionByUuid.html b/static/api/html/clearpath_navigation_msgs/action/ExecuteMissionByUuid.html new file mode 100644 index 000000000..df91dc3dc --- /dev/null +++ b/static/api/html/clearpath_navigation_msgs/action/ExecuteMissionByUuid.html @@ -0,0 +1,52 @@ + + + + + action/ExecuteMissionByUuid Documentation + + + +
+

clearpath_navigation_msgs/action/ExecuteMissionByUuid Action

+
+

File: clearpath_navigation_msgs/action/ExecuteMissionByUuid.action

+

Raw Message Definition

+
+
# 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
+ string message
+ ---
+
# feedback

+ string message
+ float32 elapsed_time
+
+

Compact Message Definition

+
+ string uuid
+ boolean from_start
+ string start_waypoint_uuid
+
+ string message
+ float elapsed_time
+
+ boolean success
+ string message
+
+
+ +
+ + diff --git a/static/api/html/clearpath_navigation_msgs/action/ExecuteNetworkGoTo.html b/static/api/html/clearpath_navigation_msgs/action/ExecuteNetworkGoTo.html new file mode 100644 index 000000000..67069015b --- /dev/null +++ b/static/api/html/clearpath_navigation_msgs/action/ExecuteNetworkGoTo.html @@ -0,0 +1,72 @@ + + + + + action/ExecuteNetworkGoTo Documentation + + + +
+

clearpath_navigation_msgs/action/ExecuteNetworkGoTo Action

+
+

File: clearpath_navigation_msgs/action/ExecuteNetworkGoTo.action

+

Raw Message Definition

+
+
# Action definition for sending a mission to the Clearpath OutdoorNav software

+
+
# goal

+ string map_uuid
+ clearpath_navigation_msgs/Waypoint waypoint
+
+ ---
+
# result

+
+ uint8 UNKNOWN = 0
+ uint8 CANCELLED = 1
+ uint8 COLLISION = 2
+ uint8 PLANNING = 3
+ uint8 START_TASKS = 4
+ uint8 END_TASKS = 5
+ uint8 MISSION_TASKS = 6
+ uint8 code
+
+ bool success
+ string message
+ uint16 NONE=0
+ uint16 error_code
+ string error_msg
+
+ ---
+
# feedback

+ string message
+ clearpath_navigation_msgs/NetworkMissionSegment network_plan
+ float32 elapsed_time
+
+

Compact Message Definition

+
+ string map_uuid
+ clearpath_navigation_msgs/msg/Waypoint waypoint
+
+ string message
+ clearpath_navigation_msgs/msg/NetworkMissionSegment network_plan
+ float elapsed_time
+
+ uint8 UNKNOWN=0
+ uint8 CANCELLED=1
+ uint8 COLLISION=2
+ uint8 PLANNING=3
+ uint8 START_TASKS=4
+ uint8 END_TASKS=5
+ uint8 MISSION_TASKS=6
+ uint16 NONE=0
+ uint8 code
+ boolean success
+ string message
+ uint16 error_code
+ string error_msg
+
+
+ +
+ + diff --git a/static/api/html/clearpath_navigation_msgs/action/ExecuteNetworkGoToPOI.html b/static/api/html/clearpath_navigation_msgs/action/ExecuteNetworkGoToPOI.html new file mode 100644 index 000000000..b61e2feaa --- /dev/null +++ b/static/api/html/clearpath_navigation_msgs/action/ExecuteNetworkGoToPOI.html @@ -0,0 +1,72 @@ + + + + + action/ExecuteNetworkGoToPOI Documentation + + + +
+

clearpath_navigation_msgs/action/ExecuteNetworkGoToPOI Action

+
+

File: clearpath_navigation_msgs/action/ExecuteNetworkGoToPOI.action

+

Raw Message Definition

+
+
# Action definition for sending a GoTo POI to the Clearpath OutdoorNav software

+
+
# goal

+ string poi_uuid
+ string map_uuid
+
+ ---
+
# result

+
+ uint8 UNKNOWN = 0
+ uint8 CANCELLED = 1
+ uint8 COLLISION = 2
+ uint8 PLANNING = 3
+ uint8 START_TASKS = 4
+ uint8 END_TASKS = 5
+ uint8 MISSION_TASKS = 6
+ uint8 code
+
+ bool success
+ string message
+ uint16 NONE=0
+ uint16 error_code
+ string error_msg
+
+ ---
+
# feedback

+ string message
+ clearpath_navigation_msgs/NetworkMissionSegment network_plan
+ float32 elapsed_time
+
+

Compact Message Definition

+
+ string poi_uuid
+ string map_uuid
+
+ string message
+ clearpath_navigation_msgs/msg/NetworkMissionSegment network_plan
+ float elapsed_time
+
+ uint8 UNKNOWN=0
+ uint8 CANCELLED=1
+ uint8 COLLISION=2
+ uint8 PLANNING=3
+ uint8 START_TASKS=4
+ uint8 END_TASKS=5
+ uint8 MISSION_TASKS=6
+ uint16 NONE=0
+ uint8 code
+ boolean success
+ string message
+ uint16 error_code
+ string error_msg
+
+
+ +
+ + diff --git a/static/api/html/clearpath_navigation_msgs/action/ExecuteNetworkMissionByUuid.html b/static/api/html/clearpath_navigation_msgs/action/ExecuteNetworkMissionByUuid.html new file mode 100644 index 000000000..e34917b2f --- /dev/null +++ b/static/api/html/clearpath_navigation_msgs/action/ExecuteNetworkMissionByUuid.html @@ -0,0 +1,75 @@ + + + + + action/ExecuteNetworkMissionByUuid Documentation + + + +
+

clearpath_navigation_msgs/action/ExecuteNetworkMissionByUuid Action

+
+

File: clearpath_navigation_msgs/action/ExecuteNetworkMissionByUuid.action

+

Raw Message Definition

+
+
# Action definition for executing a NetworkMission by uuid

+
+
# goal

+ string mission_uuid
+ string map_uuid
+
+ ---
+
# result

+
+ uint8 UNKNOWN = 0
+ uint8 CANCELLED = 1
+ uint8 COLLISION = 2
+ uint8 PLANNING = 3
+ uint8 START_TASKS = 4
+ uint8 END_TASKS = 5
+ uint8 MISSION_TASKS = 6
+ uint8 code
+
+ bool success
+ string message
+ clearpath_navigation_msgs/NetworkGoalState[] goal_states
+ uint16 NONE=0
+ uint16 error_code
+ string error_msg
+ ---
+
# feedback

+ string message
+ clearpath_navigation_msgs/NetworkGoalState[] goal_states
+ clearpath_navigation_msgs/NetworkMissionSegment network_plan
+ float32 elapsed_time
+
+

Compact Message Definition

+
+ string mission_uuid
+ string map_uuid
+
+ string message
+ clearpath_navigation_msgs/msg/NetworkGoalState[] goal_states
+ clearpath_navigation_msgs/msg/NetworkMissionSegment network_plan
+ float elapsed_time
+
+ uint8 UNKNOWN=0
+ uint8 CANCELLED=1
+ uint8 COLLISION=2
+ uint8 PLANNING=3
+ uint8 START_TASKS=4
+ uint8 END_TASKS=5
+ uint8 MISSION_TASKS=6
+ uint16 NONE=0
+ uint8 code
+ boolean success
+ string message
+ clearpath_navigation_msgs/msg/NetworkGoalState[] goal_states
+ uint16 error_code
+ string error_msg
+
+
+ +
+ + diff --git a/static/api/html/clearpath_navigation_msgs/action/ExecuteNetworkMissionFromGoal.html b/static/api/html/clearpath_navigation_msgs/action/ExecuteNetworkMissionFromGoal.html new file mode 100644 index 000000000..80515ee77 --- /dev/null +++ b/static/api/html/clearpath_navigation_msgs/action/ExecuteNetworkMissionFromGoal.html @@ -0,0 +1,79 @@ + + + + + action/ExecuteNetworkMissionFromGoal Documentation + + + +
+

clearpath_navigation_msgs/action/ExecuteNetworkMissionFromGoal Action

+
+

File: clearpath_navigation_msgs/action/ExecuteNetworkMissionFromGoal.action

+

Raw Message Definition

+
+
# Action definition for executing a NetworkMission by uuid

+
+
# goal

+ string mission_uuid
+ string map_uuid
+ string goal_uuid
+ bool run_on_start_tasks
+
+ ---
+
# result

+
+ uint8 UNKNOWN = 0
+ uint8 CANCELLED = 1
+ uint8 COLLISION = 2
+ uint8 PLANNING = 3
+ uint8 START_TASKS = 4
+ uint8 END_TASKS = 5
+ uint8 MISSION_TASKS = 6
+ uint8 code
+
+ bool success
+ string message
+ clearpath_navigation_msgs/NetworkGoalState[] goal_states
+ uint16 NONE=0
+ uint16 error_code
+ string error_msg
+ ---
+
# feedback

+ string message
+ clearpath_navigation_msgs/NetworkGoalState[] goal_states
+ clearpath_navigation_msgs/NetworkMissionSegment network_plan
+ float32 elapsed_time
+
+

Compact Message Definition

+
+ string mission_uuid
+ string map_uuid
+ string goal_uuid
+ boolean run_on_start_tasks
+
+ string message
+ clearpath_navigation_msgs/msg/NetworkGoalState[] goal_states
+ clearpath_navigation_msgs/msg/NetworkMissionSegment network_plan
+ float elapsed_time
+
+ uint8 UNKNOWN=0
+ uint8 CANCELLED=1
+ uint8 COLLISION=2
+ uint8 PLANNING=3
+ uint8 START_TASKS=4
+ uint8 END_TASKS=5
+ uint8 MISSION_TASKS=6
+ uint16 NONE=0
+ uint8 code
+ boolean success
+ string message
+ clearpath_navigation_msgs/msg/NetworkGoalState[] goal_states
+ uint16 error_code
+ string error_msg
+
+
+ +
+ + diff --git a/static/api/html/clearpath_navigation_msgs/action/InspectPoi.html b/static/api/html/clearpath_navigation_msgs/action/InspectPoi.html new file mode 100644 index 000000000..5296a39e9 --- /dev/null +++ b/static/api/html/clearpath_navigation_msgs/action/InspectPoi.html @@ -0,0 +1,44 @@ + + + + + action/InspectPoi Documentation + + + +
+

clearpath_navigation_msgs/action/InspectPoi Action

+
+

File: clearpath_navigation_msgs/action/InspectPoi.action

+

Raw Message Definition

+
+
# Action definition for inspecting a Point of Interest (POI) with a PTZ mounted on the Clearpth UGV

+
+
# goal

+ string poi_uuid
+ float32 zoom
+
+ ---
+
# result

+ bool success
+ string message
+
+ ---
+
# feedback

+ string message
+
+

Compact Message Definition

+
+ string poi_uuid
+ float zoom
+
+ string message
+
+ boolean success
+ string message
+
+
+ +
+ + diff --git a/static/api/html/clearpath_navigation_msgs/action/Mission.html b/static/api/html/clearpath_navigation_msgs/action/Mission.html new file mode 100644 index 000000000..3a81d68bd --- /dev/null +++ b/static/api/html/clearpath_navigation_msgs/action/Mission.html @@ -0,0 +1,49 @@ + + + + + action/Mission Documentation + + + +
+

clearpath_navigation_msgs/action/Mission Action

+
+

File: clearpath_navigation_msgs/action/Mission.action

+

Raw Message Definition

+
+
# 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
+ string message
+ ---
+
# feedback

+ string message
+
+

Compact Message Definition

+
+ clearpath_navigation_msgs/msg/Mission mission
+ boolean from_start
+ clearpath_navigation_msgs/msg/Waypoint start_waypoint
+
+ string message
+
+ boolean success
+ string message
+
+
+ +
+ + diff --git a/static/api/html/clearpath_navigation_msgs/action/RecordPath.html b/static/api/html/clearpath_navigation_msgs/action/RecordPath.html new file mode 100644 index 000000000..37a5cbe1b --- /dev/null +++ b/static/api/html/clearpath_navigation_msgs/action/RecordPath.html @@ -0,0 +1,58 @@ + + + + + action/RecordPath Documentation + + + +
+

clearpath_navigation_msgs/action/RecordPath Action

+
+

File: clearpath_navigation_msgs/action/RecordPath.action

+

Raw Message Definition

+
+
# Action definition for recording a path while the robot is driving

+
+
# goal

+
+
# the maximum allowed deviation in the smoothed path in meters

+
# this value is used during the path simiplification

+ float64 max_deviation
+
+
# the minimum allowable distance between points (in meters) published in the feedback

+
# this filters the feedback topic to reduce the number of points published

+
# the final result _may_ include points closer than this distance as a result of

+
# the final simplification

+ float64 min_distance
+
+ ---
+
# result

+
+
# the simplified path; the length of this path will be <= the length of the last feedback

+
# [0] = latitude

+
# [1] = longitude

+ clearpath_navigation_msgs/Vector2D64[] points
+
+ ---
+
# feedback

+
+
# current progress; the raw points recorded so far

+
# [0] = latitude

+
# [1] = longitude

+ clearpath_navigation_msgs/Vector2D64[] points
+
+

Compact Message Definition

+
+ double max_deviation
+ double min_distance
+
+ clearpath_navigation_msgs/msg/Vector2D64[] points
+
+ clearpath_navigation_msgs/msg/Vector2D64[] points
+
+
+ +
+ + diff --git a/static/api/html/clearpath_navigation_msgs/index-msg.html b/static/api/html/clearpath_navigation_msgs/index-msg.html new file mode 100644 index 000000000..14c90dc56 --- /dev/null +++ b/static/api/html/clearpath_navigation_msgs/index-msg.html @@ -0,0 +1,49 @@ + + + + + clearpath_navigation_msgs Message / Service / Action Documentation + + + + + + diff --git a/static/api/html/clearpath_navigation_msgs/msg/AutonomyConfig.html b/static/api/html/clearpath_navigation_msgs/msg/AutonomyConfig.html new file mode 100644 index 000000000..282e72553 --- /dev/null +++ b/static/api/html/clearpath_navigation_msgs/msg/AutonomyConfig.html @@ -0,0 +1,29 @@ + + + + + msg/AutonomyConfig Documentation + + + +
+

clearpath_navigation_msgs/msg/AutonomyConfig Message

+
+

File: clearpath_navigation_msgs/msg/AutonomyConfig.msg

+

Raw Message Definition

+
+
# Autonomy configuration message

+
+ string version
+ float64 uptime
+
+

Compact Message Definition

+
+ string version
+ double uptime
+
+
+ +
+ + diff --git a/static/api/html/clearpath_navigation_msgs/msg/AutonomyStatus.html b/static/api/html/clearpath_navigation_msgs/msg/AutonomyStatus.html new file mode 100644 index 000000000..f976a3847 --- /dev/null +++ b/static/api/html/clearpath_navigation_msgs/msg/AutonomyStatus.html @@ -0,0 +1,53 @@ + + + + + msg/AutonomyStatus Documentation + + + +
+

clearpath_navigation_msgs/msg/AutonomyStatus Message

+
+

File: clearpath_navigation_msgs/msg/AutonomyStatus.msg

+

Raw Message Definition

+
+
# Message containing status of individual Waypoint in NetworkMission

+
+ std_msgs/Header header
+ builtin_interfaces/Time last_start
+ bool paused
+ string current_goal
+
+ uint8 IDLE = 0
+ uint8 NETWORK_MISSION = 1
+ uint8 NETWORK_MISSION_FROM_GOAL = 2
+ uint8 NETWORK_GOTO = 3
+ uint8 NETWORK_GOTO_POI = 4
+ uint8 LOCAL_DOCKING = 5
+ uint8 LOCAL_UNDOCKING = 6
+ uint8 NETWORK_DOCKING = 7
+
+ uint8 state
+
+

Compact Message Definition

+
+ uint8 IDLE=0
+ uint8 NETWORK_MISSION=1
+ uint8 NETWORK_MISSION_FROM_GOAL=2
+ uint8 NETWORK_GOTO=3
+ uint8 NETWORK_GOTO_POI=4
+ uint8 LOCAL_DOCKING=5
+ uint8 LOCAL_UNDOCKING=6
+ uint8 NETWORK_DOCKING=7
+ std_msgs/msg/Header header
+ builtin_interfaces/msg/Time last_start
+ boolean paused
+ string current_goal
+ uint8 state
+
+
+ +
+ + diff --git a/static/api/html/clearpath_navigation_msgs/msg/GoToPreview.html b/static/api/html/clearpath_navigation_msgs/msg/GoToPreview.html new file mode 100644 index 000000000..d6c59f59b --- /dev/null +++ b/static/api/html/clearpath_navigation_msgs/msg/GoToPreview.html @@ -0,0 +1,28 @@ + + + + + msg/GoToPreview Documentation + + + +
+

clearpath_navigation_msgs/msg/GoToPreview Message

+
+

File: clearpath_navigation_msgs/msg/GoToPreview.msg

+

Raw Message Definition

+
+
+ std_msgs/Header header
+ geometry_msgs/Point[] points
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_navigation_msgs/msg/Mission.html b/static/api/html/clearpath_navigation_msgs/msg/Mission.html new file mode 100644 index 000000000..68fd642c0 --- /dev/null +++ b/static/api/html/clearpath_navigation_msgs/msg/Mission.html @@ -0,0 +1,53 @@ + + + + + msg/Mission Documentation + + + +
+

clearpath_navigation_msgs/msg/Mission Message

+
+

File: clearpath_navigation_msgs/msg/Mission.msg

+

Raw Message Definition

+
+
# 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
+
+
# An array of Tasks to execute on Mission start

+ clearpath_task_msgs/Task[] on_start
+
+
# An array of Tasks to execute on Mission stop

+
# These Tasks will execute regardless of mission success or failure

+ clearpath_task_msgs/Task[] on_stop
+
+
# Configuration parameters for the mission

+
# Additional details TBD

+ string onav_config
+
+

Compact Message Definition

+
+ std_msgs/msg/Header header
+ string name
+ string uuid
+ clearpath_navigation_msgs/msg/Waypoint[] waypoints
+ clearpath_task_msgs/msg/Task[] on_start
+ clearpath_task_msgs/msg/Task[] on_stop
+ string onav_config
+
+
+ +
+ + diff --git a/static/api/html/clearpath_navigation_msgs/msg/MissionPreview.html b/static/api/html/clearpath_navigation_msgs/msg/MissionPreview.html new file mode 100644 index 000000000..09ea11ee6 --- /dev/null +++ b/static/api/html/clearpath_navigation_msgs/msg/MissionPreview.html @@ -0,0 +1,26 @@ + + + + + msg/MissionPreview Documentation + + + +
+

clearpath_navigation_msgs/msg/MissionPreview Message

+
+

File: clearpath_navigation_msgs/msg/MissionPreview.msg

+

Raw Message Definition

+
+
+ clearpath_navigation_msgs/NetworkMissionSegment[] segments
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_navigation_msgs/msg/MissionStatus.html b/static/api/html/clearpath_navigation_msgs/msg/MissionStatus.html new file mode 100644 index 000000000..78593c282 --- /dev/null +++ b/static/api/html/clearpath_navigation_msgs/msg/MissionStatus.html @@ -0,0 +1,35 @@ + + + + + msg/MissionStatus Documentation + + + +
+

clearpath_navigation_msgs/msg/MissionStatus Message

+
+

File: clearpath_navigation_msgs/msg/MissionStatus.msg

+

Raw Message Definition

+
+
# Message definition for an OutdoorNav mission

+
+ std_msgs/Header header
+
+ string name
+ string uuid
+
+ clearpath_navigation_msgs/WaypointStatus[] waypoints
+
+

Compact Message Definition

+
+ std_msgs/msg/Header header
+ string name
+ string uuid
+ clearpath_navigation_msgs/msg/WaypointStatus[] waypoints
+
+
+ +
+ + diff --git a/static/api/html/clearpath_navigation_msgs/msg/NetworkEdge.html b/static/api/html/clearpath_navigation_msgs/msg/NetworkEdge.html new file mode 100644 index 000000000..c65b97154 --- /dev/null +++ b/static/api/html/clearpath_navigation_msgs/msg/NetworkEdge.html @@ -0,0 +1,58 @@ + + + + + msg/NetworkEdge Documentation + + + +
+

clearpath_navigation_msgs/msg/NetworkEdge Message

+
+

File: clearpath_navigation_msgs/msg/NetworkEdge.msg

+

Raw Message Definition

+
+
# A directed edge connecting two NetworkPoint instances

+
+ float32 MIN_COST_FACTOR = 0.0
+ float32 MAX_COST_FACTOR = 100.0
+ float32 DEFAULT_COST_FACTOR = 1.0
+
+
# The unique ID for this edge

+ string uuid
+
+
# The points on either end of this edge

+ clearpath_navigation_msgs/NetworkPoint start_point
+ clearpath_navigation_msgs/NetworkPoint end_point
+
+
# The deviation radius allowed around this edge in meters

+
# If zero/negative, the planner will use the parent NetworkGraph object's default_radius property

+ float32 radius
+
+
# The speed limit for the zone covered by this edge in m/s

+
# If zero/negative, the planner will use the parent NetworkGraph object's default_speed_limit property

+ float32 speed_limit
+
+
# An additional cost factor to prioritize certain edges over others in the planner

+
# Higher costs -> edge is less likely to be included in the planned route

+
# Expected range is (0.0, 100.0] (i.e. 0 < cost_factor <= 100).

+
# Values outside the expected range will be treated as the default 1.0

+ float32 cost_factor
+
+

Compact Message Definition

+
+ float MIN_COST_FACTOR=0.0
+ float MAX_COST_FACTOR=100.0
+ float DEFAULT_COST_FACTOR=1.0
+ string uuid
+ clearpath_navigation_msgs/msg/NetworkPoint start_point
+ clearpath_navigation_msgs/msg/NetworkPoint end_point
+ float radius
+ float speed_limit
+ float cost_factor
+
+
+ +
+ + diff --git a/static/api/html/clearpath_navigation_msgs/msg/NetworkGoalState.html b/static/api/html/clearpath_navigation_msgs/msg/NetworkGoalState.html new file mode 100644 index 000000000..d249b1c03 --- /dev/null +++ b/static/api/html/clearpath_navigation_msgs/msg/NetworkGoalState.html @@ -0,0 +1,42 @@ + + + + + msg/NetworkGoalState Documentation + + + +
+

clearpath_navigation_msgs/msg/NetworkGoalState Message

+
+

File: clearpath_navigation_msgs/msg/NetworkGoalState.msg

+

Raw Message Definition

+
+
# Message containing status of individual Waypoint in NetworkMission

+
+ uint8 PENDING = 0
+ uint8 ACTIVE = 1
+ uint8 SUCCEEDED = 2
+ uint8 NAV_FAILURE = 3
+ uint8 TASK_WARNING = 4
+ uint8 TASK_FAILURE = 5
+
+ uint8 state
+ clearpath_navigation_msgs/Waypoint waypoint
+
+

Compact Message Definition

+
+ uint8 PENDING=0
+ uint8 ACTIVE=1
+ uint8 SUCCEEDED=2
+ uint8 NAV_FAILURE=3
+ uint8 TASK_WARNING=4
+ uint8 TASK_FAILURE=5
+ uint8 state
+ clearpath_navigation_msgs/msg/Waypoint waypoint
+
+
+ +
+ + diff --git a/static/api/html/clearpath_navigation_msgs/msg/NetworkMap.html b/static/api/html/clearpath_navigation_msgs/msg/NetworkMap.html new file mode 100644 index 000000000..82755b598 --- /dev/null +++ b/static/api/html/clearpath_navigation_msgs/msg/NetworkMap.html @@ -0,0 +1,48 @@ + + + + + msg/NetworkMap Documentation + + + +
+

clearpath_navigation_msgs/msg/NetworkMap Message

+
+

File: clearpath_navigation_msgs/msg/NetworkMap.msg

+

Raw Message Definition

+
+
# The graph representing the Network of Paths

+
# This is implemented as a directed graph

+
+ string name
+ string uuid
+
+
# The default radius for all edges in the graph

+
# Edges with a zero/negative radius will use this default instead

+ float32 default_radius
+
+
# The default speed limit for all edges in the graph

+
# Edges with a zero/negative speed limit will use this default instead

+ float32 default_speed_limit
+
+
# The array of vertices in the graph

+ clearpath_navigation_msgs/NetworkPoint[] points
+
+
# The array of all edges in the graph

+ clearpath_navigation_msgs/NetworkEdge[] connections
+
+

Compact Message Definition

+
+ string name
+ string uuid
+ float default_radius
+ float default_speed_limit
+ clearpath_navigation_msgs/msg/NetworkPoint[] points
+ clearpath_navigation_msgs/msg/NetworkEdge[] connections
+
+
+ +
+ + diff --git a/static/api/html/clearpath_navigation_msgs/msg/NetworkMission.html b/static/api/html/clearpath_navigation_msgs/msg/NetworkMission.html new file mode 100644 index 000000000..2e1f3d0d5 --- /dev/null +++ b/static/api/html/clearpath_navigation_msgs/msg/NetworkMission.html @@ -0,0 +1,74 @@ + + + + + msg/NetworkMission Documentation + + + +
+

clearpath_navigation_msgs/msg/NetworkMission Message

+
+

File: clearpath_navigation_msgs/msg/NetworkMission.msg

+

Raw Message Definition

+
+
# A Network of Paths mission

+
# Broadly the same as a standard Mission, but with additional fields to allow NoP planning

+
+ std_msgs/Header header
+
+ string name
+ string uuid
+
+
# The ordered list of waypoints to visit during this mission

+ clearpath_navigation_msgs/Waypoint[] waypoints
+
+
# An array of Tasks to execute on Mission start

+ clearpath_task_msgs/Task[] on_start
+
+
# An array of Tasks to execute on Mission stop

+
# These Tasks will execute regardless of mission success or failure

+ clearpath_task_msgs/Task[] on_stop
+
+
# Boolean value indicating whether robot should attempt 'return to dock' behavior

+
# when battery level drops below return_to_dock_battery_level

+ bool return_to_dock_enabled
+
+
# Dock UUID that the robot should return to for 'return to dock' behavior

+ string return_to_dock_id
+
+
# Value from 0 to 1 indicating what charge level the robot will return to dock at

+ float32 return_to_dock_battery_level
+
+
# Value from 0 to 1 indicating what charge level the robot should resume this mission at

+
# after returning to dock for recharging

+ float32 resume_mission_battery_level
+
+
# Boolean value indicating whether 'network' level replanning should be performed

+
# in the event that a network edge is deemed un-traversable (e.g., due to obstacles)

+ bool network_replan_enabled
+
+
# Configuration parameters for the mission

+
# Additional details TBD

+ string onav_config
+
+

Compact Message Definition

+
+ std_msgs/msg/Header header
+ string name
+ string uuid
+ clearpath_navigation_msgs/msg/Waypoint[] waypoints
+ clearpath_task_msgs/msg/Task[] on_start
+ clearpath_task_msgs/msg/Task[] on_stop
+ boolean return_to_dock_enabled
+ string return_to_dock_id
+ float return_to_dock_battery_level
+ float resume_mission_battery_level
+ boolean network_replan_enabled
+ string onav_config
+
+
+ +
+ + diff --git a/static/api/html/clearpath_navigation_msgs/msg/NetworkMissionSegment.html b/static/api/html/clearpath_navigation_msgs/msg/NetworkMissionSegment.html new file mode 100644 index 000000000..43c82287a --- /dev/null +++ b/static/api/html/clearpath_navigation_msgs/msg/NetworkMissionSegment.html @@ -0,0 +1,31 @@ + + + + + msg/NetworkMissionSegment Documentation + + + +
+

clearpath_navigation_msgs/msg/NetworkMissionSegment Message

+
+

File: clearpath_navigation_msgs/msg/NetworkMissionSegment.msg

+

Raw Message Definition

+
+
# Message containing points defining network path

+
+ std_msgs/Header header
+ clearpath_navigation_msgs/Waypoint goal
+ geometry_msgs/Point[] points
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_navigation_msgs/msg/NetworkPoint.html b/static/api/html/clearpath_navigation_msgs/msg/NetworkPoint.html new file mode 100644 index 000000000..873933aec --- /dev/null +++ b/static/api/html/clearpath_navigation_msgs/msg/NetworkPoint.html @@ -0,0 +1,34 @@ + + + + + msg/NetworkPoint Documentation + + + +
+

clearpath_navigation_msgs/msg/NetworkPoint Message

+
+

File: clearpath_navigation_msgs/msg/NetworkPoint.msg

+

Raw Message Definition

+
+
# A node on the network of paths

+
+
# The unique ID of this point

+ string uuid
+
+
# The location of this point on the map

+ float64 latitude
+ float64 longitude
+
+

Compact Message Definition

+
+ string uuid
+ double latitude
+ double longitude
+
+
+ +
+ + diff --git a/static/api/html/clearpath_navigation_msgs/msg/PointOfInterest.html b/static/api/html/clearpath_navigation_msgs/msg/PointOfInterest.html new file mode 100644 index 000000000..684192955 --- /dev/null +++ b/static/api/html/clearpath_navigation_msgs/msg/PointOfInterest.html @@ -0,0 +1,66 @@ + + + + + msg/PointOfInterest Documentation + + + +
+

clearpath_navigation_msgs/msg/PointOfInterest Message

+
+

File: clearpath_navigation_msgs/msg/PointOfInterest.msg

+

Raw Message Definition

+
+
# Message containing the data used to represent a Point of interest (POI)

+
+
# If this tag is present, the POI can be used as a navigation goal

+ string TAG_GOTO = goto
+
+
# If this tag is present, the POI can be set as the target for a PTZ camera action

+ string TAG_INSPECT = inspect
+
+
# A UUID string to uniquely identify this POI

+ string uuid
+
+
# The human-readable name of this POI

+ string name
+
+
# The latitude (in decimal degrees) of this POI

+ float64 latitude
+
+
# The longitude (in decinal degrees) of this POI

+ float64 longitude
+
+
# The height above ground level (in meters)

+ float64 elevation
+
+
# The compass heading (in degrees) of this POI (optional)

+ bool enable_heading
+ float64 heading
+
+
# A set of labels assigned to the POI in order to categorize it

+ string[] tags
+
+
# A JSON formatted string that contains user defined POI fields

+ string custom_fields_json
+
+

Compact Message Definition

+
+ string TAG_GOTO=goto
+ string TAG_INSPECT=inspect
+ string uuid
+ string name
+ double latitude
+ double longitude
+ double elevation
+ boolean enable_heading
+ double heading
+ string[] tags
+ string custom_fields_json
+
+
+ +
+ + diff --git a/static/api/html/clearpath_navigation_msgs/msg/Vector2D64.html b/static/api/html/clearpath_navigation_msgs/msg/Vector2D64.html new file mode 100644 index 000000000..e2e4fa432 --- /dev/null +++ b/static/api/html/clearpath_navigation_msgs/msg/Vector2D64.html @@ -0,0 +1,27 @@ + + + + + msg/Vector2D64 Documentation + + + +
+

clearpath_navigation_msgs/msg/Vector2D64 Message

+
+

File: clearpath_navigation_msgs/msg/Vector2D64.msg

+

Raw Message Definition

+
+
# 2D Vector of float64s

+
+ float64[2] point
+
+

Compact Message Definition

+
+ double[2] point
+
+
+ +
+ + diff --git a/static/api/html/clearpath_navigation_msgs/msg/Waypoint.html b/static/api/html/clearpath_navigation_msgs/msg/Waypoint.html new file mode 100644 index 000000000..e6b6d4772 --- /dev/null +++ b/static/api/html/clearpath_navigation_msgs/msg/Waypoint.html @@ -0,0 +1,58 @@ + + + + + msg/Waypoint Documentation + + + +
+

clearpath_navigation_msgs/msg/Waypoint Message

+
+

File: clearpath_navigation_msgs/msg/Waypoint.msg

+

Raw Message Definition

+
+
# 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_task_msgs/Task[] tasks
+
+

Compact Message Definition

+
+ string uuid
+ string name
+ double latitude
+ double longitude
+ double heading
+ double position_tolerance
+ double yaw_tolerance
+ clearpath_task_msgs/msg/Task[] tasks
+
+
+ +
+ + diff --git a/static/api/html/clearpath_navigation_msgs/msg/WaypointStatus.html b/static/api/html/clearpath_navigation_msgs/msg/WaypointStatus.html new file mode 100644 index 000000000..d53d51af5 --- /dev/null +++ b/static/api/html/clearpath_navigation_msgs/msg/WaypointStatus.html @@ -0,0 +1,32 @@ + + + + + msg/WaypointStatus Documentation + + + +
+

clearpath_navigation_msgs/msg/WaypointStatus Message

+
+

File: clearpath_navigation_msgs/msg/WaypointStatus.msg

+

Raw Message Definition

+
+
# The x and y coordinates of a specific waypoint in map (utm) coordinates.

+
+ clearpath_navigation_msgs/Waypoint waypoint
+
+ bool visited
+ bool skipped
+
+

Compact Message Definition

+
+ clearpath_navigation_msgs/msg/Waypoint waypoint
+ boolean visited
+ boolean skipped
+
+
+ +
+ + diff --git a/static/api/html/clearpath_navigation_msgs/srv/Q62AreaZoom.html b/static/api/html/clearpath_navigation_msgs/srv/Q62AreaZoom.html new file mode 100644 index 000000000..24e381c36 --- /dev/null +++ b/static/api/html/clearpath_navigation_msgs/srv/Q62AreaZoom.html @@ -0,0 +1,38 @@ + + + + + srv/Q62AreaZoom Documentation + + + +
+

clearpath_navigation_msgs/srv/Q62AreaZoom Service

+
+

File: clearpath_navigation_msgs/srv/Q62AreaZoom.msg

+

Raw Message Definition

+
+
# Service definition to re-position a pan-tilt-zoom camera to a specific location with a specified zoom

+
# Used primarily for box-zoom like functionality

+
+
#float32 x # X location to move camera to, expressed as a fraction of image dimension (0 to 1, where 0.5 is current center)

+
#float32 y # Y location to move camera to, expressed as a fraction of image dimension (0 to 1, where 0.5 is current center)

+ float32 zoom_factor
+ ---
+ bool success
+ string message
+
+

Compact Message Definition

+
+ boolean success
+ string message
+
+ float x
+ float y
+ float zoom_factor
+
+
+ +
+ + diff --git a/static/api/html/clearpath_navigation_msgs/srv/StartGoToPreviewer.html b/static/api/html/clearpath_navigation_msgs/srv/StartGoToPreviewer.html new file mode 100644 index 000000000..682bb0467 --- /dev/null +++ b/static/api/html/clearpath_navigation_msgs/srv/StartGoToPreviewer.html @@ -0,0 +1,36 @@ + + + + + srv/StartGoToPreviewer Documentation + + + +
+

clearpath_navigation_msgs/srv/StartGoToPreviewer Service

+
+

File: clearpath_navigation_msgs/srv/StartGoToPreviewer.msg

+

Raw Message Definition

+
+
# Action for starting network GoTo planner

+
+
# goal

+ string map_uuid
+ clearpath_navigation_msgs/Waypoint waypoint
+
+ ---
+
# result

+ bool success
+
+

Compact Message Definition

+
+ boolean success
+
+ string map_uuid
+ clearpath_navigation_msgs/msg/Waypoint waypoint
+
+
+ +
+ + diff --git a/static/api/html/clearpath_navigation_msgs/srv/StartMissionPreviewer.html b/static/api/html/clearpath_navigation_msgs/srv/StartMissionPreviewer.html new file mode 100644 index 000000000..753d36b2d --- /dev/null +++ b/static/api/html/clearpath_navigation_msgs/srv/StartMissionPreviewer.html @@ -0,0 +1,35 @@ + + + + + srv/StartMissionPreviewer Documentation + + + +
+

clearpath_navigation_msgs/srv/StartMissionPreviewer Service

+
+

File: clearpath_navigation_msgs/srv/StartMissionPreviewer.msg

+

Raw Message Definition

+
+
# Service for starting network mission previewer

+
+
# goal

+ string map_uuid
+ string mission_uuid
+ ---
+
# result

+ bool success
+
+

Compact Message Definition

+
+ boolean success
+
+ string map_uuid
+ string mission_uuid
+
+
+ +
+ + diff --git a/static/api/html/clearpath_safety_msgs/index-msg.html b/static/api/html/clearpath_safety_msgs/index-msg.html new file mode 100644 index 000000000..48e0c7588 --- /dev/null +++ b/static/api/html/clearpath_safety_msgs/index-msg.html @@ -0,0 +1,54 @@ + + + + + clearpath_safety_msgs Message / Service / Action Documentation + + + + + + diff --git a/static/api/html/clearpath_safety_msgs/msg/WatchdogConfigArray.html b/static/api/html/clearpath_safety_msgs/msg/WatchdogConfigArray.html new file mode 100644 index 000000000..30c945063 --- /dev/null +++ b/static/api/html/clearpath_safety_msgs/msg/WatchdogConfigArray.html @@ -0,0 +1,47 @@ + + + + + msg/WatchdogConfigArray Documentation + + + +
+

clearpath_safety_msgs/msg/WatchdogConfigArray Message

+
+

File: clearpath_safety_msgs/msg/WatchdogConfigArray.msg

+

Raw Message Definition

+
+
# Watchdog config message containing information related to device

+
# monitoring and what action should be taken to recover from an error

+
+
+ WatchdogConfigCommunication[] communication_config
+ WatchdogConfigHeartbeat[] heartbeat_config
+ WatchdogConfigInclination[] inclination_config
+ WatchdogConfigNodeStatus[] node_status_config
+ WatchdogConfigNodeletStatus[] nodelet_status_config
+ WatchdogConfigNumPoints[] num_points_config
+ WatchdogConfigOdomCovariance[] odom_covariance_config
+ WatchdogConfigRtkFix[] rtk_fix_config
+ WatchdogConfigTopicData[] topic_data_config
+ WatchdogConfigTrigger[] trigger_config
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_safety_msgs/msg/WatchdogConfigCommon.html b/static/api/html/clearpath_safety_msgs/msg/WatchdogConfigCommon.html new file mode 100644 index 000000000..47469c0cd --- /dev/null +++ b/static/api/html/clearpath_safety_msgs/msg/WatchdogConfigCommon.html @@ -0,0 +1,34 @@ + + + + + msg/WatchdogConfigCommon Documentation + + + +
+

clearpath_safety_msgs/msg/WatchdogConfigCommon Message

+
+

File: clearpath_safety_msgs/msg/WatchdogConfigCommon.msg

+

Raw Message Definition

+
+ string name
+ string type
+ bool enabled
+ string[] components
+ string on_trigger_action
+
# string[] on_trigger_options

+
+

Compact Message Definition

+
+ string name
+ string type
+ boolean enabled
+ string[] components
+ string on_trigger_action
+
+
+ +
+ + diff --git a/static/api/html/clearpath_safety_msgs/msg/WatchdogConfigCommunication.html b/static/api/html/clearpath_safety_msgs/msg/WatchdogConfigCommunication.html new file mode 100644 index 000000000..1f6e39007 --- /dev/null +++ b/static/api/html/clearpath_safety_msgs/msg/WatchdogConfigCommunication.html @@ -0,0 +1,33 @@ + + + + + msg/WatchdogConfigCommunication Documentation + + + +
+

clearpath_safety_msgs/msg/WatchdogConfigCommunication Message

+
+

File: clearpath_safety_msgs/msg/WatchdogConfigCommunication.msg

+

Raw Message Definition

+
+ WatchdogConfigCommon base_config
+ string protocol
+
#string ip # only used when protocol is 'ip'

+
#string interface # only used when protocol is 'can' or 'serial'

+ float32 timeout
+
+

Compact Message Definition

+
+ clearpath_safety_msgs/msg/WatchdogConfigCommon base_config
+ string protocol
+ string ip
+ string interface
+ float timeout
+
+
+ +
+ + diff --git a/static/api/html/clearpath_safety_msgs/msg/WatchdogConfigHeartbeat.html b/static/api/html/clearpath_safety_msgs/msg/WatchdogConfigHeartbeat.html new file mode 100644 index 000000000..efbb49071 --- /dev/null +++ b/static/api/html/clearpath_safety_msgs/msg/WatchdogConfigHeartbeat.html @@ -0,0 +1,31 @@ + + + + + msg/WatchdogConfigHeartbeat Documentation + + + +
+

clearpath_safety_msgs/msg/WatchdogConfigHeartbeat Message

+
+

File: clearpath_safety_msgs/msg/WatchdogConfigHeartbeat.msg

+

Raw Message Definition

+
+ WatchdogConfigCommon base_config
+ string topic
+ string qos
+ float32 timeout
+
+

Compact Message Definition

+
+ clearpath_safety_msgs/msg/WatchdogConfigCommon base_config
+ string topic
+ string qos
+ float timeout
+
+
+ +
+ + diff --git a/static/api/html/clearpath_safety_msgs/msg/WatchdogConfigInclination.html b/static/api/html/clearpath_safety_msgs/msg/WatchdogConfigInclination.html new file mode 100644 index 000000000..f6b6a971a --- /dev/null +++ b/static/api/html/clearpath_safety_msgs/msg/WatchdogConfigInclination.html @@ -0,0 +1,35 @@ + + + + + msg/WatchdogConfigInclination Documentation + + + +
+

clearpath_safety_msgs/msg/WatchdogConfigInclination Message

+
+

File: clearpath_safety_msgs/msg/WatchdogConfigInclination.msg

+

Raw Message Definition

+
+ WatchdogConfigCommon base_config
+ string topic
+ string qos
+ float32 roll_limit
+ float32 pitch_limit
+ float32 delay
+
+

Compact Message Definition

+
+ clearpath_safety_msgs/msg/WatchdogConfigCommon base_config
+ string topic
+ string qos
+ float roll_limit
+ float pitch_limit
+ float delay
+
+
+ +
+ + diff --git a/static/api/html/clearpath_safety_msgs/msg/WatchdogConfigNodeStatus.html b/static/api/html/clearpath_safety_msgs/msg/WatchdogConfigNodeStatus.html new file mode 100644 index 000000000..e6ee74e75 --- /dev/null +++ b/static/api/html/clearpath_safety_msgs/msg/WatchdogConfigNodeStatus.html @@ -0,0 +1,29 @@ + + + + + msg/WatchdogConfigNodeStatus Documentation + + + +
+

clearpath_safety_msgs/msg/WatchdogConfigNodeStatus Message

+
+

File: clearpath_safety_msgs/msg/WatchdogConfigNodeStatus.msg

+

Raw Message Definition

+
+ WatchdogConfigCommon base_config
+ string node_name
+ uint8 num_requests
+
+

Compact Message Definition

+
+ clearpath_safety_msgs/msg/WatchdogConfigCommon base_config
+ string node_name
+ uint8 num_requests
+
+
+ +
+ + diff --git a/static/api/html/clearpath_safety_msgs/msg/WatchdogConfigNodeletStatus.html b/static/api/html/clearpath_safety_msgs/msg/WatchdogConfigNodeletStatus.html new file mode 100644 index 000000000..07aafa0dd --- /dev/null +++ b/static/api/html/clearpath_safety_msgs/msg/WatchdogConfigNodeletStatus.html @@ -0,0 +1,31 @@ + + + + + msg/WatchdogConfigNodeletStatus Documentation + + + +
+

clearpath_safety_msgs/msg/WatchdogConfigNodeletStatus Message

+
+

File: clearpath_safety_msgs/msg/WatchdogConfigNodeletStatus.msg

+

Raw Message Definition

+
+ WatchdogConfigCommon base_config
+ string manager
+ string nodelet
+ uint8 num_requests
+
+

Compact Message Definition

+
+ clearpath_safety_msgs/msg/WatchdogConfigCommon base_config
+ string manager
+ string nodelet
+ uint8 num_requests
+
+
+ +
+ + diff --git a/static/api/html/clearpath_safety_msgs/msg/WatchdogConfigNumPoints.html b/static/api/html/clearpath_safety_msgs/msg/WatchdogConfigNumPoints.html new file mode 100644 index 000000000..8062015a8 --- /dev/null +++ b/static/api/html/clearpath_safety_msgs/msg/WatchdogConfigNumPoints.html @@ -0,0 +1,31 @@ + + + + + msg/WatchdogConfigNumPoints Documentation + + + +
+

clearpath_safety_msgs/msg/WatchdogConfigNumPoints Message

+
+

File: clearpath_safety_msgs/msg/WatchdogConfigNumPoints.msg

+

Raw Message Definition

+
+ WatchdogConfigCommon base_config
+ string topic
+ string qos
+ int32 threshold
+
+

Compact Message Definition

+
+ clearpath_safety_msgs/msg/WatchdogConfigCommon base_config
+ string topic
+ string qos
+ int32 threshold
+
+
+ +
+ + diff --git a/static/api/html/clearpath_safety_msgs/msg/WatchdogConfigOdomCovariance.html b/static/api/html/clearpath_safety_msgs/msg/WatchdogConfigOdomCovariance.html new file mode 100644 index 000000000..cd8cd30ed --- /dev/null +++ b/static/api/html/clearpath_safety_msgs/msg/WatchdogConfigOdomCovariance.html @@ -0,0 +1,35 @@ + + + + + msg/WatchdogConfigOdomCovariance Documentation + + + +
+

clearpath_safety_msgs/msg/WatchdogConfigOdomCovariance Message

+
+

File: clearpath_safety_msgs/msg/WatchdogConfigOdomCovariance.msg

+

Raw Message Definition

+
+ WatchdogConfigCommon base_config
+
#string topic # Odometry topic

+ string qos
+ float32 xy_threshold
+ float32 yaw_threshold
+ float32 timeout
+
+

Compact Message Definition

+
+ clearpath_safety_msgs/msg/WatchdogConfigCommon base_config
+ string topic
+ string qos
+ float xy_threshold
+ float yaw_threshold
+ float timeout
+
+
+ +
+ + diff --git a/static/api/html/clearpath_safety_msgs/msg/WatchdogConfigRtkFix.html b/static/api/html/clearpath_safety_msgs/msg/WatchdogConfigRtkFix.html new file mode 100644 index 000000000..0a064fd8a --- /dev/null +++ b/static/api/html/clearpath_safety_msgs/msg/WatchdogConfigRtkFix.html @@ -0,0 +1,36 @@ + + + + + msg/WatchdogConfigRtkFix Documentation + + + +
+

clearpath_safety_msgs/msg/WatchdogConfigRtkFix Message

+
+

File: clearpath_safety_msgs/msg/WatchdogConfigRtkFix.msg

+

Raw Message Definition

+
+ WatchdogConfigCommon base_config
+
+ bool rtk_heading_required
+ bool rtk_position_required
+ float32 timeout
+
#string gnss_type # Either 'swiftnav' or 'xvn'

+ string qos
+
+

Compact Message Definition

+
+ clearpath_safety_msgs/msg/WatchdogConfigCommon base_config
+ boolean rtk_heading_required
+ boolean rtk_position_required
+ float timeout
+ string gnss_type
+ string qos
+
+
+ +
+ + diff --git a/static/api/html/clearpath_safety_msgs/msg/WatchdogConfigTopicData.html b/static/api/html/clearpath_safety_msgs/msg/WatchdogConfigTopicData.html new file mode 100644 index 000000000..667221a86 --- /dev/null +++ b/static/api/html/clearpath_safety_msgs/msg/WatchdogConfigTopicData.html @@ -0,0 +1,31 @@ + + + + + msg/WatchdogConfigTopicData Documentation + + + +
+

clearpath_safety_msgs/msg/WatchdogConfigTopicData Message

+
+

File: clearpath_safety_msgs/msg/WatchdogConfigTopicData.msg

+

Raw Message Definition

+
+ WatchdogConfigCommon base_config
+ string topic
+ string qos
+ float32 timeout
+
+

Compact Message Definition

+
+ clearpath_safety_msgs/msg/WatchdogConfigCommon base_config
+ string topic
+ string qos
+ float timeout
+
+
+ +
+ + diff --git a/static/api/html/clearpath_safety_msgs/msg/WatchdogConfigTrigger.html b/static/api/html/clearpath_safety_msgs/msg/WatchdogConfigTrigger.html new file mode 100644 index 000000000..096556ca4 --- /dev/null +++ b/static/api/html/clearpath_safety_msgs/msg/WatchdogConfigTrigger.html @@ -0,0 +1,33 @@ + + + + + msg/WatchdogConfigTrigger Documentation + + + +
+

clearpath_safety_msgs/msg/WatchdogConfigTrigger Message

+
+

File: clearpath_safety_msgs/msg/WatchdogConfigTrigger.msg

+

Raw Message Definition

+
+ WatchdogConfigCommon base_config
+ string topic
+ string qos
+ float32 timeout
+
#bool condition # true = trigger on true, false = trigger on false

+
+

Compact Message Definition

+
+ clearpath_safety_msgs/msg/WatchdogConfigCommon base_config
+ string topic
+ string qos
+ float timeout
+ boolean condition
+
+
+ +
+ + diff --git a/static/api/html/clearpath_safety_msgs/msg/WatchdogStatus.html b/static/api/html/clearpath_safety_msgs/msg/WatchdogStatus.html new file mode 100644 index 000000000..28688ce55 --- /dev/null +++ b/static/api/html/clearpath_safety_msgs/msg/WatchdogStatus.html @@ -0,0 +1,35 @@ + + + + + msg/WatchdogStatus Documentation + + + +
+

clearpath_safety_msgs/msg/WatchdogStatus Message

+
+

File: clearpath_safety_msgs/msg/WatchdogStatus.msg

+

Raw Message Definition

+
+
# The message definition for a Watchdog including the type of watchdog, whether it

+
# has been triggered or not and the recovery taken.

+
+
+ string name
+ bool triggered
+ string trigger_message
+ string action
+
+

Compact Message Definition

+
+ string name
+ boolean triggered
+ string trigger_message
+ string action
+
+
+ +
+ + diff --git a/static/api/html/clearpath_safety_msgs/msg/WatchdogStatusArray.html b/static/api/html/clearpath_safety_msgs/msg/WatchdogStatusArray.html new file mode 100644 index 000000000..9ae94c94f --- /dev/null +++ b/static/api/html/clearpath_safety_msgs/msg/WatchdogStatusArray.html @@ -0,0 +1,30 @@ + + + + + msg/WatchdogStatusArray Documentation + + + +
+

clearpath_safety_msgs/msg/WatchdogStatusArray Message

+
+

File: clearpath_safety_msgs/msg/WatchdogStatusArray.msg

+

Raw Message Definition

+
+
# Watchdog status message containing information related to device

+
# monitoring and what action has been taken to recover from an error

+
+ std_msgs/Header header
+ WatchdogStatus[] statuses
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_safety_msgs/srv/AddCommunicationWatchdog.html b/static/api/html/clearpath_safety_msgs/srv/AddCommunicationWatchdog.html new file mode 100644 index 000000000..6bb0e1a67 --- /dev/null +++ b/static/api/html/clearpath_safety_msgs/srv/AddCommunicationWatchdog.html @@ -0,0 +1,31 @@ + + + + + srv/AddCommunicationWatchdog Documentation + + + +
+

clearpath_safety_msgs/srv/AddCommunicationWatchdog Service

+
+

File: clearpath_safety_msgs/srv/AddCommunicationWatchdog.msg

+

Raw Message Definition

+
+
+ WatchdogConfigCommunication config
+
+ ---
+ bool success
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_safety_msgs/srv/AddHeartbeatWatchdog.html b/static/api/html/clearpath_safety_msgs/srv/AddHeartbeatWatchdog.html new file mode 100644 index 000000000..e0da3845f --- /dev/null +++ b/static/api/html/clearpath_safety_msgs/srv/AddHeartbeatWatchdog.html @@ -0,0 +1,31 @@ + + + + + srv/AddHeartbeatWatchdog Documentation + + + +
+

clearpath_safety_msgs/srv/AddHeartbeatWatchdog Service

+
+

File: clearpath_safety_msgs/srv/AddHeartbeatWatchdog.msg

+

Raw Message Definition

+
+
+ WatchdogConfigHeartbeat config
+
+ ---
+ bool success
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_safety_msgs/srv/AddInclinationWatchdog.html b/static/api/html/clearpath_safety_msgs/srv/AddInclinationWatchdog.html new file mode 100644 index 000000000..5569a5afe --- /dev/null +++ b/static/api/html/clearpath_safety_msgs/srv/AddInclinationWatchdog.html @@ -0,0 +1,31 @@ + + + + + srv/AddInclinationWatchdog Documentation + + + +
+

clearpath_safety_msgs/srv/AddInclinationWatchdog Service

+
+

File: clearpath_safety_msgs/srv/AddInclinationWatchdog.msg

+

Raw Message Definition

+
+
+ WatchdogConfigInclination config
+
+ ---
+ bool success
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_safety_msgs/srv/AddNodeStatusWatchdog.html b/static/api/html/clearpath_safety_msgs/srv/AddNodeStatusWatchdog.html new file mode 100644 index 000000000..b3f0f49dd --- /dev/null +++ b/static/api/html/clearpath_safety_msgs/srv/AddNodeStatusWatchdog.html @@ -0,0 +1,31 @@ + + + + + srv/AddNodeStatusWatchdog Documentation + + + +
+

clearpath_safety_msgs/srv/AddNodeStatusWatchdog Service

+
+

File: clearpath_safety_msgs/srv/AddNodeStatusWatchdog.msg

+

Raw Message Definition

+
+
+ WatchdogConfigNodeStatus config
+
+ ---
+ bool success
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_safety_msgs/srv/AddNodeletStatusWatchdog.html b/static/api/html/clearpath_safety_msgs/srv/AddNodeletStatusWatchdog.html new file mode 100644 index 000000000..ac2aa6c69 --- /dev/null +++ b/static/api/html/clearpath_safety_msgs/srv/AddNodeletStatusWatchdog.html @@ -0,0 +1,31 @@ + + + + + srv/AddNodeletStatusWatchdog Documentation + + + +
+

clearpath_safety_msgs/srv/AddNodeletStatusWatchdog Service

+
+

File: clearpath_safety_msgs/srv/AddNodeletStatusWatchdog.msg

+

Raw Message Definition

+
+
+ WatchdogConfigNodeletStatus config
+
+ ---
+ bool success
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_safety_msgs/srv/AddNumPointsWatchdog.html b/static/api/html/clearpath_safety_msgs/srv/AddNumPointsWatchdog.html new file mode 100644 index 000000000..088ebf370 --- /dev/null +++ b/static/api/html/clearpath_safety_msgs/srv/AddNumPointsWatchdog.html @@ -0,0 +1,31 @@ + + + + + srv/AddNumPointsWatchdog Documentation + + + +
+

clearpath_safety_msgs/srv/AddNumPointsWatchdog Service

+
+

File: clearpath_safety_msgs/srv/AddNumPointsWatchdog.msg

+

Raw Message Definition

+
+
+ WatchdogConfigNumPoints config
+
+ ---
+ bool success
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_safety_msgs/srv/AddOdomCovarianceWatchdog.html b/static/api/html/clearpath_safety_msgs/srv/AddOdomCovarianceWatchdog.html new file mode 100644 index 000000000..b3a30ee8a --- /dev/null +++ b/static/api/html/clearpath_safety_msgs/srv/AddOdomCovarianceWatchdog.html @@ -0,0 +1,31 @@ + + + + + srv/AddOdomCovarianceWatchdog Documentation + + + +
+

clearpath_safety_msgs/srv/AddOdomCovarianceWatchdog Service

+
+

File: clearpath_safety_msgs/srv/AddOdomCovarianceWatchdog.msg

+

Raw Message Definition

+
+
+ WatchdogConfigOdomCovariance config
+
+ ---
+ bool success
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_safety_msgs/srv/AddRtkFixWatchdog.html b/static/api/html/clearpath_safety_msgs/srv/AddRtkFixWatchdog.html new file mode 100644 index 000000000..0f61abd8b --- /dev/null +++ b/static/api/html/clearpath_safety_msgs/srv/AddRtkFixWatchdog.html @@ -0,0 +1,31 @@ + + + + + srv/AddRtkFixWatchdog Documentation + + + +
+

clearpath_safety_msgs/srv/AddRtkFixWatchdog Service

+
+

File: clearpath_safety_msgs/srv/AddRtkFixWatchdog.msg

+

Raw Message Definition

+
+
+ WatchdogConfigRtkFix config
+
+ ---
+ bool success
+
+

Compact Message Definition

+
+ boolean success
+
+ clearpath_safety_msgs/msg/WatchdogConfigRtkFix config
+
+
+ +
+ + diff --git a/static/api/html/clearpath_safety_msgs/srv/AddTopicDataWatchdog.html b/static/api/html/clearpath_safety_msgs/srv/AddTopicDataWatchdog.html new file mode 100644 index 000000000..c3fdb16e2 --- /dev/null +++ b/static/api/html/clearpath_safety_msgs/srv/AddTopicDataWatchdog.html @@ -0,0 +1,31 @@ + + + + + srv/AddTopicDataWatchdog Documentation + + + +
+

clearpath_safety_msgs/srv/AddTopicDataWatchdog Service

+
+

File: clearpath_safety_msgs/srv/AddTopicDataWatchdog.msg

+

Raw Message Definition

+
+
+ WatchdogConfigTopicData config
+
+ ---
+ bool success
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/clearpath_safety_msgs/srv/AddTriggerWatchdog.html b/static/api/html/clearpath_safety_msgs/srv/AddTriggerWatchdog.html new file mode 100644 index 000000000..3a97324b1 --- /dev/null +++ b/static/api/html/clearpath_safety_msgs/srv/AddTriggerWatchdog.html @@ -0,0 +1,31 @@ + + + + + srv/AddTriggerWatchdog Documentation + + + +
+

clearpath_safety_msgs/srv/AddTriggerWatchdog Service

+
+

File: clearpath_safety_msgs/srv/AddTriggerWatchdog.msg

+

Raw Message Definition

+
+
+ WatchdogConfigTrigger config
+
+ ---
+ bool success
+
+

Compact Message Definition

+
+ boolean success
+
+ clearpath_safety_msgs/msg/WatchdogConfigTrigger config
+
+
+ +
+ + diff --git a/static/api/html/clearpath_safety_msgs/srv/RemoveWatchdog.html b/static/api/html/clearpath_safety_msgs/srv/RemoveWatchdog.html new file mode 100644 index 000000000..e0241879f --- /dev/null +++ b/static/api/html/clearpath_safety_msgs/srv/RemoveWatchdog.html @@ -0,0 +1,30 @@ + + + + + srv/RemoveWatchdog Documentation + + + +
+

clearpath_safety_msgs/srv/RemoveWatchdog Service

+
+

File: clearpath_safety_msgs/srv/RemoveWatchdog.msg

+

Raw Message Definition

+
+
+ string name
+ ---
+ bool success
+
+

Compact Message Definition

+
+ boolean success
+
+ string name
+
+
+ +
+ + diff --git a/static/api/html/clearpath_safety_msgs/srv/UpdateCommunicationWatchdog.html b/static/api/html/clearpath_safety_msgs/srv/UpdateCommunicationWatchdog.html new file mode 100644 index 000000000..4604b5b9c --- /dev/null +++ b/static/api/html/clearpath_safety_msgs/srv/UpdateCommunicationWatchdog.html @@ -0,0 +1,32 @@ + + + + + srv/UpdateCommunicationWatchdog Documentation + + + +
+

clearpath_safety_msgs/srv/UpdateCommunicationWatchdog Service

+
+

File: clearpath_safety_msgs/srv/UpdateCommunicationWatchdog.msg

+

Raw Message Definition

+
+
+ WatchdogConfigCommunication new_config
+
#string current_name # used as a key to find the watchdog in the list of watchdogs

+ ---
+ bool success
+
+

Compact Message Definition

+
+ boolean success
+
+ clearpath_safety_msgs/msg/WatchdogConfigCommunication new_config
+ string current_name
+
+
+ +
+ + diff --git a/static/api/html/clearpath_safety_msgs/srv/UpdateHeartbeatWatchdog.html b/static/api/html/clearpath_safety_msgs/srv/UpdateHeartbeatWatchdog.html new file mode 100644 index 000000000..2fd0e79eb --- /dev/null +++ b/static/api/html/clearpath_safety_msgs/srv/UpdateHeartbeatWatchdog.html @@ -0,0 +1,32 @@ + + + + + srv/UpdateHeartbeatWatchdog Documentation + + + +
+

clearpath_safety_msgs/srv/UpdateHeartbeatWatchdog Service

+
+

File: clearpath_safety_msgs/srv/UpdateHeartbeatWatchdog.msg

+

Raw Message Definition

+
+
+ WatchdogConfigHeartbeat new_config
+
#string current_name # used as a key to find the watchdog in the list of watchdogs

+ ---
+ bool success
+
+

Compact Message Definition

+
+ boolean success
+
+ clearpath_safety_msgs/msg/WatchdogConfigHeartbeat new_config
+ string current_name
+
+
+ +
+ + diff --git a/static/api/html/clearpath_safety_msgs/srv/UpdateInclinationWatchdog.html b/static/api/html/clearpath_safety_msgs/srv/UpdateInclinationWatchdog.html new file mode 100644 index 000000000..a75eaf7d3 --- /dev/null +++ b/static/api/html/clearpath_safety_msgs/srv/UpdateInclinationWatchdog.html @@ -0,0 +1,32 @@ + + + + + srv/UpdateInclinationWatchdog Documentation + + + +
+

clearpath_safety_msgs/srv/UpdateInclinationWatchdog Service

+
+

File: clearpath_safety_msgs/srv/UpdateInclinationWatchdog.msg

+

Raw Message Definition

+
+
+ WatchdogConfigInclination new_config
+
#string current_name # used as a key to find the watchdog in the list of watchdogs

+ ---
+ bool success
+
+

Compact Message Definition

+
+ boolean success
+
+ clearpath_safety_msgs/msg/WatchdogConfigInclination new_config
+ string current_name
+
+
+ +
+ + diff --git a/static/api/html/clearpath_safety_msgs/srv/UpdateNodeStatusWatchdog.html b/static/api/html/clearpath_safety_msgs/srv/UpdateNodeStatusWatchdog.html new file mode 100644 index 000000000..36d8561dc --- /dev/null +++ b/static/api/html/clearpath_safety_msgs/srv/UpdateNodeStatusWatchdog.html @@ -0,0 +1,32 @@ + + + + + srv/UpdateNodeStatusWatchdog Documentation + + + +
+

clearpath_safety_msgs/srv/UpdateNodeStatusWatchdog Service

+
+

File: clearpath_safety_msgs/srv/UpdateNodeStatusWatchdog.msg

+

Raw Message Definition

+
+
+ WatchdogConfigNodeStatus new_config
+
#string current_name # used as a key to find the watchdog in the list of watchdogs

+ ---
+ bool success
+
+

Compact Message Definition

+
+ boolean success
+
+ clearpath_safety_msgs/msg/WatchdogConfigNodeStatus new_config
+ string current_name
+
+
+ +
+ + diff --git a/static/api/html/clearpath_safety_msgs/srv/UpdateNodeletStatusWatchdog.html b/static/api/html/clearpath_safety_msgs/srv/UpdateNodeletStatusWatchdog.html new file mode 100644 index 000000000..2addffec0 --- /dev/null +++ b/static/api/html/clearpath_safety_msgs/srv/UpdateNodeletStatusWatchdog.html @@ -0,0 +1,32 @@ + + + + + srv/UpdateNodeletStatusWatchdog Documentation + + + +
+

clearpath_safety_msgs/srv/UpdateNodeletStatusWatchdog Service

+
+

File: clearpath_safety_msgs/srv/UpdateNodeletStatusWatchdog.msg

+

Raw Message Definition

+
+
+ WatchdogConfigNodeletStatus new_config
+
#string current_name # used as a key to find the watchdog in the list of watchdogs

+ ---
+ bool success
+
+

Compact Message Definition

+
+ boolean success
+
+ clearpath_safety_msgs/msg/WatchdogConfigNodeletStatus new_config
+ string current_name
+
+
+ +
+ + diff --git a/static/api/html/clearpath_safety_msgs/srv/UpdateNumPointsWatchdog.html b/static/api/html/clearpath_safety_msgs/srv/UpdateNumPointsWatchdog.html new file mode 100644 index 000000000..a9813ed21 --- /dev/null +++ b/static/api/html/clearpath_safety_msgs/srv/UpdateNumPointsWatchdog.html @@ -0,0 +1,32 @@ + + + + + srv/UpdateNumPointsWatchdog Documentation + + + +
+

clearpath_safety_msgs/srv/UpdateNumPointsWatchdog Service

+
+

File: clearpath_safety_msgs/srv/UpdateNumPointsWatchdog.msg

+

Raw Message Definition

+
+
+ WatchdogConfigNumPoints new_config
+
#string current_name # used as a key to find the watchdog in the list of watchdogs

+ ---
+ bool success
+
+

Compact Message Definition

+
+ boolean success
+
+ clearpath_safety_msgs/msg/WatchdogConfigNumPoints new_config
+ string current_name
+
+
+ +
+ + diff --git a/static/api/html/clearpath_safety_msgs/srv/UpdateOdomCovarianceWatchdog.html b/static/api/html/clearpath_safety_msgs/srv/UpdateOdomCovarianceWatchdog.html new file mode 100644 index 000000000..227ffe7fd --- /dev/null +++ b/static/api/html/clearpath_safety_msgs/srv/UpdateOdomCovarianceWatchdog.html @@ -0,0 +1,32 @@ + + + + + srv/UpdateOdomCovarianceWatchdog Documentation + + + +
+

clearpath_safety_msgs/srv/UpdateOdomCovarianceWatchdog Service

+
+

File: clearpath_safety_msgs/srv/UpdateOdomCovarianceWatchdog.msg

+

Raw Message Definition

+
+
+ WatchdogConfigOdomCovariance new_config
+
#string current_name # used as a key to find the watchdog in the list of watchdogs

+ ---
+ bool success
+
+

Compact Message Definition

+
+ boolean success
+
+ clearpath_safety_msgs/msg/WatchdogConfigOdomCovariance new_config
+ string current_name
+
+
+ +
+ + diff --git a/static/api/html/clearpath_safety_msgs/srv/UpdateRtkFixWatchdog.html b/static/api/html/clearpath_safety_msgs/srv/UpdateRtkFixWatchdog.html new file mode 100644 index 000000000..e80cfce9a --- /dev/null +++ b/static/api/html/clearpath_safety_msgs/srv/UpdateRtkFixWatchdog.html @@ -0,0 +1,32 @@ + + + + + srv/UpdateRtkFixWatchdog Documentation + + + +
+

clearpath_safety_msgs/srv/UpdateRtkFixWatchdog Service

+
+

File: clearpath_safety_msgs/srv/UpdateRtkFixWatchdog.msg

+

Raw Message Definition

+
+
+ WatchdogConfigRtkFix new_config
+
#string current_name # used as a key to find the watchdog in the list of watchdogs

+ ---
+ bool success
+
+

Compact Message Definition

+
+ boolean success
+
+ clearpath_safety_msgs/msg/WatchdogConfigRtkFix new_config
+ string current_name
+
+
+ +
+ + diff --git a/static/api/html/clearpath_safety_msgs/srv/UpdateTopicDataWatchdog.html b/static/api/html/clearpath_safety_msgs/srv/UpdateTopicDataWatchdog.html new file mode 100644 index 000000000..a264ed340 --- /dev/null +++ b/static/api/html/clearpath_safety_msgs/srv/UpdateTopicDataWatchdog.html @@ -0,0 +1,32 @@ + + + + + srv/UpdateTopicDataWatchdog Documentation + + + +
+

clearpath_safety_msgs/srv/UpdateTopicDataWatchdog Service

+
+

File: clearpath_safety_msgs/srv/UpdateTopicDataWatchdog.msg

+

Raw Message Definition

+
+
+ WatchdogConfigTopicData new_config
+
#string current_name # used as a key to find the watchdog in the list of watchdogs

+ ---
+ bool success
+
+

Compact Message Definition

+
+ boolean success
+
+ clearpath_safety_msgs/msg/WatchdogConfigTopicData new_config
+ string current_name
+
+
+ +
+ + diff --git a/static/api/html/clearpath_safety_msgs/srv/UpdateTriggerWatchdog.html b/static/api/html/clearpath_safety_msgs/srv/UpdateTriggerWatchdog.html new file mode 100644 index 000000000..5444ad1f5 --- /dev/null +++ b/static/api/html/clearpath_safety_msgs/srv/UpdateTriggerWatchdog.html @@ -0,0 +1,32 @@ + + + + + srv/UpdateTriggerWatchdog Documentation + + + +
+

clearpath_safety_msgs/srv/UpdateTriggerWatchdog Service

+
+

File: clearpath_safety_msgs/srv/UpdateTriggerWatchdog.msg

+

Raw Message Definition

+
+
+ WatchdogConfigTrigger new_config
+
#string current_name # used as a key to find the watchdog in the list of watchdogs

+ ---
+ bool success
+
+

Compact Message Definition

+
+ boolean success
+
+ clearpath_safety_msgs/msg/WatchdogConfigTrigger new_config
+ string current_name
+
+
+ +
+ + diff --git a/static/api/html/clearpath_task_msgs/action/ExecuteTask.html b/static/api/html/clearpath_task_msgs/action/ExecuteTask.html new file mode 100644 index 000000000..26d283efa --- /dev/null +++ b/static/api/html/clearpath_task_msgs/action/ExecuteTask.html @@ -0,0 +1,40 @@ + + + + + action/ExecuteTask Documentation + + + +
+

clearpath_task_msgs/action/ExecuteTask Action

+
+

File: clearpath_task_msgs/action/ExecuteTask.action

+

Raw Message Definition

+
+
# Action to execute a task by task_id

+ string task_id
+ ---
+ bool success
+ string message
+ ---
+ string message
+ float64 progress
+ float64 time_elapsed
+
+

Compact Message Definition

+
+ string task_id
+
+ string message
+ double progress
+ double time_elapsed
+
+ boolean success
+ string message
+
+
+ +
+ + diff --git a/static/api/html/clearpath_task_msgs/index-msg.html b/static/api/html/clearpath_task_msgs/index-msg.html new file mode 100644 index 000000000..a19b8c7e9 --- /dev/null +++ b/static/api/html/clearpath_task_msgs/index-msg.html @@ -0,0 +1,26 @@ + + + + + clearpath_task_msgs Message / Service / Action Documentation + + + +
+

clearpath_task_msgs Message Documentation

+ +

clearpath_task_msgs Service Documentation

+ +

clearpath_task_msgs Action Documentation

+ + +
+ + diff --git a/static/api/html/clearpath_task_msgs/msg/Task.html b/static/api/html/clearpath_task_msgs/msg/Task.html new file mode 100644 index 000000000..55f06cdfe --- /dev/null +++ b/static/api/html/clearpath_task_msgs/msg/Task.html @@ -0,0 +1,40 @@ + + + + + msg/Task Documentation + + + +
+

clearpath_task_msgs/msg/Task Message

+
+

File: clearpath_task_msgs/msg/Task.msg

+

Raw Message Definition

+
+
# A single task that can be executed at a Waypoint

+ string name
+ string uuid
+ string task_type
+ string server_name
+ string payload
+ bool required
+ bool allow_failure
+ float64 timeout
+
+

Compact Message Definition

+
+ string name
+ string uuid
+ string task_type
+ string server_name
+ string payload
+ boolean required
+ boolean allow_failure
+ double timeout
+
+
+ +
+ + diff --git a/static/api/html/clearpath_task_msgs/msg/TaskStatus.html b/static/api/html/clearpath_task_msgs/msg/TaskStatus.html new file mode 100644 index 000000000..3517935c1 --- /dev/null +++ b/static/api/html/clearpath_task_msgs/msg/TaskStatus.html @@ -0,0 +1,30 @@ + + + + + msg/TaskStatus Documentation + + + +
+

clearpath_task_msgs/msg/TaskStatus Message

+
+

File: clearpath_task_msgs/msg/TaskStatus.msg

+

Raw Message Definition

+
+
# Message to represent the current task status

+ string task_id
+ float64 elapsed_time
+ string feedback
+
+

Compact Message Definition

+
+ string task_id
+ double elapsed_time
+ string feedback
+
+
+ +
+ + diff --git a/static/api/html/clearpath_task_msgs/srv/ExecuteTask.html b/static/api/html/clearpath_task_msgs/srv/ExecuteTask.html new file mode 100644 index 000000000..f3a67115d --- /dev/null +++ b/static/api/html/clearpath_task_msgs/srv/ExecuteTask.html @@ -0,0 +1,32 @@ + + + + + srv/ExecuteTask Documentation + + + +
+

clearpath_task_msgs/srv/ExecuteTask Service

+
+

File: clearpath_task_msgs/srv/ExecuteTask.msg

+

Raw Message Definition

+
+
# Service to execute a task by task_id

+ string task_id
+ ---
+ bool success
+ string message
+
+

Compact Message Definition

+
+ boolean success
+ string message
+
+ string task_id
+
+
+ +
+ + diff --git a/static/api/html/geometry_msgs/index-msg.html b/static/api/html/geometry_msgs/index-msg.html new file mode 100644 index 000000000..dfd474ad5 --- /dev/null +++ b/static/api/html/geometry_msgs/index-msg.html @@ -0,0 +1,48 @@ + + + + + geometry_msgs Message / Service / Action Documentation + + + + + + diff --git a/static/api/html/geometry_msgs/msg/Accel.html b/static/api/html/geometry_msgs/msg/Accel.html new file mode 100644 index 000000000..50cb0c103 --- /dev/null +++ b/static/api/html/geometry_msgs/msg/Accel.html @@ -0,0 +1,28 @@ + + + + + msg/Accel Documentation + + + +
+

geometry_msgs/msg/Accel Message

+
+

File: geometry_msgs/msg/Accel.msg

+

Raw Message Definition

+
+
# This expresses acceleration in free space broken into its linear and angular parts.

+ Vector3 linear
+ Vector3 angular
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/geometry_msgs/msg/AccelStamped.html b/static/api/html/geometry_msgs/msg/AccelStamped.html new file mode 100644 index 000000000..48ba131e3 --- /dev/null +++ b/static/api/html/geometry_msgs/msg/AccelStamped.html @@ -0,0 +1,28 @@ + + + + + msg/AccelStamped Documentation + + + +
+

geometry_msgs/msg/AccelStamped Message

+
+

File: geometry_msgs/msg/AccelStamped.msg

+

Raw Message Definition

+
+
# An accel with reference coordinate frame and timestamp

+ std_msgs/Header header
+ Accel accel
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/geometry_msgs/msg/AccelWithCovariance.html b/static/api/html/geometry_msgs/msg/AccelWithCovariance.html new file mode 100644 index 000000000..e1cca40dc --- /dev/null +++ b/static/api/html/geometry_msgs/msg/AccelWithCovariance.html @@ -0,0 +1,34 @@ + + + + + msg/AccelWithCovariance Documentation + + + +
+

geometry_msgs/msg/AccelWithCovariance Message

+
+

File: geometry_msgs/msg/AccelWithCovariance.msg

+

Raw Message Definition

+
+
# This expresses acceleration in free space with uncertainty.

+
+ Accel accel
+
+
# Row-major representation of the 6x6 covariance matrix

+
# The orientation parameters use a fixed-axis representation.

+
# In order, the parameters are:

+
# (x, y, z, rotation about X axis, rotation about Y axis, rotation about Z axis)

+ float64[36] covariance
+
+

Compact Message Definition

+
+ geometry_msgs/msg/Accel accel
+ double[36] covariance
+
+
+ +
+ + diff --git a/static/api/html/geometry_msgs/msg/AccelWithCovarianceStamped.html b/static/api/html/geometry_msgs/msg/AccelWithCovarianceStamped.html new file mode 100644 index 000000000..c6a3d38d3 --- /dev/null +++ b/static/api/html/geometry_msgs/msg/AccelWithCovarianceStamped.html @@ -0,0 +1,28 @@ + + + + + msg/AccelWithCovarianceStamped Documentation + + + +
+

geometry_msgs/msg/AccelWithCovarianceStamped Message

+
+

File: geometry_msgs/msg/AccelWithCovarianceStamped.msg

+

Raw Message Definition

+
+
# This represents an estimated accel with reference coordinate frame and timestamp.

+ std_msgs/Header header
+ AccelWithCovariance accel
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/geometry_msgs/msg/Inertia.html b/static/api/html/geometry_msgs/msg/Inertia.html new file mode 100644 index 000000000..f05fa509e --- /dev/null +++ b/static/api/html/geometry_msgs/msg/Inertia.html @@ -0,0 +1,47 @@ + + + + + msg/Inertia Documentation + + + +
+

geometry_msgs/msg/Inertia Message

+
+

File: geometry_msgs/msg/Inertia.msg

+

Raw Message Definition

+
+
# Mass [kg]

+ float64 m
+
+
# Center of mass [m]

+ geometry_msgs/Vector3 com
+
+
# Inertia Tensor [kg-m^2]

+
# | ixx ixy ixz |

+
# I = | ixy iyy iyz |

+
# | ixz iyz izz |

+ float64 ixx
+ float64 ixy
+ float64 ixz
+ float64 iyy
+ float64 iyz
+ float64 izz
+
+

Compact Message Definition

+
+ double m
+ geometry_msgs/msg/Vector3 com
+ double ixx
+ double ixy
+ double ixz
+ double iyy
+ double iyz
+ double izz
+
+
+ +
+ + diff --git a/static/api/html/geometry_msgs/msg/InertiaStamped.html b/static/api/html/geometry_msgs/msg/InertiaStamped.html new file mode 100644 index 000000000..1b0a9dde7 --- /dev/null +++ b/static/api/html/geometry_msgs/msg/InertiaStamped.html @@ -0,0 +1,29 @@ + + + + + msg/InertiaStamped Documentation + + + +
+

geometry_msgs/msg/InertiaStamped Message

+
+

File: geometry_msgs/msg/InertiaStamped.msg

+

Raw Message Definition

+
+
# An Inertia with a time stamp and reference frame.

+
+ std_msgs/Header header
+ Inertia inertia
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/geometry_msgs/msg/Point.html b/static/api/html/geometry_msgs/msg/Point.html new file mode 100644 index 000000000..f0fc47cd5 --- /dev/null +++ b/static/api/html/geometry_msgs/msg/Point.html @@ -0,0 +1,30 @@ + + + + + msg/Point Documentation + + + +
+

geometry_msgs/msg/Point Message

+
+

File: geometry_msgs/msg/Point.msg

+

Raw Message Definition

+
+
# This contains the position of a point in free space

+ float64 x
+ float64 y
+ float64 z
+
+

Compact Message Definition

+
+ double x
+ double y
+ double z
+
+
+ +
+ + diff --git a/static/api/html/geometry_msgs/msg/Point32.html b/static/api/html/geometry_msgs/msg/Point32.html new file mode 100644 index 000000000..aeacfeb4f --- /dev/null +++ b/static/api/html/geometry_msgs/msg/Point32.html @@ -0,0 +1,37 @@ + + + + + msg/Point32 Documentation + + + +
+

geometry_msgs/msg/Point32 Message

+
+

File: geometry_msgs/msg/Point32.msg

+

Raw Message Definition

+
+
# This contains the position of a point in free space(with 32 bits of precision).

+
# It is recommended to use Point wherever possible instead of Point32.

+
#

+
# This recommendation is to promote interoperability.

+
#

+
# This message is designed to take up less space when sending

+
# lots of points at once, as in the case of a PointCloud.

+
+ float32 x
+ float32 y
+ float32 z
+
+

Compact Message Definition

+
+ float x
+ float y
+ float z
+
+
+ +
+ + diff --git a/static/api/html/geometry_msgs/msg/PointStamped.html b/static/api/html/geometry_msgs/msg/PointStamped.html new file mode 100644 index 000000000..7a09a2e74 --- /dev/null +++ b/static/api/html/geometry_msgs/msg/PointStamped.html @@ -0,0 +1,29 @@ + + + + + msg/PointStamped Documentation + + + +
+

geometry_msgs/msg/PointStamped Message

+
+

File: geometry_msgs/msg/PointStamped.msg

+

Raw Message Definition

+
+
# This represents a Point with reference coordinate frame and timestamp

+
+ std_msgs/Header header
+ Point point
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/geometry_msgs/msg/Polygon.html b/static/api/html/geometry_msgs/msg/Polygon.html new file mode 100644 index 000000000..06f35f541 --- /dev/null +++ b/static/api/html/geometry_msgs/msg/Polygon.html @@ -0,0 +1,27 @@ + + + + + msg/Polygon Documentation + + + +
+

geometry_msgs/msg/Polygon Message

+
+

File: geometry_msgs/msg/Polygon.msg

+

Raw Message Definition

+
+
# A specification of a polygon where the first and last points are assumed to be connected

+
+ Point32[] points
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/geometry_msgs/msg/PolygonInstance.html b/static/api/html/geometry_msgs/msg/PolygonInstance.html new file mode 100644 index 000000000..66bbcb9c8 --- /dev/null +++ b/static/api/html/geometry_msgs/msg/PolygonInstance.html @@ -0,0 +1,30 @@ + + + + + msg/PolygonInstance Documentation + + + +
+

geometry_msgs/msg/PolygonInstance Message

+
+

File: geometry_msgs/msg/PolygonInstance.msg

+

Raw Message Definition

+
+
# A specification of a polygon where the first and last points are assumed to be connected

+
# It includes a unique identification field for disambiguating multiple instances

+
+ geometry_msgs/Polygon polygon
+ int64 id
+
+

Compact Message Definition

+
+ geometry_msgs/msg/Polygon polygon
+ int64 id
+
+
+ +
+ + diff --git a/static/api/html/geometry_msgs/msg/PolygonInstanceStamped.html b/static/api/html/geometry_msgs/msg/PolygonInstanceStamped.html new file mode 100644 index 000000000..535ff6774 --- /dev/null +++ b/static/api/html/geometry_msgs/msg/PolygonInstanceStamped.html @@ -0,0 +1,30 @@ + + + + + msg/PolygonInstanceStamped Documentation + + + +
+

geometry_msgs/msg/PolygonInstanceStamped Message

+
+

File: geometry_msgs/msg/PolygonInstanceStamped.msg

+

Raw Message Definition

+
+
# This represents a Polygon with reference coordinate frame and timestamp

+
# It includes a unique identification field for disambiguating multiple instances

+
+ std_msgs/Header header
+ geometry_msgs/PolygonInstance polygon
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/geometry_msgs/msg/PolygonStamped.html b/static/api/html/geometry_msgs/msg/PolygonStamped.html new file mode 100644 index 000000000..ebad2404a --- /dev/null +++ b/static/api/html/geometry_msgs/msg/PolygonStamped.html @@ -0,0 +1,29 @@ + + + + + msg/PolygonStamped Documentation + + + +
+

geometry_msgs/msg/PolygonStamped Message

+
+

File: geometry_msgs/msg/PolygonStamped.msg

+

Raw Message Definition

+
+
# This represents a Polygon with reference coordinate frame and timestamp

+
+ std_msgs/Header header
+ Polygon polygon
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/geometry_msgs/msg/Pose.html b/static/api/html/geometry_msgs/msg/Pose.html new file mode 100644 index 000000000..a186a939c --- /dev/null +++ b/static/api/html/geometry_msgs/msg/Pose.html @@ -0,0 +1,29 @@ + + + + + msg/Pose Documentation + + + +
+

geometry_msgs/msg/Pose Message

+
+

File: geometry_msgs/msg/Pose.msg

+

Raw Message Definition

+
+
# A representation of pose in free space, composed of position and orientation.

+
+ Point position
+ Quaternion orientation
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/geometry_msgs/msg/Pose2D.html b/static/api/html/geometry_msgs/msg/Pose2D.html new file mode 100644 index 000000000..2644aebf5 --- /dev/null +++ b/static/api/html/geometry_msgs/msg/Pose2D.html @@ -0,0 +1,36 @@ + + + + + msg/Pose2D Documentation + + + +
+

geometry_msgs/msg/Pose2D Message

+
+

File: geometry_msgs/msg/Pose2D.msg

+

Raw Message Definition

+
+
# Deprecated as of Foxy and will potentially be removed in any following release.

+
# Please use the full 3D pose.

+
+
# In general our recommendation is to use a full 3D representation of everything and for 2D specific applications make the appropriate projections into the plane for their calculations but optimally will preserve the 3D information during processing.

+
+
# If we have parallel copies of 2D datatypes every UI and other pipeline will end up needing to have dual interfaces to plot everything. And you will end up with not being able to use 3D tools for 2D use cases even if they're completely valid, as you'd have to reimplement it with different inputs and outputs. It's not particularly hard to plot the 2D pose or compute the yaw error for the Pose message and there are already tools and libraries that can do this for you.# This expresses a position and orientation on a 2D manifold.

+
+ float64 x
+ float64 y
+ float64 theta
+
+

Compact Message Definition

+
+ double x
+ double y
+ double theta
+
+
+ +
+ + diff --git a/static/api/html/geometry_msgs/msg/PoseArray.html b/static/api/html/geometry_msgs/msg/PoseArray.html new file mode 100644 index 000000000..c62dad714 --- /dev/null +++ b/static/api/html/geometry_msgs/msg/PoseArray.html @@ -0,0 +1,30 @@ + + + + + msg/PoseArray Documentation + + + +
+

geometry_msgs/msg/PoseArray Message

+
+

File: geometry_msgs/msg/PoseArray.msg

+

Raw Message Definition

+
+
# An array of poses with a header for global reference.

+
+ std_msgs/Header header
+
+ Pose[] poses
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/geometry_msgs/msg/PoseStamped.html b/static/api/html/geometry_msgs/msg/PoseStamped.html new file mode 100644 index 000000000..8f0096391 --- /dev/null +++ b/static/api/html/geometry_msgs/msg/PoseStamped.html @@ -0,0 +1,29 @@ + + + + + msg/PoseStamped Documentation + + + +
+

geometry_msgs/msg/PoseStamped Message

+
+

File: geometry_msgs/msg/PoseStamped.msg

+

Raw Message Definition

+
+
# A Pose with reference coordinate frame and timestamp

+
+ std_msgs/Header header
+ Pose pose
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/geometry_msgs/msg/PoseWithCovariance.html b/static/api/html/geometry_msgs/msg/PoseWithCovariance.html new file mode 100644 index 000000000..f06a95ab4 --- /dev/null +++ b/static/api/html/geometry_msgs/msg/PoseWithCovariance.html @@ -0,0 +1,34 @@ + + + + + msg/PoseWithCovariance Documentation + + + +
+

geometry_msgs/msg/PoseWithCovariance Message

+
+

File: geometry_msgs/msg/PoseWithCovariance.msg

+

Raw Message Definition

+
+
# This represents a pose in free space with uncertainty.

+
+ Pose pose
+
+
# Row-major representation of the 6x6 covariance matrix

+
# The orientation parameters use a fixed-axis representation.

+
# In order, the parameters are:

+
# (x, y, z, rotation about X axis, rotation about Y axis, rotation about Z axis)

+ float64[36] covariance
+
+

Compact Message Definition

+
+ geometry_msgs/msg/Pose pose
+ double[36] covariance
+
+
+ +
+ + diff --git a/static/api/html/geometry_msgs/msg/PoseWithCovarianceStamped.html b/static/api/html/geometry_msgs/msg/PoseWithCovarianceStamped.html new file mode 100644 index 000000000..be2aa2a70 --- /dev/null +++ b/static/api/html/geometry_msgs/msg/PoseWithCovarianceStamped.html @@ -0,0 +1,29 @@ + + + + + msg/PoseWithCovarianceStamped Documentation + + + +
+

geometry_msgs/msg/PoseWithCovarianceStamped Message

+
+

File: geometry_msgs/msg/PoseWithCovarianceStamped.msg

+

Raw Message Definition

+
+
# This expresses an estimated pose with a reference coordinate frame and timestamp

+
+ std_msgs/Header header
+ PoseWithCovariance pose
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/geometry_msgs/msg/Quaternion.html b/static/api/html/geometry_msgs/msg/Quaternion.html new file mode 100644 index 000000000..c12c68653 --- /dev/null +++ b/static/api/html/geometry_msgs/msg/Quaternion.html @@ -0,0 +1,33 @@ + + + + + msg/Quaternion Documentation + + + +
+

geometry_msgs/msg/Quaternion Message

+
+

File: geometry_msgs/msg/Quaternion.msg

+

Raw Message Definition

+
+
# This represents an orientation in free space in quaternion form.

+
+ float64 x 0
+ float64 y 0
+ float64 z 0
+ float64 w 1
+
+

Compact Message Definition

+
+ double x=0.0
+ double y=0.0
+ double z=0.0
+ double w=1.0
+
+
+ +
+ + diff --git a/static/api/html/geometry_msgs/msg/QuaternionStamped.html b/static/api/html/geometry_msgs/msg/QuaternionStamped.html new file mode 100644 index 000000000..5716b04c0 --- /dev/null +++ b/static/api/html/geometry_msgs/msg/QuaternionStamped.html @@ -0,0 +1,29 @@ + + + + + msg/QuaternionStamped Documentation + + + +
+

geometry_msgs/msg/QuaternionStamped Message

+
+

File: geometry_msgs/msg/QuaternionStamped.msg

+

Raw Message Definition

+
+
# This represents an orientation with reference coordinate frame and timestamp.

+
+ std_msgs/Header header
+ Quaternion quaternion
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/geometry_msgs/msg/Transform.html b/static/api/html/geometry_msgs/msg/Transform.html new file mode 100644 index 000000000..5ddf2d0f5 --- /dev/null +++ b/static/api/html/geometry_msgs/msg/Transform.html @@ -0,0 +1,29 @@ + + + + + msg/Transform Documentation + + + +
+

geometry_msgs/msg/Transform Message

+
+

File: geometry_msgs/msg/Transform.msg

+

Raw Message Definition

+
+
# This represents the transform between two coordinate frames in free space.

+
+ Vector3 translation
+ Quaternion rotation
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/geometry_msgs/msg/TransformStamped.html b/static/api/html/geometry_msgs/msg/TransformStamped.html new file mode 100644 index 000000000..f1944855d --- /dev/null +++ b/static/api/html/geometry_msgs/msg/TransformStamped.html @@ -0,0 +1,45 @@ + + + + + msg/TransformStamped Documentation + + + +
+

geometry_msgs/msg/TransformStamped Message

+
+

File: geometry_msgs/msg/TransformStamped.msg

+

Raw Message Definition

+
+
# This expresses a transform from coordinate frame header.frame_id

+
# to the coordinate frame child_frame_id at the time of header.stamp

+
#

+
# This message is mostly used by the

+
# <a href="https://docs.ros.org/en/rolling/p/tf2/">tf2</a> package.

+
# See its documentation for more information.

+
#

+
# The child_frame_id is necessary in addition to the frame_id

+
# in the Header to communicate the full reference for the transform

+
# in a self contained message.

+
+
# The frame id in the header is used as the reference frame of this transform.

+ std_msgs/Header header
+
+
# The frame id of the child frame to which this transform points.

+ string child_frame_id
+
+
# Translation and rotation in 3-dimensions of child_frame_id from header.frame_id.

+ Transform transform
+
+

Compact Message Definition

+
+ std_msgs/msg/Header header
+ string child_frame_id
+ geometry_msgs/msg/Transform transform
+
+
+ +
+ + diff --git a/static/api/html/geometry_msgs/msg/Twist.html b/static/api/html/geometry_msgs/msg/Twist.html new file mode 100644 index 000000000..4ddc61385 --- /dev/null +++ b/static/api/html/geometry_msgs/msg/Twist.html @@ -0,0 +1,29 @@ + + + + + msg/Twist Documentation + + + +
+

geometry_msgs/msg/Twist Message

+
+

File: geometry_msgs/msg/Twist.msg

+

Raw Message Definition

+
+
# This expresses velocity in free space broken into its linear and angular parts.

+
+ Vector3 linear
+ Vector3 angular
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/geometry_msgs/msg/TwistStamped.html b/static/api/html/geometry_msgs/msg/TwistStamped.html new file mode 100644 index 000000000..9f7f15b11 --- /dev/null +++ b/static/api/html/geometry_msgs/msg/TwistStamped.html @@ -0,0 +1,29 @@ + + + + + msg/TwistStamped Documentation + + + +
+

geometry_msgs/msg/TwistStamped Message

+
+

File: geometry_msgs/msg/TwistStamped.msg

+

Raw Message Definition

+
+
# A twist with reference coordinate frame and timestamp

+
+ std_msgs/Header header
+ Twist twist
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/geometry_msgs/msg/TwistWithCovariance.html b/static/api/html/geometry_msgs/msg/TwistWithCovariance.html new file mode 100644 index 000000000..0dae420be --- /dev/null +++ b/static/api/html/geometry_msgs/msg/TwistWithCovariance.html @@ -0,0 +1,34 @@ + + + + + msg/TwistWithCovariance Documentation + + + +
+

geometry_msgs/msg/TwistWithCovariance Message

+
+

File: geometry_msgs/msg/TwistWithCovariance.msg

+

Raw Message Definition

+
+
# This expresses velocity in free space with uncertainty.

+
+ Twist twist
+
+
# Row-major representation of the 6x6 covariance matrix

+
# The orientation parameters use a fixed-axis representation.

+
# In order, the parameters are:

+
# (x, y, z, rotation about X axis, rotation about Y axis, rotation about Z axis)

+ float64[36] covariance
+
+

Compact Message Definition

+
+ geometry_msgs/msg/Twist twist
+ double[36] covariance
+
+
+ +
+ + diff --git a/static/api/html/geometry_msgs/msg/TwistWithCovarianceStamped.html b/static/api/html/geometry_msgs/msg/TwistWithCovarianceStamped.html new file mode 100644 index 000000000..fceae46cc --- /dev/null +++ b/static/api/html/geometry_msgs/msg/TwistWithCovarianceStamped.html @@ -0,0 +1,29 @@ + + + + + msg/TwistWithCovarianceStamped Documentation + + + +
+

geometry_msgs/msg/TwistWithCovarianceStamped Message

+
+

File: geometry_msgs/msg/TwistWithCovarianceStamped.msg

+

Raw Message Definition

+
+
# This represents an estimated twist with reference coordinate frame and timestamp.

+
+ std_msgs/Header header
+ TwistWithCovariance twist
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/geometry_msgs/msg/Vector3.html b/static/api/html/geometry_msgs/msg/Vector3.html new file mode 100644 index 000000000..23046f660 --- /dev/null +++ b/static/api/html/geometry_msgs/msg/Vector3.html @@ -0,0 +1,35 @@ + + + + + msg/Vector3 Documentation + + + +
+

geometry_msgs/msg/Vector3 Message

+
+

File: geometry_msgs/msg/Vector3.msg

+

Raw Message Definition

+
+
# This represents a vector in free space.

+
+
# This is semantically different than a point.

+
# A vector is always anchored at the origin.

+
# When a transform is applied to a vector, only the rotational component is applied.

+
+ float64 x
+ float64 y
+ float64 z
+
+

Compact Message Definition

+
+ double x
+ double y
+ double z
+
+
+ +
+ + diff --git a/static/api/html/geometry_msgs/msg/Vector3Stamped.html b/static/api/html/geometry_msgs/msg/Vector3Stamped.html new file mode 100644 index 000000000..a44a3a22f --- /dev/null +++ b/static/api/html/geometry_msgs/msg/Vector3Stamped.html @@ -0,0 +1,32 @@ + + + + + msg/Vector3Stamped Documentation + + + +
+

geometry_msgs/msg/Vector3Stamped Message

+
+

File: geometry_msgs/msg/Vector3Stamped.msg

+

Raw Message Definition

+
+
# This represents a Vector3 with reference coordinate frame and timestamp

+
+
# Note that this follows vector semantics with it always anchored at the origin,

+
# so the rotational elements of a transform are the only parts applied when transforming.

+
+ std_msgs/Header header
+ Vector3 vector
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/geometry_msgs/msg/VelocityStamped.html b/static/api/html/geometry_msgs/msg/VelocityStamped.html new file mode 100644 index 000000000..d28b24542 --- /dev/null +++ b/static/api/html/geometry_msgs/msg/VelocityStamped.html @@ -0,0 +1,35 @@ + + + + + msg/VelocityStamped Documentation + + + +
+

geometry_msgs/msg/VelocityStamped Message

+
+

File: geometry_msgs/msg/VelocityStamped.msg

+

Raw Message Definition

+
+
# This expresses the timestamped velocity vector of a frame 'body_frame_id' in the reference frame 'reference_frame_id' expressed from arbitrary observation frame 'header.frame_id'.

+
# - If the 'body_frame_id' and 'header.frame_id' are identical, the velocity is observed and defined in the local coordinates system of the body

+
# which is the usual use-case in mobile robotics and is also known as a body twist.

+
+ std_msgs/Header header
+ string body_frame_id
+ string reference_frame_id
+ Twist velocity
+
+

Compact Message Definition

+
+ std_msgs/msg/Header header
+ string body_frame_id
+ string reference_frame_id
+ geometry_msgs/msg/Twist velocity
+
+
+ +
+ + diff --git a/static/api/html/geometry_msgs/msg/Wrench.html b/static/api/html/geometry_msgs/msg/Wrench.html new file mode 100644 index 000000000..b52771bf4 --- /dev/null +++ b/static/api/html/geometry_msgs/msg/Wrench.html @@ -0,0 +1,29 @@ + + + + + msg/Wrench Documentation + + + +
+

geometry_msgs/msg/Wrench Message

+
+

File: geometry_msgs/msg/Wrench.msg

+

Raw Message Definition

+
+
# This represents force in free space, separated into its linear and angular parts.

+
+ Vector3 force
+ Vector3 torque
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/geometry_msgs/msg/WrenchStamped.html b/static/api/html/geometry_msgs/msg/WrenchStamped.html new file mode 100644 index 000000000..5aafb0c04 --- /dev/null +++ b/static/api/html/geometry_msgs/msg/WrenchStamped.html @@ -0,0 +1,29 @@ + + + + + msg/WrenchStamped Documentation + + + +
+

geometry_msgs/msg/WrenchStamped Message

+
+

File: geometry_msgs/msg/WrenchStamped.msg

+

Raw Message Definition

+
+
# A wrench with reference coordinate frame and timestamp

+
+ std_msgs/Header header
+ Wrench wrench
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/msg-styles.css b/static/api/html/msg-styles.css new file mode 100644 index 000000000..37b93a6ab --- /dev/null +++ b/static/api/html/msg-styles.css @@ -0,0 +1,58 @@ +html { + background: #333; + color: #333; + font-family: 'Palatino', serif; + font-size: 18px; + line-height: 24px; + text-align: center; + padding: 0px 50px 0px 50px; +} +#container { + background: white; + margin: 25px auto 100px auto; + padding: 50px 50px; + text-align: left; +} +a { + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +.msg-title { + margin-bottom: 40px; + border-bottom: 1px solid #333; + padding: 10px 10px 10px 0px; +} +.filename { + padding: 5px; + background-color: #eee; + border: 1px solid #333; +} +.compact_definition-msg { + width: auto; + font-size: 14px; + line-height: 16px; + border: 1px solid #333; + padding: 10px; + margin-bottom: 20px; +} + +.comment-text { + color: blue; +} + +.raw-msg { + font-family: monospace; + width: auto; + font-size: 14px; + line-height: 16px; + padding: 5px; + border: 1px solid #333; + margin-bottom: 20px; +} + +.footer { + font-size: small; + font-style: italic; +} diff --git a/static/api/html/nav_msgs/index-msg.html b/static/api/html/nav_msgs/index-msg.html new file mode 100644 index 000000000..d299f063f --- /dev/null +++ b/static/api/html/nav_msgs/index-msg.html @@ -0,0 +1,29 @@ + + + + + nav_msgs Message / Service / Action Documentation + + + +
+

nav_msgs Message Documentation

+ +

nav_msgs Service Documentation

+ + +
+ + diff --git a/static/api/html/nav_msgs/msg/Goals.html b/static/api/html/nav_msgs/msg/Goals.html new file mode 100644 index 000000000..5ecdc3e96 --- /dev/null +++ b/static/api/html/nav_msgs/msg/Goals.html @@ -0,0 +1,37 @@ + + + + + msg/Goals Documentation + + + +
+

nav_msgs/msg/Goals Message

+
+

File: nav_msgs/msg/Goals.msg

+

Raw Message Definition

+
+
# An array of navigation goals

+
+
+
# This header will store the time at which the poses were computed (not to be confused with the stamps of the poses themselves)

+
# In the case that individual poses do not have their frame_id set or their timetamp set they will use the default value here.

+ std_msgs/Header header
+
+
# An array of goals to for navigation to achieve.

+
# The goals should be executed in the order of the array.

+
# The header and stamp are intended to be used for computing the position of the goals.

+
# They may vary to support cases of goals that are moving with respect to the robot.

+ geometry_msgs/PoseStamped[] goals
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/nav_msgs/msg/GridCells.html b/static/api/html/nav_msgs/msg/GridCells.html new file mode 100644 index 000000000..3a7436b43 --- /dev/null +++ b/static/api/html/nav_msgs/msg/GridCells.html @@ -0,0 +1,39 @@ + + + + + msg/GridCells Documentation + + + +
+

nav_msgs/msg/GridCells Message

+
+

File: nav_msgs/msg/GridCells.msg

+

Raw Message Definition

+
+
# An array of cells in a 2D grid

+
+ std_msgs/Header header
+
+
# Width of each cell

+ float32 cell_width
+
+
# Height of each cell

+ float32 cell_height
+
+
# Each cell is represented by the Point at the center of the cell

+ geometry_msgs/Point[] cells
+
+

Compact Message Definition

+
+ std_msgs/msg/Header header
+ float cell_width
+ float cell_height
+ geometry_msgs/msg/Point[] cells
+
+
+ +
+ + diff --git a/static/api/html/nav_msgs/msg/MapMetaData.html b/static/api/html/nav_msgs/msg/MapMetaData.html new file mode 100644 index 000000000..fa1f83fa3 --- /dev/null +++ b/static/api/html/nav_msgs/msg/MapMetaData.html @@ -0,0 +1,45 @@ + + + + + msg/MapMetaData Documentation + + + +
+

nav_msgs/msg/MapMetaData Message

+
+

File: nav_msgs/msg/MapMetaData.msg

+

Raw Message Definition

+
+
# This hold basic information about the characteristics of the OccupancyGrid

+
+
# The time at which the map was loaded

+ builtin_interfaces/Time map_load_time
+
+
# The map resolution [m/cell]

+ float32 resolution
+
+
# Map width [cells]

+ uint32 width
+
+
# Map height [cells]

+ uint32 height
+
+
# The origin of the map [m, m, rad]. This is the real-world pose of the

+
# bottom left corner of cell (0,0) in the map.

+ geometry_msgs/Pose origin
+
+

Compact Message Definition

+
+ builtin_interfaces/msg/Time map_load_time
+ float resolution
+ uint32 width
+ uint32 height
+ geometry_msgs/msg/Pose origin
+
+
+ +
+ + diff --git a/static/api/html/nav_msgs/msg/OccupancyGrid.html b/static/api/html/nav_msgs/msg/OccupancyGrid.html new file mode 100644 index 000000000..596d38854 --- /dev/null +++ b/static/api/html/nav_msgs/msg/OccupancyGrid.html @@ -0,0 +1,39 @@ + + + + + msg/OccupancyGrid Documentation + + + +
+

nav_msgs/msg/OccupancyGrid Message

+
+

File: nav_msgs/msg/OccupancyGrid.msg

+

Raw Message Definition

+
+
# This represents a 2-D grid map

+ std_msgs/Header header
+
+
# MetaData for the map

+ MapMetaData info
+
+
# The map data, in row-major order, starting with (0,0).

+
# Cell (1, 0) will be listed second, representing the next cell in the x direction.

+
# Cell (0, 1) will be at the index equal to info.width, followed by (1, 1).

+
# The values inside are application dependent, but frequently,

+
# 0 represents unoccupied, 1 represents definitely occupied, and

+
# -1 represents unknown.

+ int8[] data
+
+

Compact Message Definition

+
+ std_msgs/msg/Header header
+ nav_msgs/msg/MapMetaData info
+ int8[] data
+
+
+ +
+ + diff --git a/static/api/html/nav_msgs/msg/Odometry.html b/static/api/html/nav_msgs/msg/Odometry.html new file mode 100644 index 000000000..4f20d1396 --- /dev/null +++ b/static/api/html/nav_msgs/msg/Odometry.html @@ -0,0 +1,42 @@ + + + + + msg/Odometry Documentation + + + +
+

nav_msgs/msg/Odometry Message

+
+

File: nav_msgs/msg/Odometry.msg

+

Raw Message Definition

+
+
# This represents an estimate of a position and velocity in free space.

+
# The pose in this message should be specified in the coordinate frame given by header.frame_id

+
# The twist in this message should be specified in the coordinate frame given by the child_frame_id

+
+
# Includes the frame id of the pose parent.

+ std_msgs/Header header
+
+
# Frame id the pose points to. The twist is in this coordinate frame.

+ string child_frame_id
+
+
# Estimated pose that is typically relative to a fixed world frame.

+ geometry_msgs/PoseWithCovariance pose
+
+
# Estimated linear and angular velocity relative to child_frame_id.

+ geometry_msgs/TwistWithCovariance twist
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/nav_msgs/msg/Path.html b/static/api/html/nav_msgs/msg/Path.html new file mode 100644 index 000000000..18ca01bc9 --- /dev/null +++ b/static/api/html/nav_msgs/msg/Path.html @@ -0,0 +1,32 @@ + + + + + msg/Path Documentation + + + +
+

nav_msgs/msg/Path Message

+
+

File: nav_msgs/msg/Path.msg

+

Raw Message Definition

+
+
# An array of poses that represents a Path for a robot to follow.

+
+
# Indicates the frame_id of the path.

+ std_msgs/Header header
+
+
# Array of poses to follow.

+ geometry_msgs/PoseStamped[] poses
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/nav_msgs/srv/GetMap.html b/static/api/html/nav_msgs/srv/GetMap.html new file mode 100644 index 000000000..31551d527 --- /dev/null +++ b/static/api/html/nav_msgs/srv/GetMap.html @@ -0,0 +1,29 @@ + + + + + srv/GetMap Documentation + + + +
+

nav_msgs/srv/GetMap Service

+
+

File: nav_msgs/srv/GetMap.msg

+

Raw Message Definition

+
+
# Get the map as a nav_msgs/OccupancyGrid

+ ---
+
# The current map hosted by this map service.

+ OccupancyGrid map
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/nav_msgs/srv/GetPlan.html b/static/api/html/nav_msgs/srv/GetPlan.html new file mode 100644 index 000000000..a3978721c --- /dev/null +++ b/static/api/html/nav_msgs/srv/GetPlan.html @@ -0,0 +1,42 @@ + + + + + srv/GetPlan Documentation + + + +
+

nav_msgs/srv/GetPlan Service

+
+

File: nav_msgs/srv/GetPlan.msg

+

Raw Message Definition

+
+
# Get a plan from the current position to the goal Pose

+
+
# The start pose for the plan

+ geometry_msgs/PoseStamped start
+
+
# The final pose of the goal position

+ geometry_msgs/PoseStamped goal
+
+
# If the goal is obstructed, how many meters the planner can

+
# relax the constraint in x and y before failing.

+ float32 tolerance
+ ---
+
# Array of poses from start to goal if one was successfully found.

+ Path plan
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/nav_msgs/srv/LoadMap.html b/static/api/html/nav_msgs/srv/LoadMap.html new file mode 100644 index 000000000..26e058d60 --- /dev/null +++ b/static/api/html/nav_msgs/srv/LoadMap.html @@ -0,0 +1,47 @@ + + + + + srv/LoadMap Documentation + + + +
+

nav_msgs/srv/LoadMap Service

+
+

File: nav_msgs/srv/LoadMap.msg

+

Raw Message Definition

+
+
# URL of map resource

+
# Can be an absolute path to a file: file:///path/to/maps/floor1.yaml

+
# Or, relative to a ROS package: package://my_ros_package/maps/floor2.yaml

+ string map_url
+ ---
+
# Result code defintions

+ uint8 RESULT_SUCCESS=0
+ uint8 RESULT_MAP_DOES_NOT_EXIST=1
+ uint8 RESULT_INVALID_MAP_DATA=2
+ uint8 RESULT_INVALID_MAP_METADATA=3
+ uint8 RESULT_UNDEFINED_FAILURE=255
+
+
# Returned map is only valid if result equals RESULT_SUCCESS

+ nav_msgs/OccupancyGrid map
+ uint8 result
+
+

Compact Message Definition

+
+ uint8 RESULT_SUCCESS=0
+ uint8 RESULT_MAP_DOES_NOT_EXIST=1
+ uint8 RESULT_INVALID_MAP_DATA=2
+ uint8 RESULT_INVALID_MAP_METADATA=3
+ uint8 RESULT_UNDEFINED_FAILURE=255
+ nav_msgs/msg/OccupancyGrid map
+ uint8 result
+
+ string map_url
+
+
+ +
+ + diff --git a/static/api/html/nav_msgs/srv/SetMap.html b/static/api/html/nav_msgs/srv/SetMap.html new file mode 100644 index 000000000..11a04722a --- /dev/null +++ b/static/api/html/nav_msgs/srv/SetMap.html @@ -0,0 +1,38 @@ + + + + + srv/SetMap Documentation + + + +
+

nav_msgs/srv/SetMap Service

+
+

File: nav_msgs/srv/SetMap.msg

+

Raw Message Definition

+
+
# Set a new map together with an initial pose

+
+
# Requested 2D map to be set.

+ nav_msgs/OccupancyGrid map
+
+
# Estimated initial pose when setting new map.

+ geometry_msgs/PoseWithCovarianceStamped initial_pose
+ ---
+
+
# True if the map was successfully set, false otherwise.

+ bool success
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/sensor_msgs/index-msg.html b/static/api/html/sensor_msgs/index-msg.html new file mode 100644 index 000000000..bb979126d --- /dev/null +++ b/static/api/html/sensor_msgs/index-msg.html @@ -0,0 +1,47 @@ + + + + + sensor_msgs Message / Service / Action Documentation + + + + + + diff --git a/static/api/html/sensor_msgs/msg/BatteryState.html b/static/api/html/sensor_msgs/msg/BatteryState.html new file mode 100644 index 000000000..582f43cdc --- /dev/null +++ b/static/api/html/sensor_msgs/msg/BatteryState.html @@ -0,0 +1,116 @@ + + + + + msg/BatteryState Documentation + + + +
+

sensor_msgs/msg/BatteryState Message

+
+

File: sensor_msgs/msg/BatteryState.msg

+

Raw Message Definition

+
+
+
# Constants are chosen to match the enums in the linux kernel

+
# defined in include/linux/power_supply.h as of version 3.7

+
# The one difference is for style reasons the constants are

+
# all uppercase not mixed case.

+
+
# Power supply status constants

+ uint8 POWER_SUPPLY_STATUS_UNKNOWN = 0
+ uint8 POWER_SUPPLY_STATUS_CHARGING = 1
+ uint8 POWER_SUPPLY_STATUS_DISCHARGING = 2
+ uint8 POWER_SUPPLY_STATUS_NOT_CHARGING = 3
+ uint8 POWER_SUPPLY_STATUS_FULL = 4
+
+
# Power supply health constants

+ uint8 POWER_SUPPLY_HEALTH_UNKNOWN = 0
+ uint8 POWER_SUPPLY_HEALTH_GOOD = 1
+ uint8 POWER_SUPPLY_HEALTH_OVERHEAT = 2
+ uint8 POWER_SUPPLY_HEALTH_DEAD = 3
+ uint8 POWER_SUPPLY_HEALTH_OVERVOLTAGE = 4
+ uint8 POWER_SUPPLY_HEALTH_UNSPEC_FAILURE = 5
+ uint8 POWER_SUPPLY_HEALTH_COLD = 6
+ uint8 POWER_SUPPLY_HEALTH_WATCHDOG_TIMER_EXPIRE = 7
+ uint8 POWER_SUPPLY_HEALTH_SAFETY_TIMER_EXPIRE = 8
+
+
# Power supply technology (chemistry) constants

+
#uint8 POWER_SUPPLY_TECHNOLOGY_UNKNOWN = 0 # Unknown battery technology

+
#uint8 POWER_SUPPLY_TECHNOLOGY_NIMH = 1 # Nickel-Metal Hydride battery

+
#uint8 POWER_SUPPLY_TECHNOLOGY_LION = 2 # Lithium-ion battery

+
#uint8 POWER_SUPPLY_TECHNOLOGY_LIPO = 3 # Lithium Polymer battery

+
#uint8 POWER_SUPPLY_TECHNOLOGY_LIFE = 4 # Lithium Iron Phosphate battery

+
#uint8 POWER_SUPPLY_TECHNOLOGY_NICD = 5 # Nickel-Cadmium battery

+
#uint8 POWER_SUPPLY_TECHNOLOGY_LIMN = 6 # Lithium Manganese Dioxide battery

+
#uint8 POWER_SUPPLY_TECHNOLOGY_TERNARY = 7 # Ternary Lithium battery

+
#uint8 POWER_SUPPLY_TECHNOLOGY_VRLA = 8 # Valve Regulated Lead-Acid battery

+
+ std_msgs/Header header
+
#float32 voltage # Voltage in Volts (Mandatory)

+
#float32 temperature # Temperature in Degrees Celsius (If unmeasured NaN)

+
#float32 current # Negative when discharging (A) (If unmeasured NaN)

+
#float32 charge # Current charge in Ah (If unmeasured NaN)

+
#float32 capacity # Capacity in Ah (last full capacity) (If unmeasured NaN)

+
#float32 design_capacity # Capacity in Ah (design capacity) (If unmeasured NaN)

+
#float32 percentage # Charge percentage on 0 to 1 range (If unmeasured NaN)

+
#uint8 power_supply_status # The charging status as reported. Values defined above

+
#uint8 power_supply_health # The battery health metric. Values defined above

+
#uint8 power_supply_technology # The battery chemistry. Values defined above

+
#bool present # True if the battery is present

+
+
#float32[] cell_voltage # An array of individual cell voltages for each cell in the pack

+
# # If individual voltages unknown but number of cells known set each to NaN

+
#float32[] cell_temperature # An array of individual cell temperatures for each cell in the pack

+
# # If individual temperatures unknown but number of cells known set each to NaN

+
#string location # The location into which the battery is inserted. (slot number or plug)

+
#string serial_number # The best approximation of the battery serial number

+
+

Compact Message Definition

+
+ uint8 POWER_SUPPLY_STATUS_UNKNOWN=0
+ uint8 POWER_SUPPLY_STATUS_CHARGING=1
+ uint8 POWER_SUPPLY_STATUS_DISCHARGING=2
+ uint8 POWER_SUPPLY_STATUS_NOT_CHARGING=3
+ uint8 POWER_SUPPLY_STATUS_FULL=4
+ uint8 POWER_SUPPLY_HEALTH_UNKNOWN=0
+ uint8 POWER_SUPPLY_HEALTH_GOOD=1
+ uint8 POWER_SUPPLY_HEALTH_OVERHEAT=2
+ uint8 POWER_SUPPLY_HEALTH_DEAD=3
+ uint8 POWER_SUPPLY_HEALTH_OVERVOLTAGE=4
+ uint8 POWER_SUPPLY_HEALTH_UNSPEC_FAILURE=5
+ uint8 POWER_SUPPLY_HEALTH_COLD=6
+ uint8 POWER_SUPPLY_HEALTH_WATCHDOG_TIMER_EXPIRE=7
+ uint8 POWER_SUPPLY_HEALTH_SAFETY_TIMER_EXPIRE=8
+ uint8 POWER_SUPPLY_TECHNOLOGY_UNKNOWN=0
+ uint8 POWER_SUPPLY_TECHNOLOGY_NIMH=1
+ uint8 POWER_SUPPLY_TECHNOLOGY_LION=2
+ uint8 POWER_SUPPLY_TECHNOLOGY_LIPO=3
+ uint8 POWER_SUPPLY_TECHNOLOGY_LIFE=4
+ uint8 POWER_SUPPLY_TECHNOLOGY_NICD=5
+ uint8 POWER_SUPPLY_TECHNOLOGY_LIMN=6
+ uint8 POWER_SUPPLY_TECHNOLOGY_TERNARY=7
+ uint8 POWER_SUPPLY_TECHNOLOGY_VRLA=8
+ std_msgs/msg/Header header
+ float voltage
+ float temperature
+ float current
+ float charge
+ float capacity
+ float design_capacity
+ float percentage
+ uint8 power_supply_status
+ uint8 power_supply_health
+ uint8 power_supply_technology
+ boolean present
+ float[] cell_voltage
+ float[] cell_temperature
+ string location
+ string serial_number
+
+
+ +
+ + diff --git a/static/api/html/sensor_msgs/msg/CameraInfo.html b/static/api/html/sensor_msgs/msg/CameraInfo.html new file mode 100644 index 000000000..3fe5b4bab --- /dev/null +++ b/static/api/html/sensor_msgs/msg/CameraInfo.html @@ -0,0 +1,165 @@ + + + + + msg/CameraInfo Documentation + + + +
+

sensor_msgs/msg/CameraInfo Message

+
+

File: sensor_msgs/msg/CameraInfo.msg

+

Raw Message Definition

+
+
# This message defines meta information for a camera. It should be in a

+
# camera namespace on topic "camera_info" and accompanied by up to five

+
# image topics named:

+
#

+
# image_raw - raw data from the camera driver, possibly Bayer encoded

+
# image - monochrome, distorted

+
# image_color - color, distorted

+
# image_rect - monochrome, rectified

+
# image_rect_color - color, rectified

+
#

+
# The image_pipeline contains packages (image_proc, stereo_image_proc)

+
# for producing the four processed image topics from image_raw and

+
# camera_info. The meaning of the camera parameters are described in

+
# detail at http://www.ros.org/wiki/image_pipeline/CameraInfo.

+
#

+
# The image_geometry package provides a user-friendly interface to

+
# common operations using this meta information. If you want to, e.g.,

+
# project a 3d point into image coordinates, we strongly recommend

+
# using image_geometry.

+
#

+
# If the camera is uncalibrated, the matrices D, K, R, P should be left

+
# zeroed out. In particular, clients may assume that K[0] == 0.0

+
# indicates an uncalibrated camera.

+
+
#

+
# Image acquisition info

+
#

+
+
# Time of image acquisition, camera coordinate frame ID

+
#std_msgs/Header header # Header timestamp should be acquisition time of image

+
# # Header frame_id should be optical frame of camera

+
# # origin of frame should be optical center of camera

+
# # +x should point to the right in the image

+
# # +y should point down in the image

+
# # +z should point into the plane of the image

+
+
+
#

+
# Calibration Parameters

+
#

+
# These are fixed during camera calibration. Their values will be the

+
# same in all messages until the camera is recalibrated. Note that

+
# self-calibrating systems may "recalibrate" frequently.

+
#

+
# The internal parameters can be used to warp a raw (distorted) image

+
# to:

+
# 1. An undistorted image (requires D and K)

+
# 2. A rectified image (requires D, K, R)

+
# The projection matrix P projects 3D points into the rectified image.

+
#

+
+
# The image dimensions with which the camera was calibrated.

+
# Normally this will be the full camera resolution in pixels.

+ uint32 height
+ uint32 width
+
+
# The distortion model used. Supported models are listed in

+
# sensor_msgs/distortion_models.hpp. For most cameras, "plumb_bob" - a

+
# simple model of radial and tangential distortion - is sufficent.

+ string distortion_model
+
+
# The distortion parameters, size depending on the distortion model.

+
# For "plumb_bob", the 5 parameters are: (k1, k2, t1, t2, k3).

+ float64[] d
+
+
# Intrinsic camera matrix for the raw (distorted) images.

+
# [fx 0 cx]

+
# K = [ 0 fy cy]

+
# [ 0 0 1]

+
# Projects 3D points in the camera coordinate frame to 2D pixel

+
# coordinates using the focal lengths (fx, fy) and principal point

+
# (cx, cy).

+
#float64[9] k # 3x3 row-major matrix

+
+
# Rectification matrix (stereo cameras only)

+
# A rotation matrix aligning the camera coordinate system to the ideal

+
# stereo image plane so that epipolar lines in both stereo images are

+
# parallel.

+
#float64[9] r # 3x3 row-major matrix

+
+
# Projection/camera matrix

+
# [fx' 0 cx' Tx]

+
# P = [ 0 fy' cy' Ty]

+
# [ 0 0 1 0]

+
# By convention, this matrix specifies the intrinsic (camera) matrix

+
# of the processed (rectified) image. That is, the left 3x3 portion

+
# is the normal camera intrinsic matrix for the rectified image.

+
# It projects 3D points in the camera coordinate frame to 2D pixel

+
# coordinates using the focal lengths (fx', fy') and principal point

+
# (cx', cy') - these may differ from the values in K.

+
# For monocular cameras, Tx = Ty = 0. Normally, monocular cameras will

+
# also have R = the identity and P[1:3,1:3] = K.

+
# For a stereo pair, the fourth column [Tx Ty 0]' is related to the

+
# position of the optical center of the second camera in the first

+
# camera's frame. We assume Tz = 0 so both cameras are in the same

+
# stereo image plane. The first camera always has Tx = Ty = 0. For

+
# the right (second) camera of a horizontal stereo pair, Ty = 0 and

+
# Tx = -fx' * B, where B is the baseline between the cameras.

+
# Given a 3D point [X Y Z]', the projection (x, y) of the point onto

+
# the rectified image is given by:

+
# [u v w]' = P * [X Y Z 1]'

+
# x = u / w

+
# y = v / w

+
# This holds for both images of a stereo pair.

+
#float64[12] p # 3x4 row-major matrix

+
+
+
#

+
# Operational Parameters

+
#

+
# These define the image region actually captured by the camera

+
# driver. Although they affect the geometry of the output image, they

+
# may be changed freely without recalibrating the camera.

+
#

+
+
# Binning refers here to any camera setting which combines rectangular

+
# neighborhoods of pixels into larger "super-pixels." It reduces the

+
# resolution of the output image to

+
# (width / binning_x) x (height / binning_y).

+
# The default values binning_x = binning_y = 0 is considered the same

+
# as binning_x = binning_y = 1 (no subsampling).

+ uint32 binning_x
+ uint32 binning_y
+
+
# Region of interest (subwindow of full camera resolution), given in

+
# full resolution (unbinned) image coordinates. A particular ROI

+
# always denotes the same window of pixels on the camera sensor,

+
# regardless of binning settings.

+
# The default setting of roi (all values 0) is considered the same as

+
# full resolution (roi.width = width, roi.height = height).

+ RegionOfInterest roi
+
+

Compact Message Definition

+
+ std_msgs/msg/Header header
+ uint32 height
+ uint32 width
+ string distortion_model
+ double[] d
+ double[9] k
+ double[9] r
+ double[12] p
+ uint32 binning_x
+ uint32 binning_y
+ sensor_msgs/msg/RegionOfInterest roi
+
+
+ +
+ + diff --git a/static/api/html/sensor_msgs/msg/ChannelFloat32.html b/static/api/html/sensor_msgs/msg/ChannelFloat32.html new file mode 100644 index 000000000..eebe9038b --- /dev/null +++ b/static/api/html/sensor_msgs/msg/ChannelFloat32.html @@ -0,0 +1,49 @@ + + + + + msg/ChannelFloat32 Documentation + + + +
+

sensor_msgs/msg/ChannelFloat32 Message

+
+

File: sensor_msgs/msg/ChannelFloat32.msg

+

Raw Message Definition

+
+
# This message is used by the PointCloud message to hold optional data

+
# associated with each point in the cloud. The length of the values

+
# array should be the same as the length of the points array in the

+
# PointCloud, and each value should be associated with the corresponding

+
# point.

+
#

+
# Channel names in existing practice include:

+
# "u", "v" - row and column (respectively) in the left stereo image.

+
# This is opposite to usual conventions but remains for

+
# historical reasons. The newer PointCloud2 message has no

+
# such problem.

+
# "rgb" - For point clouds produced by color stereo cameras. uint8

+
# (R,G,B) values packed into the least significant 24 bits,

+
# in order.

+
# "intensity" - laser or pixel intensity.

+
# "distance"

+
+
# The channel name should give semantics of the channel (e.g.

+
# "intensity" instead of "value").

+ string name
+
+
# The values array should be 1-1 with the elements of the associated

+
# PointCloud.

+ float32[] values
+
+

Compact Message Definition

+
+ string name
+ float[] values
+
+
+ +
+ + diff --git a/static/api/html/sensor_msgs/msg/CompressedImage.html b/static/api/html/sensor_msgs/msg/CompressedImage.html new file mode 100644 index 000000000..391eef275 --- /dev/null +++ b/static/api/html/sensor_msgs/msg/CompressedImage.html @@ -0,0 +1,67 @@ + + + + + msg/CompressedImage Documentation + + + +
+

sensor_msgs/msg/CompressedImage Message

+
+

File: sensor_msgs/msg/CompressedImage.msg

+

Raw Message Definition

+
+
# This message contains a compressed image.

+
+
#std_msgs/Header header # Header timestamp should be acquisition time of image

+
# # Header frame_id should be optical frame of camera

+
# # origin of frame should be optical center of cameara

+
# # +x should point to the right in the image

+
# # +y should point down in the image

+
# # +z should point into to plane of the image

+
+
#string format # Specifies the format of the data

+
# # Acceptable values differ by the image transport used:

+
# # - compressed_image_transport:

+
# # ORIG_PIXFMT; CODEC compressed [COMPRESSED_PIXFMT]

+
# # where:

+
# # - ORIG_PIXFMT is pixel format of the raw image, i.e.

+
# # the content of sensor_msgs/Image/encoding with

+
# # values from include/sensor_msgs/image_encodings.h

+
# # - CODEC is one of [jpeg, png, tiff]

+
# # - COMPRESSED_PIXFMT is only appended for color images

+
# # and is the pixel format used by the compression

+
# # algorithm. Valid values for jpeg encoding are:

+
# # [bgr8, rgb8]. Valid values for png encoding are:

+
# # [bgr8, rgb8, bgr16, rgb16].

+
# # If the field is empty or does not correspond to the

+
# # above pattern, the image is treated as bgr8 or mono8

+
# # jpeg image (depending on the number of channels).

+
# # - compressed_depth_image_transport:

+
# # ORIG_PIXFMT; compressedDepth CODEC

+
# # where:

+
# # - ORIG_PIXFMT is pixel format of the raw image, i.e.

+
# # the content of sensor_msgs/Image/encoding with

+
# # values from include/sensor_msgs/image_encodings.h

+
# # It is usually one of [16UC1, 32FC1].

+
# # - CODEC is one of [png, rvl]

+
# # If the field is empty or does not correspond to the

+
# # above pattern, the image is treated as png image.

+
# # - Other image transports can store whatever values they

+
# # need for successful decoding of the image. Refer to

+
# # documentation of the other transports for details.

+
+
#uint8[] data # Compressed image buffer

+
+

Compact Message Definition

+
+ std_msgs/msg/Header header
+ string format
+ uint8[] data
+
+
+ +
+ + diff --git a/static/api/html/sensor_msgs/msg/FluidPressure.html b/static/api/html/sensor_msgs/msg/FluidPressure.html new file mode 100644 index 000000000..746c29898 --- /dev/null +++ b/static/api/html/sensor_msgs/msg/FluidPressure.html @@ -0,0 +1,38 @@ + + + + + msg/FluidPressure Documentation + + + +
+

sensor_msgs/msg/FluidPressure Message

+
+

File: sensor_msgs/msg/FluidPressure.msg

+

Raw Message Definition

+
+
# Single pressure reading. This message is appropriate for measuring the

+
# pressure inside of a fluid (air, water, etc). This also includes

+
# atmospheric or barometric pressure.

+
#

+
# This message is not appropriate for force/pressure contact sensors.

+
+
#std_msgs/Header header # timestamp of the measurement

+
# # frame_id is the location of the pressure sensor

+
+
#float64 fluid_pressure # Absolute pressure reading in Pascals.

+
+
#float64 variance # 0 is interpreted as variance unknown

+
+

Compact Message Definition

+
+ std_msgs/msg/Header header
+ double fluid_pressure
+ double variance
+
+
+ +
+ + diff --git a/static/api/html/sensor_msgs/msg/Illuminance.html b/static/api/html/sensor_msgs/msg/Illuminance.html new file mode 100644 index 000000000..238006b6c --- /dev/null +++ b/static/api/html/sensor_msgs/msg/Illuminance.html @@ -0,0 +1,46 @@ + + + + + msg/Illuminance Documentation + + + +
+

sensor_msgs/msg/Illuminance Message

+
+

File: sensor_msgs/msg/Illuminance.msg

+

Raw Message Definition

+
+
# Single photometric illuminance measurement. Light should be assumed to be

+
# measured along the sensor's x-axis (the area of detection is the y-z plane).

+
# The illuminance should have a 0 or positive value and be received with

+
# the sensor's +X axis pointing toward the light source.

+
#

+
# Photometric illuminance is the measure of the human eye's sensitivity of the

+
# intensity of light encountering or passing through a surface.

+
#

+
# All other Photometric and Radiometric measurements should not use this message.

+
# This message cannot represent:

+
# - Luminous intensity (candela/light source output)

+
# - Luminance (nits/light output per area)

+
# - Irradiance (watt/area), etc.

+
+
#std_msgs/Header header # timestamp is the time the illuminance was measured

+
# # frame_id is the location and direction of the reading

+
+
#float64 illuminance # Measurement of the Photometric Illuminance in Lux.

+
+
#float64 variance # 0 is interpreted as variance unknown

+
+

Compact Message Definition

+
+ std_msgs/msg/Header header
+ double illuminance
+ double variance
+
+
+ +
+ + diff --git a/static/api/html/sensor_msgs/msg/Image.html b/static/api/html/sensor_msgs/msg/Image.html new file mode 100644 index 000000000..f2dee6ba6 --- /dev/null +++ b/static/api/html/sensor_msgs/msg/Image.html @@ -0,0 +1,56 @@ + + + + + msg/Image Documentation + + + +
+

sensor_msgs/msg/Image Message

+
+

File: sensor_msgs/msg/Image.msg

+

Raw Message Definition

+
+
# This message contains an uncompressed image

+
# (0, 0) is at top-left corner of image

+
+
#std_msgs/Header header # Header timestamp should be acquisition time of image

+
# # Header frame_id should be optical frame of camera

+
# # origin of frame should be optical center of cameara

+
# # +x should point to the right in the image

+
# # +y should point down in the image

+
# # +z should point into to plane of the image

+
# # If the frame_id here and the frame_id of the CameraInfo

+
# # message associated with the image conflict

+
# # the behavior is undefined

+
+
#uint32 height # image height, that is, number of rows

+
#uint32 width # image width, that is, number of columns

+
+
# The legal values for encoding are in file include/sensor_msgs/image_encodings.hpp

+
# If you want to standardize a new string format, join

+
# ros-users@lists.ros.org and send an email proposing a new encoding.

+
+
#string encoding # Encoding of pixels -- channel meaning, ordering, size

+
# # taken from the list of strings in include/sensor_msgs/image_encodings.hpp

+
+
#uint8 is_bigendian # is this data bigendian?

+
#uint32 step # Full row length in bytes

+
#uint8[] data # actual matrix data, size is (step * rows)

+
+

Compact Message Definition

+
+ std_msgs/msg/Header header
+ uint32 height
+ uint32 width
+ string encoding
+ uint8 is_bigendian
+ uint32 step
+ uint8[] data
+
+
+ +
+ + diff --git a/static/api/html/sensor_msgs/msg/Imu.html b/static/api/html/sensor_msgs/msg/Imu.html new file mode 100644 index 000000000..1ba3aa6fd --- /dev/null +++ b/static/api/html/sensor_msgs/msg/Imu.html @@ -0,0 +1,54 @@ + + + + + msg/Imu Documentation + + + +
+

sensor_msgs/msg/Imu Message

+
+

File: sensor_msgs/msg/Imu.msg

+

Raw Message Definition

+
+
# This is a message to hold data from an IMU (Inertial Measurement Unit)

+
#

+
# Accelerations should be in m/s^2 (not in g's), and rotational velocity should be in rad/sec

+
#

+
# If the covariance of the measurement is known, it should be filled in (if all you know is the

+
# variance of each measurement, e.g. from the datasheet, just put those along the diagonal)

+
# A covariance matrix of all zeros will be interpreted as "covariance unknown", and to use the

+
# data a covariance will have to be assumed or gotten from some other source

+
#

+
# If you have no estimate for one of the data elements (e.g. your IMU doesn't produce an

+
# orientation estimate), please set element 0 of the associated covariance matrix to -1

+
# If you are interpreting this message, please check for a value of -1 in the first element of each

+
# covariance matrix, and disregard the associated estimate.

+
+ std_msgs/Header header
+
+ geometry_msgs/Quaternion orientation
+
#float64[9] orientation_covariance # Row major about x, y, z axes

+
+ geometry_msgs/Vector3 angular_velocity
+
#float64[9] angular_velocity_covariance # Row major about x, y, z axes

+
+ geometry_msgs/Vector3 linear_acceleration
+
#float64[9] linear_acceleration_covariance # Row major x, y z

+
+

Compact Message Definition

+
+ std_msgs/msg/Header header
+ geometry_msgs/msg/Quaternion orientation
+ double[9] orientation_covariance
+ geometry_msgs/msg/Vector3 angular_velocity
+ double[9] angular_velocity_covariance
+ geometry_msgs/msg/Vector3 linear_acceleration
+ double[9] linear_acceleration_covariance
+
+
+ +
+ + diff --git a/static/api/html/sensor_msgs/msg/JointState.html b/static/api/html/sensor_msgs/msg/JointState.html new file mode 100644 index 000000000..8adfb26b6 --- /dev/null +++ b/static/api/html/sensor_msgs/msg/JointState.html @@ -0,0 +1,53 @@ + + + + + msg/JointState Documentation + + + +
+

sensor_msgs/msg/JointState Message

+
+

File: sensor_msgs/msg/JointState.msg

+

Raw Message Definition

+
+
# This is a message that holds data to describe the state of a set of torque controlled joints.

+
#

+
# The state of each joint (revolute or prismatic) is defined by:

+
# * the position of the joint (rad or m),

+
# * the velocity of the joint (rad/s or m/s) and

+
# * the effort that is applied in the joint (Nm or N).

+
#

+
# Each joint is uniquely identified by its name

+
# The header specifies the time at which the joint states were recorded. All the joint states

+
# in one message have to be recorded at the same time.

+
#

+
# This message consists of a multiple arrays, one for each part of the joint state.

+
# The goal is to make each of the fields optional. When e.g. your joints have no

+
# effort associated with them, you can leave the effort array empty.

+
#

+
# All arrays in this message should have the same size, or be empty.

+
# This is the only way to uniquely associate the joint name with the correct

+
# states.

+
+ std_msgs/Header header
+
+ string[] name
+ float64[] position
+ float64[] velocity
+ float64[] effort
+
+

Compact Message Definition

+
+ std_msgs/msg/Header header
+ string[] name
+ double[] position
+ double[] velocity
+ double[] effort
+
+
+ +
+ + diff --git a/static/api/html/sensor_msgs/msg/Joy.html b/static/api/html/sensor_msgs/msg/Joy.html new file mode 100644 index 000000000..ebf9d8d76 --- /dev/null +++ b/static/api/html/sensor_msgs/msg/Joy.html @@ -0,0 +1,36 @@ + + + + + msg/Joy Documentation + + + +
+

sensor_msgs/msg/Joy Message

+
+

File: sensor_msgs/msg/Joy.msg

+

Raw Message Definition

+
+
# Reports the state of a joystick's axes and buttons.

+
+
# The timestamp is the time at which data is received from the joystick.

+ std_msgs/Header header
+
+
# The axes measurements from a joystick.

+ float32[] axes
+
+
# The buttons measurements from a joystick.

+ int32[] buttons
+
+

Compact Message Definition

+
+ std_msgs/msg/Header header
+ float[] axes
+ int32[] buttons
+
+
+ +
+ + diff --git a/static/api/html/sensor_msgs/msg/JoyFeedback.html b/static/api/html/sensor_msgs/msg/JoyFeedback.html new file mode 100644 index 000000000..9e806f0a8 --- /dev/null +++ b/static/api/html/sensor_msgs/msg/JoyFeedback.html @@ -0,0 +1,43 @@ + + + + + msg/JoyFeedback Documentation + + + +
+

sensor_msgs/msg/JoyFeedback Message

+
+

File: sensor_msgs/msg/JoyFeedback.msg

+

Raw Message Definition

+
+
# Declare of the type of feedback

+ uint8 TYPE_LED = 0
+ uint8 TYPE_RUMBLE = 1
+ uint8 TYPE_BUZZER = 2
+
+ uint8 type
+
+
# This will hold an id number for each type of each feedback.

+
# Example, the first led would be id=0, the second would be id=1

+ uint8 id
+
+
# Intensity of the feedback, from 0.0 to 1.0, inclusive. If device is

+
# actually binary, driver should treat 0<=x<0.5 as off, 0.5<=x<=1 as on.

+ float32 intensity
+
+

Compact Message Definition

+
+ uint8 TYPE_LED=0
+ uint8 TYPE_RUMBLE=1
+ uint8 TYPE_BUZZER=2
+ uint8 type
+ uint8 id
+ float intensity
+
+
+ +
+ + diff --git a/static/api/html/sensor_msgs/msg/JoyFeedbackArray.html b/static/api/html/sensor_msgs/msg/JoyFeedbackArray.html new file mode 100644 index 000000000..7d701f39d --- /dev/null +++ b/static/api/html/sensor_msgs/msg/JoyFeedbackArray.html @@ -0,0 +1,26 @@ + + + + + msg/JoyFeedbackArray Documentation + + + +
+

sensor_msgs/msg/JoyFeedbackArray Message

+
+

File: sensor_msgs/msg/JoyFeedbackArray.msg

+

Raw Message Definition

+
+
# This message publishes values for multiple feedback at once.

+ JoyFeedback[] array
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/sensor_msgs/msg/LaserEcho.html b/static/api/html/sensor_msgs/msg/LaserEcho.html new file mode 100644 index 000000000..2c8eb9d64 --- /dev/null +++ b/static/api/html/sensor_msgs/msg/LaserEcho.html @@ -0,0 +1,29 @@ + + + + + msg/LaserEcho Documentation + + + +
+

sensor_msgs/msg/LaserEcho Message

+
+

File: sensor_msgs/msg/LaserEcho.msg

+

Raw Message Definition

+
+
# This message is a submessage of MultiEchoLaserScan and is not intended

+
# to be used separately.

+
+
#float32[] echoes # Multiple values of ranges or intensities.

+
# # Each array represents data from the same angle increment.

+
+

Compact Message Definition

+
+ float[] echoes
+
+
+ +
+ + diff --git a/static/api/html/sensor_msgs/msg/LaserScan.html b/static/api/html/sensor_msgs/msg/LaserScan.html new file mode 100644 index 000000000..30a370d07 --- /dev/null +++ b/static/api/html/sensor_msgs/msg/LaserScan.html @@ -0,0 +1,63 @@ + + + + + msg/LaserScan Documentation + + + +
+

sensor_msgs/msg/LaserScan Message

+
+

File: sensor_msgs/msg/LaserScan.msg

+

Raw Message Definition

+
+
# Single scan from a planar laser range-finder

+
#

+
# If you have another ranging device with different behavior (e.g. a sonar

+
# array), please find or create a different message, since applications

+
# will make fairly laser-specific assumptions about this data

+
+
#std_msgs/Header header # timestamp in the header is the acquisition time of

+
# # the first ray in the scan.

+
#

+
# # in frame frame_id, angles are measured around

+
# # the positive Z axis (counterclockwise, if Z is up)

+
# # with zero angle being forward along the x axis

+
+
#float32 angle_min # start angle of the scan [rad]

+
#float32 angle_max # end angle of the scan [rad]

+
#float32 angle_increment # angular distance between measurements [rad]

+
+
#float32 time_increment # time between measurements [seconds] - if your scanner

+
# # is moving, this will be used in interpolating position

+
# # of 3d points

+
#float32 scan_time # time between scans [seconds]

+
+
#float32 range_min # minimum range value [m]

+
#float32 range_max # maximum range value [m]

+
+
#float32[] ranges # range data [m]

+
# # (Note: values < range_min or > range_max should be discarded)

+
#float32[] intensities # intensity data [device-specific units]. If your

+
# # device does not provide intensities, please leave

+
# # the array empty.

+
+

Compact Message Definition

+
+ std_msgs/msg/Header header
+ float angle_min
+ float angle_max
+ float angle_increment
+ float time_increment
+ float scan_time
+ float range_min
+ float range_max
+ float[] ranges
+ float[] intensities
+
+
+ +
+ + diff --git a/static/api/html/sensor_msgs/msg/MagneticField.html b/static/api/html/sensor_msgs/msg/MagneticField.html new file mode 100644 index 000000000..ec5a8105e --- /dev/null +++ b/static/api/html/sensor_msgs/msg/MagneticField.html @@ -0,0 +1,47 @@ + + + + + msg/MagneticField Documentation + + + +
+

sensor_msgs/msg/MagneticField Message

+
+

File: sensor_msgs/msg/MagneticField.msg

+

Raw Message Definition

+
+
# Measurement of the Magnetic Field vector at a specific location.

+
#

+
# If the covariance of the measurement is known, it should be filled in.

+
# If all you know is the variance of each measurement, e.g. from the datasheet,

+
# just put those along the diagonal.

+
# A covariance matrix of all zeros will be interpreted as "covariance unknown",

+
# and to use the data a covariance will have to be assumed or gotten from some

+
# other source.

+
+
#std_msgs/Header header # timestamp is the time the

+
# # field was measured

+
# # frame_id is the location and orientation

+
# # of the field measurement

+
+
#geometry_msgs/Vector3 magnetic_field # x, y, and z components of the

+
# # field vector in Tesla

+
# # If your sensor does not output 3 axes,

+
# # put NaNs in the components not reported.

+
+
#float64[9] magnetic_field_covariance # Row major about x, y, z axes

+
# # 0 is interpreted as variance unknown

+
+

Compact Message Definition

+
+ std_msgs/msg/Header header
+ geometry_msgs/msg/Vector3 magnetic_field
+ double[9] magnetic_field_covariance
+
+
+ +
+ + diff --git a/static/api/html/sensor_msgs/msg/MultiDOFJointState.html b/static/api/html/sensor_msgs/msg/MultiDOFJointState.html new file mode 100644 index 000000000..7f94076e3 --- /dev/null +++ b/static/api/html/sensor_msgs/msg/MultiDOFJointState.html @@ -0,0 +1,54 @@ + + + + + msg/MultiDOFJointState Documentation + + + +
+

sensor_msgs/msg/MultiDOFJointState Message

+
+

File: sensor_msgs/msg/MultiDOFJointState.msg

+

Raw Message Definition

+
+
# Representation of state for joints with multiple degrees of freedom,

+
# following the structure of JointState which can only represent a single degree of freedom.

+
#

+
# It is assumed that a joint in a system corresponds to a transform that gets applied

+
# along the kinematic chain. For example, a planar joint (as in URDF) is 3DOF (x, y, yaw)

+
# and those 3DOF can be expressed as a transformation matrix, and that transformation

+
# matrix can be converted back to (x, y, yaw)

+
#

+
# Each joint is uniquely identified by its name

+
# The header specifies the time at which the joint states were recorded. All the joint states

+
# in one message have to be recorded at the same time.

+
#

+
# This message consists of a multiple arrays, one for each part of the joint state.

+
# The goal is to make each of the fields optional. When e.g. your joints have no

+
# wrench associated with them, you can leave the wrench array empty.

+
#

+
# All arrays in this message should have the same size, or be empty.

+
# This is the only way to uniquely associate the joint name with the correct

+
# states.

+
+ std_msgs/Header header
+
+ string[] joint_names
+ geometry_msgs/Transform[] transforms
+ geometry_msgs/Twist[] twist
+ geometry_msgs/Wrench[] wrench
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/sensor_msgs/msg/MultiEchoLaserScan.html b/static/api/html/sensor_msgs/msg/MultiEchoLaserScan.html new file mode 100644 index 000000000..092d08b21 --- /dev/null +++ b/static/api/html/sensor_msgs/msg/MultiEchoLaserScan.html @@ -0,0 +1,65 @@ + + + + + msg/MultiEchoLaserScan Documentation + + + +
+

sensor_msgs/msg/MultiEchoLaserScan Message

+
+

File: sensor_msgs/msg/MultiEchoLaserScan.msg

+

Raw Message Definition

+
+
# Single scan from a multi-echo planar laser range-finder

+
#

+
# If you have another ranging device with different behavior (e.g. a sonar

+
# array), please find or create a different message, since applications

+
# will make fairly laser-specific assumptions about this data

+
+
#std_msgs/Header header # timestamp in the header is the acquisition time of

+
# # the first ray in the scan.

+
#

+
# # in frame frame_id, angles are measured around

+
# # the positive Z axis (counterclockwise, if Z is up)

+
# # with zero angle being forward along the x axis

+
+
#float32 angle_min # start angle of the scan [rad]

+
#float32 angle_max # end angle of the scan [rad]

+
#float32 angle_increment # angular distance between measurements [rad]

+
+
#float32 time_increment # time between measurements [seconds] - if your scanner

+
# # is moving, this will be used in interpolating position

+
# # of 3d points

+
#float32 scan_time # time between scans [seconds]

+
+
#float32 range_min # minimum range value [m]

+
#float32 range_max # maximum range value [m]

+
+
#LaserEcho[] ranges # range data [m]

+
# # (Note: NaNs, values < range_min or > range_max should be discarded)

+
# # +Inf measurements are out of range

+
# # -Inf measurements are too close to determine exact distance.

+
#LaserEcho[] intensities # intensity data [device-specific units]. If your

+
# # device does not provide intensities, please leave

+
# # the array empty.

+
+

Compact Message Definition

+
+ std_msgs/msg/Header header
+ float angle_min
+ float angle_max
+ float angle_increment
+ float time_increment
+ float scan_time
+ float range_min
+ float range_max
+ sensor_msgs/msg/LaserEcho[] ranges
+ sensor_msgs/msg/LaserEcho[] intensities
+
+
+ +
+ + diff --git a/static/api/html/sensor_msgs/msg/NavSatFix.html b/static/api/html/sensor_msgs/msg/NavSatFix.html new file mode 100644 index 000000000..174d4c482 --- /dev/null +++ b/static/api/html/sensor_msgs/msg/NavSatFix.html @@ -0,0 +1,79 @@ + + + + + msg/NavSatFix Documentation + + + +
+

sensor_msgs/msg/NavSatFix Message

+
+

File: sensor_msgs/msg/NavSatFix.msg

+

Raw Message Definition

+
+
# Navigation Satellite fix for any Global Navigation Satellite System

+
#

+
# Specified using the WGS 84 reference ellipsoid

+
+
# header.stamp specifies the ROS time for this measurement (the

+
# corresponding satellite time may be reported using the

+
# sensor_msgs/TimeReference message).

+
#

+
# header.frame_id is the frame of reference reported by the satellite

+
# receiver, usually the location of the antenna. This is a

+
# Euclidean frame relative to the vehicle, not a reference

+
# ellipsoid.

+ std_msgs/Header header
+
+
# Satellite fix status information.

+ NavSatStatus status
+
+
# Latitude [degrees]. Positive is north of equator; negative is south.

+ float64 latitude
+
+
# Longitude [degrees]. Positive is east of prime meridian; negative is west.

+ float64 longitude
+
+
# Altitude [m]. Positive is above the WGS 84 ellipsoid

+
# (quiet NaN if no altitude is available).

+ float64 altitude
+
+
# Position covariance [m^2] defined relative to a tangential plane

+
# through the reported position. The components are East, North, and

+
# Up (ENU), in row-major order.

+
#

+
# Beware: this coordinate system exhibits singularities at the poles.

+ float64[9] position_covariance
+
+
# If the covariance of the fix is known, fill it in completely. If the

+
# GPS receiver provides the variance of each measurement, put them

+
# along the diagonal. If only Dilution of Precision is available,

+
# estimate an approximate covariance from that.

+
+ uint8 COVARIANCE_TYPE_UNKNOWN = 0
+ uint8 COVARIANCE_TYPE_APPROXIMATED = 1
+ uint8 COVARIANCE_TYPE_DIAGONAL_KNOWN = 2
+ uint8 COVARIANCE_TYPE_KNOWN = 3
+
+ uint8 position_covariance_type
+
+

Compact Message Definition

+
+ uint8 COVARIANCE_TYPE_UNKNOWN=0
+ uint8 COVARIANCE_TYPE_APPROXIMATED=1
+ uint8 COVARIANCE_TYPE_DIAGONAL_KNOWN=2
+ uint8 COVARIANCE_TYPE_KNOWN=3
+ std_msgs/msg/Header header
+ sensor_msgs/msg/NavSatStatus status
+ double latitude
+ double longitude
+ double altitude
+ double[9] position_covariance
+ uint8 position_covariance_type
+
+
+ +
+ + diff --git a/static/api/html/sensor_msgs/msg/NavSatStatus.html b/static/api/html/sensor_msgs/msg/NavSatStatus.html new file mode 100644 index 000000000..77b31f2b2 --- /dev/null +++ b/static/api/html/sensor_msgs/msg/NavSatStatus.html @@ -0,0 +1,59 @@ + + + + + msg/NavSatStatus Documentation + + + +
+

sensor_msgs/msg/NavSatStatus Message

+
+

File: sensor_msgs/msg/NavSatStatus.msg

+

Raw Message Definition

+
+
# Navigation Satellite fix status for any Global Navigation Satellite System.

+
#

+
# Whether to output an augmented fix is determined by both the fix

+
# type and the last time differential corrections were received. A

+
# fix is valid when status >= STATUS_FIX.

+
+
#int8 STATUS_UNKNOWN = -2 # status is not yet set

+
#int8 STATUS_NO_FIX = -1 # unable to fix position

+
#int8 STATUS_FIX = 0 # unaugmented fix

+
#int8 STATUS_SBAS_FIX = 1 # with satellite-based augmentation

+
#int8 STATUS_GBAS_FIX = 2 # with ground-based augmentation

+
+
#int8 status -2 # STATUS_UNKNOWN

+
+
# Bits defining which Global Navigation Satellite System signals were

+
# used by the receiver.

+
+
#uint16 SERVICE_UNKNOWN = 0 # Remember service is a bitfield, so checking (service & SERVICE_UNKNOWN) will not work. Use == instead.

+ uint16 SERVICE_GPS = 1
+ uint16 SERVICE_GLONASS = 2
+
#uint16 SERVICE_COMPASS = 4 # includes BeiDou.

+ uint16 SERVICE_GALILEO = 8
+
+ uint16 service
+
+

Compact Message Definition

+
+ int8 STATUS_UNKNOWN=-2
+ int8 STATUS_NO_FIX=-1
+ int8 STATUS_FIX=0
+ int8 STATUS_SBAS_FIX=1
+ int8 STATUS_GBAS_FIX=2
+ uint16 SERVICE_UNKNOWN=0
+ uint16 SERVICE_GPS=1
+ uint16 SERVICE_GLONASS=2
+ uint16 SERVICE_COMPASS=4
+ uint16 SERVICE_GALILEO=8
+ int8 status=-2
+ uint16 service
+
+
+ +
+ + diff --git a/static/api/html/sensor_msgs/msg/PointCloud.html b/static/api/html/sensor_msgs/msg/PointCloud.html new file mode 100644 index 000000000..dc2f6d369 --- /dev/null +++ b/static/api/html/sensor_msgs/msg/PointCloud.html @@ -0,0 +1,43 @@ + + + + + msg/PointCloud Documentation + + + +
+

sensor_msgs/msg/PointCloud Message

+
+

File: sensor_msgs/msg/PointCloud.msg

+

Raw Message Definition

+
+
# THIS MESSAGE IS DEPRECATED AS OF FOXY

+
# Please use sensor_msgs/PointCloud2

+
+
# This message holds a collection of 3d points, plus optional additional

+
# information about each point.

+
+
# Time of sensor data acquisition, coordinate frame ID.

+ std_msgs/Header header
+
+
# Array of 3d points. Each Point32 should be interpreted as a 3d point

+
# in the frame given in the header.

+ geometry_msgs/Point32[] points
+
+
# Each channel should have the same number of elements as points array,

+
# and the data in each channel should correspond 1:1 with each point.

+
# Channel names in common practice are listed in ChannelFloat32.msg.

+ ChannelFloat32[] channels
+
+

Compact Message Definition

+ +
+ +
+ + diff --git a/static/api/html/sensor_msgs/msg/PointCloud2.html b/static/api/html/sensor_msgs/msg/PointCloud2.html new file mode 100644 index 000000000..2c4eaff05 --- /dev/null +++ b/static/api/html/sensor_msgs/msg/PointCloud2.html @@ -0,0 +1,58 @@ + + + + + msg/PointCloud2 Documentation + + + +
+

sensor_msgs/msg/PointCloud2 Message

+
+

File: sensor_msgs/msg/PointCloud2.msg

+

Raw Message Definition

+
+
# This message holds a collection of N-dimensional points, which may

+
# contain additional information such as normals, intensity, etc. The

+
# point data is stored as a binary blob, its layout described by the

+
# contents of the "fields" array.

+
#

+
# The point cloud data may be organized 2d (image-like) or 1d (unordered).

+
# Point clouds organized as 2d images may be produced by camera depth sensors

+
# such as stereo or time-of-flight.

+
+
# Time of sensor data acquisition, and the coordinate frame ID (for 3d points).

+ std_msgs/Header header
+
+
# 2D structure of the point cloud. If the cloud is unordered, height is

+
# 1 and width is the length of the point cloud.

+ uint32 height
+ uint32 width
+
+
# Describes the channels and their layout in the binary data blob.

+ PointField[] fields
+
+
#bool is_bigendian # Is this data bigendian?

+
#uint32 point_step # Length of a point in bytes

+
#uint32 row_step # Length of a row in bytes

+
#uint8[] data # Actual point data, size is (row_step*height)

+
+
#bool is_dense # True if there are no invalid points

+
+

Compact Message Definition

+
+ std_msgs/msg/Header header
+ uint32 height
+ uint32 width
+ sensor_msgs/msg/PointField[] fields
+ boolean is_bigendian
+ uint32 point_step
+ uint32 row_step
+ uint8[] data
+ boolean is_dense
+
+
+ +
+ + diff --git a/static/api/html/sensor_msgs/msg/PointField.html b/static/api/html/sensor_msgs/msg/PointField.html new file mode 100644 index 000000000..4d340e97f --- /dev/null +++ b/static/api/html/sensor_msgs/msg/PointField.html @@ -0,0 +1,51 @@ + + + + + msg/PointField Documentation + + + +
+

sensor_msgs/msg/PointField Message

+
+

File: sensor_msgs/msg/PointField.msg

+

Raw Message Definition

+
+
# This message holds the description of one point entry in the

+
# PointCloud2 message format.

+ uint8 INT8 = 1
+ uint8 UINT8 = 2
+ uint8 INT16 = 3
+ uint8 UINT16 = 4
+ uint8 INT32 = 5
+ uint8 UINT32 = 6
+ uint8 FLOAT32 = 7
+ uint8 FLOAT64 = 8
+
+
# Common PointField names are x, y, z, intensity, rgb, rgba

+
#string name # Name of field

+
#uint32 offset # Offset from start of point struct

+
#uint8 datatype # Datatype enumeration, see above

+
#uint32 count # How many elements in the field

+
+

Compact Message Definition

+
+ uint8 INT8=1
+ uint8 UINT8=2
+ uint8 INT16=3
+ uint8 UINT16=4
+ uint8 INT32=5
+ uint8 UINT32=6
+ uint8 FLOAT32=7
+ uint8 FLOAT64=8
+ string name
+ uint32 offset
+ uint8 datatype
+ uint32 count
+
+
+ +
+ + diff --git a/static/api/html/sensor_msgs/msg/Range.html b/static/api/html/sensor_msgs/msg/Range.html new file mode 100644 index 000000000..e14aec380 --- /dev/null +++ b/static/api/html/sensor_msgs/msg/Range.html @@ -0,0 +1,74 @@ + + + + + msg/Range Documentation + + + +
+

sensor_msgs/msg/Range Message

+
+

File: sensor_msgs/msg/Range.msg

+

Raw Message Definition

+
+
# Single range reading from an active ranger that emits energy and reports

+
# one range reading that is valid along an arc at the distance measured.

+
# This message is not appropriate for laser scanners. See the LaserScan

+
# message if you are working with a laser scanner.

+
#

+
# This message also can represent a fixed-distance (binary) ranger. This

+
# sensor will have min_range===max_range===distance of detection.

+
# These sensors follow REP 117 and will output -Inf if the object is detected

+
# and +Inf if the object is outside of the detection range.

+
+
#std_msgs/Header header # timestamp in the header is the time the ranger

+
# # returned the distance reading

+
+
# Radiation type enums

+
# If you want a value added to this list, send an email to the ros-users list

+ uint8 ULTRASOUND=0
+ uint8 INFRARED=1
+
+
#uint8 radiation_type # the type of radiation used by the sensor

+
# # (sound, IR, etc) [enum]

+
+
#float32 field_of_view # the size of the arc that the distance reading is

+
# # valid for [rad]

+
# # the object causing the range reading may have

+
# # been anywhere within -field_of_view/2 and

+
# # field_of_view/2 at the measured range.

+
# # 0 angle corresponds to the x-axis of the sensor.

+
+
#float32 min_range # minimum range value [m]

+
#float32 max_range # maximum range value [m]

+
# # Fixed distance rangers require min_range==max_range

+
+
#float32 range # range data [m]

+
# # (Note: values < range_min or > range_max should be discarded)

+
# # Fixed distance rangers only output -Inf or +Inf.

+
# # -Inf represents a detection within fixed distance.

+
# # (Detection too close to the sensor to quantify)

+
# # +Inf represents no detection within the fixed distance.

+
# # (Object out of range)

+
+
#float32 variance # variance of the range sensor

+
# # 0 is interpreted as variance unknown

+
+

Compact Message Definition

+
+ uint8 ULTRASOUND=0
+ uint8 INFRARED=1
+ std_msgs/msg/Header header
+ uint8 radiation_type
+ float field_of_view
+ float min_range
+ float max_range
+ float range
+ float variance
+
+
+ +
+ + diff --git a/static/api/html/sensor_msgs/msg/RegionOfInterest.html b/static/api/html/sensor_msgs/msg/RegionOfInterest.html new file mode 100644 index 000000000..afefc518b --- /dev/null +++ b/static/api/html/sensor_msgs/msg/RegionOfInterest.html @@ -0,0 +1,47 @@ + + + + + msg/RegionOfInterest Documentation + + + +
+

sensor_msgs/msg/RegionOfInterest Message

+
+

File: sensor_msgs/msg/RegionOfInterest.msg

+

Raw Message Definition

+
+
# This message is used to specify a region of interest within an image.

+
#

+
# When used to specify the ROI setting of the camera when the image was

+
# taken, the height and width fields should either match the height and

+
# width fields for the associated image; or height = width = 0

+
# indicates that the full resolution image was captured.

+
+
#uint32 x_offset # Leftmost pixel of the ROI

+
# # (0 if the ROI includes the left edge of the image)

+
#uint32 y_offset # Topmost pixel of the ROI

+
# # (0 if the ROI includes the top edge of the image)

+
#uint32 height # Height of ROI

+
#uint32 width # Width of ROI

+
+
# True if a distinct rectified ROI should be calculated from the "raw"

+
# ROI in this message. Typically this should be False if the full image

+
# is captured (ROI not used), and True if a subwindow is captured (ROI

+
# used).

+ bool do_rectify
+
+

Compact Message Definition

+
+ uint32 x_offset
+ uint32 y_offset
+ uint32 height
+ uint32 width
+ boolean do_rectify
+
+
+ +
+ + diff --git a/static/api/html/sensor_msgs/msg/RelativeHumidity.html b/static/api/html/sensor_msgs/msg/RelativeHumidity.html new file mode 100644 index 000000000..2e9bee8f7 --- /dev/null +++ b/static/api/html/sensor_msgs/msg/RelativeHumidity.html @@ -0,0 +1,39 @@ + + + + + msg/RelativeHumidity Documentation + + + +
+

sensor_msgs/msg/RelativeHumidity Message

+
+

File: sensor_msgs/msg/RelativeHumidity.msg

+

Raw Message Definition

+
+
# Single reading from a relative humidity sensor.

+
# Defines the ratio of partial pressure of water vapor to the saturated vapor

+
# pressure at a temperature.

+
+
#std_msgs/Header header # timestamp of the measurement

+
# # frame_id is the location of the humidity sensor

+
+
#float64 relative_humidity # Expression of the relative humidity

+
# # from 0.0 to 1.0.

+
# # 0.0 is no partial pressure of water vapor

+
# # 1.0 represents partial pressure of saturation

+
+
#float64 variance # 0 is interpreted as variance unknown

+
+

Compact Message Definition

+
+ std_msgs/msg/Header header
+ double relative_humidity
+ double variance
+
+
+ +
+ + diff --git a/static/api/html/sensor_msgs/msg/Temperature.html b/static/api/html/sensor_msgs/msg/Temperature.html new file mode 100644 index 000000000..418f34592 --- /dev/null +++ b/static/api/html/sensor_msgs/msg/Temperature.html @@ -0,0 +1,34 @@ + + + + + msg/Temperature Documentation + + + +
+

sensor_msgs/msg/Temperature Message

+
+

File: sensor_msgs/msg/Temperature.msg

+

Raw Message Definition

+
+
# Single temperature reading.

+
+
#std_msgs/Header header # timestamp is the time the temperature was measured

+
# # frame_id is the location of the temperature reading

+
+
#float64 temperature # Measurement of the Temperature in Degrees Celsius.

+
+
#float64 variance # 0 is interpreted as variance unknown.

+
+

Compact Message Definition

+
+ std_msgs/msg/Header header
+ double temperature
+ double variance
+
+
+ +
+ + diff --git a/static/api/html/sensor_msgs/msg/TimeReference.html b/static/api/html/sensor_msgs/msg/TimeReference.html new file mode 100644 index 000000000..58787aae3 --- /dev/null +++ b/static/api/html/sensor_msgs/msg/TimeReference.html @@ -0,0 +1,33 @@ + + + + + msg/TimeReference Documentation + + + +
+

sensor_msgs/msg/TimeReference Message

+
+

File: sensor_msgs/msg/TimeReference.msg

+

Raw Message Definition

+
+
# Measurement from an external time source not actively synchronized with the system clock.

+
+
#std_msgs/Header header # stamp is system time for which measurement was valid

+
# # frame_id is not used

+
+
#builtin_interfaces/Time time_ref # corresponding time from this external source

+
#string source # (optional) name of time source

+
+

Compact Message Definition

+
+ std_msgs/msg/Header header
+ builtin_interfaces/msg/Time time_ref
+ string source
+
+
+ +
+ + diff --git a/static/api/html/sensor_msgs/srv/SetCameraInfo.html b/static/api/html/sensor_msgs/srv/SetCameraInfo.html new file mode 100644 index 000000000..08c27fe29 --- /dev/null +++ b/static/api/html/sensor_msgs/srv/SetCameraInfo.html @@ -0,0 +1,39 @@ + + + + + srv/SetCameraInfo Documentation + + + +
+

sensor_msgs/srv/SetCameraInfo Service

+
+

File: sensor_msgs/srv/SetCameraInfo.msg

+

Raw Message Definition

+
+
# This service requests that a camera stores the given CameraInfo as that

+
# camera's calibration information.

+
#

+
# The width and height in the camera_info field should match what the

+
# camera is currently outputting on its camera_info topic, and the camera

+
# will assume that the region of the imager that is being referred to is

+
# the region that the camera is currently capturing.

+
+
#sensor_msgs/CameraInfo camera_info # The camera_info to store

+ ---
+
#bool success # True if the call succeeded

+
#string status_message # Used to give details about success

+
+

Compact Message Definition

+
+ boolean success
+ string status_message
+
+ sensor_msgs/msg/CameraInfo camera_info
+
+
+ +
+ + diff --git a/static/api/html/std_msgs/index-msg.html b/static/api/html/std_msgs/index-msg.html new file mode 100644 index 000000000..9874d9fe1 --- /dev/null +++ b/static/api/html/std_msgs/index-msg.html @@ -0,0 +1,46 @@ + + + + + std_msgs Message / Service / Action Documentation + + + + + + diff --git a/static/api/html/std_msgs/msg/Bool.html b/static/api/html/std_msgs/msg/Bool.html new file mode 100644 index 000000000..9275dd13b --- /dev/null +++ b/static/api/html/std_msgs/msg/Bool.html @@ -0,0 +1,30 @@ + + + + + msg/Bool Documentation + + + +
+

std_msgs/msg/Bool Message

+
+

File: std_msgs/msg/Bool.msg

+

Raw Message Definition

+
+
# This was originally provided as an example message.

+
# It is deprecated as of Foxy

+
# It is recommended to create your own semantically meaningful message.

+
# However if you would like to continue using this please use the equivalent in example_msgs.

+
+ bool data
+
+

Compact Message Definition

+
+ boolean data
+
+
+ +
+ + diff --git a/static/api/html/std_msgs/msg/Byte.html b/static/api/html/std_msgs/msg/Byte.html new file mode 100644 index 000000000..eac0466a2 --- /dev/null +++ b/static/api/html/std_msgs/msg/Byte.html @@ -0,0 +1,30 @@ + + + + + msg/Byte Documentation + + + +
+

std_msgs/msg/Byte Message

+
+

File: std_msgs/msg/Byte.msg

+

Raw Message Definition

+
+
# This was originally provided as an example message.

+
# It is deprecated as of Foxy

+
# It is recommended to create your own semantically meaningful message.

+
# However if you would like to continue using this please use the equivalent in example_msgs.

+
+ byte data
+
+

Compact Message Definition

+
+ octet data
+
+
+ +
+ + diff --git a/static/api/html/std_msgs/msg/ByteMultiArray.html b/static/api/html/std_msgs/msg/ByteMultiArray.html new file mode 100644 index 000000000..b30719713 --- /dev/null +++ b/static/api/html/std_msgs/msg/ByteMultiArray.html @@ -0,0 +1,35 @@ + + + + + msg/ByteMultiArray Documentation + + + +
+

std_msgs/msg/ByteMultiArray Message

+
+

File: std_msgs/msg/ByteMultiArray.msg

+

Raw Message Definition

+
+
# This was originally provided as an example message.

+
# It is deprecated as of Foxy

+
# It is recommended to create your own semantically meaningful message.

+
# However if you would like to continue using this please use the equivalent in example_msgs.

+
+
# Please look at the MultiArrayLayout message definition for

+
# documentation on all multiarrays.

+
+
#MultiArrayLayout layout # specification of data layout

+
#byte[] data # array of data

+
+

Compact Message Definition

+
+ std_msgs/msg/MultiArrayLayout layout
+ octet[] data
+
+
+ +
+ + diff --git a/static/api/html/std_msgs/msg/Char.html b/static/api/html/std_msgs/msg/Char.html new file mode 100644 index 000000000..29ebe2a55 --- /dev/null +++ b/static/api/html/std_msgs/msg/Char.html @@ -0,0 +1,30 @@ + + + + + msg/Char Documentation + + + +
+

std_msgs/msg/Char Message

+
+

File: std_msgs/msg/Char.msg

+

Raw Message Definition

+
+
# This was originally provided as an example message.

+
# It is deprecated as of Foxy

+
# It is recommended to create your own semantically meaningful message.

+
# However if you would like to continue using this please use the equivalent in example_msgs.

+
+ char data
+
+

Compact Message Definition

+
+ uint8 data
+
+
+ +
+ + diff --git a/static/api/html/std_msgs/msg/ColorRGBA.html b/static/api/html/std_msgs/msg/ColorRGBA.html new file mode 100644 index 000000000..7157f1c49 --- /dev/null +++ b/static/api/html/std_msgs/msg/ColorRGBA.html @@ -0,0 +1,31 @@ + + + + + msg/ColorRGBA Documentation + + + +
+

std_msgs/msg/ColorRGBA Message

+
+

File: std_msgs/msg/ColorRGBA.msg

+

Raw Message Definition

+
+ float32 r
+ float32 g
+ float32 b
+ float32 a
+
+

Compact Message Definition

+
+ float r
+ float g
+ float b
+ float a
+
+
+ +
+ + diff --git a/static/api/html/std_msgs/msg/Empty.html b/static/api/html/std_msgs/msg/Empty.html new file mode 100644 index 000000000..3c336caba --- /dev/null +++ b/static/api/html/std_msgs/msg/Empty.html @@ -0,0 +1,23 @@ + + + + + msg/Empty Documentation + + + +
+

std_msgs/msg/Empty Message

+
+

File: std_msgs/msg/Empty.msg

+

Raw Message Definition

+
+
+

Compact Message Definition

+
+
+
+ +
+ + diff --git a/static/api/html/std_msgs/msg/Float32.html b/static/api/html/std_msgs/msg/Float32.html new file mode 100644 index 000000000..35452e924 --- /dev/null +++ b/static/api/html/std_msgs/msg/Float32.html @@ -0,0 +1,30 @@ + + + + + msg/Float32 Documentation + + + +
+

std_msgs/msg/Float32 Message

+
+

File: std_msgs/msg/Float32.msg

+

Raw Message Definition

+
+
# This was originally provided as an example message.

+
# It is deprecated as of Foxy

+
# It is recommended to create your own semantically meaningful message.

+
# However if you would like to continue using this please use the equivalent in example_msgs.

+
+ float32 data
+
+

Compact Message Definition

+
+ float data
+
+
+ +
+ + diff --git a/static/api/html/std_msgs/msg/Float32MultiArray.html b/static/api/html/std_msgs/msg/Float32MultiArray.html new file mode 100644 index 000000000..1d69076ba --- /dev/null +++ b/static/api/html/std_msgs/msg/Float32MultiArray.html @@ -0,0 +1,35 @@ + + + + + msg/Float32MultiArray Documentation + + + +
+

std_msgs/msg/Float32MultiArray Message

+
+

File: std_msgs/msg/Float32MultiArray.msg

+

Raw Message Definition

+
+
# This was originally provided as an example message.

+
# It is deprecated as of Foxy

+
# It is recommended to create your own semantically meaningful message.

+
# However if you would like to continue using this please use the equivalent in example_msgs.

+
+
# Please look at the MultiArrayLayout message definition for

+
# documentation on all multiarrays.

+
+
#MultiArrayLayout layout # specification of data layout

+
#float32[] data # array of data

+
+

Compact Message Definition

+
+ std_msgs/msg/MultiArrayLayout layout
+ float[] data
+
+
+ +
+ + diff --git a/static/api/html/std_msgs/msg/Float64.html b/static/api/html/std_msgs/msg/Float64.html new file mode 100644 index 000000000..176893d8e --- /dev/null +++ b/static/api/html/std_msgs/msg/Float64.html @@ -0,0 +1,30 @@ + + + + + msg/Float64 Documentation + + + +
+

std_msgs/msg/Float64 Message

+
+

File: std_msgs/msg/Float64.msg

+

Raw Message Definition

+
+
# This was originally provided as an example message.

+
# It is deprecated as of Foxy

+
# It is recommended to create your own semantically meaningful message.

+
# However if you would like to continue using this please use the equivalent in example_msgs.

+
+ float64 data
+
+

Compact Message Definition

+
+ double data
+
+
+ +
+ + diff --git a/static/api/html/std_msgs/msg/Float64MultiArray.html b/static/api/html/std_msgs/msg/Float64MultiArray.html new file mode 100644 index 000000000..7d3aa87ae --- /dev/null +++ b/static/api/html/std_msgs/msg/Float64MultiArray.html @@ -0,0 +1,35 @@ + + + + + msg/Float64MultiArray Documentation + + + +
+

std_msgs/msg/Float64MultiArray Message

+
+

File: std_msgs/msg/Float64MultiArray.msg

+

Raw Message Definition

+
+
# This was originally provided as an example message.

+
# It is deprecated as of Foxy

+
# It is recommended to create your own semantically meaningful message.

+
# However if you would like to continue using this please use the equivalent in example_msgs.

+
+
# Please look at the MultiArrayLayout message definition for

+
# documentation on all multiarrays.

+
+
#MultiArrayLayout layout # specification of data layout

+
#float64[] data # array of data

+
+

Compact Message Definition

+
+ std_msgs/msg/MultiArrayLayout layout
+ double[] data
+
+
+ +
+ + diff --git a/static/api/html/std_msgs/msg/Header.html b/static/api/html/std_msgs/msg/Header.html new file mode 100644 index 000000000..84e11fbae --- /dev/null +++ b/static/api/html/std_msgs/msg/Header.html @@ -0,0 +1,34 @@ + + + + + msg/Header Documentation + + + +
+

std_msgs/msg/Header Message

+
+

File: std_msgs/msg/Header.msg

+

Raw Message Definition

+
+
# Standard metadata for higher-level stamped data types.

+
# This is generally used to communicate timestamped data

+
# in a particular coordinate frame.

+
+
# Two-integer timestamp that is expressed as seconds and nanoseconds.

+ builtin_interfaces/Time stamp
+
+
# Transform frame with which this data is associated.

+ string frame_id
+
+

Compact Message Definition

+
+ builtin_interfaces/msg/Time stamp
+ string frame_id
+
+
+ +
+ + diff --git a/static/api/html/std_msgs/msg/Int16.html b/static/api/html/std_msgs/msg/Int16.html new file mode 100644 index 000000000..76389338b --- /dev/null +++ b/static/api/html/std_msgs/msg/Int16.html @@ -0,0 +1,30 @@ + + + + + msg/Int16 Documentation + + + +
+

std_msgs/msg/Int16 Message

+
+

File: std_msgs/msg/Int16.msg

+

Raw Message Definition

+
+
# This was originally provided as an example message.

+
# It is deprecated as of Foxy

+
# It is recommended to create your own semantically meaningful message.

+
# However if you would like to continue using this please use the equivalent in example_msgs.

+
+ int16 data
+
+

Compact Message Definition

+
+ int16 data
+
+
+ +
+ + diff --git a/static/api/html/std_msgs/msg/Int16MultiArray.html b/static/api/html/std_msgs/msg/Int16MultiArray.html new file mode 100644 index 000000000..43dd5c20d --- /dev/null +++ b/static/api/html/std_msgs/msg/Int16MultiArray.html @@ -0,0 +1,35 @@ + + + + + msg/Int16MultiArray Documentation + + + +
+

std_msgs/msg/Int16MultiArray Message

+
+

File: std_msgs/msg/Int16MultiArray.msg

+

Raw Message Definition

+
+
# This was originally provided as an example message.

+
# It is deprecated as of Foxy

+
# It is recommended to create your own semantically meaningful message.

+
# However if you would like to continue using this please use the equivalent in example_msgs.

+
+
# Please look at the MultiArrayLayout message definition for

+
# documentation on all multiarrays.

+
+
#MultiArrayLayout layout # specification of data layout

+
#int16[] data # array of data

+
+

Compact Message Definition

+
+ std_msgs/msg/MultiArrayLayout layout
+ int16[] data
+
+
+ +
+ + diff --git a/static/api/html/std_msgs/msg/Int32.html b/static/api/html/std_msgs/msg/Int32.html new file mode 100644 index 000000000..fcd213c4d --- /dev/null +++ b/static/api/html/std_msgs/msg/Int32.html @@ -0,0 +1,30 @@ + + + + + msg/Int32 Documentation + + + +
+

std_msgs/msg/Int32 Message

+
+

File: std_msgs/msg/Int32.msg

+

Raw Message Definition

+
+
# This was originally provided as an example message.

+
# It is deprecated as of Foxy

+
# It is recommended to create your own semantically meaningful message.

+
# However if you would like to continue using this please use the equivalent in example_msgs.

+
+ int32 data
+
+

Compact Message Definition

+
+ int32 data
+
+
+ +
+ + diff --git a/static/api/html/std_msgs/msg/Int32MultiArray.html b/static/api/html/std_msgs/msg/Int32MultiArray.html new file mode 100644 index 000000000..f737b6ced --- /dev/null +++ b/static/api/html/std_msgs/msg/Int32MultiArray.html @@ -0,0 +1,35 @@ + + + + + msg/Int32MultiArray Documentation + + + +
+

std_msgs/msg/Int32MultiArray Message

+
+

File: std_msgs/msg/Int32MultiArray.msg

+

Raw Message Definition

+
+
# This was originally provided as an example message.

+
# It is deprecated as of Foxy

+
# It is recommended to create your own semantically meaningful message.

+
# However if you would like to continue using this please use the equivalent in example_msgs.

+
+
# Please look at the MultiArrayLayout message definition for

+
# documentation on all multiarrays.

+
+
#MultiArrayLayout layout # specification of data layout

+
#int32[] data # array of data

+
+

Compact Message Definition

+
+ std_msgs/msg/MultiArrayLayout layout
+ int32[] data
+
+
+ +
+ + diff --git a/static/api/html/std_msgs/msg/Int64.html b/static/api/html/std_msgs/msg/Int64.html new file mode 100644 index 000000000..9e906d9b2 --- /dev/null +++ b/static/api/html/std_msgs/msg/Int64.html @@ -0,0 +1,30 @@ + + + + + msg/Int64 Documentation + + + +
+

std_msgs/msg/Int64 Message

+
+

File: std_msgs/msg/Int64.msg

+

Raw Message Definition

+
+
# This was originally provided as an example message.

+
# It is deprecated as of Foxy

+
# It is recommended to create your own semantically meaningful message.

+
# However if you would like to continue using this please use the equivalent in example_msgs.

+
+ int64 data
+
+

Compact Message Definition

+
+ int64 data
+
+
+ +
+ + diff --git a/static/api/html/std_msgs/msg/Int64MultiArray.html b/static/api/html/std_msgs/msg/Int64MultiArray.html new file mode 100644 index 000000000..21a650547 --- /dev/null +++ b/static/api/html/std_msgs/msg/Int64MultiArray.html @@ -0,0 +1,35 @@ + + + + + msg/Int64MultiArray Documentation + + + +
+

std_msgs/msg/Int64MultiArray Message

+
+

File: std_msgs/msg/Int64MultiArray.msg

+

Raw Message Definition

+
+
# This was originally provided as an example message.

+
# It is deprecated as of Foxy

+
# It is recommended to create your own semantically meaningful message.

+
# However if you would like to continue using this please use the equivalent in example_msgs.

+
+
# Please look at the MultiArrayLayout message definition for

+
# documentation on all multiarrays.

+
+
#MultiArrayLayout layout # specification of data layout

+
#int64[] data # array of data

+
+

Compact Message Definition

+
+ std_msgs/msg/MultiArrayLayout layout
+ int64[] data
+
+
+ +
+ + diff --git a/static/api/html/std_msgs/msg/Int8.html b/static/api/html/std_msgs/msg/Int8.html new file mode 100644 index 000000000..5a9cda2d5 --- /dev/null +++ b/static/api/html/std_msgs/msg/Int8.html @@ -0,0 +1,30 @@ + + + + + msg/Int8 Documentation + + + +
+

std_msgs/msg/Int8 Message

+
+

File: std_msgs/msg/Int8.msg

+

Raw Message Definition

+
+
# This was originally provided as an example message.

+
# It is deprecated as of Foxy

+
# It is recommended to create your own semantically meaningful message.

+
# However if you would like to continue using this please use the equivalent in example_msgs.

+
+ int8 data
+
+

Compact Message Definition

+
+ int8 data
+
+
+ +
+ + diff --git a/static/api/html/std_msgs/msg/Int8MultiArray.html b/static/api/html/std_msgs/msg/Int8MultiArray.html new file mode 100644 index 000000000..07a0b8338 --- /dev/null +++ b/static/api/html/std_msgs/msg/Int8MultiArray.html @@ -0,0 +1,35 @@ + + + + + msg/Int8MultiArray Documentation + + + +
+

std_msgs/msg/Int8MultiArray Message

+
+

File: std_msgs/msg/Int8MultiArray.msg

+

Raw Message Definition

+
+
# This was originally provided as an example message.

+
# It is deprecated as of Foxy

+
# It is recommended to create your own semantically meaningful message.

+
# However if you would like to continue using this please use the equivalent in example_msgs.

+
+
# Please look at the MultiArrayLayout message definition for

+
# documentation on all multiarrays.

+
+
#MultiArrayLayout layout # specification of data layout

+
#int8[] data # array of data

+
+

Compact Message Definition

+
+ std_msgs/msg/MultiArrayLayout layout
+ int8[] data
+
+
+ +
+ + diff --git a/static/api/html/std_msgs/msg/MultiArrayDimension.html b/static/api/html/std_msgs/msg/MultiArrayDimension.html new file mode 100644 index 000000000..2afe50678 --- /dev/null +++ b/static/api/html/std_msgs/msg/MultiArrayDimension.html @@ -0,0 +1,34 @@ + + + + + msg/MultiArrayDimension Documentation + + + +
+

std_msgs/msg/MultiArrayDimension Message

+
+

File: std_msgs/msg/MultiArrayDimension.msg

+

Raw Message Definition

+
+
# This was originally provided as an example message.

+
# It is deprecated as of Foxy

+
# It is recommended to create your own semantically meaningful message.

+
# However if you would like to continue using this please use the equivalent in example_msgs.

+
+
#string label # label of given dimension

+
#uint32 size # size of given dimension (in type units)

+
#uint32 stride # stride of given dimension

+
+

Compact Message Definition

+
+ string label
+ uint32 size
+ uint32 stride
+
+
+ +
+ + diff --git a/static/api/html/std_msgs/msg/MultiArrayLayout.html b/static/api/html/std_msgs/msg/MultiArrayLayout.html new file mode 100644 index 000000000..75f8f4a2f --- /dev/null +++ b/static/api/html/std_msgs/msg/MultiArrayLayout.html @@ -0,0 +1,56 @@ + + + + + msg/MultiArrayLayout Documentation + + + +
+

std_msgs/msg/MultiArrayLayout Message

+
+

File: std_msgs/msg/MultiArrayLayout.msg

+

Raw Message Definition

+
+
# This was originally provided as an example message.

+
# It is deprecated as of Foxy

+
# It is recommended to create your own semantically meaningful message.

+
# However if you would like to continue using this please use the equivalent in example_msgs.

+
+
# The multiarray declares a generic multi-dimensional array of a

+
# particular data type. Dimensions are ordered from outer most

+
# to inner most.

+
#

+
# Accessors should ALWAYS be written in terms of dimension stride

+
# and specified outer-most dimension first.

+
#

+
# multiarray(i,j,k) = data[data_offset + dim_stride[1]*i + dim_stride[2]*j + k]

+
#

+
# A standard, 3-channel 640x480 image with interleaved color channels

+
# would be specified as:

+
#

+
# dim[0].label = "height"

+
# dim[0].size = 480

+
# dim[0].stride = 3*640*480 = 921600 (note dim[0] stride is just size of image)

+
# dim[1].label = "width"

+
# dim[1].size = 640

+
# dim[1].stride = 3*640 = 1920

+
# dim[2].label = "channel"

+
# dim[2].size = 3

+
# dim[2].stride = 3

+
#

+
# multiarray(i,j,k) refers to the ith row, jth column, and kth channel.

+
+
#MultiArrayDimension[] dim # Array of dimension properties

+
#uint32 data_offset # padding bytes at front of data

+
+

Compact Message Definition

+
+ std_msgs/msg/MultiArrayDimension[] dim
+ uint32 data_offset
+
+
+ +
+ + diff --git a/static/api/html/std_msgs/msg/String.html b/static/api/html/std_msgs/msg/String.html new file mode 100644 index 000000000..73755831c --- /dev/null +++ b/static/api/html/std_msgs/msg/String.html @@ -0,0 +1,30 @@ + + + + + msg/String Documentation + + + +
+

std_msgs/msg/String Message

+
+

File: std_msgs/msg/String.msg

+

Raw Message Definition

+
+
# This was originally provided as an example message.

+
# It is deprecated as of Foxy

+
# It is recommended to create your own semantically meaningful message.

+
# However if you would like to continue using this please use the equivalent in example_msgs.

+
+ string data
+
+

Compact Message Definition

+
+ string data
+
+
+ +
+ + diff --git a/static/api/html/std_msgs/msg/UInt16.html b/static/api/html/std_msgs/msg/UInt16.html new file mode 100644 index 000000000..57cdffd23 --- /dev/null +++ b/static/api/html/std_msgs/msg/UInt16.html @@ -0,0 +1,30 @@ + + + + + msg/UInt16 Documentation + + + +
+

std_msgs/msg/UInt16 Message

+
+

File: std_msgs/msg/UInt16.msg

+

Raw Message Definition

+
+
# This was originally provided as an example message.

+
# It is deprecated as of Foxy

+
# It is recommended to create your own semantically meaningful message.

+
# However if you would like to continue using this please use the equivalent in example_msgs.

+
+ uint16 data
+
+

Compact Message Definition

+
+ uint16 data
+
+
+ +
+ + diff --git a/static/api/html/std_msgs/msg/UInt16MultiArray.html b/static/api/html/std_msgs/msg/UInt16MultiArray.html new file mode 100644 index 000000000..9049199a1 --- /dev/null +++ b/static/api/html/std_msgs/msg/UInt16MultiArray.html @@ -0,0 +1,35 @@ + + + + + msg/UInt16MultiArray Documentation + + + +
+

std_msgs/msg/UInt16MultiArray Message

+
+

File: std_msgs/msg/UInt16MultiArray.msg

+

Raw Message Definition

+
+
# This was originally provided as an example message.

+
# It is deprecated as of Foxy

+
# It is recommended to create your own semantically meaningful message.

+
# However if you would like to continue using this please use the equivalent in example_msgs.

+
+
# Please look at the MultiArrayLayout message definition for

+
# documentation on all multiarrays.

+
+
#MultiArrayLayout layout # specification of data layout

+
#uint16[] data # array of data

+
+

Compact Message Definition

+
+ std_msgs/msg/MultiArrayLayout layout
+ uint16[] data
+
+
+ +
+ + diff --git a/static/api/html/std_msgs/msg/UInt32.html b/static/api/html/std_msgs/msg/UInt32.html new file mode 100644 index 000000000..37afb1ade --- /dev/null +++ b/static/api/html/std_msgs/msg/UInt32.html @@ -0,0 +1,30 @@ + + + + + msg/UInt32 Documentation + + + +
+

std_msgs/msg/UInt32 Message

+
+

File: std_msgs/msg/UInt32.msg

+

Raw Message Definition

+
+
# This was originally provided as an example message.

+
# It is deprecated as of Foxy

+
# It is recommended to create your own semantically meaningful message.

+
# However if you would like to continue using this please use the equivalent in example_msgs.

+
+ uint32 data
+
+

Compact Message Definition

+
+ uint32 data
+
+
+ +
+ + diff --git a/static/api/html/std_msgs/msg/UInt32MultiArray.html b/static/api/html/std_msgs/msg/UInt32MultiArray.html new file mode 100644 index 000000000..1542ec95e --- /dev/null +++ b/static/api/html/std_msgs/msg/UInt32MultiArray.html @@ -0,0 +1,35 @@ + + + + + msg/UInt32MultiArray Documentation + + + +
+

std_msgs/msg/UInt32MultiArray Message

+
+

File: std_msgs/msg/UInt32MultiArray.msg

+

Raw Message Definition

+
+
# This was originally provided as an example message.

+
# It is deprecated as of Foxy

+
# It is recommended to create your own semantically meaningful message.

+
# However if you would like to continue using this please use the equivalent in example_msgs.

+
+
# Please look at the MultiArrayLayout message definition for

+
# documentation on all multiarrays.

+
+
#MultiArrayLayout layout # specification of data layout

+
#uint32[] data # array of data

+
+

Compact Message Definition

+
+ std_msgs/msg/MultiArrayLayout layout
+ uint32[] data
+
+
+ +
+ + diff --git a/static/api/html/std_msgs/msg/UInt64.html b/static/api/html/std_msgs/msg/UInt64.html new file mode 100644 index 000000000..4601eb7a9 --- /dev/null +++ b/static/api/html/std_msgs/msg/UInt64.html @@ -0,0 +1,30 @@ + + + + + msg/UInt64 Documentation + + + +
+

std_msgs/msg/UInt64 Message

+
+

File: std_msgs/msg/UInt64.msg

+

Raw Message Definition

+
+
# This was originally provided as an example message.

+
# It is deprecated as of Foxy

+
# It is recommended to create your own semantically meaningful message.

+
# However if you would like to continue using this please use the equivalent in example_msgs.

+
+ uint64 data
+
+

Compact Message Definition

+
+ uint64 data
+
+
+ +
+ + diff --git a/static/api/html/std_msgs/msg/UInt64MultiArray.html b/static/api/html/std_msgs/msg/UInt64MultiArray.html new file mode 100644 index 000000000..3edda445d --- /dev/null +++ b/static/api/html/std_msgs/msg/UInt64MultiArray.html @@ -0,0 +1,35 @@ + + + + + msg/UInt64MultiArray Documentation + + + +
+

std_msgs/msg/UInt64MultiArray Message

+
+

File: std_msgs/msg/UInt64MultiArray.msg

+

Raw Message Definition

+
+
# This was originally provided as an example message.

+
# It is deprecated as of Foxy

+
# It is recommended to create your own semantically meaningful message.

+
# However if you would like to continue using this please use the equivalent in example_msgs.

+
+
# Please look at the MultiArrayLayout message definition for

+
# documentation on all multiarrays.

+
+
#MultiArrayLayout layout # specification of data layout

+
#uint64[] data # array of data

+
+

Compact Message Definition

+
+ std_msgs/msg/MultiArrayLayout layout
+ uint64[] data
+
+
+ +
+ + diff --git a/static/api/html/std_msgs/msg/UInt8.html b/static/api/html/std_msgs/msg/UInt8.html new file mode 100644 index 000000000..913745e51 --- /dev/null +++ b/static/api/html/std_msgs/msg/UInt8.html @@ -0,0 +1,30 @@ + + + + + msg/UInt8 Documentation + + + +
+

std_msgs/msg/UInt8 Message

+
+

File: std_msgs/msg/UInt8.msg

+

Raw Message Definition

+
+
# This was originally provided as an example message.

+
# It is deprecated as of Foxy

+
# It is recommended to create your own semantically meaningful message.

+
# However if you would like to continue using this please use the equivalent in example_msgs.

+
+ uint8 data
+
+

Compact Message Definition

+
+ uint8 data
+
+
+ +
+ + diff --git a/static/api/html/std_msgs/msg/UInt8MultiArray.html b/static/api/html/std_msgs/msg/UInt8MultiArray.html new file mode 100644 index 000000000..61460033d --- /dev/null +++ b/static/api/html/std_msgs/msg/UInt8MultiArray.html @@ -0,0 +1,35 @@ + + + + + msg/UInt8MultiArray Documentation + + + +
+

std_msgs/msg/UInt8MultiArray Message

+
+

File: std_msgs/msg/UInt8MultiArray.msg

+

Raw Message Definition

+
+
# This was originally provided as an example message.

+
# It is deprecated as of Foxy

+
# It is recommended to create your own semantically meaningful message.

+
# However if you would like to continue using this please use the equivalent in example_msgs.

+
+
# Please look at the MultiArrayLayout message definition for

+
# documentation on all multiarrays.

+
+
#MultiArrayLayout layout # specification of data layout

+
#uint8[] data # array of data

+
+

Compact Message Definition

+
+ std_msgs/msg/MultiArrayLayout layout
+ uint8[] data
+
+
+ +
+ + diff --git a/static/api/html/std_srvs/index-msg.html b/static/api/html/std_srvs/index-msg.html new file mode 100644 index 000000000..655b4e5d7 --- /dev/null +++ b/static/api/html/std_srvs/index-msg.html @@ -0,0 +1,19 @@ + + + + + std_srvs Message / Service / Action Documentation + + + +
+

std_srvs Service Documentation

+ + +
+ + diff --git a/static/api/html/std_srvs/srv/Empty.html b/static/api/html/std_srvs/srv/Empty.html new file mode 100644 index 000000000..f63a671f7 --- /dev/null +++ b/static/api/html/std_srvs/srv/Empty.html @@ -0,0 +1,25 @@ + + + + + srv/Empty Documentation + + + +
+

std_srvs/srv/Empty Service

+
+

File: std_srvs/srv/Empty.msg

+

Raw Message Definition

+
+ ---
+
+

Compact Message Definition

+
+
+
+
+ +
+ + diff --git a/static/api/html/std_srvs/srv/SetBool.html b/static/api/html/std_srvs/srv/SetBool.html new file mode 100644 index 000000000..e72dffda2 --- /dev/null +++ b/static/api/html/std_srvs/srv/SetBool.html @@ -0,0 +1,31 @@ + + + + + srv/SetBool Documentation + + + +
+

std_srvs/srv/SetBool Service

+
+

File: std_srvs/srv/SetBool.msg

+

Raw Message Definition

+
+
#bool data # e.g. for hardware enabling / disabling

+ ---
+
#bool success # indicate successful run of triggered service

+
#string message # informational, e.g. for error messages

+
+

Compact Message Definition

+
+ boolean success
+ string message
+
+ boolean data
+
+
+ +
+ + diff --git a/static/api/html/std_srvs/srv/Trigger.html b/static/api/html/std_srvs/srv/Trigger.html new file mode 100644 index 000000000..8d0223b30 --- /dev/null +++ b/static/api/html/std_srvs/srv/Trigger.html @@ -0,0 +1,29 @@ + + + + + srv/Trigger Documentation + + + +
+

std_srvs/srv/Trigger Service

+
+

File: std_srvs/srv/Trigger.msg

+

Raw Message Definition

+
+ ---
+
#bool success # indicate successful run of triggered service

+
#string message # informational, e.g. for error messages

+
+

Compact Message Definition

+
+ boolean success
+ string message
+
+
+
+ +
+ + diff --git a/static/api/html/styles.css b/static/api/html/styles.css new file mode 100644 index 000000000..57b423772 --- /dev/null +++ b/static/api/html/styles.css @@ -0,0 +1,60 @@ +body { + font-family: Arial, Helvetica, sans-serif; +} +a { + text-decoration: none; + color: #2b7fcf; +} +a:link { } +a:hover, a:focus { + text-decoration: underline; +} + +h3 { + font-size: 1.1em; + line-height: 1.1em; + margin-top: 0.769em; + border-bottom-width: 1px; + border-bottom-style: dotted; + border-bottom-color: #545454; + padding-bottom: 3px; + margin-bottom: 5px; +} + +.packages { + margin-top: 10px; +} +.nav-link { + font-size: 0.9em; +} +.subgroup { + margin: 5px 10px 10px -15px; +} +.greybox { + padding: 1px; + background-color: #eee; + border: 1px solid #333; +} +hr { + width: 100%; + height: 1px; + border-top: 0; + color: #000; +} +.compact_definition-msg { + width: auto; + border: 1px solid #333; + padding: 10px; +} + +.raw-msg { + font-family: monospace; + width: auto; + padding: 10px; + border: 1px solid #333; +} + +.footer { + font-size: small; + font-style: italic; +} diff --git a/static/assets/pdf/clearpath_robotics_026369.pdf b/static/assets/pdf/clearpath_robotics_026369.pdf new file mode 100644 index 000000000..90f0c16e8 Binary files /dev/null and b/static/assets/pdf/clearpath_robotics_026369.pdf differ diff --git a/static/assets/pdf/clearpath_robotics_034769.pdf b/static/assets/pdf/clearpath_robotics_034769.pdf new file mode 100644 index 000000000..dcf3ec414 Binary files /dev/null and b/static/assets/pdf/clearpath_robotics_034769.pdf differ diff --git a/static/img/robot_images/husky_a300_images/husky_a300_imda.png b/static/img/robot_images/husky_a300_images/husky_a300_imda.png new file mode 100644 index 000000000..b8d3e38e9 Binary files /dev/null and b/static/img/robot_images/husky_a300_images/husky_a300_imda.png differ diff --git a/static/img/robot_images/husky_a300_images/husky_a300_japan.png b/static/img/robot_images/husky_a300_images/husky_a300_japan.png new file mode 100644 index 000000000..8355a8142 Binary files /dev/null and b/static/img/robot_images/husky_a300_images/husky_a300_japan.png differ diff --git a/static/img/robot_images/ridgeback_images/ridgeback_r100_simplified_step_1.png b/static/img/robot_images/ridgeback_images/ridgeback_r100_simplified_step_1.png new file mode 100644 index 000000000..0b8c7042d Binary files /dev/null and b/static/img/robot_images/ridgeback_images/ridgeback_r100_simplified_step_1.png differ diff --git a/static/versions.js b/static/versions.js index 53ea72533..fd70a694e 100644 --- a/static/versions.js +++ b/static/versions.js @@ -1,5 +1,5 @@ const versions = Object.freeze({ - "outdoornav": "0.14.0", + "outdoornav": "2.1.0", }); export default versions;