Author: Cedric Le Bono
IMT Atlantique’s Pepper status. This readme covers the packages and code and that was installed and produced either for the Robocup@Home 2023 competition or experiment with ROS2.
On both pepper a gentoo OS was added on top of the existing OS in order to bypass the lack of root access and more easily install packages.
The gentoo OS is active by default and can be deactivated with:
$ exit
It can be activated again with:
$ /tmp/gentoo/startprefix
With the gentoo OS deactivated the robots’ behaviour is the same as Pepper’s default behaviour. While it is activated, Pepper has access to ROS1, python3.10 and several utility libraries like OpenCV.
If necessary, it can be reinstalled on Pepper with the following commands:
#Download and start the docker (~20 minutes) docker run -it neaum/pepper_os_ros2_humble_32b:latest #In another terminal docker scp DOCKER_SESSION_ID:/tmp/pepper_os.tar.lzma . scp pepper_os.tar.lzma nao@PEPPER_IP #Connect to Pepper and untar the archive cd ~/ && tar --lzma -xvf ./pepper_os.tar.lzma #Remove the archive. rm ./pepper_os.tar.lzma
ssh nao@PEPPER_IP #Start ROS2 humble (a function was added in the .bash_profile so it should be the default behaviour) source ~/ros2_humble/install/setup.sh #Source the packages with the naoqi_drivers source ~/catkin_ros2/install/setup.sh ros2 launch naoqi_driver naoqi_driver.launch.py nao_ip:=PEPPER_IP network_interface:=wlan0
The correct behaviour should look like this:
The topics can be viewed with:
ros2 topic list
At last, the camera topics can be viewed using rviz:
#From another on the same network as peppper export ROS_MASTER_URI=http://PEPPER_IP:11311 rviz2 rviz
Note this doesn’t correspond to the final version used in the competition. That code is on the Pepper’s at the CERV and the latest version of the code hasn’t been turned into an archive yet.
If necessary, it can be reinstalled on Pepper with the following commands:
cd path_to_pepper_os_archive scp pepper_os_11.0.4.tar.lzma nao@PEPPER_IP #Connect to Pepper and untar the archive cd ~/ && tar --lzma -xvf ./pepper_os_11.0.4.tar.lzma #Remove the archive. rm ./pepper_os_11.0.4.tar.lzma
The code can be started with:
roslaunch manager_pepper robobreizh_manager.launch receptionist:=true #Start the recepptionist scenario
Alternatively, the scenario can be started using the tablet. This will start the receptionist scenario without the navigation aspect. The navigation aspect requires mapping the environment and labelling where is each room and the initial position of the robot. For more details on how to do so, ask Maelic as I didn’t touch this part of the code :)