No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.

ubiquity_motor package from ubiquity_motor repo

ubiquity_motor

Package Summary

Tags No category tags.
Version 0.9.0
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/UbiquityRobotics/ubiquity_motor.git
VCS Type git
VCS Version indigo-devel
Last Updated 2019-06-06
Dev Status DEVELOPED
Released RELEASED

Package Description

Provides a ROS interface to Ubiquity Robotics Magni motor controllers

Additional Links

No additional links.

Maintainers

  • Rohan Agrawal

Authors

No additional authors.

ubiquity_motor

Build Status

Introduction

This is a Package that provides a ROS interface for the motors in UbiquityRobotics robots. It communicates with the motor controller via a serial port.

Installation

This package may be installed from binaries for both x86 and ARM architectures.

The package may be installed with:

sudo apt-get install ros-kinetic-ubiquity-motor

Configuration launch files for the Magni robot are in the package magni_robot.

ROS API

Subscribed topics

cmd_vel geometry_msgs/Twist The command input.

Published topics

odom nav_msgs/Odometry Odometry computed from motor controller messages.

/tf tf/tfMessage The transform from odom to base_link

battery_state sensor_msgs/BatteryState Charge state of the robot's batteries.

publish_cmd geometry_msgs/TwistStamped The value of cmd_vel after limits were applied. Available if the publish_cmd paramater is set.

Parameters

Comms paramaters

serial_port (string, default: "/dev/ttyS0") Name of device with which to communicate with motor controller hardware.

baud_rate (int, default: 9600) Baud rate for serial communication with motor controller hardware.

Firmware parameters

pid_proportional (int, default: 5000) The P paramater for the motor controller's PID controller.

pid_integral (int, default: 10) The I paramater for the motor controller's PID controller.

pid_derivative (int, default: 1) The D paramater for the motor controller's PID controller.

pid_denominator (int, default: 1000) Divisor for the above PID paramaters.

pid_moving_buffer_size (int, default: 10) Size of a moving buffer used in the control loop.

deadman_timer (int, default: 2400000) If a message is not received after this interval (in MCU clock ticks), the motor controller should assume an error condition and stop.

battery_voltage_multiplier (float, default: 0.5185) Used to calculate battery voltage from motor controller messages.

battery_voltage_offset (float, default: 0.40948) Used to calculate battery voltage from motor controller messages.

Node parameters

controller_loop_rate (double, default: 20.0) Rate (in Hz) at which to send commands to the motor controller hardware.

diff_drive_controller paramaters

left_wheel (string | string[...]) Left wheel joint name or list of joint names.

right_wheel (string | string[...]) Right wheel joint name or list of joint names.

pose_covariance_diagonal (double[6]) Diagonal of the covariance matrix for odometry pose publishing.

twist_covariance_diagonal (double[6]) Diagonal of the covariance matrix for odometry twist publishing.

publish_rate (double, default: 50.0) Frequency (in Hz) at which the odometry is published. Used for both tf and odom.

wheel_separation_multiplier (double, default: 1.0) Multiplier applied to the wheel separation parameter. This is used to account for a difference between the robot model and a real robot.

wheel_radius_multiplier (double, default: 1.0) Multiplier applied to the wheel radius parameter. This is used to account for a difference between the robot model and a real robot.

cmd_vel_timeout (double, default: 0.5) Allowed period (in seconds) allowed between two successive velocity commands. After this delay, a zero speed command will be sent to the wheels.

base_frame_id (string, default: base_link) Base frame_id, which is used to fill in the child_frame_id of the Odometry messages and TF.

linear/x/has_velocity_limits (bool, default: false) Whether the controller should limit linear speed.

linear/x/max_velocity (double) Maximum linear velocity (in m/s).

linear/x/min_velocity (double) Minimum linear velocity (in m/s). Setting this to 0.0 will disable backwards motion. When unspecified, -max_velocity is used.

linear/x/has_acceleration_limits (bool, default: false) Whether the controller should limit linear acceleration.

linear/x/max_acceleration (double) Maximum linear acceleration (in m/s^2).

linear/x/min_acceleration (double) Minimum linear acceleration (in m/s^2). When unspecified, -max_acceleration is used.

linear/x/has_jerk_limits (bool, default: false) Whether the controller should limit linear jerk.

linear/x/max_jerk (double) Maximum linear jerk (in m/s^3).

angular/z/has_velocity_limits (bool, default: false) Whether the controller should limit angular velocity.

angular/z/max_velocity (double) Maximum angular velocity (in rad/s).

angular/z/min_velocity (double) Minimum angular velocity (in rad/s). Setting this to 0.0 will disable counter-clockwise rotation. When unspecified, -max_velocity is used.

angular/z/has_acceleration_limits (bool, default: false) Whether the controller should limit angular acceleration.

angular/z/max_acceleration (double) Maximum angular acceleration (in rad/s^2).

angular/z/min_acceleration (double) Minimum angular acceleration (in rad/s^2). When unspecified, -max_acceleration is used.

angular/z/has_jerk_limits (bool, default: false) Whether the controller should limit angular jerk.

angular/z/max_jerk (double) Maximum angular jerk (in m/s^3).

enable_odom_tf (bool, default: true) Whether to publish to TF directly.

wheel_separation (double) The distance of the left and right wheel(s). The diff_drive_controller will attempt to read the value from the URDF if this parameter is not specified.

wheel_radius (double) Radius of the wheels. It is expected they all have the same size. The diff_drive_controller will attempt to read the value from the URDF if this parameter is not specified.

odom_frame_id (string, default: "/odom") Name of frame in which to publish odometry.

publish_cmd (bool, default: false) Publish the velocity command to be executed. It is to monitor the effect of limiters on the controller input.

allow_multiple_cmd_vel_publishers (bool, default: false) When enabled the controller will brake if there is more than one publishers on its input topic, ~/cmd_vel.

CHANGELOG

Changelog for package ubiquity_motor

0.9.0 (2019-04-03)

  • Allow selecting what firmware version to download
  • Adding max motor forward and reverse speeds and max pwm settings all the way from ROS parameters to being pushed to the controller board.
  • Analyze information to create diagnostics statuses
  • Major update to test_motor_board.py that accepts greatly improved parameter read and set as well as ability to specify com port device to be used
  • Adds support for set of hw rev and for pre rev 5.0 estop threshold
  • Contributors: Mark Johnston, Rohan Agrawal

0.8.0 (2019-01-01)

  • Added firmware loading tool
  • Added misc testing scripts
  • Don\'t die when communication not working, only print error
  • Use std mutex/atomic instead of boost
  • Reduce print level on integral/pid limits
  • Contributors: Rohan Agrawal

0.7.1 (2018-06-16)

  • new pid params
  • Contributors: Rohan Agrawal

0.7.0 (2018-04-15)

  • Add script to probe the robot for information
  • Add Serial Protocol Documentation Fixes #33
  • Add ROS API documentation (#32)
    • Add API documentation
    • Remove unused serial_loop_rate variable
  • Contributors: Jim Vaughan, Rohan Agrawal

0.6.1 (2017-11-12)

  • Reset controller when time jumps (#31) Reset the controller and zero commanded velocity an unexpected time change occurs (such as by NTP). This prevents unexpected robot motion.
  • Contributors: Jim Vaughan, Rohan Agrawal

0.6.0 (2017-09-15)

  • Publish battery voltage messages (#29) Added battery status message calibrated on 4.4 board serial no 450
  • Contributors: Jim Vaughan, Rohan Agrawal, David Crawley

0.5.2 (2017-05-06)

  • Remove debug topics (#25)
    • Remove debug topics
    • Remove tests of debug registers
  • Merge pull request #22 from UbiquityRobotics/suppresserrorsatstartup Supress some potentially confusing warnings
  • Increase error_threshold
  • Merge pull request #23 from UbiquityRobotics/fix_acceleration_limits Fix computaion of elapsed time so that it is +ve
  • Fix computaion of elapsed time so that it is +ve
  • Supress some potentially confusing warnings
  • Clean out serial loop (#20)
    • Transmit the the same thread caller, not in serial thread
    • go back to debug on tranmissions
    • Use smarter waits and reads in reading thread
    • Get rid of serial loop rate
    • Reformat
  • Contributors: Jim Vaughan, Rohan Agrawal

0.5.1 (2017-03-04)

  • Reduce flakey-ness of the tests
  • Try to get firmware version, throw after 10 tries
  • Code cleanup
  • Use fixed sized arrays (not vectors) where they make sense
  • Use a seperate shared_queue class
  • Performance improvements
  • Contributors: Rohan Agrawal

0.5.0 (2016-09-04)

  • NOTE: This version drops support for firmware versions before 24
  • Use new 8-byte serial protocol
  • Add support for using dynamic_reconfigure to change PID parameters
  • Add support for setting the deadman timer via a parameter
  • Add support for debug registers, do enable better firmware diagnostics
  • Add support for limit reached warnings from firmware
  • Improved testing, more coverage and cleaner tests
  • Have motor_node explicitly return an exit code
  • Reduce memory allocations caused by resizing vectors
  • Use size_t instead of int for iterating
  • Contributors: Rohan Agrawal, Jim Vaughan

0.4.1 (2016-04-09)

  • add support for firmware version 19
  • add support for 0xDD (checksum) error response
  • Make variable name for rejected bytes \'rejected\'
  • Reduce memcopy-ing
  • Contributors: Rohan Agrawal

0.4.0 (2016-03-08)

  • Cleanup deps, have motor_node be linked to shared lib
  • Update Copyright Dates
  • Removed old motor_unit_test
  • Moved motor_message_test
  • Make the serial thread loop at the passed in value instead of always 1000
  • Add interruption point to Serial Thread
  • Comment out serial tests
  • Added motor_serial_tests
  • Always print firmware version
  • fix up code that checks a firmware version response
  • Using Async Spinner instead of roscontrol thread
  • more command grouping
  • reduced unnecessary output locking using bool method like tony did with input
  • reduce locking by grouping commands to send together
  • Contributors: Rohan Agrawal

0.3.2 (2015-11-28)

  • Many fixes for bad odometery, more robust serial protocol
  • Add code to speed up serial. Major improvements in latency to the motor board
  • Contributors: atp42

0.3.1 (2015-10-12)

  • fixed install rules for Cmake
  • added license to test code
  • Contributors: Rohan Agrawal

0.3.0 (2015-09-20)

  • Remove annoying debug print
  • Fix numerous PID issues. First, add velocity reporting. Second, fix 10x unit error between specified velocity and actual. Third, make PID parameter changes actually world.
  • actually calling the function now
  • added pid params (hopefully)
  • added more unit tests
  • added some more unit test coverage, b/c I spent half an hour on an avoidable wild goose chase
  • updated unit tests
  • renamed motor command to motor message
  • Contributors: Jim Vaughan, Rohan Agrawal
  • Updated package.xml with new dependencies, bumped version number
  • updated travis button
  • Merge refactoring branch into indigo-devel
  • cleaned up some stuff, and got odometery running
  • added odom, and changed loop rates
  • using the correct tics to radians, and now at 20hz
  • cleaned up travis file
  • forgot to remove bad include
  • moved control loop to seperate thread to make it work
  • converted branch to the indigo-devel code
  • added missing ubiquity_motor.cpp
  • changed logging from the output speeds to the input speeds
  • whoops, fotgot to remove typedef for chrono
  • removed boost_chrono dependency, less dependencies is better right
  • explictly apt-get boost-chrono
  • manually installing boost in travis
  • changed travis notfications for slack
  • Fix issue where serial data wouldn\'t print Using a pointer for the motors object in the Motor Serial class, this allows for the initalization to be in the constructer.
  • added slack integration to travis
  • add slack intergration to travis
  • working on making diff_drive_controller work
  • fixed boost expection error
  • Print ros_error on catch for better debugging
  • worked on serial thread loop
  • fix test
  • more exception handling in thread
  • added baud rate switch/case to prevent invalid bauds
  • basic serial thread working
  • change testsuite naming to ubiquity_motor_CLASS
  • added catkin_make to travis because build errors fixed
  • added mutexed add and get command functions
  • added test cases for invalid type/register
  • put header ifndef in motor_serial header
  • redid motor_serial header with boost threads and std::queues
  • added enum checking to getters and setters
  • added deserialize verification
  • started added comments to the code
  • removed unnessary imports
  • added incorrect checksum test case
  • added deserialize funtionality and test
  • added serialize and checksum functions
  • fix typo in travis file
  • changed travis config to run the tests
  • added tests for motor command class
  • Started adding unit tests
  • fixed enum scoping errors
  • fix wierd git problem
  • renamed source files to follow ROS standard practices
  • removed old files that we are not going to use
  • changed motor command class to use new serial protocol spec
  • testing build
  • Merge pull request #2 from jim-v/hydro Added child_frame_id to odom messages.
  • Added child_frame_id to odom messages.
  • Changed MotorDriver to MotorHardware
  • added missing dependencies to package.xml to fix build errors
  • Update README.md
  • added header for motor driver class
  • Merge pull request #1 from jim-v/hydro Added covariance to the outgoing odom messages.
  • Added covariance to the outgoing odom messages.
  • removed old node files
  • added serial dependency to package.xml
  • Fixed build errors and removed Ubiquity prefix from classes
  • changed travis branch to refactoring
  • added serial reader thread and callback
  • added BSD license to crc8 files
  • added UbiquityMotorSerial class
  • created UbiquityMotorCommand class
  • add build status to README
  • changed node graph name
  • added travis configureation file
  • Contributors: Jim Vaughan, Kurt Christofferson, Rohan Agrawal

0.1.0 (2015-02-14)

  • updated verstion number
  • Added install rule
  • Initial Commit
  • Contributors: Rohan Agrawal

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

No launch files found

Messages

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ubiquity_motor at answers.ros.org

No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.

ubiquity_motor package from ubiquity_motor repo

ubiquity_motor

Package Summary

Tags No category tags.
Version 0.9.0
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/UbiquityRobotics/ubiquity_motor.git
VCS Type git
VCS Version indigo-devel
Last Updated 2019-06-06
Dev Status DEVELOPED
Released RELEASED

Package Description

Provides a ROS interface to Ubiquity Robotics Magni motor controllers

Additional Links

No additional links.

Maintainers

  • Rohan Agrawal

Authors

No additional authors.

ubiquity_motor

Build Status

Introduction

This is a Package that provides a ROS interface for the motors in UbiquityRobotics robots. It communicates with the motor controller via a serial port.

Installation

This package may be installed from binaries for both x86 and ARM architectures.

The package may be installed with:

sudo apt-get install ros-kinetic-ubiquity-motor

Configuration launch files for the Magni robot are in the package magni_robot.

ROS API

Subscribed topics

cmd_vel geometry_msgs/Twist The command input.

Published topics

odom nav_msgs/Odometry Odometry computed from motor controller messages.

/tf tf/tfMessage The transform from odom to base_link

battery_state sensor_msgs/BatteryState Charge state of the robot's batteries.

publish_cmd geometry_msgs/TwistStamped The value of cmd_vel after limits were applied. Available if the publish_cmd paramater is set.

Parameters

Comms paramaters

serial_port (string, default: "/dev/ttyS0") Name of device with which to communicate with motor controller hardware.

baud_rate (int, default: 9600) Baud rate for serial communication with motor controller hardware.

Firmware parameters

pid_proportional (int, default: 5000) The P paramater for the motor controller's PID controller.

pid_integral (int, default: 10) The I paramater for the motor controller's PID controller.

pid_derivative (int, default: 1) The D paramater for the motor controller's PID controller.

pid_denominator (int, default: 1000) Divisor for the above PID paramaters.

pid_moving_buffer_size (int, default: 10) Size of a moving buffer used in the control loop.

deadman_timer (int, default: 2400000) If a message is not received after this interval (in MCU clock ticks), the motor controller should assume an error condition and stop.

battery_voltage_multiplier (float, default: 0.5185) Used to calculate battery voltage from motor controller messages.

battery_voltage_offset (float, default: 0.40948) Used to calculate battery voltage from motor controller messages.

Node parameters

controller_loop_rate (double, default: 20.0) Rate (in Hz) at which to send commands to the motor controller hardware.

diff_drive_controller paramaters

left_wheel (string | string[...]) Left wheel joint name or list of joint names.

right_wheel (string | string[...]) Right wheel joint name or list of joint names.

pose_covariance_diagonal (double[6]) Diagonal of the covariance matrix for odometry pose publishing.

twist_covariance_diagonal (double[6]) Diagonal of the covariance matrix for odometry twist publishing.

publish_rate (double, default: 50.0) Frequency (in Hz) at which the odometry is published. Used for both tf and odom.

wheel_separation_multiplier (double, default: 1.0) Multiplier applied to the wheel separation parameter. This is used to account for a difference between the robot model and a real robot.

wheel_radius_multiplier (double, default: 1.0) Multiplier applied to the wheel radius parameter. This is used to account for a difference between the robot model and a real robot.

cmd_vel_timeout (double, default: 0.5) Allowed period (in seconds) allowed between two successive velocity commands. After this delay, a zero speed command will be sent to the wheels.

base_frame_id (string, default: base_link) Base frame_id, which is used to fill in the child_frame_id of the Odometry messages and TF.

linear/x/has_velocity_limits (bool, default: false) Whether the controller should limit linear speed.

linear/x/max_velocity (double) Maximum linear velocity (in m/s).

linear/x/min_velocity (double) Minimum linear velocity (in m/s). Setting this to 0.0 will disable backwards motion. When unspecified, -max_velocity is used.

linear/x/has_acceleration_limits (bool, default: false) Whether the controller should limit linear acceleration.

linear/x/max_acceleration (double) Maximum linear acceleration (in m/s^2).

linear/x/min_acceleration (double) Minimum linear acceleration (in m/s^2). When unspecified, -max_acceleration is used.

linear/x/has_jerk_limits (bool, default: false) Whether the controller should limit linear jerk.

linear/x/max_jerk (double) Maximum linear jerk (in m/s^3).

angular/z/has_velocity_limits (bool, default: false) Whether the controller should limit angular velocity.

angular/z/max_velocity (double) Maximum angular velocity (in rad/s).

angular/z/min_velocity (double) Minimum angular velocity (in rad/s). Setting this to 0.0 will disable counter-clockwise rotation. When unspecified, -max_velocity is used.

angular/z/has_acceleration_limits (bool, default: false) Whether the controller should limit angular acceleration.

angular/z/max_acceleration (double) Maximum angular acceleration (in rad/s^2).

angular/z/min_acceleration (double) Minimum angular acceleration (in rad/s^2). When unspecified, -max_acceleration is used.

angular/z/has_jerk_limits (bool, default: false) Whether the controller should limit angular jerk.

angular/z/max_jerk (double) Maximum angular jerk (in m/s^3).

enable_odom_tf (bool, default: true) Whether to publish to TF directly.

wheel_separation (double) The distance of the left and right wheel(s). The diff_drive_controller will attempt to read the value from the URDF if this parameter is not specified.

wheel_radius (double) Radius of the wheels. It is expected they all have the same size. The diff_drive_controller will attempt to read the value from the URDF if this parameter is not specified.

odom_frame_id (string, default: "/odom") Name of frame in which to publish odometry.

publish_cmd (bool, default: false) Publish the velocity command to be executed. It is to monitor the effect of limiters on the controller input.

allow_multiple_cmd_vel_publishers (bool, default: false) When enabled the controller will brake if there is more than one publishers on its input topic, ~/cmd_vel.

CHANGELOG

Changelog for package ubiquity_motor

0.9.0 (2019-04-03)

  • Allow selecting what firmware version to download
  • Adding max motor forward and reverse speeds and max pwm settings all the way from ROS parameters to being pushed to the controller board.
  • Analyze information to create diagnostics statuses
  • Major update to test_motor_board.py that accepts greatly improved parameter read and set as well as ability to specify com port device to be used
  • Adds support for set of hw rev and for pre rev 5.0 estop threshold
  • Contributors: Mark Johnston, Rohan Agrawal

0.8.0 (2019-01-01)

  • Added firmware loading tool
  • Added misc testing scripts
  • Don\'t die when communication not working, only print error
  • Use std mutex/atomic instead of boost
  • Reduce print level on integral/pid limits
  • Contributors: Rohan Agrawal

0.7.1 (2018-06-16)

  • new pid params
  • Contributors: Rohan Agrawal

0.7.0 (2018-04-15)

  • Add script to probe the robot for information
  • Add Serial Protocol Documentation Fixes #33
  • Add ROS API documentation (#32)
    • Add API documentation
    • Remove unused serial_loop_rate variable
  • Contributors: Jim Vaughan, Rohan Agrawal

0.6.1 (2017-11-12)

  • Reset controller when time jumps (#31) Reset the controller and zero commanded velocity an unexpected time change occurs (such as by NTP). This prevents unexpected robot motion.
  • Contributors: Jim Vaughan, Rohan Agrawal

0.6.0 (2017-09-15)

  • Publish battery voltage messages (#29) Added battery status message calibrated on 4.4 board serial no 450
  • Contributors: Jim Vaughan, Rohan Agrawal, David Crawley

0.5.2 (2017-05-06)

  • Remove debug topics (#25)
    • Remove debug topics
    • Remove tests of debug registers
  • Merge pull request #22 from UbiquityRobotics/suppresserrorsatstartup Supress some potentially confusing warnings
  • Increase error_threshold
  • Merge pull request #23 from UbiquityRobotics/fix_acceleration_limits Fix computaion of elapsed time so that it is +ve
  • Fix computaion of elapsed time so that it is +ve
  • Supress some potentially confusing warnings
  • Clean out serial loop (#20)
    • Transmit the the same thread caller, not in serial thread
    • go back to debug on tranmissions
    • Use smarter waits and reads in reading thread
    • Get rid of serial loop rate
    • Reformat
  • Contributors: Jim Vaughan, Rohan Agrawal

0.5.1 (2017-03-04)

  • Reduce flakey-ness of the tests
  • Try to get firmware version, throw after 10 tries
  • Code cleanup
  • Use fixed sized arrays (not vectors) where they make sense
  • Use a seperate shared_queue class
  • Performance improvements
  • Contributors: Rohan Agrawal

0.5.0 (2016-09-04)

  • NOTE: This version drops support for firmware versions before 24
  • Use new 8-byte serial protocol
  • Add support for using dynamic_reconfigure to change PID parameters
  • Add support for setting the deadman timer via a parameter
  • Add support for debug registers, do enable better firmware diagnostics
  • Add support for limit reached warnings from firmware
  • Improved testing, more coverage and cleaner tests
  • Have motor_node explicitly return an exit code
  • Reduce memory allocations caused by resizing vectors
  • Use size_t instead of int for iterating
  • Contributors: Rohan Agrawal, Jim Vaughan

0.4.1 (2016-04-09)

  • add support for firmware version 19
  • add support for 0xDD (checksum) error response
  • Make variable name for rejected bytes \'rejected\'
  • Reduce memcopy-ing
  • Contributors: Rohan Agrawal

0.4.0 (2016-03-08)

  • Cleanup deps, have motor_node be linked to shared lib
  • Update Copyright Dates
  • Removed old motor_unit_test
  • Moved motor_message_test
  • Make the serial thread loop at the passed in value instead of always 1000
  • Add interruption point to Serial Thread
  • Comment out serial tests
  • Added motor_serial_tests
  • Always print firmware version
  • fix up code that checks a firmware version response
  • Using Async Spinner instead of roscontrol thread
  • more command grouping
  • reduced unnecessary output locking using bool method like tony did with input
  • reduce locking by grouping commands to send together
  • Contributors: Rohan Agrawal

0.3.2 (2015-11-28)

  • Many fixes for bad odometery, more robust serial protocol
  • Add code to speed up serial. Major improvements in latency to the motor board
  • Contributors: atp42

0.3.1 (2015-10-12)

  • fixed install rules for Cmake
  • added license to test code
  • Contributors: Rohan Agrawal

0.3.0 (2015-09-20)

  • Remove annoying debug print
  • Fix numerous PID issues. First, add velocity reporting. Second, fix 10x unit error between specified velocity and actual. Third, make PID parameter changes actually world.
  • actually calling the function now
  • added pid params (hopefully)
  • added more unit tests
  • added some more unit test coverage, b/c I spent half an hour on an avoidable wild goose chase
  • updated unit tests
  • renamed motor command to motor message
  • Contributors: Jim Vaughan, Rohan Agrawal
  • Updated package.xml with new dependencies, bumped version number
  • updated travis button
  • Merge refactoring branch into indigo-devel
  • cleaned up some stuff, and got odometery running
  • added odom, and changed loop rates
  • using the correct tics to radians, and now at 20hz
  • cleaned up travis file
  • forgot to remove bad include
  • moved control loop to seperate thread to make it work
  • converted branch to the indigo-devel code
  • added missing ubiquity_motor.cpp
  • changed logging from the output speeds to the input speeds
  • whoops, fotgot to remove typedef for chrono
  • removed boost_chrono dependency, less dependencies is better right
  • explictly apt-get boost-chrono
  • manually installing boost in travis
  • changed travis notfications for slack
  • Fix issue where serial data wouldn\'t print Using a pointer for the motors object in the Motor Serial class, this allows for the initalization to be in the constructer.
  • added slack integration to travis
  • add slack intergration to travis
  • working on making diff_drive_controller work
  • fixed boost expection error
  • Print ros_error on catch for better debugging
  • worked on serial thread loop
  • fix test
  • more exception handling in thread
  • added baud rate switch/case to prevent invalid bauds
  • basic serial thread working
  • change testsuite naming to ubiquity_motor_CLASS
  • added catkin_make to travis because build errors fixed
  • added mutexed add and get command functions
  • added test cases for invalid type/register
  • put header ifndef in motor_serial header
  • redid motor_serial header with boost threads and std::queues
  • added enum checking to getters and setters
  • added deserialize verification
  • started added comments to the code
  • removed unnessary imports
  • added incorrect checksum test case
  • added deserialize funtionality and test
  • added serialize and checksum functions
  • fix typo in travis file
  • changed travis config to run the tests
  • added tests for motor command class
  • Started adding unit tests
  • fixed enum scoping errors
  • fix wierd git problem
  • renamed source files to follow ROS standard practices
  • removed old files that we are not going to use
  • changed motor command class to use new serial protocol spec
  • testing build
  • Merge pull request #2 from jim-v/hydro Added child_frame_id to odom messages.
  • Added child_frame_id to odom messages.
  • Changed MotorDriver to MotorHardware
  • added missing dependencies to package.xml to fix build errors
  • Update README.md
  • added header for motor driver class
  • Merge pull request #1 from jim-v/hydro Added covariance to the outgoing odom messages.
  • Added covariance to the outgoing odom messages.
  • removed old node files
  • added serial dependency to package.xml
  • Fixed build errors and removed Ubiquity prefix from classes
  • changed travis branch to refactoring
  • added serial reader thread and callback
  • added BSD license to crc8 files
  • added UbiquityMotorSerial class
  • created UbiquityMotorCommand class
  • add build status to README
  • changed node graph name
  • added travis configureation file
  • Contributors: Jim Vaughan, Kurt Christofferson, Rohan Agrawal

0.1.0 (2015-02-14)

  • updated verstion number
  • Added install rule
  • Initial Commit
  • Contributors: Rohan Agrawal

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

No launch files found

Messages

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ubiquity_motor at answers.ros.org

ubiquity_motor package from ubiquity_motor repo

ubiquity_motor

Package Summary

Tags No category tags.
Version 0.1.0
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/UbiquityRobotics/ubiquity_motor.git
VCS Type git
VCS Version hydro
Last Updated 2015-08-01
Dev Status DEVELOPED
Released RELEASED

Package Description

Provides a ROS interface to Ubiquity Robotics motor controllers

Additional Links

No additional links.

Maintainers

  • Rohan Agrawal

Authors

No additional authors.

ubiquity_motor

Build Status

Package that provides a ROS interface for the motors in UbiquityRobotics robots

To run this node:

rosrun ubiquity_motor ubiquity_motor

Parameters and defaults

    /ubiquity/motor/device_name /dev/ttyUSB0 
/ubiquity/motor/baud_rate 9600
/ubiquity/motor/odom_rate 1.0/20.0
/ubiquity/motor/diag_rate 2
/ubiquity/motor/spin_rate 1.0/100.0

Subscribes to

/cmd_vel    geometry_msgs::Twist

Publishes

/odom       nav_msgs::Odometry  
CHANGELOG
No CHANGELOG found.

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ubiquity_motor at answers.ros.org