-
 

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)

Packages

Name Version
teleop_twist_joy 2.4.7

README

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.

CONTRIBUTING

No CONTRIBUTING.md found.

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)

Packages

Name Version
teleop_twist_joy 2.5.2

README

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.

CONTRIBUTING

No CONTRIBUTING.md found.

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)

Packages

Name Version
teleop_twist_joy 2.6.2

README

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.

CONTRIBUTING

No CONTRIBUTING.md found.

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)

Packages

Name Version
teleop_twist_joy 2.6.2

README

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.

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

Checkout URI https://github.com/ros2/teleop_twist_joy.git
VCS Type git
VCS Version ardent
Last Updated 2017-12-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)

Packages

Name Version
teleop_twist_joy 2.0.0

README

teleop_twist_joy Build Status

Simple joystick teleop for twist robots

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

Checkout URI https://github.com/ros2/teleop_twist_joy.git
VCS Type git
VCS Version bouncy
Last Updated 2018-06-26
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)

Packages

Name Version
teleop_twist_joy 2.1.0

README

teleop_twist_joy Build Status

Simple joystick teleop for twist robots

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

Checkout URI https://github.com/ros2/teleop_twist_joy.git
VCS Type git
VCS Version crystal
Last Updated 2019-02-08
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)

Packages

Name Version
teleop_twist_joy 2.1.1

README

teleop_twist_joy Build Status

Simple joystick teleop for twist robots

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

Checkout URI https://github.com/ros2/teleop_twist_joy.git
VCS Type git
VCS Version eloquent
Last Updated 2020-11-05
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)

Packages

Name Version
teleop_twist_joy 2.3.0

README

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

  • axis_angular (int, default: 0)
    • Joystick axis to use for angular movement control.
  • axis_linear (int, default: 1)
    • Joystick axis to use for linear movement control.
  • 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).
  • scale_angular (double, default: 1.0)
    • Scale to apply to joystick angular axis.
  • scale_angluar_turbo (double, default: 1.0)
    • Scale to apply to joystick angular axis for high-speed movement.
  • scale_linear (double, default: 0.5)
    • Scale to apply to joystick linear axis for regular-speed movement.
  • scale_linear_turbo (double, default: 1.0)
    • Scale to apply to joystick linear axis for high-speed movement.

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

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

Checkout URI https://github.com/ros2/teleop_twist_joy.git
VCS Type git
VCS Version dashing
Last Updated 2019-10-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)

Packages

Name Version
teleop_twist_joy 2.2.2

README

teleop_twist_joy Build Status

Simple joystick teleop for twist robots

CONTRIBUTING

No CONTRIBUTING.md found.

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)

Packages

Name Version
teleop_twist_joy 2.4.3

README

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

CONTRIBUTING

No CONTRIBUTING.md found.

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)

Packages

Name Version
teleop_twist_joy 2.4.3

README

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

CONTRIBUTING

No CONTRIBUTING.md found.