|
mc_rtc
2.14.0
|
mc_rtc is an interface for simulation and robot control systems. These systems should provide the state of a given robot (joints' values, sensor readings...) and in return mc_rtc will provide the desired robot's state (command). This is done through the mc_control::MCGlobalController class. This class does not perform control by itself but rather delegates this task to the mc_control::MCController derived objects that it holds. Writing a controller within the mc_rtc framework is done by writing a class that inherits from the mc_control::MCController base class and implements the required functionnality. The details of this process can be found in the project documentation.
mc_rtc is a super-set of SpaceVecAlg/RBDyn/Tasks libraries which provides a friendlier/easier interface for the user.
This framework assumes some familiarity with the SpaceVecAlg, RBDyn and Tasks although the libraries in the mc_rtc package abstract most of these libraries inner-workings. Unfamiliar users may refer to the SpaceVecAlg and RBDyn tutorials and the SpaceVecAlg and RBDyn presentations authored by Joris Vaillant.
The project website provides a somewhat complete introduction of the framework functionalities.
Feel free to open an issue for questions, feature requests or problems you might encounter.
The following interface between mc_rtc and 3rd-party framework are available:
mc_rtc into a RTC component, this can be used to control a robot that is using the OpenRTM framework, an example with the virtual JVRC1 robot is also provided;mc_rtc interface that gets data through the UDP socket. The server can easily be implemented to interface with your robot. A server to interface with OpenRTM components is provided.Please see mc_rtc installation guide for details.
mc_rtc also uses the following great 3rd party libraries but does not require you to get or install them: