Skip to content

Instantly share code, notes, and snippets.

@TheMarex
Last active May 14, 2021 12:50
Show Gist options
  • Save TheMarex/b0017214cf2894996fd0 to your computer and use it in GitHub Desktop.
Save TheMarex/b0017214cf2894996fd0 to your computer and use it in GitHub Desktop.
ROS <-> MCA

MCA side

mRosControlModePublisher

WARNING: The name of this module is actually wrong. It is rather a subscriber than a publisher...

Listens to mca_control_mode which is provided by hollie_high_level_control that selects:

CONTROL_MODE : 0/1 START_TRAJECTORY: 0/1 MOVE_UPPER_BODY_IN_JOINT_MODE: 0/1 MOVE_PLATFORM_IN_JOINT_MODE: 0/1

The control modes provide in hollie_high_level_control select some of this flags.

It also publishes on mca_status but that is just garbage.

mRosJointPublisher

This is a subscriber (to joint values coming from ROS) and publishaer (sensor joint values coming from MCA).

Provides two interfaces: joint_sensor_values and joint_sensor_values_specific.

Specific uses joint names with the hollie_planning or hollie_real prefix, depending with config file was loaded for the part.

The general joint_sensor_values is advertised by both real and planning and the joints use the hollie_plain prefix.

I guess this does not create a conflict either real or planning is selected.

It listens to joint_control_values which is provided by FIXME.

It expects that the joints are named in the hollie_plain scheme, at least ros_to_mca_joint_name is setup this way. The values are transported to MCA using the CO edges of MCA.

MetaModule

"Builds" MCA edge input/outputs from a description list (e.g. you just need to specify you want something name "position" that has 3 coordinates). This is just for convenience.

MCA Trajectory

In trajectory mode the mRosBlackboardAdapter connects to mca_trajectory. It is used by the trajectory interpolator.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment