RoboDaemon 11 Documentation



Basic Commands

 

 

%

Comment symbol. Anything which is typed after this symbol is ignored by the command interpreter.

 

clear

Used to clear the display of the interface. The argument can be any one of the following :

 

create

Command used to create a robot. This command takes three arguments. The first argument is the type of robot which is to be created (e.g. Nomad, Nomad_Simulator, RWI, RWI_Simulator, Cyber, Cyber_Simulator, Point). The second argument is the name associated with the robot. If more than one robot is run at once, then the names are used to differentiate between the different robots. The final argument is the number of robots to be created, by default this value is set to one.

 

destroy

Remove an existing robot from RoboDaemon.
usage: destroy [<Robot_Name>]

 

echo

Type 'echo' followed by a string to get the string echoed back on the command line.

 

estop

The emergency stop. In real time mode, this command should stop the robot immediately. I was unable to achieve this effect from the shell w/ the simulator. Perhaps it works for the real robot- perhaps not ;-) Once an estop command is issued, the robot will not repond to motion commands without first receiving an "estop release" command.

Usage:
"estop" 'Pushes' the emergency stop button.
"estop release" releases the emergency stop button.

 

help

Type 'help' followed by the name of a command you want help on. You will get help text displayed.

 

hwstatus

Prints the robot hardware status. An example of thiscommand run on the Nomad prints:

Nomad CPU voltage : 11.576 (volts)
Nomad motor voltage : 10.250 (volts)
Nomad sonars are off
Nomad infrareds are off

 

infrared

Obtain an infrared reading from the robot. This command only works for the nomad (not the nomad simulator). The result is a data list similar in representation to sonar data. Be warned that I managed to crash daemon using this command.

Usage:
"infrared" returns a list of infrared points, in (x,y,r,theta) notation.
"infrared absolute" also returns a list of inrared points- in absolute coords (x,y,x,y).

 

limp

Set robot motors to neutral.
usage: limp [all | rotation | translation]

 

list

Prints the list of all active robots.

 

load

The 'load' command works together with the 'save' command and the SaveFileName internal variable to load/save .gml file between separate robodeamon invocations or when thought appropriate. When you type 'load' a previously saved .gml file in a default file name defined by the SaveFileName variable will be loaded in robodeamon and the data in the .gml file will become accessible to robodeamon. .gml files typically contain geometrical data like walls, sonar points, robot position etc.

 

move

Moves a robot by <x> and <y> (where <x> and <y> are integers). By default the move is an absolute move relative to the internal representation of the (x,y,theta) = (0,0,0) position. The 'relative' option allows the robot to do a relative move with respect to the robot's current position. When path planning is implemented, 3 additional options are available. The 'blind' option tells the robot to move to a position without checking for obstacles in its path. The 'stopshoot' option tells the robot to check for obstacles at every (predetermined) incremental step. The 'contcheck' option tells the robot to continually check for obstacles along it's path.

 

note

Note can be used to place an enumerated text string at location $(x,y)$ in robodaemon coordinates on the GML map. The text string can be anything, text strings consisting of a single word do not need to be quoted. Each text string is enumerated, and the assigned number becomes the strings identification.

A particular string can be removed from the map by using the ``clear'' switch together with the unigue ID number. Eg. ``note clear 3'' -- will remove the 3rd note posted to the map. All notes can be removed from the map with the ``note clear'' command given no ID number, and the enumeration will start anew from 1.

usage:
'note <x> <y> "<string>"' adds a note
'note clear <id>' removes note with number <id>
'note clear' removes all notes

note: stings with more than 1 token must be surrounded by quotes

 

quit

The quit command closes robodeamon (the RD10 application) and all connectiones opened while in it.

 

robot

Chose a robot as the currently selected one.
usage: robot [<Robot_Name>]

 

save

Save the current visible robodaemon map to file. The map is saved in GML file format, and includes any visible walls, paths, scanlines, robots and notes.
The file that is saved to defaults to a temporary rebodaemon file. Calling ``save'' with an argument will use that argument instead of the default file name. Once ``save'' has been called with an argument, any consecutive call to save will use the previous file name instead of the default.

The file name can be ``set'' by the user, using the ``set saveFileName'' command. See ``set'' for more details. Unless otherwise specified files are saved relative to the current directory (where RD10 was executed from).

usage:
'save <filename.gml>' saves to ./filename.gml
'save' saves to default or previous saveFileName

 

set

Set a value to a RoboDaemon variable.
usage: set [<var> <parameter>]

 

sonar

Sonar causes the current Robot to initiate a complete sonar scan. Data will be saved in the global sonar array, and may be reflected on the map (see ``TraceRays''.) The results of the sonar scan can be shown on the console with the optional argument ``print''.

usage:
'sonar' performs a sonar scan with current robot
'sonar print' performs a scan and the resulting sonar array is echoed to the screen. (Format (x, y, \theta, distance)

 

translate

Translate is used to make the current robot move in a straight line, forward or backward in the case of a negative distance. Alternatively the argument ``atspeed'' sets the robot in motion at a given velocity (cm/sec). The argument ``limp'' releases the wheel motors for manual repositioning of the robot.

The accepted formats are:

 

turret

Rotate only the turret for a real Nomad.
usage: turret [<angle> | absolute <angle>| relative <angle> | atspeed <speed>| stop| wait <timeout>]
Units: angle: degrees, speed: degrees/second, timeout: seconds

 

wait

Wait will wait for ``timeout'' seconds for the specified robot motor to stop working and if it is still in operation after ``timeout'' seconds, then will return a ``timeout error''.

Waits one or many of the robot's motors.

The valid formats are:

 



MRL Group, CIM, McGill University