Ubuntu installation
In order to run the public simulation of TIAGo OMNI Base it is preferable to get a fresh installation of Ubuntu 18.04.2 LTS as follows
wget http://releases.ubuntu.com/18.04/ubuntu-18.04.2-desktop-amd64.iso
Use this ISO to install a fresh Ubuntu OS in your development computer. Afterwards, you can proceed installing ROS as explained in the next section.
ROS installation
Set up ROS packages sources
In order to install the required ROS packages for running TIAGo OMNI Base simulation first, as explained in ROS Melodic installation, it is required to include packages.ros.org in the debian sources:
sudo apt update sudo apt install lsb-release # if you haven't already installed lsb-release sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
The set up the required keys to access the debian sources:
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
In case of getting a gpg: keyserver timed out error try the following:
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
ROS packages installation
install use the following instruction
sudo apt-get update sudo apt-get install git python-rosinstall ros-melodic-desktop-full python-catkin-tools ros-melodic-joint-state-controller ros-melodic-twist-mux ros-melodic-ompl ros-melodic-controller-manager ros-melodic-joy ros-melodic-joy-teleop ros-melodic-teleop-tools ros-melodic-control-toolbox ros-melodic-sound-play ros-melodic-navigation ros-melodic-eband-local-planner ros-melodic-depthimage-to-laserscan ros-melodic-openslam-gmapping ros-melodic-gmapping ros-melodic-moveit-commander wget
Append the following command to ~/.bashrc to allow any console to use the catkin commands
source /opt/ros/melodic/setup.bash
Source-based installation
Currently, source-based installation is provided.
These instructions assume that you are comfortable with ROS and the catkin build system. Please familiarize yourself using the ROS and catkin tutorials.
First of all open a terminal and create an empty workspace:
mkdir ~/omni_base_public_ws cd ~/omni_base_public_ws
Then run the following instruction in order to download the common_public-melodic.rosinstall, omni_base_public-melodic.rosinstall and clone all the required repositories within the workspace:
wget https://raw.githubusercontent.com/pal-robotics/pal_mobile_base_docker/melodic-devel/common_public-melodic.rosinstall wget https://raw.githubusercontent.com/pal-robotics/omni_base_tutorials/melodic-devel/omni_base_public-melodic.rosinstall rosinstall src /opt/ros/melodic common_public-melodic.rosinstall rosinstall src /opt/ros/melodic omni_base_public-melodic.rosinstall
Then run this command to make sure that all dependencies are installed.
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 -y --from-paths src --ignore-src --rosdistro melodic --skip-keys "pal_gazebo_plugins speed_limit_node sensor_to_cloud pmb2_rgbd_sensors pal_vo_server pal_karto pal_usb_utils pal_local_planner pal_filters hokuyo_node rrbot_launch robot_pose pal_pcl pal-orbbec-openni2 slam_toolbox omni_drive_controller pal_loc_measure pal_map_manager"
Then, you may proceed building the workspace:
source /opt/ros/melodic/setup.bash catkin build -DCATKIN_ENABLE_TESTING=0 -j $(expr `nproc` / 2)
Once you compiled all packages and source the environment (source ~/tiago_omni_base_public_ws/devel/setup.bash) and it's all ready to go.