Minimalistic framework for artificial skin simulation on NAO Humanoid Robot with ROS Melodic and Gazebo 9.
This package requires ROS Melodic, Gazebo 9 and several NAO packages. Please refer to corresponding manuals for ROS and Gazebo installation instructions.
nao_meshes
package is available via official ROS Melodic package
distribution:
sudo apt-get install ros-melodic-nao-meshes
Other required NAO packages, you will have to install to your Catkin workspace via git repositories:
cd ~/catkin_ws/src
git clone https://github.com/ros-naoqi/nao_virtual.git
git clone https://github.com/ros-naoqi/nao_robot.git
git clone https://github.com/maxymczech/nao-gazebo-skin.git
git clone https://github.com/OTL/rqt_ez_publisher.git
cd ..
catkin_make
source ./devel/setup.sh
Package nao-skin
comes with two launch files, for low and high resolution
artificial skin:
roslaunch nao_skin nao_skin_lowres.launch
roslaunch nao_skin nao_skin_highres.launch
Both files launch standard Gazebo empty_world
and spawn corresponding
NAO model, with contact sensor plugin and position controllers.
To control the robot manually, you can use the following GUI tool:
rosrun rqt_ez_publisher rqt_ez_publisher --force-discover
After the first launch, load configuration from
./nao_skin/config/rqt_ez_publisher.yaml
Contact sensor plugin publishes information about skin touches to the following ROS topics:
/gazebo_contact_info/Head
/gazebo_contact_info/base_link
/gazebo_contact_info/l_wrist
/gazebo_contact_info/r_wrist
This framework is a continuation of my bachelor thesis. You can download PDF
version here. The thesis includes
motivation behind the research, motivation behind the augmentations made
to default NAO robot urdf
code etc.