Difference between revisions of "Hydra"

From Northern Lights Tactical Wiki
Jump to: navigation, search
(Added zone creation notes)
m (No-fly Zones)
Line 136: Line 136:
  
 
[[File:NoFly_Zone.png|640px]]
 
[[File:NoFly_Zone.png|640px]]
 +
 +
Zones can be convex as well as concave and must have a minimum of 3 vertices.<br />
 +
Zones cannot have holes or intersect itself.<br />
 +
 
 
 
=== Creating a no-fly zone ===
 
=== Creating a no-fly zone ===

Revision as of 03:50, 12 June 2017

Contents

Introduction

File:UI Overview.png
Main User Interface Window

Components of a mission

Tool Maps.png
The map

The map is the birds-eye view of the operational arena in which the robot is operating. → Usage

Tool Marker.png
Markers

Markers are graphic indicators for locations of interest.
These include home locations of robots and the antenna location of the base station. → Usage

Tool Route.png
Routes

Routes are paths used by the robot to travel from waypoint to waypoint. → Usage

Tool Script.png
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

Tool Zone.png
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

Tool Ruler.png
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

Accessing a tool’s related sub-tools

Drawing element visibility

Special Tool Functions

Creating a simulator

Creating a script

Map modification Tools

Map parameter editing

Robot shifting

Map shifting

Markers

Marker View.png

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 Marker Pin.png in the arena view and selecting a marker will show its name.
A special marker indicated by Marker Home.png shows the location of the home position of a robot.
The optional GPS antenna location is shown with this Marker Base.png graphic indication.

Creating a marker

To add a marker, select the create marker icon Tool Marker.png 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 Tool Marker Edit.png in the tool palette.
Click on the marker and move it to a new location.

Renaming

Marker's name can be renamed by selecting the name in the element view to the right of the map view.

Removing

To delete a marker, click on the marker's delete button in the element list view.

Optional Base Station Marker

To indicate the base station's GPS antenna location, use the GPS icon Tool Marker Base.png from the maker tool palette. Only one antenna location is allowed.
Click on the map to create it, or click on the existing marker to move it.

Rulers

Ruler Selected.png

Creating a ruler

Click on the ruler icon Tool Ruler.png 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 Tool Ruler Edit.png 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.

Renaming

A ruler's can be renamed by selecting the name in the element list view to the right of the map view.

Removing

Click on the ruler's delete button in the element list view to the right of the map view.

No-fly Zones

NoFly Zone.png

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.
Zones can be convex as well as concave and must have a minimum of 3 vertices.
It cannot have holes.

Tool Zone Rect.png creates a zone aligned along north-south and east-west.
Tool Zone Rect 3Point.png creates a rectangle using the third point to rotate it to an arbitrary direction.
Tool Zone Circle 2Point.png creates a circular zone anchored at the first point and using the second point to specify the diameter.
Tool Zone Circle 3Point.png creates a circular zone using 3 points.
Tool Zone.png Create 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

Editing a no-fly zone

Renaming

Removing

Routes

Elements of a route

Waypoints

Legs

Creating a route

Route options

Closed Loop

Smooth Path

Visual Aids

Route Length

Confidence

Sharp turn indication

Editing route elements

Inserting waypoints

Translating a route

Duplicating a route

Additional information

Renaming

Deleting

Locking

Fixing

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 >
< float > is the version number.
waypoint This command specifies a named waypoint.

Waypoints are destinations on the map as latitude, longitude.

waypoint < name > at < longitude >,< latitude >
< name > is the a string without a space naming the waypoint
< longitude > is a floating point number
< latitude > is a floating point number
stop Stop the robot with optional time until next command is executed. stop
Stop and execute next command.

stop for < time > seconds

< time > is a floating point value in 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 >
< angle > is a floating point value in degrees added to the current orientation.
< time > is a floating point value in seconds.
Positive angle turn clockwise, while negative angle turns counter-clockwise.

turn to waypoint < name > for < float > seconds

< name > is a waypoint that the robot turns until it points to it.
< time > is a floating point value in seconds.
The robot will use smallest angle to accomplish this task.
move Drive the robot at the specified speed towards its destination move at < speed > m/s for < time > s
< speed > is the speed in meters per second .
< time > is a floating point value in seconds.
Drive the robot in straight line along its current orientation.

move to waypoint < name > at < speed > m/s

< name > is the name of the waypoint
< speed > is the speed in meters per second.
Drive the robot towards the waypoint at speed.

move to location < longitude >, < latitude > at < speed > m/s

< longitude > is a floating point number
< latitude > is a floating point number
< speed > is the speed in meters per second.
Drive the robot towards the location at speed.

move to < name > at < speed > m/s

< name > is the name of the waypoint.
< speed > is the speed in meters per second.
Equivalent to move to waypoint.

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.

Script Creator.png

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 Script Action Edit.png to edit the script in the editor. The editor pane is divided into three parts.

Script Editor.png

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 Script Editor Check.png 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 Script Editor Exit.png.

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 Script Action Timing.png of the script element.

Time Graph.png

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.

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

Equipment Settings

Setting up the wifi network

Connecting via ethernet

  1. Plug in ethernet cable
  2. Set PC to manual IP address 192.168.0.51 mask 255.255.255.0
  3. Open browser to 192.168.0.50
  4. Go to Dashboard. Click Stop wlan0.
  5. Click Refresh. Make sure that it says “Interface is down”
  6. Go to System. Click Restart Robot.
  7. Launch Mission Planner.
  8. Perform firmware upgrade.
  9. Verify that new firmware is running.
  10. Quit Mission Planner
  11. Open browser to 192.168.0.50
  12. Go to Dashboard. Click Start wlan0.
  13. Disconnect ethernet cable.
  14. Open browser to robot name e.g. Hydra-170401-1.local
  15. Go to System. Click Restart Robot.
  16. Launch Mission Planner.
  17. Verify connectivity.