Human-Pepper Interaction Mayte Lzaro, Luca Iocchi Who is Pepper? - - PowerPoint PPT Presentation
Human-Pepper Interaction Mayte Lzaro, Luca Iocchi Who is Pepper? - - PowerPoint PPT Presentation
Human-Pepper Interaction Mayte Lzaro, Luca Iocchi Who is Pepper? Pepper is a robot developed by Softbank robotics Human-like 1.2m tall Arms/head/body movement Gestures Emotions Holonomic mobile base
Who is Pepper?
- Pepper is a robot developed by Softbank robotics
- Human-like
○ 1.2m tall ○ Arms/head/body movement
■ Gestures ■ Emotions
- Holonomic mobile base
Technical specifications
- Motherboard
○ Processor: Intel Atom E3845, Quad core, 1.91GHz ○ RAM: 4GB DDR3
- Connectivity
○ Ethernet ○ Wifi - IEEE 802.11 a/b/g/n
- Operating system
○ NAOqi
Proximity sensors
- Laser
○ 45 points distributed in 3 sectors
- Sonar
○ 5m range
Vision sensors
- RGB Cameras
- Depth Camera
○ ASUS Xtion
HRI devices
- Tablet
- Microphones
- Loudspeakers
- LEDs - Eyes, ears and shoulders
How to program Pepper?
- ROS
- Choregraphe
- SDKs
○ Python ○ C++ ○ Java
- Both Choregraphe and SDKs available at:
○ https://developer.softbankrobotics.com/us-en/downloads/pepper
ROS
- http://wiki.ros.org/pepper
- https://github.com/ros-naoqi/naoqi_driver
- Allows to access to sensors and robot base through ROS topics
roslaunch naoqi_driver naoqi_driver.launch nao_ip:=<PEPPER_IP> roscore_ip:=<YOUR_IP> network_interface:=lo
- ROS must be run on a external laptop
/naoqi_driver/hand_touch /naoqi_driver/head_touch /naoqi_driver/imu/base /naoqi_driver/imu/torso /naoqi_driver/info /naoqi_driver/laser /naoqi_driver/odom /naoqi_driver/sonar/back /naoqi_driver/sonar/front /speech /tf /cmd_vel /joint_angles /joint_states /naoqi_driver/audio /naoqi_driver/bumper /naoqi_driver/camera/bottom/camera_info /naoqi_driver/camera/bottom/image_raw /naoqi_driver/camera/depth/camera_info /naoqi_driver/camera/depth/image_raw /naoqi_driver/camera/front/camera_info /naoqi_driver/camera/front/image_raw /naoqi_driver/camera/ir/camera_info /naoqi_driver/camera/ir/image_raw
Choregraphe
- Tutorials: http://doc.aldebaran.com/2-5/software/choregraphe/index.html
- Block-based programming
○ Allows to program Pepper without writing a “single line of code”
- Can be used as a simulator using a “virtual robot”
○ IP = 127.0.0.1 ○ PORT =
SDKs - Python
- Cross-platform: Same program can be run on linux or on Pepper
- Instructions
○ Download and extract Python SDK ○ Move the extracted files to:
■ /opt/Aldebaran/naoqi (sudo permissions required)
○ Add in your .bashrc
■ export PYTHONPATH=${PYTHONPATH}:/opt/Aldebaran/naoqi/pynaoqi-python2.7-2.5.5.5-linux64/l ib/python2.7/site-packages
○ To test the installation do:
$ python >>> import naoqi
SDKs - C++
- Requires cross-compilation to run programs on Pepper
- Instructions
○ Install qibuild using pip
■ pip install qibuild --user
○ Download and extract both the C++ SDK and the Cross Toolchain ○ Move the extracted folders to:
■ /opt/Aldebaran/naoqi
○ Start a qi workspace
■ mkdir qi_ws ■ cd qi_ws ■ qibuild init
○ Prepare your ws to compile code running on Linux and on Pepper
■ qitoolchain create linux64 /opt/Aldebaran/naoqi/naoqi-sdk-2.5.5.5-linux64/toolchain.xml ■ qitoolchain create pepper /opt/Aldebaran/naoqi/ctc-linux64-atom-2.5.2.74/toolchain.xml ■ qibuild add-config linux64 -t linux64 ■ qibuild add-config pepper -t pepper
First steps with Python SDK
1. Open a qi Session 2. Useful APIs for this lesson:
○ AutonomousLife:
■ http://doc.aldebaran.com/2-5/naoqi/interaction/autonomouslife.html
○ RobotPosture:
■ http://doc.aldebaran.com/2-5/naoqi/motion/alrobotposture.html
○ Motion:
■ http://doc.aldebaran.com/2-5/naoqi/motion/almotion.html
import qi s = qi.Session() s.connect("tcp://127.0.0.1:9559") foo = s.service("foo")
Pepper tools for exercises
- Sample codes and exercises in: