Web UI Autonomous Mode

_images/gps_danger.png

Ensure that you have read Safety 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.

The Autonomous Mode of OutdoorNav Software is a set of robotic navigation modules that enables robotics developers to define and then autonomously execute missions on UGVs, getting work done without requiring direct operator action. This software is composed of four main modules: localization, navigation, safety monitoring and user control unit. This a combination of Clearpath’s proprietary packages and custom configured open-source packages from ROS community. Please see the software architecture section for more information.

Definitions

The list below defines what a “Mission” is as well as its components. These components are referred to throughout this manual.

  • Mission A Mission is a set of one or more Goals.

  • Goal A Goal must contain one Goal Point, can contain several Viapoints (but not required to contain any), and can contain any number of Tasks.

  • Path The list of Viapoints along with Goal point will determine the path of for the specific Goal.

  • Goal Point A Goal Point is the final Waypoint in a Goal and is the destination of the Goal.

  • Waypoint A Waypoint is any geographical point referenced by its position relative to the datum in meters. Both Viapoints and Goal Points are types of Waypoints.

  • Viapoint A Viapoint is a Waypoint which is part of a Goal but not the last point. The list of Viapoints forms the path for the specific Goal.

  • Task A Task is an automated activity or wait time implemented as a ROS action. Tasks are called in the order they are added to a Goal.

Map Settings

_images/ui_map_settings.png

Map settings

To access the Map Settings: Menu → Settings → Map:

  1. Map Offset: The map tiles used in this software are not perfectly aligned with the real world. Therefore, the user may need to apply an offset to the map so that the UGV’s position in the real world matches its position on the map.

  2. Change Datum: The datum is represented by a blue marker on the map and should be set to a location within 10km of the test site. The user can change this value in the Map Settings page. Enter the new values and click the “Set Datum” button.

Goal Creation

To create or modify Goals, the “Edit Mission” toggle must be enabled. The user can then create the Goals using one of two methods:

  1. Waypoint Mode

  2. Route Mode (Easier)

While the steps of the creating a mission can vary, the general process for creating a Mission is defined below. These steps will be covered in more detail in the following sections.

  1. Defining a point on the map as a Goal Point.

  2. Adding Task for the Goal.

  3. Adding Viapoints for the Goal to help guide the UGV from its starting point to the Goal.

  4. Repeating the steps above to add more Goals (if needed).

  5. Specifying the order of the Goals.

  6. Saving the Mission.

Waypoint Mode

The first option to create Goals is to select the “Waypoint Mode” button. This will allow the user to place Waypoints at locations where the user clicks on the map. These will appear as red Waypoints until they are either converted into a Goal Point or Viapoint.

Select the Waypoint to open the dropdown list. The user can now add the Waypoint to a Goal, create a new Goal from a waypoint, or Delete the Waypoint.

Route Mode

The second option to create Goals is to select the “Start Route” button. This will enable “Route Mode” and will allow the user to click points on the map along which the user wants Waypoints to be added sequentially. Once the final point is selected the user must click the “End Route” button for the Goal to be created.

During this process, as Waypoints are added, the last Waypoint added prior to ending the route will be the Goal Point of the Goal while the previous points are considered the Viapoints of the Goal. The UGV will travel through these Viapoints towards the Goal Point. See the figures below for an example of the “Route Mode” process.

_images/ui_route_start.png

Route Mode: Step 1

_images/ui_route1.png

Route Mode: Step 2

_images/ui_route2.png

Route Mode: Step 3

_images/ui_route3.png

Route Mode: Step 4

_images/ui_route4.png

Route Mode: Step 5

_images/ui_route_end.png

Route Mode: Step 6

Constrained Replanning

If constrained replanning is enabled the user can show on the path deviation distance by navigating to the General settings in the hamburger menu. Once enabled the area of possible deviation will show over the planned route as can be seen in the following figure.

_images/ui_route_deviation.png

Route with deviation

Goal Panel

_images/ui_goal_panel.png

Goal Panel

Enable the “Goal Panel” toggle to open the list of available Goals within the selected Mission as shown in the figure above. The user can now enable/disable Goals, rearrange the list, rename Goals, add Tasks to the end of Goals, and modify the final heading and/or tolerance of each Goal.

When the Mission is started, the Goals are executed in the order that they appear in the Goals panel (provided that they are enabled).

Rearrange List of Goals

Goals can be rearranged once they have been completed. To do this, enable the “Goals Panel” toggle to access the list of Goals. Here, the user will be able to drag and drop the Goals to reorder them.

Rename Goal

By default, once Goals are created they are assigned a default name which is the word “Goal” followed by a numeric value representing the the number of Goals that have been created plus one. The user has the option to rename these Goals in order for them to have more descriptive meaning. The Goal name will appear in the feedback bar once the Mission is sent and will let the user know which Goal is currently being executed.

To rename a Goal follow these steps:

  1. Enable the “Goal Panel” toggle. If you cannot find this button, see Goal Panel for reference.

  2. Click the name of the Goal which the user wants to rename.

  3. Erase the current name and type the new name.

Add Task to Goal

_images/ui_goal_tasks.png

Add Task to Goal

To add a Task to the end of a Mission:

  1. Click the “+” icon (beside the Gear icon) in the Goal 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 goal icons will be replaced accordingly depending on the task selected.

    • Dock UGV: ui_dock_task Will dock the UGV to begin charging the UGVs battery. See Autonomous Docking for more information on the autonomous docking feature.

    • Move PTZ: ui_camera_task Will move the PTZ camera to the position selected in the task settings.

      Settings: Select the camera position. See Pan-Tilt-Zoom (PTZ) View for details on how to save camera positions.

    • Save Image: ui_camera_task Will save an image using one of the UGV camera(s) to the /onav_log folder and can be retrieved using a tool such as Filezilla.

      Settings: Select which camera the image will be saved from.

    • Start/Stop Video Recording: ui_record_task Will start/stop recording video using one of the UGV camera(s) to the /onav_log folder and can be retrieved using a tool such as Filezilla.

      Settings: Select which camera the recording will come from.

    • Undock UGV: ui_undock_task Will undock the UGV from the autocharge dock. Once completed, the UGV can be sent on autonomous missions. It is often recommended to place the undock Goal first in the list; that way, the UGV will automatically continue towards its next Goal once undocked. See Section Autonomous Docking for more information on the autonomous docking feature.

    • Wait: ui_wait_task Will pause and wait for the specified number of seconds at the end of the Goal.

      Settings: Enter the amount of time to wait, in seconds.

  4. Click the Gear icon next to the selected Task to add the required Settings.

    Note

    If a goal has more than one task assigned to it, the goal icon will be replaced with ui_multi_task.

Advanced Settings

Goal Heading

When creating a Goal, the user has the option of setting a final heading for the Goal. For example, when creating a Goal to an inspection point, the user may want the UGV to navigate and stop facing a certain direction. In Goal Panel, the list of Goals can be seen and the advanced settings of each Goal can be accessed by clicking the “Gear” icon.

To set the Goal’s final heading, the user will need to check the “Final Heading Enabled” checkbox and enter the heading value in degrees. The heading indicator on the top bar can be used to help set this value. See the figure below showing the advanced settings.

_images/ui_adv_goal_settings.png

Goal Advanced Settings

The heading that has been entered will only be applied to the Goal Point (ie. the robot will only align itself with the correct heading at the end of the goal). If you need the robot to be at specific headings at some of the Goal’s Viapoints, the only way to do this is to split the longer Goal into smaller goals and apply your required headings as required.

Goal Tolerance

When creating a Goal, the user has the option of setting a specific tolerance for the Goal. By default, the Goal position and orientation tolerances are 0.3 meters and 180 °, respectively. If a specific Goal requires that the tolerances be either increased or decreased, these values can be modified in the advanced settings. For example, if you require that the position and/or orientation at a Goal be very accurate, let’s say 0.1 meters position and 5 ° orientation, or looser at 1.0 meter position, this can be done within these settings.

In Goal Panel, the list of goals can be seen and the advanced settings of each Goal can be accessed by clicking the “Gear” icon. To set the Goal’s tolerance, the user will need to check the “Goal Tolerance Enabled” checkbox and enter the position and orientation values, in meters and degrees, respectively.

Save Mission

The user can save the Mission (set of Goals) at any time while the UI is open in the web browser. When the user clicks the “Save” button (see Main Components) the Mission will be saved to the database of missions.

Mission Execution

Start Mission

At the bottom of the UI, the user has the ability to start the currently selected mission by clicking the “Play” button ui_start_button. When the mission has been started this button will turn green. Starting a mission consists of sending the currently enabled set of goals.

Pause Mission

At the bottom of the UI, the user has the ability to pause the currently running mission by clicking the “Pause” button ui_pause_button. When the mission has been paused this button will turn yellow. Pausing a mission allows the user to take time to look around with the camera or to teleoperate the UGV to a nearby location to perform an inspection. For ease of operation, the user must PAUSE the active mission if the user wants to teleoperate the UGV.

Cancel Mission/Task

At the bottom of the UI, the user has the ability to stop the currently running mission or task by clicking the “Stop” button ui_stop_button. When the mission/task has been cancelled this button will turn red. The name of the mission/task will be shown to be cancelled in the feedback bar.

Autonomous Docking

Docking The UGV

To dock the UGV autonomously, the user should follow these steps:

  • Enable the “Edit Mission” toggle.

  • Create a Goal whose Waypoints approach the dock from the front and whose Goal Point is within 10 meters of the dock.

  • Enable the Goals Panel toggle to view the list of Goals, rename this Goal to “Dock Goal” or something descriptive and add the “Dock UGV” task to the Goal that was just created.

  • Run the “Dock Goal” Goal.

See Section Goal Creation for details on how to create, rename and add tasks to a Goal.

Undocking The UGV

To undock the UGV autonomously, the user should follow these steps:

  • Enable the “Edit Mission” toggle. Select the “Waypoint Mode” button.

  • Select the Goal Waypoint icon on the bottom bar (yellow Waypoint button) to create a Goal Point at the current location of the UGV.

  • Enable the Goals Panel toggle to view the list of Goals, rename this Goal to “Undock Goal” or something descriptive and add the “Undock UGV” task to the Goal that was just created.

  • Run the “Undock Goal” Goal.

See Section Goal Creation for details on how to create, rename and add tasks to a Goal.

Recover from Failed (Un)Docking

If for any reason, the docking or undocking tasks fail, you can:

  • Manually drive the UGV towards the the dock target, aligning the charging unit with the receiver on the UGV.

  • Manually drive the UGV in reverse away from the dock target. It is suggested that you reverse roughly 2-3 meters away from the target, then wait 1-2 minutes before starting any autonomous navigation missions.