Only released in EOL distros:
Package Summary
Driver package for the Nao robot, providing access to walking commands, joint angles, and sensor data (odometry, IMU, camera, ...). The most-current version is compatible with the Nao API version 1.6 or newer, connecting to a real or simulated Nao by wrapping Aldebaran Robotics' NaoQI API in Python. This requires the "lib" directory of the Aldebaran SDK to be in your PYTHONPATH environment variable.
- Author: Armin Hornung, Stefan Osswald, Daniel Maier
- License: BSD
- Source: svn http://alufr-ros-pkg.googlecode.com/svn/trunk/humanoid_stacks/nao_robot
Package Summary
Driver package for the Nao robot, providing access to walking commands, joint angles, and sensor data (odometry, IMU, camera, ...). The most-current version is compatible with the Nao API version 1.6 or newer, connecting to a real or simulated Nao by wrapping Aldebaran Robotics' NaoQI API in Python. This requires the "lib" directory of the Aldebaran SDK to be in your PYTHONPATH environment variable.
- Author: Armin Hornung, Stefan Osswald, Daniel Maier
- License: BSD
- Source: git https://github.com/ahornung/nao_robot.git (branch: master)
Package Summary
Driver package for the Nao robot, providing access to walking commands, joint angles, and sensor data (odometry, IMU, ...). The most-current version is compatible with the Nao API version 1.12 or newer, connecting to a real or simulated Nao by wrapping Aldebaran Robotics' NaoQI API in Python. This requires the "lib" directory of the Aldebaran Python SDK to be in your PYTHONPATH environment variable. Note that cameras drivers are provided in a separate package (nao_sensors).
- Maintainer status: developed
- Maintainer: Séverin Lemaignan <severin.lemaignan AT epfl DOT ch>, Vincent Rabaud <vincent.rabaud AT gmail DOT com>
- Author: Armin Hornung, Armin Hornung, Stefan Osswald, Daniel Maier, Miguel Sarabia, Séverin Lemaignan
- License: BSD
- Bug / feature tracker: https://github.com/ros-nao/nao_robot/issues
- Source: git https://github.com/ros-nao/nao_robot.git (branch: master)
Package Summary
Driver package for the Nao robot, providing access to walking commands, joint angles, and sensor data (odometry, IMU, ...). The most-current version is compatible with the Nao API version 1.12 or newer, connecting to a real or simulated Nao by wrapping Aldebaran Robotics' NaoQI API in Python. This requires the "lib" directory of the Aldebaran Python SDK to be in your PYTHONPATH environment variable. Note that cameras drivers are provided in a separate package (nao_sensors).
- Maintainer status: developed
- Maintainer: Séverin Lemaignan <severin.lemaignan AT epfl DOT ch>, Vincent Rabaud <vincent.rabaud AT gmail DOT com>
- Author: Armin Hornung, Armin Hornung, Stefan Osswald, Daniel Maier, Miguel Sarabia, Séverin Lemaignan
- License: BSD
- Bug / feature tracker: https://github.com/ros-nao/nao_robot/issues
- Source: git https://github.com/ros-nao/nao_robot.git (branch: master)
Package Summary
Driver package for the Nao robot, providing access to walking commands, joint angles, and sensor data (odometry, IMU, ...). The most-current version is compatible with the Nao API version 1.12 or newer, connecting to a real or simulated Nao by wrapping Aldebaran Robotics' NaoQI API in Python. This requires the "lib" directory of the Aldebaran Python SDK to be in your PYTHONPATH environment variable. Note that cameras drivers are provided in a separate package (nao_sensors).
- Maintainer status: developed
- Maintainer: Séverin Lemaignan <severin.lemaignan AT epfl DOT ch>, Vincent Rabaud <vincent.rabaud AT gmail DOT com>
- Author: Armin Hornung, Armin Hornung, Stefan Osswald, Daniel Maier, Miguel Sarabia, Séverin Lemaignan
- License: BSD
- Bug / feature tracker: https://github.com/ros-nao/nao_robot/issues
- Source: git https://github.com/ros-nao/nao_robot.git (branch: master)
Contents
This package replaces the nao_ctrl package since version 0.4.
To run nao_driver on the actual Nao robot, you need to crosscompile ROS the stacks nao_robot and humanoid_msgs for it first. Alternatively, you can connect remotely without installing anything on your Nao. The current version of nao_driver works with NaoQI version 1.6 or newer (last tested: 1.12.0). Versions 0.1x are still compatible to NaoQI 1.3.
Documentation
To start the Nao driver nodes on the robot, ssh on it, load the ROS setup.bash, and start
roslaunch nao_driver nao_driver.launch
After that you can start the remote nodes from nao_remote and nao_teleop. Note that you can also run everything on your remote machine (PC), connecting to your Nao (or a simulated Nao in Webots) via Aldebaran's API. Export the environment variables NAO_IP and NAO_PORT to point to your robot and launch the driver as above, e.g.:
NAO_IP=192.168.1.10 roslaunch nao_driver nao_driver.launch
This may be slower, but avoids other problems e.g. when the times are not synchronized between your Nao and PC.
See naoqi_driver/Troubleshooting for common errors and solution.
Nodes
nao_sensors
nao_sensors publishes the Nao's sensors (currently joint state, IMU, and odometry) by wrapping the Aldebaran Python NaoQI API.Published Topics
torso_odometry (nao_msgs/TorsoOdometry)- Basic odometry of Nao's torso (6D)
- Raw and filtered data from Nao's internal IMU
- Measured state of all joints of Nao
nao_walker
nao_walker provides teleoperation with an omnidirectional walk by wrapping the Aldebaran Python NaoQI API. Accessing Nao's speech synthesis is also possible with the topic speech.Subscribed Topics
cmd_vel (geometry_msgs/Twist)- Omnidirectional velocity (x, y, and theta) for the walking engine
- Removed in v0.4: to execute fixed movements use the more general joint angle control in nao_controller or fixed poses from pose_manager (in nao_remote) instead
- Removed in v0.4: use joint angles control in nao_controller instead
- Text to be said over Nao's speech synthesis
Services
read_foot_gait_config_srv (std_srvs/Empty)- Reads the values from ~use_foot_gait_config and ~foot_gait_config and sets them. This can be used to change the current foot gait config during runtime.
Parameters
~step_frequency (double, default: 0.5)- Maximum fraction of Nao's step frequency to be used when walking (between 0 and 1). This controls how fast (and stable) Nao is walking.
- Slowly move from init pose to walk pose before walking to avoid toppling over backwards (might improve stability for naoqi versions >= 1.10.10, not tested for other versions)
- Enable or disable foot contact protection in robot's motion configuration. If this parameter is not specified, the current setting will not be changed.
- Enable or disable using a foot gait configuration for all walk commands. Disabling will use the Default gait configuration saved on the Nao.
- A list of the gait config parameters, see the NAOqi API for more information.
nao_controller
Controls the Nao's joints either with messages (non-blocking) or with an actionlib interface (blocking, using SimpleActionServer).Action Goal
joint_trajectory (nao_msgs/JointTrajectoryGoal)- Executes a given joint angle trajectory over time (multiple keypoints possible)
- Executes a given joint stiffness trajectory over time
- Executes a give joint angle trajectory as one goal keypoint with relative joint speed
Subscribed Topics
joint_angles (nao_msgs/JointAnglesWithSpeed)- Joint Angle control with relative speed (non-blocking)
- Sets stiffness of a set of joints with effort between 0 and 1 (non-blocking)
Services
body_stiffness/[enable/disable] (std_srvs/Empty)- Enable / disable the stiffness of the whole body
nao_tactile
Publishes sensor data of Nao's tactile sensors and bumpers. A message is sent whenever the state of the touch sensors or bumpers change, and the full state (pressed / touched or not) is sent.Published Topics
tactile touch (nao_msgs/TactileTouch)- Contains information about which tactile button on Nao's head was touched
- Contains information about which bumper (left or right) was triggered.
nao_diagnostic_updater
This script collects diagnostic information on a Nao robot and publishes the information as DiagnosticArray messages (last tested with NaoQI 1.10.52). CPU temperature and network status will only be available if the script runs directly on the robot.Published Topics
diagnostics (diagnostic_msgs/DiagnosticArray)- Dignostic messages
nao_camera
nao_camera publishes Nao's camera image by wrapping the Aldebaran Python NaoQI API.Published Topics
image_raw (sensor_msgs/Image)- Image stream (by default bgr8 encoding)
- CameraInfo corresponding to the image stream
nao_footsteps
nao_footsteps handles footsteps meant to be executed on the NAO robot. It offers a topic and a service to execute footsteps on the NAO robot, as well as a service to clip footsteps which can be afterwards performed by the NAO robot.Subscribed Topics
footstep (humanoid_nav_msgs/StepTarget)- Sends a footstep command to the NAO robot.
Services
footstep_srv (humanoid_nav_msgs/StepTargetService)- Sends a footstep command to the NAO robot. The service blocks until the footstep has been executed.
- Clips a footstep into the range executable by the NAO robot.
nao_behaviors
nao_behaviors allows you to query and execute pre-recorded actions on the NAO. Note a node may only execute one behaviour at a time. You can use choregraphe to generate behaviors (Box libraries->Templates->Animation).Action Goal
run_behavior (nao_msgs/RunBehaviorGoal)- Executes an already installed behavior
Services
get_installed_behaviors (nao_msgs/GetInstalledBehaviors)- Returns a list of the installed behaviors on the robot
nao_leds
nao_leds can control all the LEDs on the NAO. It also allows to activate a customazible blinking behavior.Action Goal
blink (nao_msgs/BlinkGoal)- NAO will blink with a color chosen at random from colors, the duration of the actual blink is determined by blink_duration and the blinking rate is assumed to be normal with mean blink_rate_mean and standard deviation blink_rate_sd. The background color while the robot is not blinking is set to bg_color. This behavior runs until either a new BlinkGoal is sent or the current goal is cancelled.
Subscribed Topics
fade_rgb (nao_msgs/FadeRGB)- Set the leds represented by led_name to color. Transisition lasts for fade_duration. For more information about valid names refer to the NAOqi documentation.
nao_speech
Node leverages both NaoQi's text-to-speech and speech recognition engines and exposes them to ROS. It is possible to have several concurrent nodes of this type, each one configured with different parameters.Subscribed Topics
speech (std_msgs/String)- Text to be said over Nao's speech synthesis.
Published Topics
word_recognized (nao_msgs/WordRecognized)- Words and confidence levels detected with Nao's speech recognition system.
Services
reconfigure (std_srvs/Empty)- Call to reconfigure node using ROS parameters, useful if parameters have been updated since node start-up.
- Start Nao's speech recognition system. The vocabulary parameters needs to be set for the call to succeed. Only one node can use the speech recognition at any given time.
- Stop speech recognition. Useful to allow other nao_speech nodes to start the speech recognition system.
Parameters
~voice (string, default: current voice)- Set NAO's voice
- Set NAO's language (both text-to-speech and speech recognition)
- Set NAO's voice volume
- List of words to be recognized by NAO. Must not be empty for speech recognizer to work.
- Enable speech recognizer's audio expression
- Enable speech recognizer's visual expression
- Enable word spotting (recognizing words in the middle of a speech) only if your NAO supports it (>v4)
In Hydro and above, this package does not exist anymore. Nodes that are in common for all NaoQI-based robots (Nao, Romeo, Pepper, etc.) were moved to the naoqi_bridge stack and nodes that are specific for Nao robots were moved to the nao_robot stack.