Skip to content
Branch: master
Find file History
Pull request Compare This branch is even with twiniars:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Conman ROS Interfaces

This package provides interfaces to interact with Conman Schemes over ROS. These interfaces include an RTT service which provides the following:

  • Connection of Scheme operations to ROS services
  • A ROS topic with status information
  • A ros_control-compatible controller switching API

Note that individual blocks in the scheme may have their own ROS interfaces in addition to the one for the scheme.

Conman ROS API


Conman ros_control-Compatible ROS API

Conman also provides an API using the same messages and services used by the ros_control controller manager.


  • controllers_statisics controller_manager_msgs/ControllersStatistics
    • This contains the same information as it does in ros_control, but for each block in the Schame.
  • controller_state``controller_manager_msgs/ControllerState
    • This contains only the "name", "state", and "type" values for each block in the Scheme.


Only the services which are required for starting and stopping controllers, and adding and removing them from the system. The services which are specific to the plugin interface for ros_control are not provided. For loading libraries, it is preferred that Orocos Ops script be used. Note that while ros_control allows loading of plugins via ROS services, the mappings between controller names and the controller types must still be put on the parameter server somehow.

  • list_controllers controller_manager_msgs/ListControllers
    • List all block names.
  • list_controller_types controller_manager_msgs/ListControllerTypes
  • switch_controller controller_manager_msgs/SwitchController
    • Maps directly to Scheme::switchBlocks with controller names correspond to block names.
  • load_controller controller_manager_msgs/LoadController
    • Adds a peer of the Scheme to the Scheme by name. This is equivalent to calling Scheme::addBlock with a block name.
  • reload_controller_libraries controller_manager_msgs/ReloadControllerLibraries
  • unload_controller controller_manager_msgs/UnloadController
    • Removes a block from the Scheme by name. This is equivalent to calling Scheme::removeBlock with a block name.
You can’t perform that action at this time.