Wiki

Only released in EOL distros:  

Package Summary

ROS Package for the Serializer microcontroller made by the Robotics Connection. (As of 2012, the Serializer is now called the Element and is sold by cmRobot.com.)

Package Summary

ROS Package for the Serializer microcontroller made by the Robotics Connection. (As of 2012, the Serializer is now called the Element and is sold by cmRobot.com.)

Package Summary

ROS Package for the Serializer microcontroller made by the Robotics Connection. (As of 2012, the Serializer is now called the Element and is sold by cmRobot.com.)

Overview

The Serializer package consists of a Python driver and ROS node for the Serializer microcontroller made by the Robotics Connection. The Serializer connects to a PC or SBC using either a USB port or XBEE radios.

Serializer Node

serializer-node.py

A ROS node for the Serializer microcontroller made by the Robotics Connection.

Subscribed Topics

/cmd_vel (geometry_msgs/Twist)

Published Topics

/odom (nav_msgs/Odometry) ~sensors (serializer/SensorState)

Services

~SetServo (serializer/SetServo) ~GetAnalog (serializer/GetAnalog) ~Voltage (serializer/Voltage) ~Ping (serializer/Ping) ~GP2D12 (serializer/GP2D12) ~PhidgetsTemperature (serializer/PhidgetsTemperature) ~PhidgetsVoltage (serializer/PhidgetsVoltage) ~PhidgetsCurrent (serializer/PhidgetsCurrent) ~Rotate (serializer/Rotate) ~TravelDistance (serializer/TravelDistance)

Parameters

~port (str, default: /dev/ttyUSB0) ~baud (int, default: 19200) ~timeout (float, default: 0.5) ~publish_sensors (bool, default: False) ~sensor_rate (int, default: 10) ~use_base_controller (bool, default: False) ~units (int, default: 0) ~wheel_diameter (float, default: none) ~wheel_track (float, default: none) ~encoder_type (int, default: 1) ~encoder_resolution (int, default: none) ~gear_reduction (float, default: 1.0) ~motors_reversed (bool, default: False) ~init_pid (bool, default: False) ~VPID_P (int, default: none) ~VPID_I (int, default: none) ~VPID_D (int, default: none) ~VPID_L (int, default: none) ~DPID_P (int, default: none) ~DPID_I (int, default: none) ~DPID_D (int, default: none) ~DPID_L (int, default: none) ~base_controller_rate (int, default: 10)

Provided tf Transforms

odombase_link

Configuration

The recommended way to configure the Serializer node is to use a YAML file specifying the required parameters. A sample parameter file called sample_params.yaml is included in the distribution and is shown below. Note that many of the parameters are commented out and must be set and un-commented before you can use the node with your Serialzier:

port: /dev/ttyUSB0
baud: 19200
timeout: 1
sensor_rate: 10
#use_base_controller: True
#base_controller_rate: 10
#wheel_diameter: <fill in and uncomment for your robot>
#wheel_track: <fill in and uncomment for your robot>
#encoder_type: 1
#encoder_resolution: <fill in and uncomment for your robot>
#gear_reduction: <fill in and uncomment for your robot>
#motors_reversed: False
#init_pid: True
#units: 0
#VPID_P: <fill in and uncomment for your robot>
#VPID_I: <fill in and uncomment for your robot>
#VPID_D: <fill in and uncomment for your robot>
#VPID_L: <fill in and uncomment for your robot>
#DPID_P: <fill in and uncomment for your robot>
#DPID_I: <fill in and uncomment for your robot>
#DPID_D: <fill in and uncomment for your robot>
#DPID_A: <fill in and uncomment for your robot>
#DPID_B: <fill in and uncomment for your robot>

publish_sensors: True

# Examples only - change accordingly for your robot.
analog: { voltage: {pin: 5, type: Voltage}, drive_current: {pin: 1, type: PhidgetsCurrent}, light_sensor: {pin: 2, type: Analog} }
#digital: { base_sonar: {pin: 5, type: Ping} }

Example Launch File

<launch>
   <node name="serializer" pkg="serializer" type="serializer_node.py" output="screen">
   <rosparam file="$(find my_robot)/params/serializer_params.yaml" command="load" />
   </node>
</launch>

Usage Notes

Wiki: serializer (last edited 2012-11-14 15:23:07 by Patrick Goebel)