This repository contains the Maintenance Stack for the ERC Remote competition.
The simulation requires ROS and simulations of the Universal Robots UR3 robot created for the ERC competition
For the simulation to work on your system, you must install dependencies and download repositories by running the following commands:
source /opt/ros/noetic/setup.bash
sudo apt-get update && apt-get upgrade -y && apt-get install -y lsb-core g++
sudo apt-get install git
rosdep init && rosdep update
sudo apt install ros-noetic-moveit -y
sudo apt install ros-noetic-ros-controllers* -y
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
git clone -b kinetic-devel https://github.com/ros-industrial/universal_robot.git
sudo rm -r universal_robot/ur_msgs
git clone https://github.com/roboticsgroup/roboticsgroup_gazebo_plugins
git clone https://github.com/Michal-Bidzinski/UR3_sim.git
cd ~/catkin_ws
catkin_make
source devel/setup.bash
To run UR3 simulation in Gazebo with MoveIt!, and RVzi GUI, including an example cell:
roslaunch ur3_sim simulation.launch
To run UR3 simulation in Gazebo with MoveIt!, and RVzi GUI, containing only a robot with a grapple and a camera (as per real setup):
roslaunch ur3_sim real_station.launch
This repository contains all the competition submissions.
To clone the repo:
git clone https://github.com/vysh112/ERC-Maintenance-Stack.git
navigate to your root directory:
cd
clone this repository Navigate to the repository:
cd ERC-Maintenance-Stack
Now, use the catkin_make
tool to build the workspace:
catkin_make
If you don’t want to have to source the setup file every time you open a new shell, then you can add the commands to your shell startup script:
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
echo "source ~/ERC-Maintenance-Stack/devel/setup.bash" >> ~/.bashrc
Before running the launch file, you will need to make all the Python files executable.
To do that navigate to the scripts
folder of that package, and run the following command
chmod +x *.py
sudo docker pull ghcr.io/vysh112/erc-maintenance-stack:main
Run the docker.
sudo docker run -it --net=host --name mrm_img ghcr.io/vysh112/erc-maintenance-stack:main
Navigate to the scripts folder inside the docker.
cd src/marsrovermanipal_td1/scripts
Make the scripts executable.
chmod +x *.py
Navigate back to the root directory.
cd ../../
Open another terminal and navigate to UR3 simulation directory.
cd catkin_ws
Source setup.bash.
source devel/setup.bash
Launch the UR3 simulation.
roslaunch ur3_sim simulation.launch
Go back to docker terminal and source it.
source devel/setup.bash
Launch the Objectives.
roslaunch marsrovermanipal_td1 obj1.launch.
To run the simulation, run roslaunch <package_name> obj<objective_no>.launch
and the parameters if any.
Example:
- objective 1
roslaunch marsrovermanipal_td1 obj1.launch
- objective 2
roslaunch marsrovermanipal_td1 obj2.launch tags:="1, 2, 3, 4"
- objective 3
roslaunch marsrovermanipal_td1 obj3.launch
- objective 4
roslaunch marsrovermanipal_td1 obj4.launch angle:=45
- objective 5
roslaunch marsrovermanipal_td1 obj5.launch
- objective 6
roslaunch marsrovermanipal_td1 obj6.launch
- objective 7
roslaunch marsrovermanipal_td1 obj7.launch
- objective 8
roslaunch marsrovermanipal_td1 obj8.launch
- objective 9
roslaunch marsrovermanipal_td1 obj9.launch tag:=5
- objective 10
roslaunch marsrovermanipal_td1 obj10.launch