Simulator SDK package

Requirements

  • naoqi-sdk >= 1.14
  • gcc > 4.4 or Visual Studio > 9 (2008)
  • cmake 2.8 (2.8.3 minimum on windows)

Package content

Libraries

lib/ALRobotModel a C++ lib which describes all the Aldebaran-Robotics models (geometry, kinematics, dynamics, sensors and actuators).
lib/ALNAOsim a C++ lib which enables to link the sensors / actuators to NAOqi (via the Hardware Abstraction Layer).
lib/ALSimUtils a C++ lib which launches automatically one naoqi per robot.

For further information, see: Simulator-SDK reference

Data and examples

share/alrobotmodel/meshes OGRE 3D format meshes.
share/alrobotmodel/meshes-src Blender format meshes.
examples/dummysim a small example which shows how to use those lib.
examples/robot_description a tool which generates the description of all the Aldebaran-Robotics model in text or URDF format.

How to build dummysim

Step Action

From the root of simulator-sdk, move to examples/dummysim/

cd examples/dummysim/

Create a build directory, and move into it

mkdir build && cd build

Configure the build with cmake

cmake -DCMAKE_TOOLCHAIN_FILE=../../../toolchain-pc.cmake ..

Compile

make

Execution of dummysim.

Do not forget to uncomment the dcm_hal in the file etc/naoqi/autoload.ini in the naoqi-sdk. Next, at the root of simulator-sdk:

on Linux:

bin/dummysim share/alrobotmodel/models/ROMEO.xml <naoqi_port> <naoqi_sdk>

on Mac:

DYLD_LIBRARY_PATH=lib bin/dummysim share/alrobotmodel/models/ROMEO.xml <naoqi_port> <naoqi_sdk>

on Windows:

launch bin/dummysim share/alrobotmodel/models/ROMEO.xml <naoqi_port> <naoqi_sdk>

Where:

<naoqi_port> is the port on which NAOqi will be launched and

<naoqi_sdk> is the sdk from which NAOqi will be launched.

Check that everything works fine:

  • Connect Choregraphe to 127.0.0.1:<naoqi_port>

    The Robot View shows a ROMEO robot

  • Click on the green button: Stiffen all joints on/off in Choregraphe.

    If you move one joint, the robot shall move with a small delay. (the dummysim period is 1 sec!)

Various remarks

Multi-robot

You can instantiate several robots on the same computer by defining a port for each.

Units

Everything is in the Standard International.

Video

In its current implementation, the video does not work without NAOqi running.

How to generate URDF model and visualize it in rviz

Use robot_description to generate urdf:

Step Action
Install ros and rviz (see http://www.ros.org/wiki/)
Compile and use robot_description to generate the urdf file of the model you need.

Launch:

./robot_description --model-file .../simulator-sdk/models/...xml --urdf --mesh-path .../simulator-sdk/meshes/ > aldebaran_model.xml

Visualize it with rviz (for more information, see http://www.ros.org/wiki/rviz):

rosrun urdf check_urdf aldebaran_model.xml

roslaunch urdf_tutorial display.launch model:=aldebaran_model.xml