repository: git://github.com/neobotix/neo_driver   Show EOL distros: 

cob_driver: cob_base_drive_chain | cob_bms_driver | cob_camera_sensors | cob_canopen_motor | cob_elmo_homing | cob_generic_can | cob_light | cob_mimic | cob_phidgets | cob_relayboard | cob_scan_unifier | cob_sick_lms1xx | cob_sick_s300 | cob_sound | cob_undercarriage_ctrl | cob_utilities | cob_voltage_control

Package Summary

cob_relayboard

  • Maintainer status: maintained
  • Maintainer: Matthias Gruhler <mig AT ipa.fhg DOT de>
  • Author: Christian Connette
  • License: Apache 2.0
  • Source: git https://github.com/ipa320/cob_driver.git (branch: indigo_release_candidate)
cob_driver: cob_base_drive_chain | cob_bms_driver | cob_canopen_motor | cob_elmo_homing | cob_generic_can | cob_light | cob_mimic | cob_phidgets | cob_relayboard | cob_scan_unifier | cob_sick_lms1xx | cob_sick_s300 | cob_sound | cob_undercarriage_ctrl | cob_utilities | cob_voltage_control

Package Summary

cob_relayboard

  • Maintainer status: developed
  • Maintainer: Matthias Gruhler <mig AT ipa.fhg DOT de>
  • Author: Christian Connette
  • License: Apache 2.0
  • Source: git https://github.com/ipa320/cob_driver.git (branch: kinetic_release_candidate)

This package gets maintained by neobotix, for bugreports, support requests and contributing see this page

Serial Relayboard

The Serial Relay Board does not only handle and publish error states (as a laser stop or emergency stop) or the robots state (temperature, battery volts and the battery current), it can also control can-motor-drivers and publish range measurements (ultra sonic or infra red).

For the Relay Board exist a couple of expansion boards:

  1. Gyro Board: publishes angular rates and acceleration on 3 axis.
  2. I/O Board:
  3. Radar Board: publishes velocities.

Subscribed Topics

/cmd_drives (cob_relayboard/DriveCmd)
  • sets joint velocities
/srb_lcd_display (cob_relayboard/LCDOut)
  • sets lcd output
/srb_io_set_dig_out (cob_relayboard/IOOut)
  • sets digital output
/srb_start_us_board (std_msgs/Int16)
  • starts the ultrasonic range board
/srb_stop_us_board (std_msgs/Empty)
  • stops the ultrasonic board
/srb_zero_gyro (std_msgs/Empty)
  • zeros the gyro

Published Topics

/drive_states (cob_relayboard/DriveStates)
  • publishes joint states
/srb_io_dig_in (std_msgs/Int16)
  • publishes digital input
/srb_io_dig_out (std_msgs/Int16)
  • publishes digital output
/srb_io_analog_in (cob_relayboard/IOAnalogIn)
  • publishes analog input
/srb_us_measurements (cob_relayboard/USBoard)
  • publishes ultrasonic sensor readings
/srb_radar_measurements (cob_relayboard/RadarBoard)
  • publishes radar sensor readings
/srb_gyro_measurements (cob_relayboard/GyroBoard)
  • publishes gyro sensor readings
/srb_keypad (cob_relayboard/Keypad)
  • publishes keypad pushbutton readings
/srb_ir_measurements (cob_relayboard/IRSensors)
  • publishes infrared range sensor readings

Parameters

message_timeout (, default: 2.0)
  • sets the timeout for messages sent via serial port
requestRate (, default: 25.0)
  • sets the rate for communicating with the serial relay board
protocol_version (, default: 1)
  • sets the serial relayboard version
ComPort ()
  • sets the comport (for example /dev/ttyUSB1)
drive1/CANId ()
  • sets the canid of the first drive
drive2/CANId ()
  • sets the canid of the second drive
drive1/joint_name ()
  • sets the drives jointname
drive2/joint_name ()
  • sets the drives jointname
hasMotorRight ()
  • are motors connected to the serial relay board? [true/false]
hasMotorLeft ()
  • are motors connected to the serial relay board? [true/false]
hasIOBoard ()
  • is the io-board connected? [true/false]
hasLCDOut ()
  • is there an lcd display? [true/false]
hasUSBoard ()
  • are us-sensors connected? [true/false]
hasRadarBoard ()
  • is the radarboard connected? [true/false]
hasGyroBoard ()
  • does the gyroboard exist? [true/false]
hasKeyPad ()
  • is a keypad in use? [true/false]
hasIRSensors ()
  • are there any ir-sensors? [true/false]

Relayboard msg wrapper

Wrapper nodes for converting relayboard messages into ros messages.

SRB Drive

The SRB Drive is a wrapper package for converting messages from the Serial Relayboard into ros messages.

Subscribed Topics

/drive_states (neo_msgs/DriveStates)
  • publishes joint states in the serial relayboard message format.
/srb_lcd_display (neo_msgs/LCDOut)
  • sets lcd output

Published Topics

/cmd_drives (neo_msgs/DriveCmd)
  • sets joint velocities in the serial relayboard message format.
/joint_states (sensor_msgs/JointStates)
  • publishes the jointstates

SRB IR

The SRB IR is a wrapper package for converting messages from the Serial Relayboard into ros messages.

Subscribed Topics

/srb_ir_measurements (neo_msgs/IRSensors)

Published Topics

/range_ir (sensor_msgs/Range)
  • publishes messages from the ir board

SRB US

The SRB US is a wrapper package for converting messages from the Serial Relayboard into ros messages.

Subscribed Topics

/srb_us_measurements (neo_msgs/USSensors)

Published Topics

/range_us (sensor_msgs/Range)
  • publishes messages from the us board

SRB IR

The SRB IR is a wrapper package for converting messages from the Serial Relayboard into ros messages.

Subscribed Topics

/srb_ir_measurements (neo_msgs/IRSensors)

Published Topics

/range_ir (sensor_msgs/Range)
  • publishes messages from the ir board

Troubleshooting

I can't communicate with the Serial Relay Board, though it powers on and displays stuff on the LCD:

Make sure that your config file does not enably any non existing expansion boards/motors and that you've choose the right relayboard version and poweroff the serial relay board afterwards.

Launching relayboard.launch fails because the $ROBOT_drive*.yaml files are missing:

Set the arg "loadDrives" to "false"

Add your own Problem and Solution here

Wiki: neo_serrelayboard/merged (last edited 2012-03-30 07:53:42 by TimoHackel)