I am missing following features in the current ros_control implementation:
- “My research needs interconnected controllers, the output of one is the input of the other.”
Cascade Control (e.g.) - This can be currently done, but it is not nice. i am doing it with inheritance.
- maybe I do not understand something here, but I found my solution as not nice, but it works
- “We need a more extendable framework (flexible hardware_interfaces) while maintaining the realtime-safe qualities.”
Clear separation of RobotHW on sensors and actuators. This would enable easier integration of external sensors, e.g. FTS on an industrial robot
for this we started implementing an extension called combined robot_sensor_hw because currently one has to extend RobotHW directly and then robot package has new dependencies… an example of this can be found here.
this would mean to have HWInterface as base with SensorHW and ActuatorHW extending it. Then the RobotHW has list of SensorHWs and ActuatorHWs so one could simply add new sensors to it. Everything can be solved nicely over Pluginlib to avoid unnecessary dependencies.
IMHO this would be more control-theory approach
- “I need all the controllers.”
Thanks for asking this. If you need any help with first two topics I could provide some input and implementation effort since we have kind of non-standard solution.