Currently source-based installation is provided as well as docker-based installation.
First of all open a terminal and create an empty workspace:
mkdir ~/tiago_dual_public_ws cd ~/tiago_dual_public_ws
Download the file tiago_dual_public-melodic.rosinstall. Copy the rosinstall file in ~/tiago_dual_public_ws. Then run the following instruction in order to clone all the required repositories within the workspace:
rosinstall src /opt/ros/melodic tiago_dual_public-melodic.rosinstall
Set up rosdep
sudo rosdep init rosdep update
Then you may run the following instruction to make sure that all dependencies referenced in the workspace are installed
rosdep install --from-paths src --ignore-src --rosdistro melodic --skip-keys="opencv2 opencv2-nonfree pal_laser_filters speed_limit_node sensor_to_cloud hokuyo_node libdw-dev python-graphitesend-pip python-statsd pal_filters pal_vo_server pal_usb_utils pal_pcl pal_pcl_points_throttle_and_filter pal_karto pal_local_joint_control camera_calibration_files pal_startup_msgs pal-orbbec-openni2 dummy_actuators_manager pal_local_planner gravity_compensation_controller current_limit_controller dynamic_footprint dynamixel_cpp tf_lookup opencv3"
Then, you may proceed building the workspace:
source /opt/ros/melodic/setup.bash catkin build -DCATKIN_ENABLE_TESTING=0
Once you compiled all packages and sourced the environment (source devel/setup.bash) it's all ready to go.
You can alternatively test the simulation from a docker container.
These instructions assume that you have a basic docker understanding and have already installed it. Please familiarize yourself using the docker tutorials.
First of all open a terminal and pull the image of tiago_dual_tutorials:
docker pull palroboticssl/tiago_dual_tutorials:melodic
Once you have the docker image, you may proceed running that image:
docker run -it palroboticssl/tiago_dual_tutorials:melodic
If you wish to have a graphical user interface with docker, you might find useful osrf/rocker, a tool to run docker images with customized local support injected for things like nvidia support, and user_id specific files for cleaner mounting file permissions. You could also find more useful information on this topic on Tooling with Docker.
rocker with nvidia support:
rocker --nvidia --x11 palroboticssl/tiago_dual_tutorials:melodic
rocker with intel integrated graphics support:
rocker --x11 palroboticssl/tiago_dual_tutorials:melodic --devices /dev/dri/card0