Make sure that your computer has Ubuntu 18.04 and Melodic installed. Then, install the necessary packages to run the simulation environment with the fetch robot.
sudo apt-get update
sudo apt-get install ros-melodic-fetch*
This will install all of the packages related to fetch. The octomap dependencies also need to be installed, and this can be done by running the following commands.
sudo apt-get install ros-melodic-octomap
sudo apt-get install ros-melodic-octomap-server
sudo apt-get install ros-melodic-octomap-mapping
Install the pip3 modules:
pip3 install pyvista
pip3 install os
pip3 install sys
pip3 install pandas
pip3 install octomap-python --no-binary octomap-python
If you are having issues running octomap, it may need other dependencies. If so, use this:
sudo apt-get install libdynamicedt3d*Install pip module:
pip install scipyOnce your system is set up, clone the fetch_sim2real to your workspace and build the package. Then source the workspace in your bash file. This can be done by copying the commands below and pasting them into your terminal.
cd ~/catkin_ws/src
git clone https://github.com/alan-sanchez/fetch_sim2real.git
cd ~/catkin_ws/
catkin_make
source devel/setup.bash
source ~/.bashrcRun the below launch files and Python node into separate terminals to get things started.
# Terminal 1
# If you want to run the simulation and visualizer headless, then use this command below.
roslaunch fetch_sim2real short_table_gazebo.launch
# If you want only want RViz, use the command below.
roslaunch fetch_sim2real short_table_gazebo.launch rviz:=true
# If you want the simulation and rviz, use the command below.
roslaunch fetch_sim2real short_table_gazebo.launch rviz:=true gui:=true headless:=falseThis should bringup Fetch in the gazebo environment with a table in front of it. The arm should also be in the up configuration. In the second terminal the nodes.launch file. This will activate the rest of the nodes that will do the simulation.
# Terminal 2
roslaunch fetch_sim2real nodes.launchWithin the same terminal, press "Enter" on your keyboard and this will generate a random polygon (with a predefined range so as not to exceed the physical limitations of the Fetch robot) and initialize the robot to start disinfecting. Below is a gif for reference.
