This is an old revision of the document!


Navigation strategy with pepper

run in different terminals the following commands or use “command &”:

roscore

to connect Pepper to ROS (the parameter network_interface needs to be changed according to the network interface with which you connect to the robot Pepper, ie wireless or wired, to check with ifconfig):

cd /opt/ros/kinetic/share/naoqi_driver/launch/
roslaunch naoqi_driver.launch nao_ip:=10.77.3.19 network_interface:=wlp2s0

To apply the calibration parameters of the 3D camera :

source /home/user/catkin_ws/devel/setup.bash 
roslaunch extrinsic_calibration register_depth.launch

You can check with rosrun rviz rviz : add a PointCloud2 on topic /naoqi_driver/camera/depth_registered/points and in Global Options > Fixed Frame : odom.

To convert a 3D Point Cloud (from topic /naoqi_driver/camera/depth_registered/points) into a 2D laser scan :

cd /opt/ros/kinetic/share/pointcloud_to_laserscan/launch
roslaunch sample_node.launch 

You can check with rosrun rviz rviz : add a LaserScan on topic /camera/scan and in Global Options > Fixed Frame : odom.

To start navigation (ie packages AMCL for localisation and move_base for planification) :

cd /home/user/catkin_ws/src/pepper_plymouth_ros/launch/
source /opt/ros/kinetic/setup.bash
roslaunch nav.launch

Then, run the user interface (to give goal points) in another terminal:

cd /home/user/Bureau/khalil\ serrakh/Khalil\ SERRAKH/Logiciels/peppermajordome/scripts/
python navigation.py

Pepper shows on its screen a map of the apartment and asks “ou veux-tu que j'aille?”. The locations defined are : la cuisine, le salon, la salle à manger, l'entrée de la maison, reviens à ta place. These locations can be changed in file navigation.py in function init

  1. Install ros kinetic with command sudo apt-get install ros-kinetic-desktop-full. The details can be read here : http://wiki.ros.org/kinetic/Installation/Ubuntu. You will have created a catkin workspace CATKIN_WS (for instance ~/catkin_ws)
  2. For the map. Run:
    sudo apt-get install ros-kinetic-octomap
    sudo apt-get install ros-kinetic-map-server
  3. For the localisation. Run:
    sudo apt-get install ros-kinetic-amcl
    sudo apt-get install ros-kinetic-humanoid-localization

In order to perform an extrinsic calibration of RGB and Depth cameras of Pepper robot, you can use either our https://github.com/ros-naoqi/extrinsic_calibration package or follow the ROS tutorial (http://wiki.ros.org/openni_launch/Tutorials/ExtrinsicCalibration).

roslaunch extrinsic_calibration register_depth.launch
    1. download from aldebaran the Python SDK the compressed file pynaoqi-python2.7-2.5.5.5-linux64 and install according to the instructions http://doc.aldebaran.com/2-5/dev/python/install_guide.html. In details :
    2. Set the environnement variable PYTHONPATH to /path/to/python-sdk/lib/python2.7/site-packages by doing for example:
      export PYTHONPATH=${PYTHONPATH}:/home/user/NaoPepper/pynaoqi-python2.7-2.5.5.5-linux64/lib/python2.7/site-packages 
    3. check the installation with python
      import naoqi

      If no error message is written, the library is imported. Else read http://doc.aldebaran.com/2-5/dev/python/tips-and-tricks.html#python-sdk-troubleshooting.

    4. ROS packages for the Nao robot
      sudo apt-get install ros-kinetic-move-base-msgs ros-kinetic-octomap ros-kinectic-octomap-msgs ros-kinetic-humanoid-msgs ros-kinetic-humanoid-nav-msgs ros-kinetic-camera-info-manager ros-kinetic-camera-info-manager-py
      sudo apt-get install ros-kinetic-nao-robot 
    5. For Pepper, refer to http://wiki.ros.org/pepper

NOTE sudo apt-get install ros-driver-base did not work. Package driver-base is deprecated and is not compatible with ros kinetic

  • How to check the connection with pepper?
ping pepper.local
ping 10.77.3.19

Humain Robot interaction

run x3d server :

cd /home/user/Bureau/khalil serrakh/Khalil SERRAKH/Test/Dialogue Homme Machine/Serveur IP clВ XXD
java -jar deltadore.xxd.ipgateway.jar 54321 /dev/ttyUSB0

to display local images on the touch screen :

cd /home/user/Bureau/khalil\ serrakh/Khalil\ SERRAKH/Logiciels/peppermajordome/scripts/
python serveurhttp.py 

and open a browser and go directly to

http://0.0.0.0:9999

to open the web streaming on the tablet, run in different terminals the following commands or use “command &”

roscore
cd /opt/ros/kinetic/share/naoqi_driver/launch/
roslaunch naoqi_driver.launch nao_ip:=10.77.3.19 network_interface:=wlp2s0
rosrun web_video_server web_video_server

run in terminal:

cd /home/user/Bureau/khalil\ serrakh/Khalil\ SERRAKH/Logiciels/peppermajordome/scripts/
python modele_interaction.py

The robot Pepper waits for us to say “Bonjour” or tries to detect a person next to him at a distance < 1m. Then the robot guides the person on the possible interactions.

Control robot by using keyboard

Generic keyboard teleop for twist robots.

sudo apt-get install ros-kinetic-teleop-twist-keyboard

rosrun teleop_twist_keyboard teleop_twist_keyboard.py

See the on-screen instructions: Reading from the keyboard and Publishing to Twist!


Moving around:

 u    i    o
 j    k    l
 m    ,    .

q/z : increase/decrease max speeds by 10% w/x : increase/decrease only linear speed by 10% e/c : increase/decrease only angular speed by 10% anything else : stop

CTRL-C to quit

  • user/kserrakh.1530175313.txt.gz
  • Last modified: 2019/04/25 14:08
  • (external edit)