The repository contains the implementation of an extension of the ros_control framework developed by the Institute of Intelligent Industrial Technologies and Systems for Advanced Manufacturing (STIIMA), of the National Research Council of Italy (CNR).
The extension is based on one package and two meta-packages.
- The
cnr_hardware_interfaces
(readme) - The
cnr_controller_interfaces
(readme) - The
cnr_configuration_manager
(readme)
The core of the extension is having encapsulated the lifecyle of the RobotHw
(link) in a nodelet
.
This design choice allows the implementation of cascade controller architectures, preserving the fastest communication as possible between the nodelets consituting the controller architecture.
A special RobotHw
called TopicRobotHw
is provided by the cnr_hardware_interfaces
package, and it has been designed in order to encaspulate generic topics in the standard hardware_interface
(link), and therefore to allows the controller accessing the topic content using the handle-based mechanism.
Each of the packages has his own README (follow the hyperlink for further information on each package)
The core of the extension is the cnr_configuration_manager
(readme).
The node has been desgined to allow a dynamic configuration of the controller architecture.
First, it allows the dynamic loading/unloading of many RobotHW
in parallel encapsulating each RobotHW
in a different nodelet.
Then, it allows the loading/unlaoding and start/stop of all the different controllers needed.
The configuration is done trough a proper yaml file, and it is possible to dynamically switch between many different configurations.
A collection of Matlab scripts useful for the...
The package provides a .rosinstall file with the dependencies, and the dependencies are configured in the package.xml
of the packages.
$ export ROSINSTALL_FILE=dependencies.rosinstall
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ git clone https://github.com/CNR-STIIMA-IRAS/cnr_ros_control
$ wstool init
$ wstool merge cnr_ros_control/dependencies.rosinstall
$ wstool up -v
$ cd ~/catkin_ws
$ rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
TODO
Authors:
- Manuel Beschi (mailto::[email protected])
- Nicola Pedrocchi (mailto::[email protected])
- Stefano Ghidini (mailto::[email protected])
Software License Agreement (BSD License) Copyright (c) 2020, National Research Council of Italy, Institute of Intelligent Industrial Technologies and Systems for Advanced Manufacturing All rights reserved.
This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No. 820807. This website reflects only the author’s view and the European Commission is not responsible for any use that may be made of the information it contains.|