teleop_twist_joy package from teleop_twist_joy repoteleop_twist_joy |
|
Package Summary
Tags | No category tags. |
Version | 2.4.7 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros2/teleop_twist_joy.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2024-09-09 |
Dev Status | MAINTAINED |
CI status | No 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
- Chris Lalancette
Authors
- Mike Purvis
ros2/teleop_twist_joy
Overview
The purpose of this package is to provide a generic facility for tele-operating Twist-based ROS 2 robots with a standard joystick. It converts joy messages to velocity commands.
This node provides no rate limiting or autorepeat functionality. It is expected that you take advantage of the features built into joy for this.
Executables
The package comes with the teleop_node
that republishes sensor_msgs/msg/Joy
messages as scaled geometry_msgs/msg/Twist
messages.
The message type can be changed to geometry_msgs/msg/TwistStamped
by the publish_stamped_twist
parameter.
Subscribed Topics
-
joy (sensor_msgs/msg/Joy)
- Joystick messages to be translated to velocity commands.
Published Topics
-
cmd_vel (geometry_msgs/msg/Twist or geometry_msgs/msg/TwistStamped)
- Command velocity messages arising from Joystick commands.
Parameters
-
require_enable_button (bool, default: true)
- Whether to require the enable button for enabling movement.
-
enable_button (int, default: 0)
- Joystick button to enable regular-speed movement.
-
enable_turbo_button (int, default: -1)
- Joystick button to enable high-speed movement (disabled when -1).
-
axis_linear.<axis>
- Joystick axis to use for linear movement control.
axis_linear.x (int, default: 5)
axis_linear.y (int, default: -1)
axis_linear.z (int, default: -1)
-
scale_linear.<axis>
- Scale to apply to joystick linear axis for regular-speed movement.
scale_linear.x (double, default: 0.5)
scale_linear.y (double, default: 0.0)
scale_linear.z (double, default: 0.0)
-
scale_linear_turbo.<axis>
- Scale to apply to joystick linear axis for high-speed movement.
scale_linear_turbo.x (double, default: 1.0)
scale_linear_turbo.y (double, default: 0.0)
scale_linear_turbo.z (double, default: 0.0)
-
axis_angular.<axis>
- Joystick axis to use for angular movement control.
axis_angular.yaw (int, default: 2)
axis_angular.pitch (int, default: -1)
axis_angular.roll (int, default: -1)
-
scale_angular.<axis>
- Scale to apply to joystick angular axis.
scale_angular.yaw (double, default: 0.5)
scale_angular.pitch (double, default: 0.0)
scale_angular.roll (double, default: 0.0)
-
scale_angular_turbo.<axis>
- Scale to apply to joystick angular axis for high-speed movement.
scale_angular_turbo.yaw (double, default: 1.0)
scale_angular_turbo.pitch (double, default: 0.0)
scale_angular_turbo.roll (double, default: 0.0)
-
inverted_reverse (bool, default: false)
- Whether to invert turning left-right while reversing (useful for differential wheeled robots).
-
publish_stamped_twist (bool, default: false)
- Whether to publish
geometry_msgs/msg/TwistStamped
for command velocity messages.
- Whether to publish
-
frame (string, default: 'teleop_twist_joy')
- Frame name used for the header of TwistStamped messages.
Usage
Install
For most users building from source will not be required, execute apt-get install ros-<rosdistro>-teleop-twist-joy
to install.
Run
A launch file has been provided which has three arguments which can be changed in the terminal or via your own launch file. To configure the node to match your joystick a config file can be used. There are several common ones provided in this package (atk3, ps3-holonomic, ps3, xbox, xd3), located here: https://github.com/ros2/teleop_twist_joy/tree/humble/config.
PS3 is default, to run for another config (e.g. xbox) use this:
ros2 launch teleop_twist_joy teleop-launch.py joy_config:='xbox'
Note: this launch file also launches the joy
node so do not run it separately.
Arguments
-
joy_config (string, default: 'ps3')
- Config file to use
-
joy_dev (string, default: '0')
- Joystick device to use
-
config_filepath (string, default: '/opt/ros/<rosdistro>/share/teleop_twist_joy/config/' + LaunchConfig('joy_config') + '.config.yaml')
- Path to config files
-
publish_stamped_twist (bool, default: false)
- Whether to publish
geometry_msgs/msg/TwistStamped
for command velocity messages.
- Whether to publish
Changelog for package teleop_twist_joy
2.4.7 (2024-09-09)
- Update the launch file to work with modern joy. (#52) (#53) It should use "device_id" (not "dev") as the parameter, and the parameter should be a number, not a path (this is effectively the SDL device number, which is cross-platform). (cherry picked from commit e4856e4afeda704547bdb43edc29d008b07f15d9) # Conflicts: # README.md Co-authored-by: Chris Lalancette <<clalancette@gmail.com>>
- Contributors: mergify[bot]
2.4.6 (2024-06-17)
-
add inverted reverse param (#35) (#43) * add inverted-reverse param (cherry picked from commit 2a5f3e4f776869ae1e981f3ca1877cdf10318f37) # Conflicts: # src/teleop_twist_joy.cpp Co-authored-by: Máté <<56221639+turtlewizard73@users.noreply.github.com>> Co-authored-by: Alejandro Hernández Cordero <<ahcorde@gmail.com>>
-
Add an option to publish TwistStamped (backport #42) (#45) * Add an option to publish TwistStamped (#42) (cherry picked from commit 76cd6508a8c4e35d9fe3a6a8968abbe7159ffc08) # Conflicts: # README.md # src/teleop_twist_joy.cpp * resolved merge conflicts (#47) Co-authored-by: Yannic Bachmann <<yannic.bachmann@maha.de>> ---------Co-authored-by: Tamaki Nishino <<otamachan@gmail.com>> Co-authored-by: Yannic Bachmann <<76436302+YBachmann@users.noreply.github.com>> Co-authored-by: Yannic Bachmann <<yannic.bachmann@maha.de>> Co-authored-by: Alejandro Hernández Cordero <<ahcorde@gmail.com>>
- Added Humble CI (#50)
- Contributors: Alejandro Hernández Cordero, mergify[bot]
2.4.5 (2023-06-08)
- Cleanup CMakeLists.txt. (#36)
- Contributors: Chris Lalancette
2.4.4 (2023-06-07)
- Install includes to include/${PROJECT_NAME} (#30)
- joy_vel argument (#29)
- Contributors: Raffaello Bonghi, Shane Loretz
2.4.3 (2021-08-02)
- Fix the launch file to use 'executable'. (#28)
- fix launch notation (#26)
- Contributors: Chris Lalancette, Shigeki Kobayashi
2.4.2 (2021-03-18)
2.4.1 (2020-12-01)
- Add parameter to enable/disable requiring the enable button to be held for motion (#21)
- Contributors: Chris Lalancette, kgibsonjca
2.4.0 (2020-11-09)
- Switch to modern ReadyToTest for the tests.
- Switch from node_executable -> executable for Foxy.
- Update README for Ros2 (#17) (#18)
- Contributors: Chris Lalancette, nfry321
2.3.0 (2020-08-05)
- Make Parameters dynamic (#16)
- Contributors: aravindsrj
2.2.2 (2019-10-23)
- Export interfaces for Shared Lib on Windows.
- Make teleop_twist_joy composable.
- Reenable cppcheck.
- Rename teleop_twist_joy.h to teleop_twist_joy.hpp
- Get some basic tests running (#10)
- Port config and launch to ROS 2 (#11)
- Contributors: Chris Lalancette, Scott K Logan, seanyen
2.2.0 (2019-05-31)
- Fix parameters so things actually work in Dashing. (#9)
- Contributors: Chris Lalancette
2.1.1 (2019-02-08)
- Add in the ability to control via parameters (#8)
- Contributors: Chris Lalancette
2.1.0 (2018-06-26)
- ParameterService auto started (#7)
- Contributors: Shane Loretz
2.0.0 (2017-12-08)
- Initial port to ROS2
- Contributors: Chris Lalancette, Mikael Arguedas, Deanna Hood
0.1.2 (2016-08-31)
- Fixed incorrect key. (#21)
- Allow custom config file from location outside of this package
- Setting scale_angular_turbo if axis_angular is set so that turning works when turbo is pressed.
- Added turbo scale for angular velocities and accompanying test.
- Add LICENSE.txt.
- Contributors: Daniel Aden, Isaac I.Y. Saito, Mike Purvis, Tony Baltovski
0.1.1 (2015-06-27)
- Add rostests.
- Added maps to allow multi-dof velocity publishing.
- Added Xbox 360 controller example.
- Contributors: Mike Purvis, Tony Baltovski
0.1.0 (2014-07-25)
- Added configurations for Logitech Attack3 and Extreme 3D Pro joysticks.
- Initial version, with example config for PS3 joystick.
- Contributors: Mike Purvis, Tony Baltovski
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
joy | |
ament_lint_auto | |
ament_lint_common | |
launch_ros | |
launch_testing_ament_cmake | |
launch_testing_ros | |
geometry_msgs | |
rclcpp | |
rclcpp_components | |
sensor_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged teleop_twist_joy at Robotics Stack Exchange
teleop_twist_joy package from teleop_twist_joy repoteleop_twist_joy |
|
Package Summary
Tags | No category tags. |
Version | 2.5.2 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros2/teleop_twist_joy.git |
VCS Type | git |
VCS Version | iron |
Last Updated | 2024-09-09 |
Dev Status | MAINTAINED |
CI status | No 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
- Alejandro Hernandez Cordero
- Chris Lalancette
Authors
- Mike Purvis
ros2/teleop_twist_joy
Overview
The purpose of this package is to provide a generic facility for tele-operating Twist-based ROS 2 robots with a standard joystick. It converts joy messages to velocity commands.
This node provides no rate limiting or autorepeat functionality. It is expected that you take advantage of the features built into joy for this.
Executables
The package comes with the teleop_node
that republishes sensor_msgs/msg/Joy
messages as scaled geometry_msgs/msg/Twist
messages.
The message type can be changed to geometry_msgs/msg/TwistStamped
by the publish_stamped_twist
parameter.
Subscribed Topics
-
joy (sensor_msgs/msg/Joy)
- Joystick messages to be translated to velocity commands.
Published Topics
-
cmd_vel (geometry_msgs/msg/Twist or geometry_msgs/msg/TwistStamped)
- Command velocity messages arising from Joystick commands.
Parameters
-
require_enable_button (bool, default: true)
- Whether to require the enable button for enabling movement.
-
enable_button (int, default: 0)
- Joystick button to enable regular-speed movement.
-
enable_turbo_button (int, default: -1)
- Joystick button to enable high-speed movement (disabled when -1).
-
axis_linear.<axis>
- Joystick axis to use for linear movement control.
axis_linear.x (int, default: 5)
axis_linear.y (int, default: -1)
axis_linear.z (int, default: -1)
-
scale_linear.<axis>
- Scale to apply to joystick linear axis for regular-speed movement.
scale_linear.x (double, default: 0.5)
scale_linear.y (double, default: 0.0)
scale_linear.z (double, default: 0.0)
-
scale_linear_turbo.<axis>
- Scale to apply to joystick linear axis for high-speed movement.
scale_linear_turbo.x (double, default: 1.0)
scale_linear_turbo.y (double, default: 0.0)
scale_linear_turbo.z (double, default: 0.0)
-
axis_angular.<axis>
- Joystick axis to use for angular movement control.
axis_angular.yaw (int, default: 2)
axis_angular.pitch (int, default: -1)
axis_angular.roll (int, default: -1)
-
scale_angular.<axis>
- Scale to apply to joystick angular axis.
scale_angular.yaw (double, default: 0.5)
scale_angular.pitch (double, default: 0.0)
scale_angular.roll (double, default: 0.0)
-
scale_angular_turbo.<axis>
- Scale to apply to joystick angular axis for high-speed movement.
scale_angular_turbo.yaw (double, default: 1.0)
scale_angular_turbo.pitch (double, default: 0.0)
scale_angular_turbo.roll (double, default: 0.0)
-
inverted_reverse (bool, default: false)
- Whether to invert turning left-right while reversing (useful for differential wheeled robots).
-
publish_stamped_twist (bool, default: false)
- Whether to publish
geometry_msgs/msg/TwistStamped
for command velocity messages.
- Whether to publish
-
frame (string, default: 'teleop_twist_joy')
- Frame name used for the header of TwistStamped messages.
Usage
Install
For most users building from source will not be required, execute apt-get install ros-<rosdistro>-teleop-twist-joy
to install.
Run
A launch file has been provided which has three arguments which can be changed in the terminal or via your own launch file. To configure the node to match your joystick a config file can be used. There are several common ones provided in this package (atk3, ps3-holonomic, ps3, xbox, xd3), located here: https://github.com/ros2/teleop_twist_joy/tree/iron/config.
PS3 is default, to run for another config (e.g. xbox) use this:
ros2 launch teleop_twist_joy teleop-launch.py joy_config:='xbox'
Note: this launch file also launches the joy
node so do not run it separately.
Arguments
-
joy_config (string, default: 'ps3')
- Config file to use
-
joy_dev (string, default: '0')
- Joystick device to use
-
config_filepath (string, default: '/opt/ros/<rosdistro>/share/teleop_twist_joy/config/' + LaunchConfig('joy_config') + '.config.yaml')
- Path to config files
-
publish_stamped_twist (bool, default: false)
- Whether to publish
geometry_msgs/msg/TwistStamped
for command velocity messages.
- Whether to publish
Changelog for package teleop_twist_joy
2.5.2 (2024-09-09)
- Update the launch file to work with modern joy. (#52) (#54) Co-authored-by: Chris Lalancette <<clalancette@gmail.com>>
- Contributors: mergify[bot]
2.5.1 (2024-06-17)
- Add an option to publish TwistStamped (#42) (#46) (cherry picked from commit 76cd6508a8c4e35d9fe3a6a8968abbe7159ffc08) # Conflicts: # README.md # src/teleop_twist_joy.cpp Co-authored-by: Tamaki Nishino <<otamachan@gmail.com>> Co-authored-by: Alejandro Hernández Cordero <<ahcorde@gmail.com>>
-
add inverted reverse param (#35) (#44) * add inverted-reverse param (cherry picked from commit 2a5f3e4f776869ae1e981f3ca1877cdf10318f37) Co-authored-by: Máté <<56221639+turtlewizard73@users.noreply.github.com>> Co-authored-by: Alejandro Hernández Cordero <<ahcorde@gmail.com>>
- Added Iron CI (#49)
- Contributors: Alejandro Hernández Cordero, mergify[bot]
2.5.0 (2023-06-07)
- [rolling] Update maintainers - 2022-11-07 (#33)
- Enable uncrustify and cpplint.
- Cleanup CMakeLists.txt.
- Remove checking of types from parameter_callback.
- Install includes to include/${PROJECT_NAME} (#30)
- joy_vel argument (#29)
- Contributors: Audrow Nash, Chris Lalancette, Raffaello Bonghi, Shane Loretz
2.4.3 (2021-08-02)
- Fix the launch file to use 'executable'. (#28)
- fix launch notation (#26)
- Contributors: Chris Lalancette, Shigeki Kobayashi
2.4.2 (2021-03-18)
2.4.1 (2020-12-01)
- Add parameter to enable/disable requiring the enable button to be held for motion (#21)
- Contributors: Chris Lalancette, kgibsonjca
2.4.0 (2020-11-09)
- Switch to modern ReadyToTest for the tests.
- Switch from node_executable -> executable for Foxy.
- Update README for Ros2 (#17) (#18)
- Contributors: Chris Lalancette, nfry321
2.3.0 (2020-08-05)
- Make Parameters dynamic (#16)
- Contributors: aravindsrj
2.2.2 (2019-10-23)
- Export interfaces for Shared Lib on Windows.
- Make teleop_twist_joy composable.
- Reenable cppcheck.
- Rename teleop_twist_joy.h to teleop_twist_joy.hpp
- Get some basic tests running (#10)
- Port config and launch to ROS 2 (#11)
- Contributors: Chris Lalancette, Scott K Logan, seanyen
2.2.0 (2019-05-31)
- Fix parameters so things actually work in Dashing. (#9)
- Contributors: Chris Lalancette
2.1.1 (2019-02-08)
- Add in the ability to control via parameters (#8)
- Contributors: Chris Lalancette
2.1.0 (2018-06-26)
- ParameterService auto started (#7)
- Contributors: Shane Loretz
2.0.0 (2017-12-08)
- Initial port to ROS2
- Contributors: Chris Lalancette, Mikael Arguedas, Deanna Hood
0.1.2 (2016-08-31)
- Fixed incorrect key. (#21)
- Allow custom config file from location outside of this package
- Setting scale_angular_turbo if axis_angular is set so that turning works when turbo is pressed.
- Added turbo scale for angular velocities and accompanying test.
- Add LICENSE.txt.
- Contributors: Daniel Aden, Isaac I.Y. Saito, Mike Purvis, Tony Baltovski
0.1.1 (2015-06-27)
- Add rostests.
- Added maps to allow multi-dof velocity publishing.
- Added Xbox 360 controller example.
- Contributors: Mike Purvis, Tony Baltovski
0.1.0 (2014-07-25)
- Added configurations for Logitech Attack3 and Extreme 3D Pro joysticks.
- Initial version, with example config for PS3 joystick.
- Contributors: Mike Purvis, Tony Baltovski
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
joy | |
ament_lint_auto | |
ament_lint_common | |
launch_ros | |
launch_testing_ament_cmake | |
launch_testing_ros | |
geometry_msgs | |
rclcpp | |
rclcpp_components | |
sensor_msgs |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
leo_teleop | |
desktop |
Launch files
Messages
Services
Plugins
Recent questions tagged teleop_twist_joy at Robotics Stack Exchange
teleop_twist_joy package from teleop_twist_joy repoteleop_twist_joy |
|
Package Summary
Tags | No category tags. |
Version | 2.6.2 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros2/teleop_twist_joy.git |
VCS Type | git |
VCS Version | rolling |
Last Updated | 2024-09-06 |
Dev Status | MAINTAINED |
CI status | No 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
- Alejandro Hernandez Cordero
- Chris Lalancette
Authors
- Mike Purvis
ros2/teleop_twist_joy
Overview
The purpose of this package is to provide a generic facility for tele-operating Twist-based ROS 2 robots with a standard joystick. It converts joy messages to velocity commands.
This node provides no rate limiting or autorepeat functionality. It is expected that you take advantage of the features built into joy for this.
Executables
The package comes with the teleop_node
that republishes sensor_msgs/msg/Joy
messages as scaled geometry_msgs/msg/Twist
messages.
The message type can be changed to geometry_msgs/msg/TwistStamped
by the publish_stamped_twist
parameter.
Subscribed Topics
-
joy (sensor_msgs/msg/Joy)
- Joystick messages to be translated to velocity commands.
Published Topics
-
cmd_vel (geometry_msgs/msg/Twist or geometry_msgs/msg/TwistStamped)
- Command velocity messages arising from Joystick commands.
Parameters
-
require_enable_button (bool, default: true)
- Whether to require the enable button for enabling movement.
-
enable_button (int, default: 0)
- Joystick button to enable regular-speed movement.
-
enable_turbo_button (int, default: -1)
- Joystick button to enable high-speed movement (disabled when -1).
-
axis_linear.<axis>
- Joystick axis to use for linear movement control.
axis_linear.x (int, default: 5)
axis_linear.y (int, default: -1)
axis_linear.z (int, default: -1)
-
scale_linear.<axis>
- Scale to apply to joystick linear axis for regular-speed movement.
scale_linear.x (double, default: 0.5)
scale_linear.y (double, default: 0.0)
scale_linear.z (double, default: 0.0)
-
scale_linear_turbo.<axis>
- Scale to apply to joystick linear axis for high-speed movement.
scale_linear_turbo.x (double, default: 1.0)
scale_linear_turbo.y (double, default: 0.0)
scale_linear_turbo.z (double, default: 0.0)
-
axis_angular.<axis>
- Joystick axis to use for angular movement control.
axis_angular.yaw (int, default: 2)
axis_angular.pitch (int, default: -1)
axis_angular.roll (int, default: -1)
-
scale_angular.<axis>
- Scale to apply to joystick angular axis.
scale_angular.yaw (double, default: 0.5)
scale_angular.pitch (double, default: 0.0)
scale_angular.roll (double, default: 0.0)
-
scale_angular_turbo.<axis>
- Scale to apply to joystick angular axis for high-speed movement.
scale_angular_turbo.yaw (double, default: 1.0)
scale_angular_turbo.pitch (double, default: 0.0)
scale_angular_turbo.roll (double, default: 0.0)
-
inverted_reverse (bool, default: false)
- Whether to invert turning left-right while reversing (useful for differential wheeled robots).
-
publish_stamped_twist (bool, default: false)
- Whether to publish
geometry_msgs/msg/TwistStamped
for command velocity messages.
- Whether to publish
-
frame (string, default: 'teleop_twist_joy')
- Frame name used for the header of TwistStamped messages.
Usage
Install
For most users building from source will not be required, execute apt-get install ros-<rosdistro>-teleop-twist-joy
to install.
Run
A launch file has been provided which has three arguments which can be changed in the terminal or via your own launch file. To configure the node to match your joystick a config file can be used. There are several common ones provided in this package (atk3, ps3-holonomic, ps3, xbox, xd3), located here: https://github.com/ros2/teleop_twist_joy/tree/rolling/config.
PS3 is default, to run for another config (e.g. xbox) use this:
ros2 launch teleop_twist_joy teleop-launch.py joy_config:='xbox'
Note: this launch file also launches the joy
node so do not run it separately.
Arguments
-
joy_config (string, default: 'ps3')
- Config file to use
-
joy_dev (string, default: '0')
- Joystick device to use
-
config_filepath (string, default: '/opt/ros/<rosdistro>/share/teleop_twist_joy/config/' + LaunchConfig('joy_config') + '.config.yaml')
- Path to config files
-
publish_stamped_twist (bool, default: false)
- Whether to publish
geometry_msgs/msg/TwistStamped
for command velocity messages.
- Whether to publish
Changelog for package teleop_twist_joy
2.6.2 (2024-09-06)
- Update the launch file to work with modern joy. (#52) It should use "device_id" (not "dev") as the parameter, and the parameter should be a number, not a path (this is effectively the SDL device number, which is cross-platform).
- Contributors: Chris Lalancette
2.6.1 (2024-06-17)
- Added Github action (#48)
- Add an option to publish TwistStamped (#42)
- Add support for PDP joysticks
(#41)
- Add support for PDP joysticks
- Contributors: Alejandro Hernández Cordero, Bonolo Mathibela, Tamaki Nishino
2.6.0 (2023-06-07)
- add inverted reverse param (#35)
- [rolling] Update maintainers - 2022-11-07 (#33)
- Enable uncrustify and cpplint.
- Cleanup CMakeLists.txt.
- Remove checking of types from parameter_callback.
- Install includes to include/${PROJECT_NAME} (#30)
- joy_vel argument (#29)
- Contributors: Audrow Nash, Chris Lalancette, Máté, Raffaello Bonghi, Shane Loretz
2.4.3 (2021-08-02)
- Fix the launch file to use 'executable'. (#28)
- fix launch notation (#26)
- Contributors: Chris Lalancette, Shigeki Kobayashi
2.4.2 (2021-03-18)
2.4.1 (2020-12-01)
- Add parameter to enable/disable requiring the enable button to be held for motion (#21)
- Contributors: Chris Lalancette, kgibsonjca
2.4.0 (2020-11-09)
- Switch to modern ReadyToTest for the tests.
- Switch from node_executable -> executable for Foxy.
- Update README for Ros2 (#17) (#18)
- Contributors: Chris Lalancette, nfry321
2.3.0 (2020-08-05)
- Make Parameters dynamic (#16)
- Contributors: aravindsrj
2.2.2 (2019-10-23)
- Export interfaces for Shared Lib on Windows.
- Make teleop_twist_joy composable.
- Reenable cppcheck.
- Rename teleop_twist_joy.h to teleop_twist_joy.hpp
- Get some basic tests running (#10)
- Port config and launch to ROS 2 (#11)
- Contributors: Chris Lalancette, Scott K Logan, seanyen
2.2.0 (2019-05-31)
- Fix parameters so things actually work in Dashing. (#9)
- Contributors: Chris Lalancette
2.1.1 (2019-02-08)
- Add in the ability to control via parameters (#8)
- Contributors: Chris Lalancette
2.1.0 (2018-06-26)
- ParameterService auto started (#7)
- Contributors: Shane Loretz
2.0.0 (2017-12-08)
- Initial port to ROS2
- Contributors: Chris Lalancette, Mikael Arguedas, Deanna Hood
0.1.2 (2016-08-31)
- Fixed incorrect key. (#21)
- Allow custom config file from location outside of this package
- Setting scale_angular_turbo if axis_angular is set so that turning works when turbo is pressed.
- Added turbo scale for angular velocities and accompanying test.
- Add LICENSE.txt.
- Contributors: Daniel Aden, Isaac I.Y. Saito, Mike Purvis, Tony Baltovski
0.1.1 (2015-06-27)
- Add rostests.
- Added maps to allow multi-dof velocity publishing.
- Added Xbox 360 controller example.
- Contributors: Mike Purvis, Tony Baltovski
0.1.0 (2014-07-25)
- Added configurations for Logitech Attack3 and Extreme 3D Pro joysticks.
- Initial version, with example config for PS3 joystick.
- Contributors: Mike Purvis, Tony Baltovski
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
joy | |
ament_lint_auto | |
ament_lint_common | |
launch_ros | |
launch_testing_ament_cmake | |
launch_testing_ros | |
geometry_msgs | |
rclcpp | |
rclcpp_components | |
sensor_msgs |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
leo_teleop | |
turtlebot4_bringup | |
desktop | |
create3_teleop |
Launch files
Messages
Services
Plugins
Recent questions tagged teleop_twist_joy at Robotics Stack Exchange
teleop_twist_joy package from teleop_twist_joy repoteleop_twist_joy |
|
Package Summary
Tags | No category tags. |
Version | 2.6.2 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros2/teleop_twist_joy.git |
VCS Type | git |
VCS Version | rolling |
Last Updated | 2024-09-06 |
Dev Status | MAINTAINED |
CI status | No 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
- Alejandro Hernandez Cordero
- Chris Lalancette
Authors
- Mike Purvis
ros2/teleop_twist_joy
Overview
The purpose of this package is to provide a generic facility for tele-operating Twist-based ROS 2 robots with a standard joystick. It converts joy messages to velocity commands.
This node provides no rate limiting or autorepeat functionality. It is expected that you take advantage of the features built into joy for this.
Executables
The package comes with the teleop_node
that republishes sensor_msgs/msg/Joy
messages as scaled geometry_msgs/msg/Twist
messages.
The message type can be changed to geometry_msgs/msg/TwistStamped
by the publish_stamped_twist
parameter.
Subscribed Topics
-
joy (sensor_msgs/msg/Joy)
- Joystick messages to be translated to velocity commands.
Published Topics
-
cmd_vel (geometry_msgs/msg/Twist or geometry_msgs/msg/TwistStamped)
- Command velocity messages arising from Joystick commands.
Parameters
-
require_enable_button (bool, default: true)
- Whether to require the enable button for enabling movement.
-
enable_button (int, default: 0)
- Joystick button to enable regular-speed movement.
-
enable_turbo_button (int, default: -1)
- Joystick button to enable high-speed movement (disabled when -1).
-
axis_linear.<axis>
- Joystick axis to use for linear movement control.
axis_linear.x (int, default: 5)
axis_linear.y (int, default: -1)
axis_linear.z (int, default: -1)
-
scale_linear.<axis>
- Scale to apply to joystick linear axis for regular-speed movement.
scale_linear.x (double, default: 0.5)
scale_linear.y (double, default: 0.0)
scale_linear.z (double, default: 0.0)
-
scale_linear_turbo.<axis>
- Scale to apply to joystick linear axis for high-speed movement.
scale_linear_turbo.x (double, default: 1.0)
scale_linear_turbo.y (double, default: 0.0)
scale_linear_turbo.z (double, default: 0.0)
-
axis_angular.<axis>
- Joystick axis to use for angular movement control.
axis_angular.yaw (int, default: 2)
axis_angular.pitch (int, default: -1)
axis_angular.roll (int, default: -1)
-
scale_angular.<axis>
- Scale to apply to joystick angular axis.
scale_angular.yaw (double, default: 0.5)
scale_angular.pitch (double, default: 0.0)
scale_angular.roll (double, default: 0.0)
-
scale_angular_turbo.<axis>
- Scale to apply to joystick angular axis for high-speed movement.
scale_angular_turbo.yaw (double, default: 1.0)
scale_angular_turbo.pitch (double, default: 0.0)
scale_angular_turbo.roll (double, default: 0.0)
-
inverted_reverse (bool, default: false)
- Whether to invert turning left-right while reversing (useful for differential wheeled robots).
-
publish_stamped_twist (bool, default: false)
- Whether to publish
geometry_msgs/msg/TwistStamped
for command velocity messages.
- Whether to publish
-
frame (string, default: 'teleop_twist_joy')
- Frame name used for the header of TwistStamped messages.
Usage
Install
For most users building from source will not be required, execute apt-get install ros-<rosdistro>-teleop-twist-joy
to install.
Run
A launch file has been provided which has three arguments which can be changed in the terminal or via your own launch file. To configure the node to match your joystick a config file can be used. There are several common ones provided in this package (atk3, ps3-holonomic, ps3, xbox, xd3), located here: https://github.com/ros2/teleop_twist_joy/tree/rolling/config.
PS3 is default, to run for another config (e.g. xbox) use this:
ros2 launch teleop_twist_joy teleop-launch.py joy_config:='xbox'
Note: this launch file also launches the joy
node so do not run it separately.
Arguments
-
joy_config (string, default: 'ps3')
- Config file to use
-
joy_dev (string, default: '0')
- Joystick device to use
-
config_filepath (string, default: '/opt/ros/<rosdistro>/share/teleop_twist_joy/config/' + LaunchConfig('joy_config') + '.config.yaml')
- Path to config files
-
publish_stamped_twist (bool, default: false)
- Whether to publish
geometry_msgs/msg/TwistStamped
for command velocity messages.
- Whether to publish
Changelog for package teleop_twist_joy
2.6.2 (2024-09-06)
- Update the launch file to work with modern joy. (#52) It should use "device_id" (not "dev") as the parameter, and the parameter should be a number, not a path (this is effectively the SDL device number, which is cross-platform).
- Contributors: Chris Lalancette
2.6.1 (2024-06-17)
- Added Github action (#48)
- Add an option to publish TwistStamped (#42)
- Add support for PDP joysticks
(#41)
- Add support for PDP joysticks
- Contributors: Alejandro Hernández Cordero, Bonolo Mathibela, Tamaki Nishino
2.6.0 (2023-06-07)
- add inverted reverse param (#35)
- [rolling] Update maintainers - 2022-11-07 (#33)
- Enable uncrustify and cpplint.
- Cleanup CMakeLists.txt.
- Remove checking of types from parameter_callback.
- Install includes to include/${PROJECT_NAME} (#30)
- joy_vel argument (#29)
- Contributors: Audrow Nash, Chris Lalancette, Máté, Raffaello Bonghi, Shane Loretz
2.4.3 (2021-08-02)
- Fix the launch file to use 'executable'. (#28)
- fix launch notation (#26)
- Contributors: Chris Lalancette, Shigeki Kobayashi
2.4.2 (2021-03-18)
2.4.1 (2020-12-01)
- Add parameter to enable/disable requiring the enable button to be held for motion (#21)
- Contributors: Chris Lalancette, kgibsonjca
2.4.0 (2020-11-09)
- Switch to modern ReadyToTest for the tests.
- Switch from node_executable -> executable for Foxy.
- Update README for Ros2 (#17) (#18)
- Contributors: Chris Lalancette, nfry321
2.3.0 (2020-08-05)
- Make Parameters dynamic (#16)
- Contributors: aravindsrj
2.2.2 (2019-10-23)
- Export interfaces for Shared Lib on Windows.
- Make teleop_twist_joy composable.
- Reenable cppcheck.
- Rename teleop_twist_joy.h to teleop_twist_joy.hpp
- Get some basic tests running (#10)
- Port config and launch to ROS 2 (#11)
- Contributors: Chris Lalancette, Scott K Logan, seanyen
2.2.0 (2019-05-31)
- Fix parameters so things actually work in Dashing. (#9)
- Contributors: Chris Lalancette
2.1.1 (2019-02-08)
- Add in the ability to control via parameters (#8)
- Contributors: Chris Lalancette
2.1.0 (2018-06-26)
- ParameterService auto started (#7)
- Contributors: Shane Loretz
2.0.0 (2017-12-08)
- Initial port to ROS2
- Contributors: Chris Lalancette, Mikael Arguedas, Deanna Hood
0.1.2 (2016-08-31)
- Fixed incorrect key. (#21)
- Allow custom config file from location outside of this package
- Setting scale_angular_turbo if axis_angular is set so that turning works when turbo is pressed.
- Added turbo scale for angular velocities and accompanying test.
- Add LICENSE.txt.
- Contributors: Daniel Aden, Isaac I.Y. Saito, Mike Purvis, Tony Baltovski
0.1.1 (2015-06-27)
- Add rostests.
- Added maps to allow multi-dof velocity publishing.
- Added Xbox 360 controller example.
- Contributors: Mike Purvis, Tony Baltovski
0.1.0 (2014-07-25)
- Added configurations for Logitech Attack3 and Extreme 3D Pro joysticks.
- Initial version, with example config for PS3 joystick.
- Contributors: Mike Purvis, Tony Baltovski
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
joy | |
ament_lint_auto | |
ament_lint_common | |
launch_ros | |
launch_testing_ament_cmake | |
launch_testing_ros | |
geometry_msgs | |
rclcpp | |
rclcpp_components | |
sensor_msgs |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
leo_teleop | |
desktop |
Launch files
Messages
Services
Plugins
Recent questions tagged teleop_twist_joy at Robotics Stack Exchange
teleop_twist_joy package from teleop_twist_joy repoteleop_twist_joy |
|
Package Summary
Tags | No category tags. |
Version | 0.1.3 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-teleop/teleop_twist_joy.git |
VCS Type | git |
VCS Version | indigo-devel |
Last Updated | 2020-11-25 |
Dev Status | UNMAINTAINED |
CI status |
|
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Mike Purvis
Authors
- Mike Purvis
Changelog for package teleop_twist_joy
0.1.3 (2019-01-21)
- Use industrial ci
- Don't crash with invalid axes.
- Make sure to not crash when the Joy message buttons is too small.
- Don't get the axis twice.
- Add ROS Wiki link (#26)
- Contributors: Chris Lalancette, Julian Gaal, Rousseau Vincent, vincentrou
0.1.2 (2016-08-31)
- Fixed incorrect key. (#21)
- Allow custom config file from location outside of this package
- Setting scale_angular_turbo if axis_angular is set so that turning works when turbo is pressed.
- Added turbo scale for angular velocities and accompanying test.
- Add LICENSE.txt.
- Contributors: Daniel Aden, Isaac I.Y. Saito, Mike Purvis, Tony Baltovski
0.1.1 (2015-06-27)
- Add rostests.
- Added maps to allow multi-dof velocity publishing.
- Added Xbox 360 controller example.
- Contributors: Mike Purvis, Tony Baltovski
0.1.0 (2014-07-25)
- Added configurations for Logitech Attack3 and Extreme 3D Pro joysticks.
- Initial version, with example config for PS3 joystick.
- Contributors: Mike Purvis, Tony Baltovski
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
geometry_msgs | |
joy | |
roscpp | |
roslaunch | |
roslint | |
rostest | |
sensor_msgs | |
catkin |
System Dependencies
Dependant Packages
Launch files
- launch/teleop.launch
-
- joy_config [default: ps3]
- joy_dev [default: /dev/input/js0]
- config_filepath [default: $(find teleop_twist_joy)/config/$(arg joy_config).config.yaml]
- joy_topic [default: joy]
Messages
Services
Plugins
Recent questions tagged teleop_twist_joy at Robotics Stack Exchange
teleop_twist_joy package from teleop_twist_joy repoteleop_twist_joy |
|
Package Summary
Tags | No category tags. |
Version | 2.4.3 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros2/teleop_twist_joy.git |
VCS Type | git |
VCS Version | foxy |
Last Updated | 2021-09-24 |
Dev Status | MAINTAINED |
CI status | No 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
- Chris Lalancette
Authors
- Mike Purvis
ros2/teleop_twist_joy
Overview
The purpose of this package is to provide a generic facility for tele-operating Twist-based ROS2 robots with a standard joystick. It converts joy messages to velocity commands.
This node provides no rate limiting or autorepeat functionality. It is expected that you take advantage of the features built into joy for this.
Executables
The package comes with the teleop_node
that republishes sensor_msgs/msg/Joy
messages as scaled geometry_msgs/msg/Twist
messages.
Subscribed Topics
-
joy (sensor_msgs/msg/Joy)
- Joystick messages to be translated to velocity commands.
Published Topics
-
cmd_vel (geometry_msgs/msg/Twist)
- Command velocity messages arising from Joystick commands.
Parameters
-
require_enable_button (bool, default: true)
- Whether to require the enable button for enabling movement.
-
enable_button (int, default: 0)
- Joystick button to enable regular-speed movement.
-
enable_turbo_button (int, default: -1)
- Joystick button to enable high-speed movement (disabled when -1).
-
axis_linear.<axis>
- Joystick axis to use for linear movement control.
axis_linear.x (int, default: 5)
axis_linear.y (int, default: -1)
axis_linear.z (int, default: -1)
-
scale_linear.<axis>
- Scale to apply to joystick linear axis for regular-speed movement.
scale_linear.x (double, default: 0.5)
scale_linear.y (double, default: 0.0)
scale_linear.z (double, default: 0.0)
-
scale_linear_turbo.<axis>
- Scale to apply to joystick linear axis for high-speed movement.
scale_linear_turbo.x (double, default: 1.0)
scale_linear_turbo.y (double, default: 0.0)
scale_linear_turbo.z (double, default: 0.0)
-
axis_angular.<axis>
- Joystick axis to use for angular movement control.
axis_angular.yaw (int, default: 2)
axis_angular.pitch (int, default: -1)
axis_angular.roll (int, default: -1)
-
scale_angular.<axis>
- Scale to apply to joystick angular axis.
scale_angular.yaw (double, default: 0.5)
scale_angular.pitch (double, default: 0.0)
scale_angular.roll (double, default: 0.0)
-
scale_angular_turbo.<axis>
- Scale to apply to joystick angular axis for high-speed movement.
scale_angular_turbo.yaw (double, default: 1.0)
scale_angular_turbo.pitch (double, default: 0.0)
scale_angular_turbo.roll (double, default: 0.0)
Usage
Install
For most users building from source will not be required, execute apt-get install ros-<rosdistro>-teleop-twist-joy
to install.
Run
A launch file has been provided which has three arguments which can be changed in the terminal or via your own launch file. To configure the node to match your joystick a config file can be used. There are several common ones provided in this package (atk3, ps3-holonomic, ps3, xbox, xd3), located here: https://github.com/ros2/teleop_twist_joy/tree/eloquent/config.
PS3 is default, to run for another config (e.g. xbox) use this:
ros2 launch teleop_twist_joy teleop-launch.py joy_config:='xbox'
Note: this launch file also launches the joy
node so do not run it separately.
Arguments
-
joy_config (string, default: 'ps3')
- Config file to use
-
joy_dev (string, default: 'dev/input/js0')
- Joystick device to use
-
config_filepath (string, default: '/opt/ros/<rosdistro>/share/teleop_twist_joy/config/' + LaunchConfig('joy_config') + '.config.yaml')
- Path to config files
Changelog for package teleop_twist_joy
2.4.3 (2021-08-02)
- Fix the launch file to use 'executable'. (#28)
- fix launch notation (#26)
- Contributors: Chris Lalancette, Shigeki Kobayashi
2.4.2 (2021-03-18)
2.4.1 (2020-12-01)
- Add parameter to enable/disable requiring the enable button to be held for motion (#21)
- Contributors: Chris Lalancette, kgibsonjca
2.4.0 (2020-11-09)
- Switch to modern ReadyToTest for the tests.
- Switch from node_executable -> executable for Foxy.
- Update README for Ros2 (#17) (#18)
- Contributors: Chris Lalancette, nfry321
2.3.0 (2020-08-05)
- Make Parameters dynamic (#16)
- Contributors: aravindsrj
2.2.2 (2019-10-23)
- Export interfaces for Shared Lib on Windows.
- Make teleop_twist_joy composable.
- Reenable cppcheck.
- Rename teleop_twist_joy.h to teleop_twist_joy.hpp
- Get some basic tests running (#10)
- Port config and launch to ROS 2 (#11)
- Contributors: Chris Lalancette, Scott K Logan, seanyen
2.2.0 (2019-05-31)
- Fix parameters so things actually work in Dashing. (#9)
- Contributors: Chris Lalancette
2.1.1 (2019-02-08)
- Add in the ability to control via parameters (#8)
- Contributors: Chris Lalancette
2.1.0 (2018-06-26)
- ParameterService auto started (#7)
- Contributors: Shane Loretz
2.0.0 (2017-12-08)
- Initial port to ROS2
- Contributors: Chris Lalancette, Mikael Arguedas, Deanna Hood
0.1.2 (2016-08-31)
- Fixed incorrect key. (#21)
- Allow custom config file from location outside of this package
- Setting scale_angular_turbo if axis_angular is set so that turning works when turbo is pressed.
- Added turbo scale for angular velocities and accompanying test.
- Add LICENSE.txt.
- Contributors: Daniel Aden, Isaac I.Y. Saito, Mike Purvis, Tony Baltovski
0.1.1 (2015-06-27)
- Add rostests.
- Added maps to allow multi-dof velocity publishing.
- Added Xbox 360 controller example.
- Contributors: Mike Purvis, Tony Baltovski
0.1.0 (2014-07-25)
- Added configurations for Logitech Attack3 and Extreme 3D Pro joysticks.
- Initial version, with example config for PS3 joystick.
- Contributors: Mike Purvis, Tony Baltovski
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
joy | |
ament_lint_auto | |
ament_lint_common | |
launch_ros | |
launch_testing_ament_cmake | |
launch_testing_ros | |
geometry_msgs | |
rclcpp | |
rclcpp_components | |
sensor_msgs |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
rmf_demos_gz | |
turtlebot4_bringup | |
desktop |
Launch files
Messages
Services
Plugins
Recent questions tagged teleop_twist_joy at Robotics Stack Exchange
teleop_twist_joy package from teleop_twist_joy repoteleop_twist_joy |
|
Package Summary
Tags | No category tags. |
Version | 0.1.3 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-teleop/teleop_twist_joy.git |
VCS Type | git |
VCS Version | indigo-devel |
Last Updated | 2020-11-25 |
Dev Status | UNMAINTAINED |
CI status |
|
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Mike Purvis
Authors
- Mike Purvis
Changelog for package teleop_twist_joy
0.1.3 (2019-01-21)
- Use industrial ci
- Don't crash with invalid axes.
- Make sure to not crash when the Joy message buttons is too small.
- Don't get the axis twice.
- Add ROS Wiki link (#26)
- Contributors: Chris Lalancette, Julian Gaal, Rousseau Vincent, vincentrou
0.1.2 (2016-08-31)
- Fixed incorrect key. (#21)
- Allow custom config file from location outside of this package
- Setting scale_angular_turbo if axis_angular is set so that turning works when turbo is pressed.
- Added turbo scale for angular velocities and accompanying test.
- Add LICENSE.txt.
- Contributors: Daniel Aden, Isaac I.Y. Saito, Mike Purvis, Tony Baltovski
0.1.1 (2015-06-27)
- Add rostests.
- Added maps to allow multi-dof velocity publishing.
- Added Xbox 360 controller example.
- Contributors: Mike Purvis, Tony Baltovski
0.1.0 (2014-07-25)
- Added configurations for Logitech Attack3 and Extreme 3D Pro joysticks.
- Initial version, with example config for PS3 joystick.
- Contributors: Mike Purvis, Tony Baltovski
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
geometry_msgs | |
joy | |
roscpp | |
roslaunch | |
roslint | |
rostest | |
sensor_msgs | |
catkin |
System Dependencies
Launch files
- launch/teleop.launch
-
- joy_config [default: ps3]
- joy_dev [default: /dev/input/js0]
- config_filepath [default: $(find teleop_twist_joy)/config/$(arg joy_config).config.yaml]
- joy_topic [default: joy]