Skip to content

BoundMPC: Cartesian Path Following with Error Bounds based on Model Predictive Control in the Joint Space

License

Notifications You must be signed in to change notification settings

Thieso/BoundMPC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BoundMPC

Implementation of the paper "BoundMPC: Cartesian Path Following with Error Bounds based on Model Predictive Control in the Joint Space". Paper: https://arxiv.org/abs/2401.05057

Dependencies

We provide a docker container to run the example experiments. A working docker installation with docker-compose is needed to use the docker container in this repository. Installation instructions can be found on the docker website.

The implementation uses ROS2 humble for inter-proces-communication and Casadi for the automatic differentiation to provide the required analytical derivatives to the Ipopt solver.

Real-time performance

The experiments do not run in real-time since the HSL MA57 solver is required for that. This solver is not open source and in the interest of providing runable code to everyone, we provide the implmentation without using the HSL MA57 solver.

Running the example experiments

In order to run the provided example you need to first build the docker container using

docker build -t bound_mpc .

and then run the docker container with

docker compose up

The docker container mounts the subdirectories of this repository which makes it necessary to build the ROS workspace after the first time you build the container. For this, run the following commands:

docker exec -it bound_mpc bash
colcon build --symlink-install
source install/setup.bash

The experiments are then run with

ros2 launch bound_mpc experiment1.launch.py

or

ros2 launch bound_mpc experiment2.launch.py

You should see an RViz window with a visualization of the robot during its motion.

Troubleshooting

If you use Linux and do not see an RViz window you need to run

xhost + 

About

BoundMPC: Cartesian Path Following with Error Bounds based on Model Predictive Control in the Joint Space

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published