mbase platform driver

This driver talks to the embedded computer in the mBase robot, which mediates communication to the devices of the robot.

Compile-time dependencies
  • none
Provides

The mbasedriver driver provides the following device interfaces, some of them named:

  • "odometry" interface_position2d
    • This interface returns odometry data, and accepts velocity commands.
  • interface_power
    • Returns the current battery voltage (12 V when fully charged).
  • interface_aio
    • Returns data from analog and digital input pins
  • interface_ir
    • Returns ranges from IR sensors, assuming they're connected to the analog input pins
  • interface_sonar
    • Returns ranges from sonar sensors
Supported configuration requests
  • "odometry" interface_position2d :
    • PLAYER_POSITION_SET_ODOM_REQ
    • PLAYER_POSITION_MOTOR_POWER_REQ
    • PLAYER_POSITION_RESET_ODOM_REQ
    • PLAYER_POSITION_GET_GEOM_REQ
    • PLAYER_POSITION_VELOCITY_MODE_REQ
  • interface_ir :
    • PLAYER_IR_REQ_POSE
  • interface_sonar :
    • PLAYER_SONAR_GET_GEOM_REQ
Configuration file options
  • port (string)
    • Default: "/dev/ttyS0"
  • tipoMBase (integer)
    • Default: 5
    • Sets the type of mBase robot to use. It can be 5 for MR5 robot or 7 for MR7 robot.
  • max_trans_vel (length)
    • Default: 1.5 m/s
    • Maximum translational velocity
  • max_rot_vel (angle)
    • Default: 90 deg/s
    • Maximum rotational velocity
  • trans_acel (length)
    • Default: 500 mm/s/s
    • Maximum: 1500 mm/s/s
    • Maximum translational acceleration, in length/sec/sec; nonnegative. Zero or negative means use the robot's default value.
  • rot_acel (angle)
    • Default: 100 deg/s/s
    • Maximum rotational acceleration, in angle/sec/sec; nonnegative. Zero or negative means use the robot's default value. [this driver don't use that parameter]
  • pid_p (integer)
    • Default: 10
    • PID setting; proportional gain. Negative means use the robot's default value.
  • pid_i (integer)
    • Default: 10
    • PID setting; integral gain. Negative means use the robot's default value.
  • pid_d (integer)
    • Default: 600
    • PID setting; derivative gain. Negative means use the robot's default value.
  • driffactor (integer)
    • Default: 0
    • It straightens the robot's translation forward and backward.
  • robotWidth (integer)
    • Default: 410 mm. for mBase and 495 for MR7.
    • Wheelbase. Negative means use the robot's default value.
  • robotWheel (integer)
    • Default: 200 mm. for mBase and 310 for MR7.
    • Side wheel diameter. Negative means use the robot's default value.
  • debug (integer)
    • Default: 0
    • A value different than zero shows debugging messages.
  • ir_analog (integer)
    • Default: 0
    • Zero makes the IR parameter works with digital values using a 1.83 threshold. A different value of zero makes the IR parameter works with the values in volts.
Example
driver
(
  name "mbasedriver"

  provides [ "position2d:0"
             "power:0"
             "sonar:0"
             "aio:0"
             "ir:0" ]

  port "/dev/ttyS0"
)
Author
Joakim Arfvidsson, Brian Gerkey, Kasper Stoy, James McKenna, Ana Teresa Hernández Malagón