Skip to content

epfl-lasa/wp5-metal-additive-common

Repository files navigation

Robetarme WP5 Deliverable

Overview

The repository comprises multiple packages written in python first, for development purpose. Currently, it is designed to work with ROS Noetic and MoveIt.

There are two main FSM built for that project, as follow :

Error Handling FSM:

  • AllOk This state is here to claim that the robot is safe to use and there are no errors.
  • ErrorMode Here an error occurs and needs to be acknowledged. It can be a safety error or simply an error in the execution of the task. After the error is acknowledged, it goes back to AllOk mode and the main FSM is resumed from where it was.

Main FSM:

  • Initializing This is where every objects are initialized. It creates an object for the MoveIt planning scene, it initializes the known static obstacles and so on.
  • Planning Here is the planning for the entire task. It will extract a path from the different waypoints and save it for later use.
  • Ready As soon as the path is computed, the Robot enters in a Ready state where a Start signal is waiting to move to Executing state.
  • Executing The path is executed with welding or cleaning execution when needed. If the robot is asked to exit, then it goes to Homing state otherwise it goes back to Planning.
  • Homing The robot goes back to its initial position when the task is finished, it means it will just exit the FSM and be ready for another run when needed.
  • Exit Here the task is finished, the FSM exited and all the unnecessary Cpp objects destroyed.

Two main FSM

Requirements

This code is supposed to run on Linux, tested on both Ubuntu 20.04 and 22.04. It uses docker, side to docker compose, with the nvidia toolkit if any nvidia graphics card is installed. So you need to install :

If you have an nvidia graphic card :

Docker

Build the Docker containers

The docker containers are using docker compose tools. Each parameter is define inside the docker-compose.yml.

docker compose build

Then you can setting up the container, in detached mode, using :

docker compose up -d

And accessing it with a bash, in interactive mode, using :

docker exec -it <container_name> bash

Build code

To build the ROS packages you can use :

catkin build

It is HIGHLY recommended to use the debug cmake flag when testing processes since it adds features like trajectory pre-vizualisation with user feedback before running them. To do so, run the following command :

catkin build -DCMAKE_BUILD_TYPE=Debug

VSCode support

If using vscode with remote control extension, you can attach a vscode window to the chosen container using the bottom left green button.

Troubleshooting

X Server issues

If no window showed up after setting up a docker image that should output one there may be an issue with the X server access. To allow docker using the X server, run the following command :

xhost +local:docker

License

This project includes software licensed under the Apache License 2.0 and the BSD 3-Clause License. See the LICENSE file and Credits section for more details for the overall project and ur-package/LICENSE file for the UR licensing part.

Credits

This repository use the work of the following repositories:

Maintainers

About

RobétArmé repository with EPFL control part only.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •