Skip to content

Commit 147d900

Browse files
Merge pull request #265 from clearpathrobotics/development
Sync to Production
2 parents 5e2bd1c + f6649ce commit 147d900

File tree

103 files changed

+11879
-41
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

103 files changed

+11879
-41
lines changed
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
---
2+
title: Watchdogs
3+
sidebar_label: Watchdogs
4+
sidebar_position: 7
5+
toc_min_heading_level: 2
6+
toc_max_heading_level: 4
7+
---
8+
9+
As of version 0.14.0, the OutdoorNav software contains the ability for autonomous missions
10+
to be interrupted if failures are detected by wtchdogs. Each UGV will come pre-loaded with
11+
a set of watchdogs that are required for the overall safety of the system. Users are then
12+
able to add/remove/modify watchdogs as they require for their specific application and
13+
safety requirements. This will have a lot to do with the operational environment
14+
and their network setup. A history of previous watchdogs that have triggered is also
15+
available to the user for more precise debugging of when issues may have occured.
16+
17+
## Watchdog Types
18+
19+
Currently there a a set of watchdogs that have been developed. Users are unable to write
20+
their own watchdogs at the present time.
21+
22+
| Watchdog Type | Description |
23+
|----------------------------------|----------------------------------------|
24+
| **Communication Watchdog** | A watchdog used to monitor device communication with the PC. It will monitor and trigger if there is loss of communication on devices that are connected via the ethernet (ip) or CAN bus (can) communication protocols. |
25+
| **Heartbeat Watchdog** | A watchdog used to monitor the heartbeat topic of a device. This differs from the Communication, Node Status and Topic Data watchdogs because there may be devices that are deemed to be alive and communicating by the Node Status and Communication watchdogs but may not be publishing data on their published topic. For example some GNSS units will not publish to their topic unless they are in a clear open environment, however the heartbeat topic will still be publishing since the node is alive. |
26+
| **Inclination Watchdog** | A watchdog used to monitor the inclination (roll and pitch) of the UGV. It will trigger if the IMU topic reports an inclination in either the roll or the pitch that exceeds the defined limits.|
27+
| **Node Status Watchdog** | A watchdog used to monitor the status of a node. It will trigger if the node crashes or does not start up. |
28+
| **Nodelet Status Watchdog** | A watchdog used to monitor the status of a nodelet manager and any nodelets associated with it. It will trigger if either the nodelet manager or the nodelet defined in the parameters crash or fail to start up. |
29+
| **Num Points Watchdog** | A watchdog used to monitor the status of a LiDAR device. It is designed to trigger if there is an insufficient number of points in a PointCloud2 topic. The primary example for such a watchdog is if a customer has forgotten to remove a protective covering from the LiDAR. |
30+
| **Odometry Covariance Watchdog** | A watchdog used to monitor reliability of the odometry data that is computed by our system. It will trigger if any of the odometry covariance thresholds have been exceeded. |
31+
| **RTK Fix Watchdog** | A watchdog used to monitor whether or not a GNSS unit has an RTK fix. It will trigger if the device has lost RTK fix for more than the defined timeout. |
32+
| **Topic Data Watchdog** | A watchdog used to monitor a ROS topic. It will trigger if no data has been received on the topic for more than the defined timeout. |
33+
34+
35+
## Watchdogs Page
36+
37+
To access the watchdog page navigate to the **Menu** → **Autonomy** → **Watchdogs**.
38+
39+
<center>
40+
<figure>
41+
<img
42+
src="/img/outdoornav_images/ui_watchdogs_page.png"
43+
width="1000"
44+
/>
45+
<figcaption>Watchdogs Page</figcaption>
46+
</figure>
47+
</center>
48+
49+
On this page you will be able to see the history of triggered watchdogs, which includes
50+
the time of day that it was triggered and the action taken by autonomy to prevent any
51+
harmful behaviour. Users can clear the history as they see fit to reduce the number of
52+
entries in the table.
53+
54+
55+
### Add Watchdog
56+
57+
To add a watchdog, users can simply click the "Add Watchdog" button on the watchdog page.
58+
This will open up a pop up where the user can enter the required information for the new watchdog.
59+
The default parameters that need to be entered are:
60+
61+
- **Watchdog Name**: A semantic name for the watchdog. This name will only be used for internal
62+
identification of the watchdog and must be unique.
63+
- **Autonomy Action**: The action that the autonomy will perform when the watchdog
64+
is triggered. Options are: "Stop", "Pause", "Warn". For example, if Pause is selected and the
65+
watchdog is triggered while a mission is running, the mission will pause and wait for the user to
66+
resume it manually.
67+
- **Components**: A list of one or more components of outdoornav that the watchdog will
68+
be classified under. Examples are: "ros", "navigation", "localization", "obstacle_detection".
69+
- **Watchdog Type**: The type of watchdog that is to be created. Selecting the required watchdog
70+
type will then prompt the user for further properties specific to the type.
71+
72+
<center>
73+
<figure>
74+
<img
75+
src="/img/outdoornav_images/ui_add_watchdog.png"
76+
width="500"
77+
/>
78+
<figcaption>Add Watchdog Pop-up</figcaption>
79+
</figure>
80+
</center>
81+
82+
83+
### Remove Watchdog
84+
85+
The user can remove a specific watchdog by clicking the trash icon beside the relevant watchdog.
86+
87+
88+
### Modify Watchdog
89+
90+
The user has the ability to modify the watchdog properties through the UI on the Watchdog page.
91+
The watchdog can be enabled/disabled (without explicitly being removed entirely) by clicking
92+
the checkbox beside the respective watchdog. Furthermore, if the watchdog entry is opened, the
93+
user will be able to modify any and all of the properties of each watchdog. See below, for an
94+
example of modifying the properties of the TopicDataWatchdog. To confirm and save the changes to
95+
a watchdog, the user must click the "Save Changes" button.
96+
97+
<center>
98+
<figure>
99+
<img
100+
src="/img/outdoornav_images/ui_update_watchdog.png"
101+
width="500"
102+
/>
103+
<figcaption>Update TopicDataWatchdog</figcaption>
104+
</figure>
105+
</center>

docs_outdoornav_user_manual/release_notes.mdx

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,30 @@ toc_min_heading_level: 2
66
toc_max_heading_level: 4
77
---
88

9+
## 0.14.0
10+
11+
### New Features
12+
13+
- Added in the ability to connect a PS4 controller to the UI directly.
14+
- Improved the PTZ Controls, allowing users to move via a draggable interface,
15+
box selection or double clicking.
16+
- [System Watchdogs](./features/watchdogs.mdx) can now be added to the UGV to
17+
allow for safeguards to be put in place depending on the needs of the user.
18+
19+
### API Changes
20+
21+
- Added new message definitions and service calls for watchdogs
22+
23+
### Bug Fixes
24+
25+
- 2532: Wireless Connection adaptor not publishing
26+
27+
### Known Issues
28+
29+
- 1396: Robot gets temporarily stuck at start of mission when near a Waypoint
30+
- 1844: [MPC] Maximum acceleration param doesn't appear to have any effect
31+
- 2525: Path Previewer has issues cleaning up upon completion in mission less states
32+
933
## 0.13.0
1034

1135
### New Features

docs_outdoornav_user_manual/web_user_interface/ui_manual_mode.mdx

Lines changed: 28 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,31 +18,54 @@ methods that can be used to stop the moving UGV.
1818

1919
<center>
2020
<figure>
21-
<img src="/img/outdoornav_images/ui_manual_mode_page.png" />
21+
<img src="/img/outdoornav_images/ui_manual_mode_page_0_14_0.png" />
2222
<figcaption>Teleoperation Components</figcaption>
2323
</figure>
2424
</center>
2525

2626
1. **Error/Warning Bar:** A bar along the top of the page reporting
2727
the error or warning status of the Assisted Teleoperation feature.
28-
2. **Joystick:** The joystick will allow the user to move the UGV
28+
2. **User Connections:** Shows the number of users connected to OutdoorNav.
29+
3. **Joystick:** The joystick will allow the user to move the UGV
2930
manually from the UI. Motion can be sent to the UGV in 360°
3031
directions and the speed can be controlled by the distance of the
3132
joystick from its neutral position. Four fixed direction buttons are
3233
now present to move the UGV in purely forward/reverse directions or
3334
clockwise/counter-clockwise. Finally, we overlay an obstacle map
3435
on top of the joystick, representing obstacle distances from the
3536
UGV.
36-
3. **Speedometer:** An indicator of the UGV's current linear speed.
37-
4. **Sensitivity Scale:** A UGV-specific scale that controls the
37+
4. **Speedometer:** An indicator of the UGV's current linear speed.
38+
5. **Sensitivity Scale:** A UGV-specific scale that controls the
3839
maximum allowable UGV velocities at each level. The default maximum
3940
linear velocity is 1.0 meters per second and the maximum angular
4041
velocity is 0.5 radians per second. These can be changed in the
4142
[General Settings](./ui_overview.mdx#config-general-settings) page.
4243
The scale levels are 100%, 80%, 50% and 20%, with the default set
4344
to 80%.
44-
5. **Teleop Assist Toggle:** The "Teleop Assist" toggle can be used to
45+
6. **Teleop Assist Toggle:** The "Teleop Assist" toggle can be used to
4546
enable/disable the Assisted Teleoperation feature.
47+
7. **UI Lockout:** The lockout toggle that will prevent the Joystick from
48+
sending commands to the UGV. The purpose of this is to help prevent
49+
unwanted users from teloperating the UGV. This feature
50+
does not lock out the controller connected to the robot.
51+
8. **Controller Connection:** If a controller is connected to the PC the UI
52+
will show this icon. The user can select the icon to disable/enable
53+
controller input.
54+
55+
## Remote Controller Connection
56+
57+
If the user has a PS4 controller they can connect it to the UI directly. This
58+
will allow user drive the UGV the same way as the controller thats connected
59+
directly to the UGV. The controller will only function provided the UI window
60+
is in focus. Users can also see if other connections have a controller connected
61+
by expanding the User Connections icon as seen below.
62+
63+
<center>
64+
<figure>
65+
<img src="/img/outdoornav_images/user_connections_expanded.png" />
66+
<figcaption>Users connected to the UGV's UI Interface</figcaption>
67+
</figure>
68+
</center>
4669

4770
## Monitor Wireless Strength
4871

docs_outdoornav_user_manual/web_user_interface/ui_overview.mdx

Lines changed: 67 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ available views.
169169

170170
<center>
171171
<figure>
172-
<img src="/img/outdoornav_images/ui_ptz_view-0_8_0.png" />
172+
<img src="/img/outdoornav_images/ui_ptz_view_0_14_0.png" />
173173
<figcaption>PTZ Camera View</figcaption>
174174
</figure>
175175
</center>
@@ -182,15 +182,17 @@ available views.
182182
neutral ("zero") position.
183183
3. **Zoom Slider:** The right slider can be used to zoom the camera
184184
feed. By default, the slider is at its neutral ("zero") position.
185-
4. **Save Image:** Depending on the current camera view selected, this
185+
4. **Start/Stop Recording:** This button will start/stop video recording for the
186+
camera and store the video file on the UGV.
187+
5. **Save Image:** Depending on the current camera view selected, this
186188
button will save an image to the computer/tablet running the UI.
187189
Images will be saved to the location in which your browser saves
188190
files.
189-
5. **Camera Positions List:** Display the list of available camera
191+
6. **Camera Positions List:** Display the list of available camera
190192
positions that have been saved. These camera positions can be
191193
deleted from this list by clicking the "garbage can" icon beside
192194
the corresponding position.
193-
6. **Save Camera Position:** This button will save the camera position
195+
7. **Save Camera Position:** This button will save the camera position
194196
to be used in the "Move PTZ" task. An example use case would be:
195197
1. Switch to the PTZ camera view.
196198
2. Teleoperate the UGV to a location at which the user can inspect
@@ -203,6 +205,67 @@ available views.
203205
6. Click the settings button beside the task and add the camera
204206
position related to the inspection point.
205207

208+
#### Q62 PTZ Features
209+
210+
<center>
211+
<figure>
212+
<img src="/img/outdoornav_images/ui_ptz_q62.png" />
213+
<figcaption>Q62 PTZ Camera Controls</figcaption>
214+
</figure>
215+
</center>
216+
217+
1. **Virtual PTZ Joystick:** This joystick can be dragged away from the center
218+
of the screen and the camera will follow. The further away from the center
219+
the user drags the joystick, the faster the camera moves.
220+
2. **Q62 Wiper:** Triggers the Q62 wiper to clear any water/debris on the the camera's
221+
face.
222+
3. **Q62 Defogger:** Triggers the Q62 Defogger. When on, a "DEFOGGER ON" message will appear
223+
in the upper left corner of the view.
224+
4. **Q62 Infrared:** Changes the Q62 view to leverage infrared light for improved vision in
225+
the dark.
226+
227+
The Q62 PTZ Camera has the ability to move the camera in other ways besides the
228+
sliders on the screen. Some of these are shown below in brief video clips.
229+
230+
<center>
231+
<figure>
232+
<video
233+
autoplay="true"
234+
loop="true"
235+
src="/video/outdoornav_videos/ui_ptz_drag_demo.mp4"
236+
width="700"
237+
/>
238+
<figcaption>Moving the Camera via the Virtual Joystick</figcaption>
239+
</figure>
240+
</center>
241+
242+
<center>
243+
<figure>
244+
<video
245+
autoplay="true"
246+
loop="true"
247+
src="/video/outdoornav_videos/ui_ptz_box_zoom.mp4"
248+
width="700"
249+
/>
250+
<figcaption>Moving the Camera via the Box Selection</figcaption>
251+
</figure>
252+
</center>
253+
254+
<center>
255+
<figure>
256+
<video
257+
autoplay="true"
258+
loop="true"
259+
src="/video/outdoornav_videos/ui_ptz_double_click.mp4"
260+
width="700"
261+
/>
262+
<figcaption>Moving the Camera via Double Clicking</figcaption>
263+
</figure>
264+
</center>
265+
266+
A user can also right click the image and zoom out or reset the camera to the
267+
home position.
268+
206269
### Front and Back Views
207270

208271
<center>

docs_versioned_docs/version-ros1noetic/components/_driving_with_remote_controller.mdx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,13 @@ To drive your omnidirectional robot, **Axis 0** controls the robot's steering, *
3131
left/right translation, and **Axis 2** controls the forward/backward velocity. **Button 4** acts as enable, and
3232
**Button 5** acts as enable-turbo. On common controllers these correspond to the following physical controls:
3333

34-
| Axis/Button | Physical Input | PS4 | F710 | Xbox One | Action |
35-
| :----------- | :------------------------------- | :-- | :--- | :------- | :--------------------- |
36-
| **Axis 0** | Left thumb stick vertical | LJ | LJ | LJ | Drive forward/backward |
37-
| **Axis 1** | Left thumb stick horizontal | LJ | LJ | LJ | Translate left/right |
38-
| **Axis 2** | Right thumb stick horizontal | RJ | RJ | RJ | Rotate/turn |
39-
| **Button 4** | Left shoulder button or trigger | L1 | LB | LB | Enable normal speed |
40-
| **Button 5** | Right shoulder button or trigger | R1 | RB | RB | Enable turbo speed |
34+
| Axis/Button | Physical Input | PS4 | F710 | Xbox One | Action |
35+
| :----------- | :------------------------------- | :-- | :--- | :------- | :------------------------------------------------------------ |
36+
| **Axis 0** | Left thumb stick vertical | LJ | LJ | LJ | Drive forward/backward |
37+
| **Axis 1** | Left thumb stick horizontal | LJ | LJ | LJ | Translate left/right |
38+
| **Axis 2** | Right thumb stick horizontal | RJ | RJ | RJ | Rotate/turn |
39+
| **Button 4** | Left shoulder button or trigger | L1 | LB | LB | Enable normal speed |
40+
| **Button 5** | Right shoulder button or trigger | R1 | RB | RB | Enable turbo speed (Dingo-O only; not supported on Ridgeback) |
4141

4242
:::note
4343

docs_versioned_docs/version-ros1noetic/robots/indoor_robots/ridgeback/user_manual_ridgeback.mdx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,6 @@ Then, power on the controller by pressing the `PS` button on the controller.
202202
Once the blue LED on the top of the controller goes solid, you are paired and ready to drive.
203203

204204
Hold the L1 trigger button (deadman switch) and push the left thumbstick forward to drive the Ridgeback.
205-
For full speed mode, hold the R1 trigger.
206205
See the figure below for the Sony PS4 controls layout.
207206
If you are not seeing any action, refer to [Support](#ridgeback-support) to get in touch with support.
208207

docs_versioned_docs/version-ros1noetic/robots/solutions/husky_observer/user_manual_husky_observer.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1162,7 +1162,7 @@ If prompted for a password, enter: **`clearpath`**.
11621162

11631163
##### Connecting to OutdoorNav Web User Interface
11641164

1165-
In order to connect to the Outdoor Nav User Interface, ensure that the tablet
1165+
In order to connect to the OutdoorNav User Interface, ensure that the tablet
11661166
has network connectivity to the Husky Observer as described in
11671167
[Networking Setup](#networking-setup) and note the URL for accessing the OutdoorNav UI.
11681168

@@ -1330,7 +1330,7 @@ during the execution of the mission.
13301330

13311331
#### Autonomous Missions {#autonomous-missions}
13321332

1333-
Refer to the Outdoor Nav User Manual for details on the
1333+
Refer to the OutdoorNav User Manual for details on the
13341334
[Autonomous Mode](/docs_outdoornav_user_manual/web_user_interface/ui_overview#autonomous-features),
13351335
including details on [Autonomous Docking](/docs_outdoornav_user_manual/web_user_interface/ui_overview#autonomous-docking).
13361336

0 commit comments

Comments
 (0)