Home
User manual Links
Contents
1. Below is an example to get the current state of the robot NavigatorXmlInterface robot string state robot readXml lt getState gt std cout lt lt state lt lt std endl displays lt state value IDLE gt The navigation commands are described in XML format Simple commands are represented by self closing tags such as lt getState gt while others are represented by nested tags such as lt setJournet gt lt setjJourney gt and lt setMaps gt lt setMaps gt 3 Below is the list of the commands in XML format lt getState gt lt getMaps gt lt clearMaps gt lt resetMovement gt lt resume gt lt pause gt lt isAtLocation x 0 y 0 gt lt in mm gt lt isAtLocation x 0 0 y 0 thresh 30 gt lt in mm gt lt isAtMarker name name gt lt getLocation gt lt setMaps gt lt map name WS L4 19 x y z gt lt in mm gt lt markers gt lt marker name Hiro x y z size 96 angle 90 gt lt marker name Kanji x 152 y 31 z size 200 angle gt lt links between markers gt lt path between Hiro and Kanji gt lt map gt lt map name WS L4 XX x 10 y 2000 z 0 gt lt marker name 4x4_3 x y z size 194 angle 90 gt lt marker name 4x4_4 x 1981 y 1531 z size 194 angle 90 gt lt path between 4x4_3 and 4x4 4 gt lt map gt
2. lt setmaps gt lt gotoMarker name Hiro gt lt getNearestMarker gt lt gotoNearestMarker gt lt setJourney gt lt gotoMarker name Hiro gt lt gotoMarker name Kanji gt lt gotoNearestMarker gt lt setjourney gt lt locate timeout 10 gt lt in seconds optional gt lt additional features gt lt getName gt lt setName name name gt lt setMarkerDetectionThresh value gt lt in the rage 255 gt lt getMarkerDetectionThresh gt lt setMarkerDetectionThreshAuto value true false gt lt setVisionDebugMode value true false gt lt getVisionDebugMode gt lt setVelocity value 100 gt lt in mm s the rage 50 500 mm gt lt getVelocity gt lt getAngle gt lt turnCounterClockwise gt lt turnCounterClockwise value 45 gt lt turnClockwise gt lt turnClockwise value 45 gt lt moveForward gt lt moveForward value 40 gt lt distance in mm gt lt moveBackward gt lt moveBackWard value 4 gt lt distance in mm gt lt stop gt lt showAxes value true false gt lt setCameraShift x y z gt lt getCameraShift gt lt setCurrentMap name name gt lt setCurrentMarkerBasedCorrection value true false gt lt setNextMarkerBasedCorrection value true false gt lt setBlindPoseInterpolation value true false gt lt setAngleCorrectionThresh value 5
3. false gt lt output for Exceptions gt lt navException gt Description of the exception lt navException gt Adding a new marker Two options are available to add new markers e Adding a marker from a third party library compatible with ARToolkit e Adding a customized marker Adding a marker from a third party library compatible with ARToolkit In the directory PROJECT_DIRECTORY patternMaker examples ARToolKit_Patterns you will find pattern files readable by ARToolkKit These patterns are used by ARToolkKit to identify the markers and distinguish between them Let s consider that you want to add support to the marker represented by the pattern file 4x4_100 patt 1 First you will need to copy this pattern from PROJECT_DIRECTORY patternMaker examples ARToolKit_Patterns directory to PROJECT_DIRECTORY ARToolKit bin Data 2 Then you will have to edit the file PROJECT_DIRECTORY ARToolKit bin Data object_data_2 a Increment the number of markers line 2 b add the following lines at the end of the file 4x4_100 unique name of the marker to use in the marker maps Data 4x4_100 patt path to the pattern file 194 0 real size of the printed pattern in mm 0 0 0 0 coordinates of the center always set to 3 Then go to PROJECT_DIRECTORY patternMaker examples gif and print the file 4x4_384_100 gif The new marker is now recognisable by the software The last tasks to perform are the placing 7 of the
4. printed marker at a given position and orientation on the ceiling and the modification of the marker map accordingly Modifying the marker map XML description consists in adding a lt marker gt tag and as many lt path gt tags as there are links possible direct paths between the added marker and the existing ones The marker tag looks like below lt marker name 4x4_100 x 200 y 10 z size 194 angle 90 gt The name should be the same as in step 2 4x4_106 the coordinates in mm are relative to the map If we consider there are two direct paths between the added marker and two existing markers let us say marker X and Y the additional lt path gt tags should look like below lt path between 4x4_10 and X gt lt path between 4x4_10 and Y gt The whole XML description is summed up hereafter lt setMaps gt lt map name WS L4 19 x 0 y z gt lt coords size in mm angle in deg gt lt markers gt lt marker name X x y z size 96 angle 90 gt lt marker name Y x 1152 y 311 z size 200 angle 90 gt lt marker name 4x4_100 x 200 y 300 z size 194 angle 90 gt lt links between markers gt lt path between 4x4_10 and X gt lt path between 4x4_10 and Y gt lt map gt lt setMaps gt This XML description is to be provided to the XML interface of the navigation API whether as a string using st
5. the remote laptop cd PROJECT_DIRECTORY navigation gdb demo_v4 run A A A TF V Disabling video display You may want to run the navigation software whithout seeing the video stream of the camera To do so you will need to change a variable in the source code and recompile the demo Open the file PROJECT_DIRECTORY navigation navigation vision system bridge c and change at line 24 define DISPLAY 1 to define DISPLAY The recompile the demo make demo_v4 XML interface of the navigation API The navigation API accepts commands in XML Format The class in charge of handling the XML format is implemented in navigation api xml interface cc file The test file navigation api xml interface test cc provides an example of how to use the XML interface The XML interface exposes two methods e string readXml string xml e string readXmlFile string filename readXml1 takes as a parameter a string containing the command in XML whereas readXmlFile take as a parameter the path to an XML file containing the command Both of those two methods return a string in XML format when the supplied command has to return a result otherwise the returned string is empty The set of available commands and their XML format is given in the next section Navigation commands Each command is represented by a XML tags All the coordinates and dimensions are expressed in mm the angles are expressed in degrees and the XML interface is case sensitive
6. User manual Links The source code is available at http mytestbed net projects robot repository Compiling the demo The demo this document is alluding to is a command line demo using the XML interface of the developed navigation API The demo source code is in PROJECT_DIRECTORY navigation demo_v4 cc Before compiling the demo you must first compile the two libraries it relies on Libirobot create and ARToolKit Compiling libirobot create cd PROJECT_DIRECTORY 1libirobot create If first compilation autoreconf install configure make else make Compiling artoolkit cd PROJECT_DIRECTORY ARToolKit If first compilation Configure answer 3 y x86 n n make else make Compiling the demo cd PROJECT_DIRECTORY navigation make demo_v4 Running the demo Directly on the laptop connected to the robot First you need to connect the laptop to the robot and hit the robot s power button Then on the laptop do the following cd PROJECT_DIRECTORY navigation python pySerialOpen py needed once to open the serial port gdb demo_v4 run Using a SSH connection You can also run the software remotely from another PC As the software displays the video when running to disable this option see next section you will need to specify the display to be kept on the remote laptop ssh login laptop_ip the ip of the laptop connected to the robot export DISPLAY 0 set display on
7. gt lt in degree gt lt setAngleStraightThresh value 2 gt lt in degree gt lt getAngleCorrectionThresh gt lt getAngleStraightThresh gt lt output gt lt output for getMaps command gt lt map name WS L4 19 x y z gt lt marker name Hiro x y z size 96 angle 90 gt lt marker name Kanji x 1152 y 311 z size 200 angle 90 gt lt path between Kanji and Hiro gt lt map gt lt map name map2 x y z gt lt map gt lt map name map3 x y z gt lt map gt lt etc gt lt boolean output gt lt true gt lt false gt lt position output gt lt location x y z gt lt in mm gt lt output for getName gt lt name gt lt name gt lt output for getNearestMarker gt lt marker name name x 0 y 0 z 0 size 0 angle 0 gt lt output for getMarkerDetectionThresh gt lt markerDetectionThresh value 100 gt lt output for getVelocity gt lt velocity value 200 gt lt output for getAngle gt lt angle value 45 gt lt output for getAngleCorrectionThresh gt lt angleCorrectionThresh value 3 gt lt output for getAngleStraightThresh gt lt angleStraightThresh value 3 gt lt output for getVisionDebugMode gt lt visionDebugMode value true
8. ring readXml string xmlString method or as an XML file using string readXmlFile string pathToFile method Adding a customized marker In order to add your own customized marker you will need to train the software so that it can recognize it The training phase consist in showing the printed pattern to the camera while running a specific program provided by ARToolkit library This program will create a pattern file which holds the characteristics of the customized marker Once this pattern file is created the steps are the same as in the previous section Adding a marker from a third party library compatible with ARToolkit To know how to perform the marker training with ARToolkit please visit the following link http www hitl washington edu artoolkit documentation devmulti htm otherpatterns
Download Pdf Manuals
Related Search
Related Contents
ST60 User`s Manual Installationsanleitung, Bedienungsanleitung MultiBio 700 Installation Guide Manual - Northern Tool + Equipment Des paroles aux actes Guide des restaurants - Penser la question sociale en Europe a MS 12 mode d`emploi Doc UNIVERSAL SEAT HEATER INSTALLATION INSTRUCTIONS 1.0 INTRODUCTION - EngineeringEdu.org Copyright © All rights reserved.
Failed to retrieve file