[RTC] NAO_python


Name

NAO_python

Brief

NAO RT Component

Description

Aldebaran Robotics NAO / Pepper RT-Component using NAOqi. To use this, install naoqi python SDK version 2.*. Before launch NAO.py, build_idl.sh (bat) must be used to build idl file.

License

GPL ver3

Image

Language

Python

URL

https://github.com/ogata-lab/NAO.git

Platform

[‘osx’, ‘ubuntu’]

Data In Ports

Name Type Unit Description
velocity RTC::TimedVelocity2D Target Velocity for locomotion.
targetJointAngle RTC::TimedDoubleSeq Target Angle Position of Joints. The controlled joints are defined in the configuration (controlling_joint_names).

Data Out Ports

Name Type Unit Description
camera RTC::CameraImage Camera Image. To switch camera, use the configuration (camera_id).
audio RTC::TimedOctetSeq Audio Data . To switch configuration will change the data alignment.
bumper RTC::TimedBooleanSeq bumper data. This data is sequence. Alignment is (lfoot_left, lfoot_right, rfoot_left, rfoot_right)
touch RTC::TimedBooleanSeq touch detection (head_back, head_center, head_front, rhand_back, rhand_center, rhand_front, lhand_back, lhand_center, lhand_front)
sonar RTC::TimedBooleanSeq sonar detection, (left, right)
currentJointAngle RTC::TimedDoubleSeq Current joint position. The observing joints are defined in the configuration of observing_joint_names.
currentPose RTC::TimedPose2D Current Position of locomotion. The current position is calculated odometry. In NAO, the footsteps. the Pepper, encoders. When this RTC is activated, the position is initialized as (0, 0, 0).

Service Ports

motion

Name Direction Type Description
ALMotion Provided ssr::ALMotion

textToSpeech

Name Direction Type Description
ALTextToSpeech Provided ssr::ALTextToSpeech

behaviorManager

Name Direction Type Description
ALBehaviorManager Provided ssr::ALBehaviorManager

memory

Name Direction Type Description
ALMemory Provided ssr::ALMemory

leds

Name Direction Type Description
ALLeds Provided ssr::ALLeds

videoDevice

Name Direction Type Description
ALVideoDevice Provided ssr::ALVideoDevice

Configurations

Name Type Default Unit Description
ipaddress string nao.local IP address of NAO/Pepper. If your PC has Bonjour (avahi), you can use the name of nao. (ex., nao.local)
port int 9559 Port of naoqi server. Default value is 9559. Some simulation environment provides other port number. See the manual of them.
debug int 1 To view more informoation on console, set 1.
camera_id int 0 Camera ID of NAO. 0 = Top, 1 = Bottom.
num_channel int 1 The number of audio channel. NAO has 4 microphones. You can use 1, 2, 4 values.
interleaved int interleeved Is audio interleaved or not. 0 = not interleaved. 1 = interleaved.
num_samples int 16000 Sampling num.
channel_name string front Names of Audio channels
enable_camera int 0 Camera ON/OFF. If 1, the RTC will connect vision interface to naoqi server. If 0, this RTC will not connect the vision interface.
enable_audio int 0 Audio (includes TextToSpeech) ON/OFF. If 1, the RTC will connect audio interface to naoqi server. If 0, this RTC will not connect the audio interface.
orthogonal_security_distance string 0.1 Security distance for locomotion on orthogonal (front) direciton. If some obstacle is detected in the direction and the distance between the robot and the obstact is less than this value, the robot can not move toward the object.
tangential_security_distance string 0.1 Security distance for locomotion on tangential (-90 to 90) direciton. If some obstacle is detected in the front 180 degree space and the distance between the robot and the obstact is less than this value, the robot can not move toward the object.
controlling_body_names string HeadYaw, HeadPitch, LShoulderPitch, LShoulderRoll, LElbowYaw, LElbowRoll, LWristYaw, LHand, HipRoll, HipPitch, KneePitch, RShoulderPitch, RShoulderRoll, RElbowYaw, RElbowRoll, RWristYaw, RHand This value must be the list of the joint name. The joint name is defined in the NAO/Pepper. See their manual to know the names.

If you set this value “HeadYaw, HeadPitch”, the data package received in the targetJointAngle port will change the angles of the joints. Comma separation. Never use [ and ].

observing_body_names string HeadYaw, HeadPitch, LShoulderPitch, LShoulderRoll, LElbowYaw, LElbowRoll, LWristYaw, LHand, HipRoll, HipPitch, KneePitch, RShoulderPitch, RShoulderRoll, RElbowYaw, RElbowRoll, RWristYaw, RHand This value must be the list of the joint name. The joint name is defined in the NAO/Pepper. See their manual to know the names.

If you set this value “HeadYaw, HeadPitch”, the data packet sent from the currentJointAngle port means the angles of the joints. Comma separation. Never use [ and ].

How To Build

  $ git clone https://github.com/ogata-lab/NAO.git
  $ cd NAO_python
  $ mkdir build
  $ cd build
  $ cmake ../
  $ make

How To Build in wasanbon

  $ wasanbon-admin.py package create NAO_python_test_project # You can also use other preinstalled package 
  $ wasanbon-cd NAO_python_test_project
  $ ./mgr.py repository clone NAO_python
  $ ./mgr.py rtc build NAO_python
  $ ./mgr.py rtc run NAO_python # To Run RTC

Profile Status

Not available

Build Status

Build in Windows

Not available

Build in OSX

Success (2015-01-23 01:41:51.540028)

Build in Linux

Not available

Copyright

Ogata Lab Waseda Univ.