This is the Robotics Project (VIBOT 3rd semester, Heriot-Watt University) done by Paola Ardon, Kaisar Kushibar and Songyou Peng.
A paper describes the technical details of this project:
Paola Ardon*, Kaisar Kushibar* and Songyou Peng*, "A Hybrid SLAM and Object Recognition System for Pepper Robot", arXiv preprint arXiv:1903.00675. (* all authors contributed equally)
The demonstration of SLAM + Object recognition with Pepper robot can be found here.
First of all, start ROS and connect the host computer with Pepper:
$ roscore
$ roslaunch pepper_bringup pepper_full_py.launch nao_ip:="ROBOT_IP" roscore_ip:="HOST_IP"
Run JoyPepper with Autonomous life ON. This will allow to control the robot using the joystick, but Pepper behaves like a kid (if she gets distracted, she just stops listening you)
$ rosrun joy joy_node
$ rosrun joy_pepper joypepper.py
If you want to control Pepper with Joystick with Autonomous life OFF, add this line before:
$ roslaunch pepper_dcm_bringup pepper_bringup.launch robot_ip:="10.42.0.76" network_interface:=wlan0
-
Base control:
- left arrow keys
- <- turn left, -> right
- ^ move forward, v move backward
- left arrow keys
-
Head control:
- right buttons
-
Sleep & WakeUp:
- R1 & R2 buttons
Run ORB SLAM 2 - Monocular
$ rosrun ORB_SLAM2 Mono /Path/To/ORB_SLAM2/Vocabulary/ORBvoc.bin /Path/To/ORB_SLAM2/Examples/Monocular/TUM1.yaml
RUN ORB SLAM - RGB-D
$ rosrun ORB_SLAM2 RGBD /Path/To/ORB_SLAM2/Vocabulary/ORBvoc.bin /Path/To/ORB_SLAM2/Examples/RGB-D/pepperCameraSettings.yaml false (create a new map) / true (use a saved map)
Run object recognition
$ rosrun pepper_recog recog.py
We want to thank
- Raul Mur-Artal for his awesome ORB SLAM2
- Bence Magyar for his advice of using Joystick teleop
- José María Sola Durán for his object recognition code framework
If you find this work helpful, please consider citing our paper:
@inproceedings{ardon2019hybrid,
author = {Paola Ard\'on and Kaisar Kushibar and Songyou Peng},
title = {A Hybrid SLAM and Object Recognition System for Pepper Robot},
year = {2019},
booktitle = {arXiv preprint arXiv:1903.00675},
}