nao_ctrl is replaced by nao_driver, now in the nao_robot stack. Please see the documentation there for the latest updates.
Contents
To run nao_ctrl on the actual Nao robot, you need to crosscompile ROS for it first. Alternatively, you can connect remotely without installing anything on your Nao. The current version of nao_ctrl works with NaoQI version 1.6 or newer. Versions 0.1x are still compatible to NaoQI 1.3.
Documentation
To start the teleoperation on the Nao, ssh on it and run:
cd ~/naoros/ros/nao_ctrl/scripts source naoros.env ./nao_walker.py
The sensor reading node is started with:
./nao_sensors.py
The control and sensor nodes should then connect to the running remote nodes. 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. Just run
./nao_walker --pip=ROBOT_IP --pport=NAOQI_PORT & ./nao_sensors --pip=ROBOT_IP --pport=NAOQI_PORT
instead. This may be slower, but avoids other problems e.g. when the times are not synchronized between your Nao and PC.
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
- discrete motion actions (e.g. "sit down", "stand up")
- desired joint angles for the head
- Text to be said over Nao's speech synthesis
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.
- Maximum fraction of Nao's speed of changing head angles to be used for the head_angles topic (between 0 and 1).
- 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.
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.