Human-Pepper Interaction Mayte Lzaro, Luca Iocchi Who is Pepper? - - PowerPoint PPT Presentation

human pepper interaction
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Human-Pepper Interaction

Mayte Lázaro, Luca Iocchi

slide-2
SLIDE 2

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
slide-3
SLIDE 3

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

slide-4
SLIDE 4

Proximity sensors

  • Laser

○ 45 points distributed in 3 sectors

  • Sonar

○ 5m range

slide-5
SLIDE 5

Vision sensors

  • RGB Cameras
  • Depth Camera

○ ASUS Xtion

slide-6
SLIDE 6

HRI devices

  • Tablet
  • Microphones
  • Loudspeakers
  • LEDs - Eyes, ears and shoulders
slide-7
SLIDE 7

How to program Pepper?

  • ROS
  • Choregraphe
  • SDKs

○ Python ○ C++ ○ Java

  • Both Choregraphe and SDKs available at:

○ https://developer.softbankrobotics.com/us-en/downloads/pepper

slide-8
SLIDE 8

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

slide-9
SLIDE 9

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 =

slide-10
SLIDE 10

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

slide-11
SLIDE 11

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

slide-12
SLIDE 12

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")

slide-13
SLIDE 13

Pepper tools for exercises

  • Sample codes and exercises in:

https://bitbucket.org/mtlazaro/pepper_tools