CartesI/O
A ROS-based, Real-Time capable framework for Cartesian Control
Arturo Laurenzi, Enrico Mingo Hoffman, Luca Muratore
Outline
Motivation
Requirements
Complex environment → complex robots
A framework should hide this complexity from users while being flexible
Features:
Task examples
(HHCM lab) before CartesI/O
~1000 ways of doing IK, not compatible, difficult for “end-users” to get started
Components overview
Solver
Modeling language
Example
Programmatic interface
CartesI/O provides a base class that can be implemented by the developer
class CartesianInterface
{ public: ...
protected: ...
};
CartesianInterface API
Construction
References
Task properties
Control loop
Reference pre-processing
Online reference
Point-to-point
Interpolation
Online trajectory generation (OTG)
max speed
max acceleration
Safe reference
setPoseReference() setWaypoints()
update()
getPoseReference()
Middleware interface
RosServerClass API
Construction
Topics
RviZ interactive markers Interactive postural control Joypad control
Services
Actions
Parameters
Cartesian servers
ROS Cartesian Server
Architecture overview
XBot RT Cartesian Plugin
Architecture
IOPlugin
RT Plugin
Lock
CartesianInterface
CartesianInterface
RosServerClass
Try-lock
Unlock
Unlock
CartesianInterface
CartesianController
Sync
Manipulation controller
Manipulation controller
Case studies
Stabilized box picking
Switching controllers
Karate
Thanks for the attention
Questions?!