-
 

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

Generic joystick teleop for twist robots.

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.
  • 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.
CHANGELOG

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)

  • Update README to reflect changes to config parameters. (fixes #23) (#24)
  • Contributors: Josh Newans

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged teleop_twist_joy at Robotics Stack Exchange

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

Generic joystick teleop for twist robots.

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.
  • 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.
CHANGELOG

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)

  • Update README to reflect changes to config parameters. (fixes #23) (#24)
  • Contributors: Josh Newans

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged teleop_twist_joy at Robotics Stack Exchange

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

Generic joystick teleop for twist robots.

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.
  • 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.
CHANGELOG

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)

  • Update README to reflect changes to config parameters. (fixes #23) (#24)
  • Contributors: Josh Newans

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged teleop_twist_joy at Robotics Stack Exchange

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

Generic joystick teleop for twist robots.

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.
  • 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.
CHANGELOG

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)

  • Update README to reflect changes to config parameters. (fixes #23) (#24)
  • Contributors: Josh Newans

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged teleop_twist_joy at Robotics Stack Exchange

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

Generic joystick teleop for twist robots.

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

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)

  • Update README to reflect changes to config parameters. (fixes #23) (#24)
  • Contributors: Josh Newans

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged teleop_twist_joy at Robotics Stack Exchange