Hydra
Contents
- 1 Introduction
- 2 Components of a mission
- 3 Creating a new mission
- 4 About the Tool Pallet
- 5 Map modification Tools
- 6 Markers
- 7 Rulers
- 8 No-fly Zones
- 9 Routes
- 10 Scripts
- 11 Simulators
- 12 Robot & Simulator Operation
- 13 Robot telemetry
- 14 Scenario Operation
- 15 Mission Planner Settings
- 16 Equipment Settings
- 17 Setting up the wifi network
Introduction
The System
Hydra Mission Planner is a software/hardware suite to allow your targeting robots to execute controlled complex motions over time, repeatedly.
It is designed to be simple to use without expert knowledge of navigation and robotics.
The only prerequisite is to make sure your range is covered be a WIFI signal that Hydra is going to use to communicate with the robot hardware → WIFI Setup .
Once you have WIFI, you can start Hydra Mission Planner and establish your range map by either using your address or longitude and latitude of your location.
The longitude and latitude can easily be gotten by using a map application such as Google, Bing, or Apple Maps.
The Mission Planner map will be cached once it has been downloaded from the web and no further internet connection is needed.
You can plan your missions by creating → Routes and → Scripts offline and then test them with → Simulations.
Later on the field, you can establish contact with the actual robot and assign the mission route or script at that time.
Once the mission is assigned and saved it stays with that robot until a new mission is created and assigned.
Geodesic Location
A geodesic location is a specific point on the earth's surface and is at the heart of the mission planner.
A location on a sphere (like the earth) are expressed as two angles:
- First, the latitude starts from the equator (0 degree) and ends up at a pole (90 degrees).
- In order to distinguish which pole, the north pole is a positive angle and the south pole is a negative angle.
- Second, the longitude starts at the Prime Meridian (0 degree at Greenwich, UK) and wraps to 180 degrees around the international time line.
- Here, again the direction west or east is indicated by the sign of the number where negative is west and positive goes east.
Global Position System
Hydra Mission Planner uses GPS (Global Position System) to locate the robot's position on your range.
Due to various factors such as satellite coverage, atmosphere, and hardware limitations you can expect, on the average,
an accuracy of 1 meter (3.2 feet) of your actual robot's location. When planning mission, please keep this in mind and
allow ample space between obstacles for your robots to move freely even when the GPS coverage is less then ideal.
The user interface does provide you helpful graphical information to show you if you might run into an obstacle
and you can check the state Global Position System by attaching a GPS unit to the base station. → How To
User Interface
1 Arena View
This is the main viewing area of the user interface.
The operational arena and surrounding area are shown as background.
On top of that graphic, all elements of the mission are superimposed.
These include no-fly zones, routes, scripts, rulers, markers, and current location of robots as icons.
Additional there are controls on top to help you navigate.
- Click to zoom into the map.
- Click to zoom out of the map.
- Click to reset the map to the midpoint of the map.
For trackpads, the computer's gestures to swipe move and pinch zoom the map can be used as well.
2 Tool Palette
This dockable strip of icons allows a tool to be selected. → Usage
3 Element List
This resizable area shows the list of elements that the selected tool represents.
Selecting the route tool, for instance, displays all routes of the mission in this list.
4 Global Controls
The controls in this area start/stop the mission .
5 Time Line
This shows the global timing of the mission as well as the timing of the currently editable script.
6 Popup View
Popup view displays scripts editors or robot telemetry based on which tool is active and the element selected.
7 Viewbar
The view controls what page is currently being displayed:
- Arena show the Arena View as well as undo/redo/save controls and the current time.
- Missions shows the mission creation/management page
- Settings displays the global settings of Hydra Mission Planner.
- Equipment display the current and archived equipment (robot) list and their configuration.
- About display the About information.
8 Arena Information Bar
This line show the current location and altitude at the mouse position as it hovers over the Arena View's map.
It also resets communication channels and activates the broadcast that automatically connects all robots in range.
Components of a mission
The map
The map is the birds-eye view of the operational arena in which the robot is operating. → Usage
Markers
Markers are graphic indicators for locations of interest.
These include home locations of robots and the antenna location of the base station. → Usage
Routes
Routes are paths used by the robot to travel from waypoint to waypoint. → Usage
Scripts
One of the more powerful features of planning a mission is using a script to describe a unique motion per robot.
While routes give you basic motion from A to B with a specific speed, script allows you to stop, turn,
and vary the speed from waypoint to waypoint based on timing. → Usage
No-fly zones
No-fly zones are areas where the robot are not allowed to travel to or through.
These include obstructions such as buildings and difficult terrains to traverse.→ Usage
Rulers
This feature allows you to measure distances and orientation angle relative to true north. → Usage
About Mission files
Creating a new mission
From Lat/Long
Address lookup
From a GPS unit
About the Tool Pallet
Tool tips
Drawing element visibility
Special Tool Functions
Creating a simulator
Creating a script
Map modification Tools
Map parameter editing
Robot shifting
Map shifting
Markers
Markers are used to indicate points of interest in the arena.
They also indicate special locations such as the base station's GPS antenna and home location for a robot to return to.
Markers are indicated by in the arena view and selecting a marker will show its name.
A special marker indicated by shows the location of the home position of a robot.
The optional GPS antenna location is shown with this graphic indication.
Creating a marker
To add a marker, select the create marker icon in the tool palette.
Click on the arena map to place the new marker. The bottom tip will be the exact location.
Editing a marker
To move a marker, select the edit marker icon in the tool palette.
Click on the marker and move it to a new location.
Optional Base Station Marker
To indicate the base station's GPS antenna location, use the GPS icon from the
maker tool palette.
Click on the map to create it, or click on the existing marker to move it.
NOTE: Only one antenna location is allowed.
Management
The markers location can be modified here in the element list.
"Lat" refers to the latitude while "Lon" indicates the longitude of the marker's location.
Renaming
Marker's name can be renamed by selecting the name and editing it.
Removing
To delete a marker, click on the delete icon .
Visibility
Click on the check box to the left of the name to show or hide the marker in the map view.
Locking
Click on the icon to lock or to unlock the marker from being modified.
Rulers
Creating a ruler
Click on the ruler icon to add a new distance ruler to the map.
In the arena view, click on the starting point of the measurement and drag the destination point.
The distance and orientation will be displayed in real time while the ruler is created.
Once the ruler is added, it will display its length in a fine print when unselected.
When selected, both distance and orientation are displayed.
Editing a ruler
Click on the ruler edit icon to edit an existing ruler.
Click on either end to reposition it, or click on the line connection the two ends to move the whole ruler.
Management
Renaming
A ruler can be renamed by selecting the name in the element list view to the right of the map view.
Removing
Visibility
Click on the check box to the left of the name to show or hide the ruler in the map view.
Locking
Click on the icon to lock or to unlock the ruler from being modified.
No-fly Zones
Zones can be convex as well as concave and must have a minimum of 3 vertices .
Zones cannot have holes or intersect itself.
Creating a No-fly zone
Creating a no-fly zone can be done with a variety of shape tools.
Selecting the zone tool:
creates a zone aligned along north-south and east-west.
creates a rectangle using the third point to rotate it to an arbitrary direction.
creates a circular zone anchored at the first point and using the second point to specify the diameter.
creates a circular zone using 3 points.
creates a free-form zone with as many points as necessary to fit the area.
The first click establishes the first vertex.
While dragging around the mouse for the second click, the potential side of the zone is displayed in real time before setting down the next vertex.
Each subsequent click will add another vertex until the first vertex is clicked, closing the zone and terminating the current zone creation.
At any time, the user may hit the return key to automatically close the zone and terminate the operation.
Hitting the delete/backspace key while in zone creation will remove the last vertex.
Arena Boundary Zone
The arena boundary serves as the outermost area of allowable robot movement usually restricted to the training ground.
NOTE: Only one arena boundary is allowed.
An arena boundary is created using this free-form tool
Editing a No-fly zone or Arena boundary zone
Existing no-fly zone can be edited using these:
allows vertices to be moved and removed.
- Select a vertex by clicking on it or
- Select a side to select its end vertices.
- Hitting delete/backspace removes the selected vertices.
moves the whole zone to a new location.
Management
Renaming
The zone's name can be changed by selecting the name and editing it.
Removing
To delete a zone, click on the delete icon .
Visibility
Click on the check box to the left of the name to show or hide the zone in the map view.
Locking
Click on the icon to lock or to unlock the zone from being modified.
Routes
Routes are the named pathways that are used by robots to drive along.
They also are the basis for creating scripts governing the robots behavior and movement.
Elements of a route
Waypoints
A waypoint is a location where the route either begins, ends, or changes direction.
The first waypoint is the starting position. This is indicated by a square enclosing the location in the map view .
The last waypoint is the destination position. This is indicated by a triangle enclosing the location on the map view .
Waypoints in between are indicated by circle enclosing the location on the map view .
Legs
A leg is the connecting path between two waypoints.
An arrow on the leg midway between the two waypoints indicate the travel direction from the starting to the destination waypoint.
The number in small type at the midway of the leg is the leg's length in meters.
Confidence
The robot's accuracy in following the route may vary depending on GPS accuracy and terrain condition.
An area superimposed on the route with an adjustable width is shown to indicate worst case offset of the robot from the route.
This allows the operator to adjust the route around potential obstacles.
Looping
When a route is looped, the connecting leg between the starting and destination point is indicated by a dashed line.
Violations
Routes that start, end, or cross a no-fly zone or area boundary are indicated in red.
No-fly zones, and arena boundaries are used to indicate obstacles and dangerous areas where the robot is not allowed to roam.
Creating a route
Click on the Route Tool to activate the route tool.
The first click creates the starting waypoint of the route with every subsequent click adding more waypoint.
After the destination (last) waypoint has been creating, hitting the "Enter" will terminate the route creation and
allow for the next route to be created.
Hitting the delete or backspace key will remove the last waypoint created while creating the route.
It is possible to void the route by deleting the last waypoint until the starting waypoint is deleted as well.
While creating the route, an invalid path that crosses a No-fly zone will be be indicated by a color change to red.
When this happens you will also see a dashed line appear that will lead around the No-fly zone.
This is the shortest route around the obstacle and is computed automatically.
At this point, setting down a new waypoint at the mouse location will create a route using this automatically computed section.
It is entirely possible to create a route that will avoid many No-fly zones by simply creating the starting and destination waypoint only.
Route options
Closed Loop
Smooth Path
Editing route elements
Inserting waypoints
Translating a route
Duplicating a route
Management
Renaming
The zone's name can be changed by selecting the name and editing it.
Removing
To delete a zone, click on the delete icon .
Visibility
Click on the check box to the left of the name to show or hide the zone in the map view.
Locking
Click on the icon to lock or to unlock the zone from being modified.
Additional Controls
Click the check box next to "Closed Loop" to indicate a closed route with a leg connection the starting location and destination waypoint.
Click the check box next to "Smooth Path" for curved or straight legs between waypoints.
Click the check box next to "Confidence" to superimpose the confidence area of the route.
- The radius of confidence can be changed by editing the value. The confidence radius is in meters.
Scripts
A typical script is structured like this:
# Automatic script for path "Route G" # NOTE: All scripts require a version version 1.0 # # Path Specification # waypoint WP_1 at 34.1043337, -117.7239717 waypoint WP_2 at 34.1043255, -117.7237885 waypoint WP_3 at 34.1041385, -117.7237898 waypoint WP_5 at 34.1041590, -117.7238949 waypoint WP_4 at 34.1042097, -117.7239816 # # Move to home position of path # move to waypoint WP_1 at 2.00 m/s # # Stop and turn to face first waypoint # stop turn to waypoint WP_2 for 2.0 seconds # # Start mission on path # move to waypoint WP_2 at 2.00 m/s stop turn to waypoint WP_3 for 2.0 seconds move to waypoint WP_3 at 2.00 m/s stop turn to waypoint WP_5 for 2.0 seconds move to waypoint WP_5 at 2.00 m/s move to waypoint WP_4 at 1.00 m/s move to waypoint WP_1 at 2.00 m/s # # Halt mission at last waypoint # halt
A script consists of both executable and non-executable lines.
Non-executable lines are either comments that you can use to document or empty lines.
A comment line always starts with # (pound sign) followed by an optional line of text.
Empty lines are typically used for formatting purposes to easier read the script.
Executable lines have a single command with options that perform some kind of action.
Only one command per line is allowed.
Every command is terminated by a carriage return.
Command Set
Command | Description | Usage |
---|---|---|
version | This is required as the first executable.
It indicates the version of the script for proper execution. |
version < float >
|
waypoint | This command specifies a named waypoint.
Waypoints are destinations on the map as latitude, longitude. |
waypoint < name > at < longitude >,< latitude >
|
stop | Stop the robot with optional time until next command is executed. | stop
stop for < time > seconds
|
halt | Stop the robot and terminate the script. | |
turn | Turn the robot by either an angle or towards a waypoint. | turn < angle > for < time > seconds >
turn to waypoint < name > for < float > seconds
|
move | Drive the robot at the specified speed towards its destination | move at < speed > m/s for < time > s
move to waypoint < name > at < speed > m/s
move to location < longitude >, < latitude > at < speed > m/s
move to < name > at < speed > m/s
|
Creating a Script
Scripts are created by double clicking the script tool.
You will be asked to specify an existing route or a blank script.
If no route is specified, a simple blank script is created without any commands.
If a route is specified, a fully functional script with the route's waypoints and appropriate commands to traverse the route.
This is the easiest way to create functional script.
Once the creation dialog is dismissed, the new script will appear in the script list.
You may change the name of the script in the script list by simply clicking on the name and editing it.
Editing a Script
Click on the edit icon to edit the script in the editor. The editor pane is divided into three parts.
The top line indicates the name of the script and shows the syntax check and close button.
The bottom line shows important messages.
Finally the middle part is the editor itself displaying the script for modification.
Each line of the script is numbered to the left of the script text.
This is useful in fixing syntax errors.
The editor uses color to tag correct syntax.
Any text that is gray indicates either a syntax error or optional words not necessary for the execution.
Cyan (bluish) lines are comments.
Purple words are commands and required keywords.
Yellow are numbers.
Click the check mark on the top line to verify the syntax of the script.
if the script is correct, the message "Script OK" will appear in the message line.
if the syntax is not correct, the message will indicate the line number and syntax problem followed by "Script Error" below.
To close the editor, click the close button .
Waypoints locations may be edited using the editor or, better yet, graphically on the map.
Each script is shown as a blue route.
Clicking on the waypoint of a script route and moving it will modify the script to record the new waypoint location.
The script is then automatically saved.
Timing Graph
Timing are edited using the timeline editor on the bottom of the main interface.
To show the timing graph, click on the timing edit icon  of the script element.
The timing graph shows the script's timeline in a graphical way.
The horizontal dimension shows the time starting at zero while the vertical dimension represents the speed in meters per second.
The yellow line represents the speed of the robot in time.
The blue areas shows motion along waypoints at speed indicated by the yellow graph.
The green areas are rest time intervals where the robot is either stopping or turning.
The gray lines separating the rest and motion time intervals can be selected and dragged horizontally to change the time interval of the prior area.
These changes will be indicated in the script and automatically saved.
While changing the time interval of a motion (blue) region, you will notice that the script will correspond by changing the speed.
Increasing the time interval will drop the speed (slow down).
Decreasing the time interval will raise the speed (speed up). This is due to basic physics. While the motion distance stays the same,
the robot has to travel faster if the time to traverse is less. Otherwise, it has to slow down when the time to reach the end of that section is increased.
The speed of the robot can be manipulated as well by selecting the speed graph (yellow line) and modified by moving up or down.
When changing the speed, you will notice that the time interval is modified as well.
Timing is adjusted as the speed is changed since the distance traveled stays the same.
Simulating a script
Simulating a script is the same as simulating a robot.
Startup a robot simulation and set the robot's mission to the script.
Execute the robot's mission.
Management
The number to the right of the script name is the overall time in seconds it takes to execute the script's operations.
From the element view a script can be edited by clicking on the edit icon . → Usage
Clicking on the timing icon , activates the scripts timing in the timeline view. → Usage
Renaming
The script's name can be changed by selecting the name and editing it.
Removing
To delete a script, click on the delete icon .
Visibility
Click on the check box to the left of the name to show or hide the script in the map view.
Locking
Click on the icon to lock or to unlock the script from being modified.
Simulators
Creating a simulator
Robot & Simulator Operation
Device Status Display
Device name
Mission assignment
Heartbeat indicator
Battery indicator
RF Link quality indicator
INS Status
Device Track Display
RF Signal Mode
GPS Mode
Assigning the mission
Operational Controls
Play/Pause
Stop
Playback direction
Repeat/Oscillate
Go to beginning
Go to end
Line Up
Go to Home
Manual
Robot telemetry
Master Alarm
Scenario Operation
Heading text
Joystick-controlled Playback Speed
Mission Planner Settings
Distance Units
Max Track Samples
Track sample spacing
Telemetry samples
Local GPS unit
A GPS unit can be attached to the base station computer to check the satellite configuration and quality of the signal.
Using a USB port, attach the GPS Unit and make sure it is powered up and the antenna has an unobstructed view of the sky.
In the Settings View, set the serial speed, data size, parity, and stop bits that your GPS device uses.
Consult the GPS's manufacturer and model for these settings.
Usually, consumer GPS devices have a serial speed of 9600 baud, 8 bits data, no parity, and 1 stop bits.
Pick the Serial port, labeled "Device".
If you don't know what to pick, just select "Scan...".
Hydra Mission Planner will scan the serial ports for standard NEMA messages to connect to the GPS device.
Once the Mission Planner is connected, the graphic below will show the satellite constellation and plot the accuracy
by measuring the position drift from the first sample.
The GPS graphic shows you the satellites that are currently in view and their signal strengths.
The top row is the list of satellites (numbered ID) at their signal strength as a bar
- No bar means lost or no signal
- The red portion is poor signal strength, although, given enough satellite is still enough to compute a position.
- Yellow is good signal strength.
- Green is excellent signal strength.
The spherical horizon show the view from your location above in the sky.
- The colored circles are the satellite and their position in the sky at your location.
- The cyan (blue-green) circles and trace is the location drift from the first acquired location signal.
- Dirft is both in distance and direction.
The plot blow the horizon indicates the drift plotted in time.
After a minute, the drift will reset itself and start its calculation from a newly acquired location.
Double clicking on the plot forces the calculation to restart.
Equipment Settings
Setting up the wifi network
Connecting via ethernet
- Plug in ethernet cable
- Set PC to manual IP address 192.168.0.51 mask 255.255.255.0
- Open browser to 192.168.0.50
- Go to Dashboard. Click Stop wlan0.
- Click Refresh. Make sure that it says “Interface is down”
- Go to System. Click Restart Robot.
- Launch Mission Planner.
- Perform firmware upgrade.
- Verify that new firmware is running.
- Quit Mission Planner
- Open browser to 192.168.0.50
- Go to Dashboard. Click Start wlan0.
- Disconnect ethernet cable.
- Open browser to robot name e.g. Hydra-170401-1.local
- Go to System. Click Restart Robot.
- Launch Mission Planner.
- Verify connectivity.