Software
Game Theory
Differential Game Theory
The solution to the Two-Players, Linear-Quadratic, Differential Game-Theoretic Cooperative and Non-Cooperative cases is implemented in the differential_gt GitHub repository
This repository implements solutions to the Cooperative and Non-cooperative problems defined as follows:
Non-Cooperative GT-MPC
\[\begin{split} & \min_{u_1}J_{1} (z,u_1,u_2)\\ & \min_{u_2}J_{2} (z,u_1,u_2)\\ & s.t. \; \dot{z} = Az+B_1 \, u_1 + B_2\, u_2 \\ & z(t_0) =z_0 \end{split}\]Cooperative GT
\[\begin{split} & \min_{u}J_{c} = \int_{0}^{\infty}( z^T\,Q_{c}\,z + u^T\,R_{c}\,u )\,dt \\ & s.t. \; \dot{z} = A_{c}\,z_{c}+B_{c}u_{c} \\ & z_c(t_0) =z_0 \end{split}\]More info about the GT formulation for the physical Human-Robot Interaction problems can be found in Human–Robot Role Arbitration via Differential Game Theory., and in Modeling and analysis of pHRI with Differential Game Theory. This is the continuous version fo the discrete problem presented in distributed mpc.
Distributed GT-MPC
The solution to the Two-Players, Linear-Quadratic, distributed Model Predictive Control Game-Theoretic Cooperative and Non-Cooperative cases is implemented in the distributed_mpc GitHub repository. This is the discrete version fo the differential problem presented in differential GT.
Robot control
Fanuc Ros2 interface
The implementation of the hardware interface for the fanuc robots for ros2. Please refer to the GitHub repository
Scaled Velocity Controller
A ros2 controller that allows dynamic velocity scaling during the execution of a trajectory. It implements a FollowJointTrajectoryAction server, it behaves as the joint_trajectory_controller (from which it inherits). Fully compatible with Moveit! Check out its documentation on the GitHub repo