ros_control_boilerplate package from ros_control_boilerplate reporos_control_boilerplate |
|
Package Summary
Tags | No category tags. |
Version | 0.6.1 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/PickNikRobotics/ros_control_boilerplate.git |
VCS Type | git |
VCS Version | noetic-devel |
Last Updated | 2021-07-10 |
Dev Status | MAINTAINED |
CI status | Continuous Integration : 0 / 0 |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Dave Coleman
Authors
- Dave Coleman
ROS Control Boilerplate
Simple simulation interface and template for setting up a hardware interface for ros_control. The idea is you take this as a starting point for creating your hardware interfaces, and it is needed because ros_control documentation is sparse. This boilerplate demonstrates:
- Creating a hardware_interface for multiple joints for use with ros_control
- Position Trajectory Controller
- Control of 2 joints of the simple robot “RRBot” pictured below
- Loading configurations with roslaunch and yaml files
- Generating a random trajectory and sending it over an actionlib interface
- Partial support of joint mode switching (needs to be improved)
- Joint limits
- Pass-through non-physics based robot simulator
- Visualization in Rviz
This open source project was developed at PickNik Robotics. Need professional ROS development and consulting? Contact us at projects@picknik.ai for a free consultation.
Maintainers
Special thanks to the following maintainers of this repo:
- Dave Coleman (@davetcoleman)
- Andy Zelenak (@AndyZe)
- John Morris (@zultron)
- Robert Wilbrandt (@RobertWilbrandt)
Status:
Video Demo
See YouTube for a very modest video demo.
Install
This package depends on gazebo_ros_demos for its rrbot_description
package, but you must add it to your catkin workspace by source:
git clone https://github.com/ros-simulation/gazebo_ros_demos.git
Then, either install this package from source so you can develop off of it, or install from debian:
sudo apt-get install ros-indigo-ros-control-boilerplate
Run Simulation Demo
This package is setup to run the “RRBot” two joint revolute-revolute robot demo. This “template package” is located in the ros_control_boilerplate as a subfolder that you can easily rename and reuse. To run its ros_control non-physics-based simulated hardware interface, run:
roslaunch ros_control_boilerplate rrbot_simulation.launch
To visualize its published /tf
coordinate transforms in Rviz run:
roslaunch ros_control_boilerplate rrbot_visualize.launch
To send a random, dummy trajectory to execute, run:
roslaunch ros_control_boilerplate rrbot_test_trajectory.launch
Customize
To test this as a simulation interface for your robot, you can quickly rename the subfolder package into the name of your robot using the following commands:
function findreplace() {
grep -lr -e "$1" * | xargs sed -i "s/$1/$2/g" ;
}
function findreplacefilename() {
find . -depth -name "*$1*" -exec bash -c 'for f; do base=${f##*/}; mv -- "$f" "${f%/*}/${base//'$1'/'$2'}"; done' _ {} +
}
findreplacefilename rrbot myrobot
findreplace rrbot myrobot
findreplace RRBot MyRobot
findreplace RRBOT MYROBOT
Then add the necessary code to communicate with your robot via USB/serial/ethernet/etc in the file myrobot_hw_interface.cpp
.
Setting an Initial Position, Using with MoveIt!
If you need your robot to startup at a particular position in simulation, or you would like to use this funcitonality to simulate your robot with MoveIt!, see the downstream package (it depends on this package) moveit_sim_controller
Other Helper Tools
Recording to CSV
Write the commands from a trajectory controller to csv file
rosrun ros_control_boilerplate controller_to_csv SAVE_TO_FILE_PATH CONTROLLER_STATE_TOPIC TIME_TO_RECORD
Commanding from CSV
Read from csv file and execute on robot
rosrun ros_control_boilerplate csv_to_controller READ_FROM_FILE_PATH CONTROLLER_STATE_TOPIC TIME_TO_RECORD
Commanding from Keyboard
Joint-level teleop from a keyboard (TODO: remove had coded topic names)
rosrun ros_control_boilerplate keyboard_teleop
Limitations
- Does not implement estops, transmissions, or other fancy new features of ros_control
- Does not have any hard realtime code, this depends largely on your platform, kernel, OS, etc
- Only position control is fully implemented, though some code is in place for velocity control
Contribute
Please add features, make corrections, and address the limitations above, thanks!
Changelog for package ros_control_boilerplate
0.6.1 (2021-02-23)
- Increase required cmake version to fix CMake CMP0048 warning
- Replaced boost with std shared_ptr
- Make NodeHandle a const reference
- test_trajectory: Read joints list from trajectory controller params
- Increase num AsyncSpinners where control loops are instantiated
- Contributors: AndyZe, Dave Coleman, John Morris, Ramon Wijnands, Robert Wilbrandt, Tim Übelhör
0.6.0 (2020-06-16)
- Generalize GenericHWControlLoop to all types of RobotHW (#38)
- Update README.md
- Fix build badges in README (#37)
- Update .travis.yml to use moveit_ci (#36)
- Contributors: Jafar Abdi, RobertWilbrandt
0.5.0 (2019-09-18)
- Merge pull request #20 from ipa-mdl/fix-loop-deadlock refactor GenericHWControlLoop to a sleep-based loop
- Merge pull request #19 from PaulBouchier/kinetic-devel change sim_control_mode to 0 (position) so demo works
- Merge pull request #21 from MohmadAyman/fix_typo fixed a typo in readme
- fixed a typo in readme
- refactor GenericHWControlLoop to a sleep-based loop using ros:Timer might lead to deadlocks
- initialize desired_update_period_ (renamed from desired_update_freq_)
- Revert "Depend on Eigen3" This reverts commit 608cc2fd64739ee56c3fbd5a0ae9d5d26b5684d0.
- change sim_control_mode to 0 (position) so demo works
- Merge pull request #16 from lucasw/xml-version xml version tags for all launch files.
- xml version tags for all launch files.
- Merge pull request #15 from enricotoi/kinetic-devel Fixed a typo in the README.md
- Fixed a typo in the README.md rrbot_simulaton.launch -> rrbot_simulation.launch
- Update README.md
- Contributors: Dave Coleman, Lucas Walter, Mathias Lüdtke, Paul Bouchier, enrico toivinen, mohmad ayman
0.4.1 (2017-06-20)
- Changed boost::shared_ptr to typedef for Lunar support
- Implemented simulated velocity control
- Contributors: Dave Coleman
0.4.0 (2016-06-29)
- Depend on Eigen3
- Remove dependency on meta package
- Fixed var name
- Contributors: Dave Coleman
0.3.1 (2016-01-13)
- API deprecation fix for rosparam_shortcuts
- Switched to better use of rosparam_shortcuts
- Ability to record all controller status data, not just at certain frequency
- Contributors: Dave Coleman
0.3.0 (2015-12-27)
- Removed bad reference name
- Switched to using name_
- Record error data
- Disable soft joint limits
- header to debug output
- Added error checking of control loops time
- Fix init() bug
- Contributors: Dave Coleman
0.2.1 (2015-12-09)
- Merge branch 'indigo-devel' of github.com:davetcoleman/ros_control_boilerplate into indigo-devel
- Fix install path
- Improve user output message
- Contributors: Dave Coleman
0.2.0 (2015-12-09)
- Do not automatically call init()
- Removed warning of joint limits for continous joints
- Fix missing variable
- Improved rrbot_control example package
- Moved rrbot example code into subdirectory
- Contributors: Dave Coleman
0.1.4 (2015-12-07)
- Added missing dependency on sensor_msgs
- Contributors: Dave Coleman
0.1.3 (2015-12-05)
- Fix catkin lint errors
- Added FindGflags directly to this repo
- Minor fix
- Updated README
- Contributors: Dave Coleman
0.1.2 (2015-12-02)
- Added dependency on gflags
- Contributors: Dave Coleman
0.1.1 (2015-12-02)
- Added travis support
- Updated README
- Contributors: Dave Coleman
0.1.0 (2015-12-02)
- Initial release of ros_control_boilerplate
- Contributors: Dave Coleman
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
libgflags-dev |
Dependant Packages
Launch files
- rrbot_control/launch/rrbot_simulation.launch
-
- debug [default: false]
- rrbot_control/launch/rrbot_visualize.launch
- rrbot_control/launch/rrbot_hardware.launch
-
- debug [default: false]
- rrbot_control/launch/rrbot_test_trajectory.launch
-
- debug [default: false]
Messages
Services
Plugins
Recent questions tagged ros_control_boilerplate at Robotics Stack Exchange
ros_control_boilerplate package from ros_control_boilerplate reporos_control_boilerplate |
|
Package Summary
Tags | No category tags. |
Version | 0.4.2 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/davetcoleman/ros_control_boilerplate.git |
VCS Type | git |
VCS Version | kinetic-devel |
Last Updated | 2021-02-23 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Dave Coleman
Authors
- Dave Coleman
ROS Control Boilerplate
Simple simulation interface and template for setting up a hardware interface for ros_control. The idea is you take this as a starting point for creating your hardware interfaces, and it is needed because ros_control documentation is sparse. This boilerplate demonstrates:
- Creating a hardware_interface for multiple joints for use with ros_control
- Position Trajectory Controller
- Control of 2 joints of the simple robot “RRBot” pictured below
- Loading configurations with roslaunch and yaml files
- Generating a random trajectory and sending it over an actionlib interface
- Partial support of joint mode switching (needs to be improved)
- Joint limits
- Pass-through non-physics based robot simulator
- Visualization in Rviz
This open source project was developed at PickNik Robotics. Need professional ROS development and consulting? Contact us at projects@picknik.ai for a free consultation.
Maintainers
Special thanks to the following maintainers of this repo:
- Dave Coleman (@davetcoleman)
- Andy Zelenak (@AndyZe)
- John Morris (@zultron)
- Robert Wilbrandt (@RobertWilbrandt)
Status:
Video Demo
See YouTube for a very modest video demo.
Install
This package depends on gazebo_ros_demos for its rrbot_description
package, but you must add it to your catkin workspace by source:
git clone https://github.com/ros-simulation/gazebo_ros_demos.git
Then, either install this package from source so you can develop off of it, or install from debian:
sudo apt-get install ros-indigo-ros-control-boilerplate
Run Simulation Demo
This package is setup to run the “RRBot” two joint revolute-revolute robot demo. This “template package” is located in the ros_control_boilerplate as a subfolder that you can easily rename and reuse. To run its ros_control non-physics-based simulated hardware interface, run:
roslaunch ros_control_boilerplate rrbot_simulation.launch
To visualize its published /tf
coordinate transforms in Rviz run:
roslaunch ros_control_boilerplate rrbot_visualize.launch
To send a random, dummy trajectory to execute, run:
roslaunch ros_control_boilerplate rrbot_test_trajectory.launch
Customize
To test this as a simulation interface for your robot, you can quickly rename the subfolder package into the name of your robot using the following commands:
function findreplace() {
grep -lr -e "$1" * | xargs sed -i "s/$1/$2/g" ;
}
function findreplacefilename() {
find . -depth -name "*$1*" -exec bash -c 'for f; do base=${f##*/}; mv -- "$f" "${f%/*}/${base//'$1'/'$2'}"; done' _ {} +
}
findreplacefilename rrbot myrobot
findreplace rrbot myrobot
findreplace RRBot MyRobot
findreplace RRBOT MYROBOT
Then add the necessary code to communicate with your robot via USB/serial/ethernet/etc in the file myrobot_hw_interface.cpp
.
Setting an Initial Position, Using with MoveIt!
If you need your robot to startup at a particular position in simulation, or you would like to use this funcitonality to simulate your robot with MoveIt!, see the downstream package (it depends on this package) moveit_sim_controller
Other Helper Tools
Recording to CSV
Write the commands from a trajectory controller to csv file
rosrun ros_control_boilerplate controller_to_csv SAVE_TO_FILE_PATH CONTROLLER_STATE_TOPIC TIME_TO_RECORD
Commanding from CSV
Read from csv file and execute on robot
rosrun ros_control_boilerplate csv_to_controller READ_FROM_FILE_PATH CONTROLLER_STATE_TOPIC TIME_TO_RECORD
Commanding from Keyboard
Joint-level teleop from a keyboard (TODO: remove had coded topic names)
rosrun ros_control_boilerplate keyboard_teleop
Limitations
- Does not implement estops, transmissions, or other fancy new features of ros_control
- Does not have any hard realtime code, this depends largely on your platform, kernel, OS, etc
- Only position control is fully implemented, though some code is in place for velocity control
Contribute
Please add features, make corrections, and address the limitations above, thanks!
Changelog for package ros_control_boilerplate
0.4.2 (2021-02-23)
- Revert "Replaced boost with std shared_ptr" This reverts commit d3030f4d383895895931a9ca400497cfb72acdd9. This change broke the api, backporting it was an oversight.
- Add clang-format and catkin_lint checks to CI Backported from 638d8acb242813d298d6953d62ba36804b479242
- CMakeLists reformatting to better match catkin_lint expectations Unfortunately we will probably not be able to get catkin_lint to run warning-free, as it (correctly) detects that all rrbot_control launch files have some extra run dependencies we don't require for building the base package. Backported from 0db7327c2f14d9a0d3591adf24a82526c6053a37
- Replaced boost with std shared_ptr Backported from 9b46eaf115c16de9e453d59085b75aa9eebc3818
- Make NodeHandle a const reference The classes already make a copy of the NodeHandle so this change only make the interface more strict. It should not affect the external behavior of this class. Backported from 115b9624e60c38f3d5359ab186f00e9b0ae24be3
- Whitespace cleanup Backported from aea83fc71f9a05a24382b673144cc4045b7d8a1b
- test_trajectory: Read joints list from trajectory controller params If the [hardware_interface/joints]{.title-ref} list contains some joints configured in a trajectory controller, the [test_trajectory]{.title-ref} program exits with an error: [ERROR]: Joints on incoming goal don't match the controller joints. [ INFO]: Action finished: REJECTED [ INFO]: TestTrajectory Finished [ INFO]: Shutting down. The correct list of joints for the trajectory controller can be found in the [<trajectory_controller_name>/joints]{.title-ref} parameter. Since the [<trajectory_controller_name>/follow_joint_trajectory]{.title-ref} parameter name is already being passed in, this patch simply shortens that to [<trajectory_controller_name>]{.title-ref}, and uses it to construct both topic names. Now the trajectory is generated for the correct number of joints. Backported from 33daf81d2278a193ab8b5c75e1aaf8c5667ac109
- Add Robert as maintainer to repo Backported from dba8338720bc3b0b2d1ed2c125953ed6d13ae3aa
- Acknowledge maintainers of this repo in README Backported from 5f5fca18cd987e9f6a601ce393bfd47f97758aac
- Generalize GenericHWControlLoop to all types of RobotHW (#38) Backported from 8353dd3f3e4df30bf86269f695769e788227b8ed
- Update README.md Backported from 4e08588ba61e88893a1a6ab7f800144f22cb38a3
- Fix build badges in README (#37) Backported from 66fd47b00b499f4e677fb47ecf8bd848b877f8e0 There doesn't seem to be any kinetic release for debian, so it is left out Backported from 66fd47b00b499f4e677fb47ecf8bd848b877f8e0
- Update .travis.yml to use moveit_ci (#36) Backported from 8b50f2142a244a941b576538cf0f44879d5997d9
- Increase num AsyncSpinners where control loops are instantiated Backported from b6a06c856c65698340cb5251531ec0e5ee94aabc
- Merge pull request #20 from ipa-mdl/fix-loop-deadlock refactor GenericHWControlLoop to a sleep-based loop
- Merge pull request #19 from PaulBouchier/kinetic-devel change sim_control_mode to 0 (position) so demo works
- Merge pull request #21 from MohmadAyman/fix_typo fixed a typo in readme
- fixed a typo in readme
- refactor GenericHWControlLoop to a sleep-based loop using ros:Timer might lead to deadlocks
- initialize desired_update_period_ (renamed from desired_update_freq_)
- Revert "Depend on Eigen3" This reverts commit 608cc2fd64739ee56c3fbd5a0ae9d5d26b5684d0.
- change sim_control_mode to 0 (position) so demo works
- Merge pull request #16 from lucasw/xml-version xml version tags for all launch files.
- xml version tags for all launch files.
- Merge pull request #15 from enricotoi/kinetic-devel Fixed a typo in the README.md
- Fixed a typo in the README.md rrbot_simulaton.launch -> rrbot_simulation.launch
- Update README.md
- Contributors: AndyZe, Dave Coleman, Jafar Abdi, John Morris, Lucas Walter, Mathias Lüdtke, Paul Bouchier, Ramon Wijnands, Robert Wilbrandt, RobertWilbrandt, Tim Übelhör, enrico toivinen, mohmad ayman
0.4.1 (2017-06-20)
- Changed boost::shared_ptr to typedef for Lunar support
- Implemented simulated velocity control
- Contributors: Dave Coleman
0.4.0 (2016-06-29)
- Depend on Eigen3
- Remove dependency on meta package
- Fixed var name
- Contributors: Dave Coleman
0.3.1 (2016-01-13)
- API deprecation fix for rosparam_shortcuts
- Switched to better use of rosparam_shortcuts
- Ability to record all controller status data, not just at certain frequency
- Contributors: Dave Coleman
0.3.0 (2015-12-27)
- Removed bad reference name
- Switched to using name_
- Record error data
- Disable soft joint limits
- header to debug output
- Added error checking of control loops time
- Fix init() bug
- Contributors: Dave Coleman
0.2.1 (2015-12-09)
- Merge branch 'indigo-devel' of github.com:davetcoleman/ros_control_boilerplate into indigo-devel
- Fix install path
- Improve user output message
- Contributors: Dave Coleman
0.2.0 (2015-12-09)
- Do not automatically call init()
- Removed warning of joint limits for continous joints
- Fix missing variable
- Improved rrbot_control example package
- Moved rrbot example code into subdirectory
- Contributors: Dave Coleman
0.1.4 (2015-12-07)
- Added missing dependency on sensor_msgs
- Contributors: Dave Coleman
0.1.3 (2015-12-05)
- Fix catkin lint errors
- Added FindGflags directly to this repo
- Minor fix
- Updated README
- Contributors: Dave Coleman
0.1.2 (2015-12-02)
- Added dependency on gflags
- Contributors: Dave Coleman
0.1.1 (2015-12-02)
- Added travis support
- Updated README
- Contributors: Dave Coleman
0.1.0 (2015-12-02)
- Initial release of ros_control_boilerplate
- Contributors: Dave Coleman
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
libgflags-dev |
Dependant Packages
Launch files
- rrbot_control/launch/rrbot_simulation.launch
-
- debug [default: false]
- rrbot_control/launch/rrbot_visualize.launch
- rrbot_control/launch/rrbot_hardware.launch
-
- debug [default: false]
- rrbot_control/launch/rrbot_test_trajectory.launch
-
- debug [default: false]
Messages
Services
Plugins
Recent questions tagged ros_control_boilerplate at Robotics Stack Exchange
ros_control_boilerplate package from ros_control_boilerplate reporos_control_boilerplate |
|
Package Summary
Tags | No category tags. |
Version | 0.3.1 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/davetcoleman/ros_control_boilerplate.git |
VCS Type | git |
VCS Version | jade-devel |
Last Updated | 2016-04-21 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Dave Coleman
Authors
- Dave Coleman
ROS Control Boilerplate
Simple simulation interface and template for setting up a hardware interface for ros_control. The idea is you take this as a starting point for creating your hardware interfaces, and it is needed because ros_control documentation is sparse. This boilerplate demonstrates:
- Creating a hardware_interface for multiple joints for use with ros_control
- Position Trajectory Controller
- Control of 2 joints of the simple robot “RRBot” pictured below
- Loading configurations with roslaunch and yaml files
- Generating a random trajectory and sending it over an actionlib interface
- Partial support of joint mode switching (needs to be improved)
- Joint limits
- Pass-through non-physics based robot simulator
- Visualization in Rviz
Developed by Dave Coleman at the University of Colorado Boulder
Video Demo
See YouTube for a very modest video demo.
Install
This package depends on gazebo_ros_demos for its rrbot_description
package, but you must add it to your catkin workspace by source:
git clone https://github.com/ros-simulation/gazebo_ros_demos.git
Then, either install this package from source so you can develop off of it, or install from debian:
sudo apt-get install ros-indigo-ros-control-boilerplate
Run Simulation Demo
This package is setup to run the “RRBot” two joint revolute-revolute robot demo. This “template package” is located in the ros_control_boilerplate as a subfolder that you can easily rename and reuse. To run its ros_control non-physics-based simulated hardware interface, run:
roslaunch ros_control_boilerplate rrbot_simulaton.launch
To visualize its published /tf
coordinate transforms in Rviz run:
roslaunch ros_control_boilerplate rrbot_visualize.launch
To send a random, dummy trajectory to execute, run:
roslaunch ros_control_boilerplate rrbot_test_trajectory.launch
Customize
To test this as a simulation interface for your robot, you can quickly rename the subfolder package into the name of your robot using the following commands:
function findreplace() {
grep -lr -e "$1" * | xargs sed -i "s/$1/$2/g" ;
}
function findreplacefilename() {
find . -depth -name "*$1*" -exec bash -c 'for f; do base=${f##*/}; mv -- "$f" "${f%/*}/${base//'$1'/'$2'}"; done' _ {} +
}
findreplacefilename rrbot myrobot
findreplace rrbot myrobot
findreplace RRBot MyRobot
findreplace RRBOT MYROBOT
Then add the necessary code to communicate with your robot via USB/serial/ethernet/etc in the file myrobot_hw_interface.cpp
.
Setting an Initial Position, Using with MoveIt!
If you need your robot to startup at a particular position in simulation, or you would like to use this funcitonality to simulate your robot with MoveIt!, see the downstream package (it depends on this package) moveit_sim_controller
Other Helper Tools
Recording to CSV
Write the commands from a trajectory controller to csv file
rosrun ros_control_boilerplate controller_to_csv SAVE_TO_FILE_PATH CONTROLLER_STATE_TOPIC TIME_TO_RECORD
Commanding from CSV
Read from csv file and execute on robot
rosrun ros_control_boilerplate csv_to_controller READ_FROM_FILE_PATH CONTROLLER_STATE_TOPIC TIME_TO_RECORD
Commanding from Keyboard
Joint-level teleop from a keyboard (TODO: remove had coded topic names)
rosrun ros_control_boilerplate keyboard_teleop
Limitations
- Does not implement estops, transmissions, or other fancy new features of ros_contorl
- Does not have any hard realtime code, this depends largely on your platform, kernel, OS, etc
- Only position control is fully implemented, though some code is in place for velocity control
Contribute
Please add features, make corrections, and address the limitations above, thanks!
Changelog for package ros_control_boilerplate
0.3.1 (2016-01-13)
- API deprecation fix for rosparam_shortcuts
- Switched to better use of rosparam_shortcuts
- Ability to record all controller status data, not just at certain frequency
- Contributors: Dave Coleman
0.3.0 (2015-12-27)
- Removed bad reference name
- Switched to using name_
- Record error data
- Disable soft joint limits
- header to debug output
- Added error checking of control loops time
- Fix init() bug
- Contributors: Dave Coleman
0.2.1 (2015-12-09)
- Merge branch 'indigo-devel' of github.com:davetcoleman/ros_control_boilerplate into indigo-devel
- Fix install path
- Improve user output message
- Contributors: Dave Coleman
0.2.0 (2015-12-09)
- Do not automatically call init()
- Removed warning of joint limits for continous joints
- Fix missing variable
- Improved rrbot_control example package
- Moved rrbot example code into subdirectory
- Contributors: Dave Coleman
0.1.4 (2015-12-07)
- Added missing dependency on sensor_msgs
- Contributors: Dave Coleman
0.1.3 (2015-12-05)
- Fix catkin lint errors
- Added FindGflags directly to this repo
- Minor fix
- Updated README
- Contributors: Dave Coleman
0.1.2 (2015-12-02)
- Added dependency on gflags
- Contributors: Dave Coleman
0.1.1 (2015-12-02)
- Added travis support
- Updated README
- Contributors: Dave Coleman
0.1.0 (2015-12-02)
- Initial release of ros_control_boilerplate
- Contributors: Dave Coleman
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
libgflags-dev |
Dependant Packages
Launch files
- rrbot_control/launch/rrbot_simulation.launch
-
- debug [default: false]
- rrbot_control/launch/rrbot_visualize.launch
- rrbot_control/launch/rrbot_hardware.launch
-
- debug [default: false]
- rrbot_control/launch/rrbot_test_trajectory.launch
-
- debug [default: false]
Messages
Services
Plugins
Recent questions tagged ros_control_boilerplate at Robotics Stack Exchange
ros_control_boilerplate package from ros_control_boilerplate reporos_control_boilerplate |
|
Package Summary
Tags | No category tags. |
Version | 0.3.1 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/davetcoleman/ros_control_boilerplate.git |
VCS Type | git |
VCS Version | indigo-devel |
Last Updated | 2016-01-13 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Dave Coleman
Authors
- Dave Coleman
ROS Control Boilerplate
Simple simulation interface and template for setting up a hardware interface for ros_control. The idea is you take this as a starting point for creating your hardware interfaces, and it is needed because ros_control documentation is sparse. This boilerplate demonstrates:
- Creating a hardware_interface for multiple joints for use with ros_control
- Position Trajectory Controller
- Control of 2 joints of the simple robot “RRBot” pictured below
- Loading configurations with roslaunch and yaml files
- Generating a random trajectory and sending it over an actionlib interface
- Partial support of joint mode switching (needs to be improved)
- Joint limits
- Pass-through non-physics based robot simulator
- Visualization in Rviz
Developed by Dave Coleman at the University of Colorado Boulder
Video Demo
See YouTube for a very modest video demo.
Install
This package depends on gazebo_ros_demos for its rrbot_description
package, but you must add it to your catkin workspace by source:
git clone https://github.com/ros-simulation/gazebo_ros_demos.git
Then, either install this package from source so you can develop off of it, or install from debian:
sudo apt-get install ros-indigo-ros-control-boilerplate
Run Simulation Demo
This package is setup to run the “RRBot” two joint revolute-revolute robot demo. This “template package” is located in the ros_control_boilerplate as a subfolder that you can easily rename and reuse. To run its ros_control non-physics-based simulated hardware interface, run:
roslaunch ros_control_boilerplate rrbot_simulaton.launch
To visualize its published /tf
coordinate transforms in Rviz run:
roslaunch ros_control_boilerplate rrbot_visualize.launch
To send a random, dummy trajectory to execute, run:
roslaunch ros_control_boilerplate rrbot_test_trajectory.launch
Customize
To test this as a simulation interface for your robot, you can quickly rename the subfolder package into the name of your robot using the following commands:
function findreplace() {
grep -lr -e "$1" * | xargs sed -i "s/$1/$2/g" ;
}
function findreplacefilename() {
find . -depth -name "*$1*" -exec bash -c 'for f; do base=${f##*/}; mv -- "$f" "${f%/*}/${base//'$1'/'$2'}"; done' _ {} +
}
findreplacefilename rrbot myrobot
findreplace rrbot myrobot
findreplace RRBot MyRobot
findreplace RRBOT MYROBOT
Then add the necessary code to communicate with your robot via USB/serial/ethernet/etc in the file myrobot_hw_interface.cpp
.
Setting an Initial Position, Using with MoveIt!
If you need your robot to startup at a particular position in simulation, or you would like to use this funcitonality to simulate your robot with MoveIt!, see the downstream package (it depends on this package) moveit_sim_controller
Other Helper Tools
Recording to CSV
Write the commands from a trajectory controller to csv file
rosrun ros_control_boilerplate controller_to_csv SAVE_TO_FILE_PATH CONTROLLER_STATE_TOPIC TIME_TO_RECORD
Commanding from CSV
Read from csv file and execute on robot
rosrun ros_control_boilerplate csv_to_controller READ_FROM_FILE_PATH CONTROLLER_STATE_TOPIC TIME_TO_RECORD
Commanding from Keyboard
Joint-level teleop from a keyboard (TODO: remove had coded topic names)
rosrun ros_control_boilerplate keyboard_teleop
Limitations
- Does not implement estops, transmissions, or other fancy new features of ros_contorl
- Does not have any hard realtime code, this depends largely on your platform, kernel, OS, etc
- Only position control is fully implemented, though some code is in place for velocity control
Contribute
Please add features, make corrections, and address the limitations above, thanks!
Changelog for package ros_control_boilerplate
0.3.1 (2016-01-13)
- API deprecation fix for rosparam_shortcuts
- Switched to better use of rosparam_shortcuts
- Ability to record all controller status data, not just at certain frequency
- Contributors: Dave Coleman
0.3.0 (2015-12-27)
- Removed bad reference name
- Switched to using name_
- Record error data
- Disable soft joint limits
- header to debug output
- Added error checking of control loops time
- Fix init() bug
- Contributors: Dave Coleman
0.2.1 (2015-12-09)
- Merge branch 'indigo-devel' of github.com:davetcoleman/ros_control_boilerplate into indigo-devel
- Fix install path
- Improve user output message
- Contributors: Dave Coleman
0.2.0 (2015-12-09)
- Do not automatically call init()
- Removed warning of joint limits for continous joints
- Fix missing variable
- Improved rrbot_control example package
- Moved rrbot example code into subdirectory
- Contributors: Dave Coleman
0.1.4 (2015-12-07)
- Added missing dependency on sensor_msgs
- Contributors: Dave Coleman
0.1.3 (2015-12-05)
- Fix catkin lint errors
- Added FindGflags directly to this repo
- Minor fix
- Updated README
- Contributors: Dave Coleman
0.1.2 (2015-12-02)
- Added dependency on gflags
- Contributors: Dave Coleman
0.1.1 (2015-12-02)
- Added travis support
- Updated README
- Contributors: Dave Coleman
0.1.0 (2015-12-02)
- Initial release of ros_control_boilerplate
- Contributors: Dave Coleman
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
libgflags-dev |
Dependant Packages
Launch files
- rrbot_control/launch/rrbot_simulation.launch
-
- debug [default: false]
- rrbot_control/launch/rrbot_visualize.launch
- rrbot_control/launch/rrbot_hardware.launch
-
- debug [default: false]
- rrbot_control/launch/rrbot_test_trajectory.launch
-
- debug [default: false]
Messages
Services
Plugins
Recent questions tagged ros_control_boilerplate at Robotics Stack Exchange
ros_control_boilerplate package from ros_control_boilerplate reporos_control_boilerplate |
|
Package Summary
Tags | No category tags. |
Version | 0.4.2 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/davetcoleman/ros_control_boilerplate.git |
VCS Type | git |
VCS Version | kinetic-devel |
Last Updated | 2021-02-23 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Dave Coleman
Authors
- Dave Coleman
ROS Control Boilerplate
Simple simulation interface and template for setting up a hardware interface for ros_control. The idea is you take this as a starting point for creating your hardware interfaces, and it is needed because ros_control documentation is sparse. This boilerplate demonstrates:
- Creating a hardware_interface for multiple joints for use with ros_control
- Position Trajectory Controller
- Control of 2 joints of the simple robot “RRBot” pictured below
- Loading configurations with roslaunch and yaml files
- Generating a random trajectory and sending it over an actionlib interface
- Partial support of joint mode switching (needs to be improved)
- Joint limits
- Pass-through non-physics based robot simulator
- Visualization in Rviz
This open source project was developed at PickNik Robotics. Need professional ROS development and consulting? Contact us at projects@picknik.ai for a free consultation.
Maintainers
Special thanks to the following maintainers of this repo:
- Dave Coleman (@davetcoleman)
- Andy Zelenak (@AndyZe)
- John Morris (@zultron)
- Robert Wilbrandt (@RobertWilbrandt)
Status:
Video Demo
See YouTube for a very modest video demo.
Install
This package depends on gazebo_ros_demos for its rrbot_description
package, but you must add it to your catkin workspace by source:
git clone https://github.com/ros-simulation/gazebo_ros_demos.git
Then, either install this package from source so you can develop off of it, or install from debian:
sudo apt-get install ros-indigo-ros-control-boilerplate
Run Simulation Demo
This package is setup to run the “RRBot” two joint revolute-revolute robot demo. This “template package” is located in the ros_control_boilerplate as a subfolder that you can easily rename and reuse. To run its ros_control non-physics-based simulated hardware interface, run:
roslaunch ros_control_boilerplate rrbot_simulation.launch
To visualize its published /tf
coordinate transforms in Rviz run:
roslaunch ros_control_boilerplate rrbot_visualize.launch
To send a random, dummy trajectory to execute, run:
roslaunch ros_control_boilerplate rrbot_test_trajectory.launch
Customize
To test this as a simulation interface for your robot, you can quickly rename the subfolder package into the name of your robot using the following commands:
function findreplace() {
grep -lr -e "$1" * | xargs sed -i "s/$1/$2/g" ;
}
function findreplacefilename() {
find . -depth -name "*$1*" -exec bash -c 'for f; do base=${f##*/}; mv -- "$f" "${f%/*}/${base//'$1'/'$2'}"; done' _ {} +
}
findreplacefilename rrbot myrobot
findreplace rrbot myrobot
findreplace RRBot MyRobot
findreplace RRBOT MYROBOT
Then add the necessary code to communicate with your robot via USB/serial/ethernet/etc in the file myrobot_hw_interface.cpp
.
Setting an Initial Position, Using with MoveIt!
If you need your robot to startup at a particular position in simulation, or you would like to use this funcitonality to simulate your robot with MoveIt!, see the downstream package (it depends on this package) moveit_sim_controller
Other Helper Tools
Recording to CSV
Write the commands from a trajectory controller to csv file
rosrun ros_control_boilerplate controller_to_csv SAVE_TO_FILE_PATH CONTROLLER_STATE_TOPIC TIME_TO_RECORD
Commanding from CSV
Read from csv file and execute on robot
rosrun ros_control_boilerplate csv_to_controller READ_FROM_FILE_PATH CONTROLLER_STATE_TOPIC TIME_TO_RECORD
Commanding from Keyboard
Joint-level teleop from a keyboard (TODO: remove had coded topic names)
rosrun ros_control_boilerplate keyboard_teleop
Limitations
- Does not implement estops, transmissions, or other fancy new features of ros_control
- Does not have any hard realtime code, this depends largely on your platform, kernel, OS, etc
- Only position control is fully implemented, though some code is in place for velocity control
Contribute
Please add features, make corrections, and address the limitations above, thanks!
Changelog for package ros_control_boilerplate
0.4.2 (2021-02-23)
- Revert "Replaced boost with std shared_ptr" This reverts commit d3030f4d383895895931a9ca400497cfb72acdd9. This change broke the api, backporting it was an oversight.
- Add clang-format and catkin_lint checks to CI Backported from 638d8acb242813d298d6953d62ba36804b479242
- CMakeLists reformatting to better match catkin_lint expectations Unfortunately we will probably not be able to get catkin_lint to run warning-free, as it (correctly) detects that all rrbot_control launch files have some extra run dependencies we don't require for building the base package. Backported from 0db7327c2f14d9a0d3591adf24a82526c6053a37
- Replaced boost with std shared_ptr Backported from 9b46eaf115c16de9e453d59085b75aa9eebc3818
- Make NodeHandle a const reference The classes already make a copy of the NodeHandle so this change only make the interface more strict. It should not affect the external behavior of this class. Backported from 115b9624e60c38f3d5359ab186f00e9b0ae24be3
- Whitespace cleanup Backported from aea83fc71f9a05a24382b673144cc4045b7d8a1b
- test_trajectory: Read joints list from trajectory controller params If the [hardware_interface/joints]{.title-ref} list contains some joints configured in a trajectory controller, the [test_trajectory]{.title-ref} program exits with an error: [ERROR]: Joints on incoming goal don't match the controller joints. [ INFO]: Action finished: REJECTED [ INFO]: TestTrajectory Finished [ INFO]: Shutting down. The correct list of joints for the trajectory controller can be found in the [<trajectory_controller_name>/joints]{.title-ref} parameter. Since the [<trajectory_controller_name>/follow_joint_trajectory]{.title-ref} parameter name is already being passed in, this patch simply shortens that to [<trajectory_controller_name>]{.title-ref}, and uses it to construct both topic names. Now the trajectory is generated for the correct number of joints. Backported from 33daf81d2278a193ab8b5c75e1aaf8c5667ac109
- Add Robert as maintainer to repo Backported from dba8338720bc3b0b2d1ed2c125953ed6d13ae3aa
- Acknowledge maintainers of this repo in README Backported from 5f5fca18cd987e9f6a601ce393bfd47f97758aac
- Generalize GenericHWControlLoop to all types of RobotHW (#38) Backported from 8353dd3f3e4df30bf86269f695769e788227b8ed
- Update README.md Backported from 4e08588ba61e88893a1a6ab7f800144f22cb38a3
- Fix build badges in README (#37) Backported from 66fd47b00b499f4e677fb47ecf8bd848b877f8e0 There doesn't seem to be any kinetic release for debian, so it is left out Backported from 66fd47b00b499f4e677fb47ecf8bd848b877f8e0
- Update .travis.yml to use moveit_ci (#36) Backported from 8b50f2142a244a941b576538cf0f44879d5997d9
- Increase num AsyncSpinners where control loops are instantiated Backported from b6a06c856c65698340cb5251531ec0e5ee94aabc
- Merge pull request #20 from ipa-mdl/fix-loop-deadlock refactor GenericHWControlLoop to a sleep-based loop
- Merge pull request #19 from PaulBouchier/kinetic-devel change sim_control_mode to 0 (position) so demo works
- Merge pull request #21 from MohmadAyman/fix_typo fixed a typo in readme
- fixed a typo in readme
- refactor GenericHWControlLoop to a sleep-based loop using ros:Timer might lead to deadlocks
- initialize desired_update_period_ (renamed from desired_update_freq_)
- Revert "Depend on Eigen3" This reverts commit 608cc2fd64739ee56c3fbd5a0ae9d5d26b5684d0.
- change sim_control_mode to 0 (position) so demo works
- Merge pull request #16 from lucasw/xml-version xml version tags for all launch files.
- xml version tags for all launch files.
- Merge pull request #15 from enricotoi/kinetic-devel Fixed a typo in the README.md
- Fixed a typo in the README.md rrbot_simulaton.launch -> rrbot_simulation.launch
- Update README.md
- Contributors: AndyZe, Dave Coleman, Jafar Abdi, John Morris, Lucas Walter, Mathias Lüdtke, Paul Bouchier, Ramon Wijnands, Robert Wilbrandt, RobertWilbrandt, Tim Übelhör, enrico toivinen, mohmad ayman
0.4.1 (2017-06-20)
- Changed boost::shared_ptr to typedef for Lunar support
- Implemented simulated velocity control
- Contributors: Dave Coleman
0.4.0 (2016-06-29)
- Depend on Eigen3
- Remove dependency on meta package
- Fixed var name
- Contributors: Dave Coleman
0.3.1 (2016-01-13)
- API deprecation fix for rosparam_shortcuts
- Switched to better use of rosparam_shortcuts
- Ability to record all controller status data, not just at certain frequency
- Contributors: Dave Coleman
0.3.0 (2015-12-27)
- Removed bad reference name
- Switched to using name_
- Record error data
- Disable soft joint limits
- header to debug output
- Added error checking of control loops time
- Fix init() bug
- Contributors: Dave Coleman
0.2.1 (2015-12-09)
- Merge branch 'indigo-devel' of github.com:davetcoleman/ros_control_boilerplate into indigo-devel
- Fix install path
- Improve user output message
- Contributors: Dave Coleman
0.2.0 (2015-12-09)
- Do not automatically call init()
- Removed warning of joint limits for continous joints
- Fix missing variable
- Improved rrbot_control example package
- Moved rrbot example code into subdirectory
- Contributors: Dave Coleman
0.1.4 (2015-12-07)
- Added missing dependency on sensor_msgs
- Contributors: Dave Coleman
0.1.3 (2015-12-05)
- Fix catkin lint errors
- Added FindGflags directly to this repo
- Minor fix
- Updated README
- Contributors: Dave Coleman
0.1.2 (2015-12-02)
- Added dependency on gflags
- Contributors: Dave Coleman
0.1.1 (2015-12-02)
- Added travis support
- Updated README
- Contributors: Dave Coleman
0.1.0 (2015-12-02)
- Initial release of ros_control_boilerplate
- Contributors: Dave Coleman
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
libgflags-dev |
Dependant Packages
Launch files
- rrbot_control/launch/rrbot_simulation.launch
-
- debug [default: false]
- rrbot_control/launch/rrbot_visualize.launch
- rrbot_control/launch/rrbot_hardware.launch
-
- debug [default: false]
- rrbot_control/launch/rrbot_test_trajectory.launch
-
- debug [default: false]
Messages
Services
Plugins
Recent questions tagged ros_control_boilerplate at Robotics Stack Exchange
ros_control_boilerplate package from ros_control_boilerplate reporos_control_boilerplate |
|
Package Summary
Tags | No category tags. |
Version | 0.5.2 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/PickNikRobotics/ros_control_boilerplate.git |
VCS Type | git |
VCS Version | melodic-devel |
Last Updated | 2021-07-10 |
Dev Status | MAINTAINED |
CI status | Continuous Integration : 0 / 0 |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Dave Coleman
Authors
- Dave Coleman
ROS Control Boilerplate
Simple simulation interface and template for setting up a hardware interface for ros_control. The idea is you take this as a starting point for creating your hardware interfaces, and it is needed because ros_control documentation is sparse. This boilerplate demonstrates:
- Creating a hardware_interface for multiple joints for use with ros_control
- Position Trajectory Controller
- Control of 2 joints of the simple robot “RRBot” pictured below
- Loading configurations with roslaunch and yaml files
- Generating a random trajectory and sending it over an actionlib interface
- Partial support of joint mode switching (needs to be improved)
- Joint limits
- Pass-through non-physics based robot simulator
- Visualization in Rviz
This open source project was developed at PickNik Robotics. Need professional ROS development and consulting? Contact us at projects@picknik.ai for a free consultation.
Maintainers
Special thanks to the following maintainers of this repo:
- Dave Coleman (@davetcoleman)
- Andy Zelenak (@AndyZe)
- John Morris (@zultron)
- Robert Wilbrandt (@RobertWilbrandt)
Status:
Video Demo
See YouTube for a very modest video demo.
Install
This package depends on gazebo_ros_demos for its rrbot_description
package, but you must add it to your catkin workspace by source:
git clone https://github.com/ros-simulation/gazebo_ros_demos.git
Then, either install this package from source so you can develop off of it, or install from debian:
sudo apt-get install ros-indigo-ros-control-boilerplate
Run Simulation Demo
This package is setup to run the “RRBot” two joint revolute-revolute robot demo. This “template package” is located in the ros_control_boilerplate as a subfolder that you can easily rename and reuse. To run its ros_control non-physics-based simulated hardware interface, run:
roslaunch ros_control_boilerplate rrbot_simulation.launch
To visualize its published /tf
coordinate transforms in Rviz run:
roslaunch ros_control_boilerplate rrbot_visualize.launch
To send a random, dummy trajectory to execute, run:
roslaunch ros_control_boilerplate rrbot_test_trajectory.launch
Customize
To test this as a simulation interface for your robot, you can quickly rename the subfolder package into the name of your robot using the following commands:
function findreplace() {
grep -lr -e "$1" * | xargs sed -i "s/$1/$2/g" ;
}
function findreplacefilename() {
find . -depth -name "*$1*" -exec bash -c 'for f; do base=${f##*/}; mv -- "$f" "${f%/*}/${base//'$1'/'$2'}"; done' _ {} +
}
findreplacefilename rrbot myrobot
findreplace rrbot myrobot
findreplace RRBot MyRobot
findreplace RRBOT MYROBOT
Then add the necessary code to communicate with your robot via USB/serial/ethernet/etc in the file myrobot_hw_interface.cpp
.
Setting an Initial Position, Using with MoveIt!
If you need your robot to startup at a particular position in simulation, or you would like to use this funcitonality to simulate your robot with MoveIt!, see the downstream package (it depends on this package) moveit_sim_controller
Other Helper Tools
Recording to CSV
Write the commands from a trajectory controller to csv file
rosrun ros_control_boilerplate controller_to_csv SAVE_TO_FILE_PATH CONTROLLER_STATE_TOPIC TIME_TO_RECORD
Commanding from CSV
Read from csv file and execute on robot
rosrun ros_control_boilerplate csv_to_controller READ_FROM_FILE_PATH CONTROLLER_STATE_TOPIC TIME_TO_RECORD
Commanding from Keyboard
Joint-level teleop from a keyboard (TODO: remove had coded topic names)
rosrun ros_control_boilerplate keyboard_teleop
Limitations
- Does not implement estops, transmissions, or other fancy new features of ros_control
- Does not have any hard realtime code, this depends largely on your platform, kernel, OS, etc
- Only position control is fully implemented, though some code is in place for velocity control
Contribute
Please add features, make corrections, and address the limitations above, thanks!
Changelog for package ros_control_boilerplate
0.5.2 (2021-03-16)
- Revert "Replaced boost with std shared_ptr" This reverts commit 9fa14cd3d00328efa3d44d7bf4d849ce909310f0.
- Contributors: JafarAbdi
0.5.1 (2021-02-23)
- Replaced boost with std shared_ptr
- Make NodeHandle a const reference
- test_trajectory: Read joints list from trajectory controller params
- Generalize GenericHWControlLoop to all types of RobotHW (#38)
- Increase num AsyncSpinners where control loops are instantiated
- Contributors: AndyZe, Dave Coleman, Jafar Abdi, John Morris, Ramon Wijnands, Robert Wilbrandt, RobertWilbrandt, Tim Übelhör
0.5.0 (2019-09-18)
- Merge pull request #20 from ipa-mdl/fix-loop-deadlock refactor GenericHWControlLoop to a sleep-based loop
- Merge pull request #19 from PaulBouchier/kinetic-devel change sim_control_mode to 0 (position) so demo works
- Merge pull request #21 from MohmadAyman/fix_typo fixed a typo in readme
- fixed a typo in readme
- refactor GenericHWControlLoop to a sleep-based loop using ros:Timer might lead to deadlocks
- initialize desired_update_period_ (renamed from desired_update_freq_)
- Revert "Depend on Eigen3" This reverts commit 608cc2fd64739ee56c3fbd5a0ae9d5d26b5684d0.
- change sim_control_mode to 0 (position) so demo works
- Merge pull request #16 from lucasw/xml-version xml version tags for all launch files.
- xml version tags for all launch files.
- Merge pull request #15 from enricotoi/kinetic-devel Fixed a typo in the README.md
- Fixed a typo in the README.md rrbot_simulaton.launch -> rrbot_simulation.launch
- Update README.md
- Contributors: Dave Coleman, Lucas Walter, Mathias Lüdtke, Paul Bouchier, enrico toivinen, mohmad ayman
0.4.1 (2017-06-20)
- Changed boost::shared_ptr to typedef for Lunar support
- Implemented simulated velocity control
- Contributors: Dave Coleman
0.4.0 (2016-06-29)
- Depend on Eigen3
- Remove dependency on meta package
- Fixed var name
- Contributors: Dave Coleman
0.3.1 (2016-01-13)
- API deprecation fix for rosparam_shortcuts
- Switched to better use of rosparam_shortcuts
- Ability to record all controller status data, not just at certain frequency
- Contributors: Dave Coleman
0.3.0 (2015-12-27)
- Removed bad reference name
- Switched to using name_
- Record error data
- Disable soft joint limits
- header to debug output
- Added error checking of control loops time
- Fix init() bug
- Contributors: Dave Coleman
0.2.1 (2015-12-09)
- Merge branch 'indigo-devel' of github.com:davetcoleman/ros_control_boilerplate into indigo-devel
- Fix install path
- Improve user output message
- Contributors: Dave Coleman
0.2.0 (2015-12-09)
- Do not automatically call init()
- Removed warning of joint limits for continous joints
- Fix missing variable
- Improved rrbot_control example package
- Moved rrbot example code into subdirectory
- Contributors: Dave Coleman
0.1.4 (2015-12-07)
- Added missing dependency on sensor_msgs
- Contributors: Dave Coleman
0.1.3 (2015-12-05)
- Fix catkin lint errors
- Added FindGflags directly to this repo
- Minor fix
- Updated README
- Contributors: Dave Coleman
0.1.2 (2015-12-02)
- Added dependency on gflags
- Contributors: Dave Coleman
0.1.1 (2015-12-02)
- Added travis support
- Updated README
- Contributors: Dave Coleman
0.1.0 (2015-12-02)
- Initial release of ros_control_boilerplate
- Contributors: Dave Coleman
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
libgflags-dev |
Dependant Packages
Launch files
- rrbot_control/launch/rrbot_simulation.launch
-
- debug [default: false]
- rrbot_control/launch/rrbot_visualize.launch
- rrbot_control/launch/rrbot_hardware.launch
-
- debug [default: false]
- rrbot_control/launch/rrbot_test_trajectory.launch
-
- debug [default: false]