Solutions Cubed motor controller

The motionmind driver is for communicating with a Solutions Cubed "Motion Mind" PID motor controller while it is in serial PID mode. Multiple boards can be daisy chained together and different drivers used for each one by simply giving each driver the address of the board that it is commanding. This driver allows for simple absolute position commands and publishes the position of the device as well.

Compile-time dependencies
  • none
Provides
  • interface_position1d : publishes the position of the motor and allows for absolute position commands to be sent
Requires
  • interface_opaque : used to get the serial information form the motion mind control boards
Configuration requests
  • none
Supported commands
  • PLAYER_POSITION_1D_CMD_POS: The absolute position to send the actuator to
  • Todo
    : add support for PLAYER_POSITON_1D_CMD_VEL
Configuration file options
  • address (int)
    • Default 1
    • Address of the motionmind board that you wish to control
  • cpr (int)
    • Default 500
    • counts per motor rotation
  • gear_ratio
    • Default 1.0
    • n:1 gear_ratio - robot position in m or rad:motor rotation
      • divide the gear_ratio by 2*PI for rotational actuators
Example
# Board number 1
driver(
  name "motionmind"
  provides ["position1d:0"]
  requires ["opaque:0"]
  address 1
)

#Board Number 2
driver(
  name "motionmind"
  provides ["position1d:1"]
  requires ["opaque:0"]
  address 2
  cpr 500
  gear_ratio 2.0
)

driver(
  name "serialstream"
  port "/dev/ttyS0"
  transfer_rate 19200
  parity "none"
  provides ["opaque:0"]
  alwayson 1
  # IF ATTACHED TO MORE THAN ONE MOTIONMIND BOARD YOU MUST HAVE A WAIT TIME OR THINGS TIMEOUT
  wait_time 40000
)
Author
Chris Chambers