/naoqi_driver

c++ bridge based on libqi

Primary LanguageC++Apache License 2.0Apache-2.0

naoqi_driver

This module establishes a ROS bridge with naoqi. It publishes several sensor data as well as the robot position.

It also enables ROS to call parts of the NAOqi API.

What it does

The naoqi_driver module is in charge of providing some bridge capabilities between ROS and NAOqiOS.

How it works

The naoqi_driver module is a NAOqi module that also acts as a ROS node. As there is no roscore on the robot, it needs to be given the IP of the roscore in order to be registered as a node in the ROS processing graph. Usually, you will start your roscore on your local desktop.

Once connected, normal ROS communication is happening between your robot, running NAOqi OS, and your desktop, running ROS.

For further information, you can consult the documentation (OUTDATED) here or build it:

cd doc
doxygen Doxyfile
sphinx-build -b html ./source/ ./build/

Dependencies

To run, the driver requires the naoqi_libqi, naoqi_libqicore and naoqi_bridge_msgs packages. Those can be installed using apt-get (if they have been released for your ROS distro) or from source. Additionally, pepper_meshes and/or nao_meshes can be useful if you try to display the robot in RViz.

Launch

The driver can be launched using the following command:

roslaunch naoqi_driver naoqi_driver.launch nao_ip:=<ip> nao_port:=<port> network_interface:=<interface> username:=<name> password:=<passwd>

Note that the username and password arguments are only required for robots running naoqi 2.9 or greater

⚠️ naoqi_driver for melodic and greater have to be used for robots running naoqi 2.9 and greater

Build status

ROS Distro Binary Status Source Status Github Build
Noetic Build Status Build Status ros-noetic-focal
Melodic Build Status Build Status ros-melodic-bionic
Kinetic passing passing ros-kinetic-xenial