SmartSoft simulator demo

While the Basic demo with a Pioneer P3DX and Advanced demo with a Pioneer P3DX gives an overview in real-world scenarios, this demo describes how to run SmartSoft components with the simulator component.

Hint: this example is described step by step in the tutorials Lesson 1 for the VMware Installation. Tutorials

SmartSoft simulator component using player/stage

The SmartSoft simulator component uses the simulator belonging to player/stage.
It simulates the robot base, providing the odometry, receiving robot speed and
the laser range finder, providing laserscans.
The demo below describes how to drive to a commanded position. It is also possible to run other demos within the simulator, replacing the smartPioneerBaseServer and the smartLaserLMS200Server with the smartPlayerStageSimulator component.

Involved Components:

  • smartPlayerStageSimulator
  • smartMapperGridMap
  • smartPlannerBreadthFirstSearch
  • smartCdlServer
  • smartSpeechMaryOutputServer (if speech output is wanted)
  • smartRobotConsole

Run the demo:

  • Be sure that the Corba Naming Service is running and the NameServiceIOR environment-variable is set correctly! (see Installation - CORBA Naming Service)
  • If you want to use the speech output component be sure that the MARY server is running and the voices configured in the $SMART_ROOT/src/components/smartSpeechMaryOutputServer/smartSpeechMaryOutputServer.ini are installed correctly!
  • Now run player/stage and the components:
        # cd $SMART_ROOT
        # xterm -e player src/components/smartPlayerStageSimulator/player_stage/smart_hospital_small.cfg &
    
        # xterm -e bin/smartPlayerStageSimulator &
        # xterm -e bin/smartMapperGridMap &
        # xterm -e bin/smartPlannerBreadthFirstSearch &
        # xterm -e bin/smartCdlServer &
        (# xterm -e bin/smartSpeechMaryOutputServer &)
        # xterm -e bin/smartRobotConsole &
    

Configure and start the demo using the smartRobotConsole:

  • choose "99 - Demos" to get the list of the demos:
  • now choose "(2) Demo 2 Planner-CDL GOTO"
  • choose whether you want to use the speech output component: "Activate speech output? (y/n): "
  • now enter the goal coordinates measured in millimeter from the initial position (x:0 y:0) of the robot:
    (1000)(0) -> set the goal 1m ahead of the robot
  • the robot will move in the simulator to the entered position immediately
  • if the speech output is activated the robot will tell acoustically when the goal is reached
  • to move the robot to another goal choose "Enter Goal? (y/n): " y and enter the coordinates
  • the demo stops by entering "n" if you are asked whether you want to enter an goal.

Hints

  • To show the position of the robot select view --> position line; position text in stage
  • Stage is able to simulate uncertainties of the odometry. This mode is already set up in the .world file belonging to the .cfg file loaded with player. If the settings mentioned above are set, stage shows the position which the robot's odometry indicates. (also show in the status bar at the bottom when pointing at the robot)