Skip to content

Latest commit

 

History

History
159 lines (119 loc) · 5.52 KB

README.md

File metadata and controls

159 lines (119 loc) · 5.52 KB

mc_naoqi

CI of mc_naoqi

Interface to handle communication between mc_rtc and SoftBank humanoid robots running NAOqi OS

mc_naoqi

Video presentation

Video presentation

Author, Contact, BibTeX

Anastasia Bolotnikova (a.bolotnikova[at]softbankrobotics.com)

@unpublished{bolotnikova2021sii,
  title = {Task-Space Control Interface for SoftBank Humanoid Robots and its Human-Robot Interaction Applications},
  author = {Anastasia Bolotnikova and Pierre Gergondet and Arnaud Tanguy and S{\'e}bastien Courtois and Abderrahmane Kheddar},
  booktitle = {IEEE/SICE International Symposium on System Integration (SII 2021)},
  pdf = {https://hal.archives-ouvertes.fr/hal-02919367v3/document},
  url = {https://hal.archives-ouvertes.fr/hal-02919367},
  month = {January},
  year = {2021}
}

Installation

On the control computer

The communication with naoqi OS is based on libqi.

Dependencies

Ubuntu Bionic (18.04)

On ubuntu bionic, libqi may be installed from ROS packages naoqi_libqi

sudo apt-get install ros-melodic-naoqi-libqi

Ubuntu Focal (20.04)

Unfortunately, libqi is not officially supported on libqi, aue to changes in Boost 1.70 networking API, the official repository does not compile. We provide a patched version maintained at https://github.com/arntanguy/libqi

git clone --recursive https://github.com/arntanguy/libqi.git
cd libqi
mkdir build && cd build
cmake -DQI_WITH_TESTS=OFF ..
make -j8
sudo make install

Installing mc_naoqi

After installing the above dependencies, compile and install mc_naoqi.

git clone --recursive https://github.com/jrl-umi3218/mc_naoqi.git
cd mc_naoqi
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo ..
make -j8
sudo make install

On the robot

Communication with the robot sensors and actuators is managed using the embedded DCM module on the robot. To access its features, mc_naoqi_dcm needs to be installed and run on the robot.

Usage

To use the interface and connect to a real robot run

mc_naoqi -h <robot_hostname> -p <robot_port> -f <mc_rtc_configuration_file.conf>

Where <mc_rtc_configuration_file.yaml> is based on <INSTALL_PREFIX>/etc/mc_naoqi/<robot>.yaml (e.g /usr/local/etc/mc_naoqi/pepper.yaml).

If you wish to run the simulation only use simulation as a <robot_hostname>

mc_naoqi -h simulation -f <mc_rtc_configuration_file.conf>

CLI Commands

  • on : servo on actuators
  • off : servo off actuators
  • s : starts mc_rtc controller if stopped, stops otherwise
  • hs : go to half-sitting posture
  • cc <controller name> : change controller

ROS Services

If mc_rtc was compiled with ROS support, then services will be available to interact with controllers. You can see the list of all services available with

rosservice list /mc_rtc

Supported robots

  • Pepper (fully supported and tested)
  • NAO (initial functionality implemented, to be tested)
  • Romeo (not supported)

Research works that used this interface

2020: Human-robot interaction
@inproceedings{bolotnikova2020roman,
 title = {Autonomous Initiation of Human Physical Assistance by a Humanoid},
 author = {Anastasia Bolotnikova and S{\'e}bastien Courtois and Abderrahmane Kheddar},
 booktitle = {IEEE International Conference on Robot and Human Interactive Communication},
 address = {Naples, Italy},
 month = {31 August--4 September},
 year = {2020}
}
2018: Compliant robot motion
@inproceedings{bolotnikova2018humanoids,
 title={Compliant Robot Motion Regulated via Proprioceptive Sensor Based Contact Observer},
 author={Anastasia Bolotnikova and S{\'e}bastien Courtois and Abderrahmane Kheddar},
 booktitle={IEEE-RAS International Conference on Humanoid Robots},
 pages={854--859},
 address = {Beijing, China},
 month = {6--9 November},
 year={2018}
}
2018: Contact detection
@inproceedings{bolotnikova2018roman,
 title = {Contact observer for humanoid robot Pepper based on tracking joint position discrepancies},
 author = {Anastasia Bolotnikova and S{\'e}bastien Courtois and Abderrahmane Kheddar},
 booktitle = {IEEE International Conference on Robot and Human Interactive Communication},
 pages = {29--34},
 address = {Nanjing, China},
 month = {27--31 August},
 year = {2018}
}

Acknowledgment

Thanks to @gergondet and @arntanguy for developing and helping with this interface and the mc_rtc framework