Command for the Yaskawa HC10 collaborative robot

This project was made by a group of student from the "Université Paul Sabatier" in Toulouse, France, then taken over by a trainee from the "Université de Montpellier".
The purpose of this project is to make a force feedback control for the collaborative robot Yaskawa HC10.
You will find identification and control code + the ros code to make it run on the simulators rViz and Gazebo of ROS.


Prerequisites

For Windows users with WSL2

If you want to use Docker on Windows, we recommend using Windows 11 with WSL2 and Ubuntu18.04.
If you still want to use Winows 10, make sure you're using WSL2 (check which version of WSL you're using).

⚠️ WARNING
Other Linux distributions won't work!

You will need to install Docker and Nvidia CUDA container to run it. All the instructions are here.
If you are not using Windows 11, consider using a X-server like VcXsrv, or you won't have any GUI.

For Windows users without WSL2

If you want to install it without WSL2, it is possible, however you won't be able to display any GUI.
For this, you will need to install Docker Desktop for Windows

For Ubuntu18.04 users

Install Docker for Ubuntu 18.04


Installation procedure

Clone this repository to your the folder of your choice. We recommend clone it via SSH if you want to be able to commit/push after. If you don't know how to do it, check this link

Go into the directory of the ros version you want to install in the docker :

noetic :

cd project_M2/Docker/noetic

melodic :

cd project_M2/Docker/melodic

Then build the Docker with (this will take a few minutes):

bash launch.sh
⚠️ WARNING
Following commands were made to run docker with ros:noetic. If you want to run docker with ros:melodic, do not forget to replace it in the commands

After (few) minutes, you will be able to run the Docker.

for Ubuntu (native or VM):

docker run -v $HOME/project_M2/hc10_ros/:$(id -un)/catkin_ws/src/hc10_ros ros:noetic

for WSL2 on Windows 11 (if you want a GUI):

sudo docker run --rm -it --privileged --net=host --ipc=host \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e DISPLAY=$DISPLAY \
-v $HOME/project_M2/hc10_ros:/home/$(id -un)/catkin_ws/src/hc10_ros \
-v $HOME/project_M2/dependencies_ros:/home/$(id -un)/catkin_ws/src/dependencies_ros \
-e XAUTHORITY=/home/$(id -un)/.Xauthority \
-e DOCKER_USER_NAME=$(id -un) \
-e DOCKER_USER_ID=$(id -u) \
-e DOCKER_USER_GROUP_NAME=$(id -gn) \
-e DOCKER_USER_GROUP_ID=$(id -g) \
-e ROS_IP=127.0.0.1 ros:noetic

Tip: Create a .bash file with this command :)

for Windows without WSL2, run Docker Destop and run your container!

Once you are in the docker, run the folowing commands every time you run the Docker or you make a change.

cd ~/catkin_ws
catkin_make