| 
      
        teleop_twist_keyboard package from teleop_twist_keyboard repoteleop_twist_keyboard | 
      
         ROS Distro
       | 
    
Package Summary
| Version | 2.4.1 | 
| License | BSD License 2.0 | 
| Build type | AMENT_PYTHON | 
| Use | RECOMMENDED | 
Repository Summary
| Checkout URI | https://github.com/ros2/teleop_twist_keyboard.git | 
| VCS Type | git | 
| VCS Version | dashing | 
| Last Updated | 2025-09-26 | 
| Dev Status | MAINTAINED | 
| Released | RELEASED | 
| Contributing | 
        
          Help Wanted (-)
        
         Good First Issues (-) Pull Requests to Review (-)  | 
    
Package Description
Maintainers
- Chris Lalancette
 
Authors
- Austin Hendrix
 - Graylin Trevor Jay
 
teleop_twist_keyboard
Generic Keyboard Teleoperation for ROS
Run
ros2 run teleop_twist_keyboard teleop_twist_keyboard
Publishing to a different topic (in this case my_cmd_vel).
ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args --remap cmd_vel:=my_cmd_vel
Usage
This node takes keypresses from the keyboard and publishes them as Twist
messages. It works best with a US keyboard layout.
---------------------------
Moving around:
   u    i    o
   j    k    l
   m    ,    .
For Holonomic mode (strafing), hold down the shift key:
---------------------------
   U    I    O
   J    K    L
   M    <    >
t : up (+z)
b : down (-z)
anything else : stop
q/z : increase/decrease max speeds by 10%
w/x : increase/decrease only linear speed by 10%
e/c : increase/decrease only angular speed by 10%
CTRL-C to quit
Parameters
- 
stamped (bool, default: false)- If false (the default), publish a 
geometry_msgs/msg/Twistmessage. If true, publish ageometry_msgs/msg/TwistStampedmessage. 
 - If false (the default), publish a 
 - 
frame_id (string, default: '')- When 
stampedis true, the frame_id to use when publishing thegeometry_msgs/msg/TwistStampedmessage. 
 - When 
 - 
speed (double, default: 0.5)- The speed the node starts with by default.
 
 - 
turn (double, default: 1.0)- The turn rate (rad/s) the node starts with by default.
 
 
Changelog for package teleop_twist_keyboard
2.4.1 (2025-09-26)
- 
    
replace tests_require with extra_require (#38)
* replace tests_require with extra_require Co-authored-by: Chris Lalancette <<clalancette@gmail.com>>
 - 
    
Set all parameters as read-only. (#40)
* Reject parameter updates. While there are a number of parameters here that can be set at startup, none of them can actually be configured at runtime successfully. Set them to read-only.
 - 
    
Add speed&turn parameters (#34)
* Add speed&turn parameters Co-authored-by: G.A. vd. Hoorn <<g.a.vanderhoorn@tudelft.nl>>
 - 
    
Contributors: Arend-Jan van Hilten, Chris Lalancette, Plumezz
 
2.4.0 (2024-03-08)
- Fixes for flake8. (#29)
 - Show command to change topic name on readme (#27)
 - Remove url for ros1 on package.xml (#28)
 - Added TwistStamped option (#26)
 - Switch to underscores for setup.cfg. (#25)
 - Contributors: Asuki Kono, Chris Lalancette, agyoungs
 
2.3.2 (2020-05-12)
- Add Windows support to teleop_twist_keyboard. (#24)
 - Contributors: Chris Lalancette
 
2.3.1 (2019-10-03)
- Stop using deprecated APIs. (#22)
 - Contributors: Chris Lalancette
 
2.3.0 (2019-04-19)
- changing QoS to default (#18)
 - Contributors: thorstink
 
2.1.1 (2018-06-26)
2.1.0 (2018-06-26)
- set zip_safe to avoid warning during installation (#14)
 - Update the maintainer to me. (#13)
 - fix data files install path (#12)
 - remove test_suite, add pytest as test_requires (#11)
 - use ros2 run to launch whichever the installation used (#8)
 - Fix teleop_twist_keyboard to have a setup.cfg. (#9)
 - Make sure to add teleop_twist_keyboard to ament index. (#6)
 - use OSI website as reference for license (#2)
 - ROS 2 port (#1)
 - Contributors: Adam Allevato, Austin, Chris Lalancette, Dirk Thomas, Mikael Arguedas
 
0.6.1 (2018-05-02)
- import print from future
 - Print python3 compatible
 - correct Exception handling
 - Merge pull request #7 from lucasw/speed_params set linear and turn speed via rosparams
 - Using tabs instead of spaces to match rest of file
 - set linear and turn speed via rosparams
 - Contributors: Austin, Lucas Walter, Matthijs van der Burgh
 
0.6.0 (2016-03-21)
- Better instruction formatting
 - support holonomic base, send commmand with keyboard down
 - Fixing queue_size warning
 - Create README.md
 
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name | 
|---|---|
| geometry_msgs | |
| rcl_interfaces | |
| rclpy | |
| ament_copyright | |
| ament_flake8 | |
| ament_pep257 | |
| ament_xmllint | 
System Dependencies
| Name | 
|---|
| python3-pytest | 
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged teleop_twist_keyboard at Robotics Stack Exchange
         
       | 
      
        teleop_twist_keyboard package from teleop_twist_keyboard repoteleop_twist_keyboard | 
      
         ROS Distro
       | 
    
Package Summary
| Version | 2.4.1 | 
| License | BSD License 2.0 | 
| Build type | AMENT_PYTHON | 
| Use | RECOMMENDED | 
Repository Summary
| Checkout URI | https://github.com/ros2/teleop_twist_keyboard.git | 
| VCS Type | git | 
| VCS Version | dashing | 
| Last Updated | 2025-09-26 | 
| Dev Status | MAINTAINED | 
| Released | RELEASED | 
| Contributing | 
        
          Help Wanted (-)
        
         Good First Issues (-) Pull Requests to Review (-)  | 
    
Package Description
Maintainers
- Chris Lalancette
 
Authors
- Austin Hendrix
 - Graylin Trevor Jay
 
teleop_twist_keyboard
Generic Keyboard Teleoperation for ROS
Run
ros2 run teleop_twist_keyboard teleop_twist_keyboard
Publishing to a different topic (in this case my_cmd_vel).
ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args --remap cmd_vel:=my_cmd_vel
Usage
This node takes keypresses from the keyboard and publishes them as Twist
messages. It works best with a US keyboard layout.
---------------------------
Moving around:
   u    i    o
   j    k    l
   m    ,    .
For Holonomic mode (strafing), hold down the shift key:
---------------------------
   U    I    O
   J    K    L
   M    <    >
t : up (+z)
b : down (-z)
anything else : stop
q/z : increase/decrease max speeds by 10%
w/x : increase/decrease only linear speed by 10%
e/c : increase/decrease only angular speed by 10%
CTRL-C to quit
Parameters
- 
stamped (bool, default: false)- If false (the default), publish a 
geometry_msgs/msg/Twistmessage. If true, publish ageometry_msgs/msg/TwistStampedmessage. 
 - If false (the default), publish a 
 - 
frame_id (string, default: '')- When 
stampedis true, the frame_id to use when publishing thegeometry_msgs/msg/TwistStampedmessage. 
 - When 
 - 
speed (double, default: 0.5)- The speed the node starts with by default.
 
 - 
turn (double, default: 1.0)- The turn rate (rad/s) the node starts with by default.
 
 
Changelog for package teleop_twist_keyboard
2.4.1 (2025-09-26)
- 
    
replace tests_require with extra_require (#38)
* replace tests_require with extra_require Co-authored-by: Chris Lalancette <<clalancette@gmail.com>>
 - 
    
Set all parameters as read-only. (#40)
* Reject parameter updates. While there are a number of parameters here that can be set at startup, none of them can actually be configured at runtime successfully. Set them to read-only.
 - 
    
Add speed&turn parameters (#34)
* Add speed&turn parameters Co-authored-by: G.A. vd. Hoorn <<g.a.vanderhoorn@tudelft.nl>>
 - 
    
Contributors: Arend-Jan van Hilten, Chris Lalancette, Plumezz
 
2.4.0 (2024-03-08)
- Fixes for flake8. (#29)
 - Show command to change topic name on readme (#27)
 - Remove url for ros1 on package.xml (#28)
 - Added TwistStamped option (#26)
 - Switch to underscores for setup.cfg. (#25)
 - Contributors: Asuki Kono, Chris Lalancette, agyoungs
 
2.3.2 (2020-05-12)
- Add Windows support to teleop_twist_keyboard. (#24)
 - Contributors: Chris Lalancette
 
2.3.1 (2019-10-03)
- Stop using deprecated APIs. (#22)
 - Contributors: Chris Lalancette
 
2.3.0 (2019-04-19)
- changing QoS to default (#18)
 - Contributors: thorstink
 
2.1.1 (2018-06-26)
2.1.0 (2018-06-26)
- set zip_safe to avoid warning during installation (#14)
 - Update the maintainer to me. (#13)
 - fix data files install path (#12)
 - remove test_suite, add pytest as test_requires (#11)
 - use ros2 run to launch whichever the installation used (#8)
 - Fix teleop_twist_keyboard to have a setup.cfg. (#9)
 - Make sure to add teleop_twist_keyboard to ament index. (#6)
 - use OSI website as reference for license (#2)
 - ROS 2 port (#1)
 - Contributors: Adam Allevato, Austin, Chris Lalancette, Dirk Thomas, Mikael Arguedas
 
0.6.1 (2018-05-02)
- import print from future
 - Print python3 compatible
 - correct Exception handling
 - Merge pull request #7 from lucasw/speed_params set linear and turn speed via rosparams
 - Using tabs instead of spaces to match rest of file
 - set linear and turn speed via rosparams
 - Contributors: Austin, Lucas Walter, Matthijs van der Burgh
 
0.6.0 (2016-03-21)
- Better instruction formatting
 - support holonomic base, send commmand with keyboard down
 - Fixing queue_size warning
 - Create README.md
 
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name | 
|---|---|
| geometry_msgs | |
| rcl_interfaces | |
| rclpy | |
| ament_copyright | |
| ament_flake8 | |
| ament_pep257 | |
| ament_xmllint | 
System Dependencies
| Name | 
|---|
| python3-pytest | 
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged teleop_twist_keyboard at Robotics Stack Exchange
         
       | 
      
        teleop_twist_keyboard package from teleop_twist_keyboard repoteleop_twist_keyboard | 
      
         ROS Distro
       | 
    
Package Summary
| Version | 2.4.1 | 
| License | BSD License 2.0 | 
| Build type | AMENT_PYTHON | 
| Use | RECOMMENDED | 
Repository Summary
| Checkout URI | https://github.com/ros2/teleop_twist_keyboard.git | 
| VCS Type | git | 
| VCS Version | dashing | 
| Last Updated | 2025-09-26 | 
| Dev Status | MAINTAINED | 
| Released | RELEASED | 
| Contributing | 
        
          Help Wanted (-)
        
         Good First Issues (-) Pull Requests to Review (-)  | 
    
Package Description
Maintainers
- Chris Lalancette
 
Authors
- Austin Hendrix
 - Graylin Trevor Jay
 
teleop_twist_keyboard
Generic Keyboard Teleoperation for ROS
Run
ros2 run teleop_twist_keyboard teleop_twist_keyboard
Publishing to a different topic (in this case my_cmd_vel).
ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args --remap cmd_vel:=my_cmd_vel
Usage
This node takes keypresses from the keyboard and publishes them as Twist
messages. It works best with a US keyboard layout.
---------------------------
Moving around:
   u    i    o
   j    k    l
   m    ,    .
For Holonomic mode (strafing), hold down the shift key:
---------------------------
   U    I    O
   J    K    L
   M    <    >
t : up (+z)
b : down (-z)
anything else : stop
q/z : increase/decrease max speeds by 10%
w/x : increase/decrease only linear speed by 10%
e/c : increase/decrease only angular speed by 10%
CTRL-C to quit
Parameters
- 
stamped (bool, default: false)- If false (the default), publish a 
geometry_msgs/msg/Twistmessage. If true, publish ageometry_msgs/msg/TwistStampedmessage. 
 - If false (the default), publish a 
 - 
frame_id (string, default: '')- When 
stampedis true, the frame_id to use when publishing thegeometry_msgs/msg/TwistStampedmessage. 
 - When 
 - 
speed (double, default: 0.5)- The speed the node starts with by default.
 
 - 
turn (double, default: 1.0)- The turn rate (rad/s) the node starts with by default.
 
 
Changelog for package teleop_twist_keyboard
2.4.1 (2025-09-26)
- 
    
replace tests_require with extra_require (#38)
* replace tests_require with extra_require Co-authored-by: Chris Lalancette <<clalancette@gmail.com>>
 - 
    
Set all parameters as read-only. (#40)
* Reject parameter updates. While there are a number of parameters here that can be set at startup, none of them can actually be configured at runtime successfully. Set them to read-only.
 - 
    
Add speed&turn parameters (#34)
* Add speed&turn parameters Co-authored-by: G.A. vd. Hoorn <<g.a.vanderhoorn@tudelft.nl>>
 - 
    
Contributors: Arend-Jan van Hilten, Chris Lalancette, Plumezz
 
2.4.0 (2024-03-08)
- Fixes for flake8. (#29)
 - Show command to change topic name on readme (#27)
 - Remove url for ros1 on package.xml (#28)
 - Added TwistStamped option (#26)
 - Switch to underscores for setup.cfg. (#25)
 - Contributors: Asuki Kono, Chris Lalancette, agyoungs
 
2.3.2 (2020-05-12)
- Add Windows support to teleop_twist_keyboard. (#24)
 - Contributors: Chris Lalancette
 
2.3.1 (2019-10-03)
- Stop using deprecated APIs. (#22)
 - Contributors: Chris Lalancette
 
2.3.0 (2019-04-19)
- changing QoS to default (#18)
 - Contributors: thorstink
 
2.1.1 (2018-06-26)
2.1.0 (2018-06-26)
- set zip_safe to avoid warning during installation (#14)
 - Update the maintainer to me. (#13)
 - fix data files install path (#12)
 - remove test_suite, add pytest as test_requires (#11)
 - use ros2 run to launch whichever the installation used (#8)
 - Fix teleop_twist_keyboard to have a setup.cfg. (#9)
 - Make sure to add teleop_twist_keyboard to ament index. (#6)
 - use OSI website as reference for license (#2)
 - ROS 2 port (#1)
 - Contributors: Adam Allevato, Austin, Chris Lalancette, Dirk Thomas, Mikael Arguedas
 
0.6.1 (2018-05-02)
- import print from future
 - Print python3 compatible
 - correct Exception handling
 - Merge pull request #7 from lucasw/speed_params set linear and turn speed via rosparams
 - Using tabs instead of spaces to match rest of file
 - set linear and turn speed via rosparams
 - Contributors: Austin, Lucas Walter, Matthijs van der Burgh
 
0.6.0 (2016-03-21)
- Better instruction formatting
 - support holonomic base, send commmand with keyboard down
 - Fixing queue_size warning
 - Create README.md
 
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name | 
|---|---|
| geometry_msgs | |
| rcl_interfaces | |
| rclpy | |
| ament_copyright | |
| ament_flake8 | |
| ament_pep257 | |
| ament_xmllint | 
System Dependencies
| Name | 
|---|
| python3-pytest | 
Dependant Packages
| Name | Deps | 
|---|---|
| leo_teleop | |
| mrpt_tutorials | |
| rmf_demos_gz | |
| desktop | 
Launch files
Messages
Services
Plugins
Recent questions tagged teleop_twist_keyboard at Robotics Stack Exchange
         
       | 
      
        teleop_twist_keyboard package from teleop_twist_keyboard repoteleop_twist_keyboard | 
      
         ROS Distro
       | 
    
Package Summary
| Version | 2.4.1 | 
| License | BSD License 2.0 | 
| Build type | AMENT_PYTHON | 
| Use | RECOMMENDED | 
Repository Summary
| Checkout URI | https://github.com/ros2/teleop_twist_keyboard.git | 
| VCS Type | git | 
| VCS Version | dashing | 
| Last Updated | 2025-09-26 | 
| Dev Status | MAINTAINED | 
| Released | RELEASED | 
| Contributing | 
        
          Help Wanted (-)
        
         Good First Issues (-) Pull Requests to Review (-)  | 
    
Package Description
Maintainers
- Chris Lalancette
 
Authors
- Austin Hendrix
 - Graylin Trevor Jay
 
teleop_twist_keyboard
Generic Keyboard Teleoperation for ROS
Run
ros2 run teleop_twist_keyboard teleop_twist_keyboard
Publishing to a different topic (in this case my_cmd_vel).
ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args --remap cmd_vel:=my_cmd_vel
Usage
This node takes keypresses from the keyboard and publishes them as Twist
messages. It works best with a US keyboard layout.
---------------------------
Moving around:
   u    i    o
   j    k    l
   m    ,    .
For Holonomic mode (strafing), hold down the shift key:
---------------------------
   U    I    O
   J    K    L
   M    <    >
t : up (+z)
b : down (-z)
anything else : stop
q/z : increase/decrease max speeds by 10%
w/x : increase/decrease only linear speed by 10%
e/c : increase/decrease only angular speed by 10%
CTRL-C to quit
Parameters
- 
stamped (bool, default: false)- If false (the default), publish a 
geometry_msgs/msg/Twistmessage. If true, publish ageometry_msgs/msg/TwistStampedmessage. 
 - If false (the default), publish a 
 - 
frame_id (string, default: '')- When 
stampedis true, the frame_id to use when publishing thegeometry_msgs/msg/TwistStampedmessage. 
 - When 
 - 
speed (double, default: 0.5)- The speed the node starts with by default.
 
 - 
turn (double, default: 1.0)- The turn rate (rad/s) the node starts with by default.
 
 
Changelog for package teleop_twist_keyboard
2.4.1 (2025-09-26)
- 
    
replace tests_require with extra_require (#38)
* replace tests_require with extra_require Co-authored-by: Chris Lalancette <<clalancette@gmail.com>>
 - 
    
Set all parameters as read-only. (#40)
* Reject parameter updates. While there are a number of parameters here that can be set at startup, none of them can actually be configured at runtime successfully. Set them to read-only.
 - 
    
Add speed&turn parameters (#34)
* Add speed&turn parameters Co-authored-by: G.A. vd. Hoorn <<g.a.vanderhoorn@tudelft.nl>>
 - 
    
Contributors: Arend-Jan van Hilten, Chris Lalancette, Plumezz
 
2.4.0 (2024-03-08)
- Fixes for flake8. (#29)
 - Show command to change topic name on readme (#27)
 - Remove url for ros1 on package.xml (#28)
 - Added TwistStamped option (#26)
 - Switch to underscores for setup.cfg. (#25)
 - Contributors: Asuki Kono, Chris Lalancette, agyoungs
 
2.3.2 (2020-05-12)
- Add Windows support to teleop_twist_keyboard. (#24)
 - Contributors: Chris Lalancette
 
2.3.1 (2019-10-03)
- Stop using deprecated APIs. (#22)
 - Contributors: Chris Lalancette
 
2.3.0 (2019-04-19)
- changing QoS to default (#18)
 - Contributors: thorstink
 
2.1.1 (2018-06-26)
2.1.0 (2018-06-26)
- set zip_safe to avoid warning during installation (#14)
 - Update the maintainer to me. (#13)
 - fix data files install path (#12)
 - remove test_suite, add pytest as test_requires (#11)
 - use ros2 run to launch whichever the installation used (#8)
 - Fix teleop_twist_keyboard to have a setup.cfg. (#9)
 - Make sure to add teleop_twist_keyboard to ament index. (#6)
 - use OSI website as reference for license (#2)
 - ROS 2 port (#1)
 - Contributors: Adam Allevato, Austin, Chris Lalancette, Dirk Thomas, Mikael Arguedas
 
0.6.1 (2018-05-02)
- import print from future
 - Print python3 compatible
 - correct Exception handling
 - Merge pull request #7 from lucasw/speed_params set linear and turn speed via rosparams
 - Using tabs instead of spaces to match rest of file
 - set linear and turn speed via rosparams
 - Contributors: Austin, Lucas Walter, Matthijs van der Burgh
 
0.6.0 (2016-03-21)
- Better instruction formatting
 - support holonomic base, send commmand with keyboard down
 - Fixing queue_size warning
 - Create README.md
 
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name | 
|---|---|
| geometry_msgs | |
| rcl_interfaces | |
| rclpy | |
| ament_copyright | |
| ament_flake8 | |
| ament_pep257 | |
| ament_xmllint | 
System Dependencies
| Name | 
|---|
| python3-pytest | 
Dependant Packages
| Name | Deps | 
|---|---|
| leo_teleop | |
| mrpt_tutorials | |
| rmf_demos_gz | |
| desktop | 
Launch files
Messages
Services
Plugins
Recent questions tagged teleop_twist_keyboard at Robotics Stack Exchange
         
       | 
      
        teleop_twist_keyboard package from teleop_twist_keyboard repoteleop_twist_keyboard | 
      
         ROS Distro
       | 
    
Package Summary
| Version | 2.0.0 | 
| License | BSD License 2.0 | 
| Build type | AMENT_PYTHON | 
| Use | RECOMMENDED | 
Repository Summary
| Checkout URI | https://github.com/ros2/teleop_twist_keyboard.git | 
| VCS Type | git | 
| VCS Version | ardent | 
| Last Updated | 2017-12-09 | 
| Dev Status | MAINTAINED | 
| Released | RELEASED | 
| Contributing | 
        
          Help Wanted (-)
        
         Good First Issues (-) Pull Requests to Review (-)  | 
    
Package Description
Additional Links
Maintainers
- Chris Lalancette
 
Authors
- Austin Hendrix
 - Graylin Trevor Jay
 
teleop_twist_keyboard
Generic Keyboard Teleoperation for ROS
Launch
To run: ros2 run teleop_twist_keyboard teleop_twist_keyboard
Usage
This node takes keypresses from the keyboard and publishes them as Twist
messages. It works best with a US keyboard layout.
---------------------------
Moving around:
   u    i    o
   j    k    l
   m    ,    .
For Holonomic mode (strafing), hold down the shift key:
---------------------------
   U    I    O
   J    K    L
   M    <    >
t : up (+z)
b : down (-z)
anything else : stop
q/z : increase/decrease max speeds by 10%
w/x : increase/decrease only linear speed by 10%
e/c : increase/decrease only angular speed by 10%
CTRL-C to quit
0.6.0 (2016-03-21)
- Better instruction formatting
 - support holonomic base, send commmand with keyboard down
 - Fixing queue_size warning
 - Create README.md
 - Update the description string in package.xml
 - Contributors: Austin, Kei Okada, LiohAu, Mike Purvis, kk6axq, trainman419
 
0.5.0 (2014-02-11)
- Initial import from brown_remotelab
 - Convert to catkin
 
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps | 
|---|---|
| desktop | 
Launch files
Messages
Services
Plugins
Recent questions tagged teleop_twist_keyboard at Robotics Stack Exchange
         
       | 
      
        teleop_twist_keyboard package from teleop_twist_keyboard repoteleop_twist_keyboard | 
      
         ROS Distro
       | 
    
Package Summary
| Version | 2.1.1 | 
| License | BSD License 2.0 | 
| Build type | AMENT_PYTHON | 
| Use | RECOMMENDED | 
Repository Summary
| Checkout URI | https://github.com/ros2/teleop_twist_keyboard.git | 
| VCS Type | git | 
| VCS Version | bouncy | 
| Last Updated | 2018-06-26 | 
| Dev Status | MAINTAINED | 
| Released | RELEASED | 
| Contributing | 
        
          Help Wanted (-)
        
         Good First Issues (-) Pull Requests to Review (-)  | 
    
Package Description
Additional Links
Maintainers
- Chris Lalancette
 
Authors
- Austin Hendrix
 - Graylin Trevor Jay
 
teleop_twist_keyboard
Generic Keyboard Teleoperation for ROS
Launch
To run: ros2 run teleop_twist_keyboard teleop_twist_keyboard
Usage
This node takes keypresses from the keyboard and publishes them as Twist
messages. It works best with a US keyboard layout.
---------------------------
Moving around:
   u    i    o
   j    k    l
   m    ,    .
For Holonomic mode (strafing), hold down the shift key:
---------------------------
   U    I    O
   J    K    L
   M    <    >
t : up (+z)
b : down (-z)
anything else : stop
q/z : increase/decrease max speeds by 10%
w/x : increase/decrease only linear speed by 10%
e/c : increase/decrease only angular speed by 10%
CTRL-C to quit
2.1.1 (2018-06-26)
2.1.0 (2018-06-26)
- set zip_safe to avoid warning during installation (#14)
 - Update the maintainer to me. (#13)
 - fix data files install path (#12)
 - remove test_suite, add pytest as test_requires (#11)
 - use ros2 run to launch whichever the installation used (#8)
 - Fix teleop_twist_keyboard to have a setup.cfg. (#9)
 - Make sure to add teleop_twist_keyboard to ament index. (#6)
 - use OSI website as reference for license (#2)
 - ROS 2 port (#1)
 - Contributors: Adam Allevato, Austin, Chris Lalancette, Dirk Thomas, Mikael Arguedas
 
0.6.1 (2018-05-02)
- Merge pull request #11 from MatthijsBurgh/patch-1 Correct exception handling; Python3 print compatible
 - import print from future
 - Print python3 compatible
 - correct Exception handling
 - Merge pull request #7 from lucasw/speed_params set linear and turn speed via rosparams
 - Using tabs instead of spaces to match rest of file
 - set linear and turn speed via rosparams
 - Contributors: Austin, Lucas Walter, Matthijs van der Burgh
 
0.6.0 (2016-03-21)
- Better instruction formatting
 - support holonomic base, send commmand with keyboard down
 - Fixing queue_size warning
 - Create README.md
 - Update the description string in package.xml
 - Contributors: Austin, Kei Okada, LiohAu, Mike Purvis, kk6axq, trainman419
 
0.5.0 (2014-02-11)
- Initial import from brown_remotelab
 - Convert to catkin
 
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps | 
|---|---|
| desktop | 
Launch files
Messages
Services
Plugins
Recent questions tagged teleop_twist_keyboard at Robotics Stack Exchange
         
       | 
      
        teleop_twist_keyboard package from teleop_twist_keyboard repoteleop_twist_keyboard | 
      
         ROS Distro
       | 
    
Package Summary
| Version | 2.2.0 | 
| License | BSD License 2.0 | 
| Build type | AMENT_PYTHON | 
| Use | RECOMMENDED | 
Repository Summary
| Checkout URI | https://github.com/ros2/teleop_twist_keyboard.git | 
| VCS Type | git | 
| VCS Version | crystal | 
| Last Updated | 2019-02-25 | 
| Dev Status | MAINTAINED | 
| Released | RELEASED | 
| Contributing | 
        
          Help Wanted (-)
        
         Good First Issues (-) Pull Requests to Review (-)  | 
    
Package Description
Additional Links
Maintainers
- Chris Lalancette
 
Authors
- Austin Hendrix
 - Graylin Trevor Jay
 
teleop_twist_keyboard
Generic Keyboard Teleoperation for ROS
Launch
To run: ros2 run teleop_twist_keyboard teleop_twist_keyboard
Usage
This node takes keypresses from the keyboard and publishes them as Twist
messages. It works best with a US keyboard layout.
---------------------------
Moving around:
   u    i    o
   j    k    l
   m    ,    .
For Holonomic mode (strafing), hold down the shift key:
---------------------------
   U    I    O
   J    K    L
   M    <    >
t : up (+z)
b : down (-z)
anything else : stop
q/z : increase/decrease max speeds by 10%
w/x : increase/decrease only linear speed by 10%
e/c : increase/decrease only angular speed by 10%
CTRL-C to quit
2.2.0 (2019-02-25)
2.1.1 (2018-06-26)
2.1.0 (2018-06-26)
- set zip_safe to avoid warning during installation (#14)
 - Update the maintainer to me. (#13)
 - fix data files install path (#12)
 - remove test_suite, add pytest as test_requires (#11)
 - use ros2 run to launch whichever the installation used (#8)
 - Fix teleop_twist_keyboard to have a setup.cfg. (#9)
 - Make sure to add teleop_twist_keyboard to ament index. (#6)
 - use OSI website as reference for license (#2)
 - ROS 2 port (#1)
 - Contributors: Adam Allevato, Austin, Chris Lalancette, Dirk Thomas, Mikael Arguedas
 
0.6.1 (2018-05-02)
- Merge pull request #11 from MatthijsBurgh/patch-1 Correct exception handling; Python3 print compatible
 - import print from future
 - Print python3 compatible
 - correct Exception handling
 - Merge pull request #7 from lucasw/speed_params set linear and turn speed via rosparams
 - Using tabs instead of spaces to match rest of file
 - set linear and turn speed via rosparams
 - Contributors: Austin, Lucas Walter, Matthijs van der Burgh
 
0.6.0 (2016-03-21)
- Better instruction formatting
 - support holonomic base, send commmand with keyboard down
 - Fixing queue_size warning
 - Create README.md
 - Update the description string in package.xml
 - Contributors: Austin, Kei Okada, LiohAu, Mike Purvis, kk6axq, trainman419
 
0.5.0 (2014-02-11)
- Initial import from brown_remotelab
 - Convert to catkin
 
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps | 
|---|---|
| desktop | 
Launch files
Messages
Services
Plugins
Recent questions tagged teleop_twist_keyboard at Robotics Stack Exchange
         
       | 
      
        teleop_twist_keyboard package from teleop_twist_keyboard repoteleop_twist_keyboard | 
      
         ROS Distro
       | 
    
Package Summary
| Version | 2.4.1 | 
| License | BSD License 2.0 | 
| Build type | AMENT_PYTHON | 
| Use | RECOMMENDED | 
Repository Summary
| Checkout URI | https://github.com/ros2/teleop_twist_keyboard.git | 
| VCS Type | git | 
| VCS Version | dashing | 
| Last Updated | 2025-09-26 | 
| Dev Status | MAINTAINED | 
| Released | RELEASED | 
| Contributing | 
        
          Help Wanted (-)
        
         Good First Issues (-) Pull Requests to Review (-)  | 
    
Package Description
Maintainers
- Chris Lalancette
 
Authors
- Austin Hendrix
 - Graylin Trevor Jay
 
teleop_twist_keyboard
Generic Keyboard Teleoperation for ROS
Run
ros2 run teleop_twist_keyboard teleop_twist_keyboard
Publishing to a different topic (in this case my_cmd_vel).
ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args --remap cmd_vel:=my_cmd_vel
Usage
This node takes keypresses from the keyboard and publishes them as Twist
messages. It works best with a US keyboard layout.
---------------------------
Moving around:
   u    i    o
   j    k    l
   m    ,    .
For Holonomic mode (strafing), hold down the shift key:
---------------------------
   U    I    O
   J    K    L
   M    <    >
t : up (+z)
b : down (-z)
anything else : stop
q/z : increase/decrease max speeds by 10%
w/x : increase/decrease only linear speed by 10%
e/c : increase/decrease only angular speed by 10%
CTRL-C to quit
Parameters
- 
stamped (bool, default: false)- If false (the default), publish a 
geometry_msgs/msg/Twistmessage. If true, publish ageometry_msgs/msg/TwistStampedmessage. 
 - If false (the default), publish a 
 - 
frame_id (string, default: '')- When 
stampedis true, the frame_id to use when publishing thegeometry_msgs/msg/TwistStampedmessage. 
 - When 
 - 
speed (double, default: 0.5)- The speed the node starts with by default.
 
 - 
turn (double, default: 1.0)- The turn rate (rad/s) the node starts with by default.
 
 
Changelog for package teleop_twist_keyboard
2.4.1 (2025-09-26)
- 
    
replace tests_require with extra_require (#38)
* replace tests_require with extra_require Co-authored-by: Chris Lalancette <<clalancette@gmail.com>>
 - 
    
Set all parameters as read-only. (#40)
* Reject parameter updates. While there are a number of parameters here that can be set at startup, none of them can actually be configured at runtime successfully. Set them to read-only.
 - 
    
Add speed&turn parameters (#34)
* Add speed&turn parameters Co-authored-by: G.A. vd. Hoorn <<g.a.vanderhoorn@tudelft.nl>>
 - 
    
Contributors: Arend-Jan van Hilten, Chris Lalancette, Plumezz
 
2.4.0 (2024-03-08)
- Fixes for flake8. (#29)
 - Show command to change topic name on readme (#27)
 - Remove url for ros1 on package.xml (#28)
 - Added TwistStamped option (#26)
 - Switch to underscores for setup.cfg. (#25)
 - Contributors: Asuki Kono, Chris Lalancette, agyoungs
 
2.3.2 (2020-05-12)
- Add Windows support to teleop_twist_keyboard. (#24)
 - Contributors: Chris Lalancette
 
2.3.1 (2019-10-03)
- Stop using deprecated APIs. (#22)
 - Contributors: Chris Lalancette
 
2.3.0 (2019-04-19)
- changing QoS to default (#18)
 - Contributors: thorstink
 
2.1.1 (2018-06-26)
2.1.0 (2018-06-26)
- set zip_safe to avoid warning during installation (#14)
 - Update the maintainer to me. (#13)
 - fix data files install path (#12)
 - remove test_suite, add pytest as test_requires (#11)
 - use ros2 run to launch whichever the installation used (#8)
 - Fix teleop_twist_keyboard to have a setup.cfg. (#9)
 - Make sure to add teleop_twist_keyboard to ament index. (#6)
 - use OSI website as reference for license (#2)
 - ROS 2 port (#1)
 - Contributors: Adam Allevato, Austin, Chris Lalancette, Dirk Thomas, Mikael Arguedas
 
0.6.1 (2018-05-02)
- import print from future
 - Print python3 compatible
 - correct Exception handling
 - Merge pull request #7 from lucasw/speed_params set linear and turn speed via rosparams
 - Using tabs instead of spaces to match rest of file
 - set linear and turn speed via rosparams
 - Contributors: Austin, Lucas Walter, Matthijs van der Burgh
 
0.6.0 (2016-03-21)
- Better instruction formatting
 - support holonomic base, send commmand with keyboard down
 - Fixing queue_size warning
 - Create README.md
 
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name | 
|---|---|
| geometry_msgs | |
| rcl_interfaces | |
| rclpy | |
| ament_copyright | |
| ament_flake8 | |
| ament_pep257 | |
| ament_xmllint | 
System Dependencies
| Name | 
|---|
| python3-pytest | 
Dependant Packages
| Name | Deps | 
|---|---|
| desktop | 
Launch files
Messages
Services
Plugins
Recent questions tagged teleop_twist_keyboard at Robotics Stack Exchange
         
       | 
      
        teleop_twist_keyboard package from teleop_twist_keyboard repoteleop_twist_keyboard | 
      
         ROS Distro
       | 
    
Package Summary
| Version | 2.4.1 | 
| License | BSD License 2.0 | 
| Build type | AMENT_PYTHON | 
| Use | RECOMMENDED | 
Repository Summary
| Checkout URI | https://github.com/ros2/teleop_twist_keyboard.git | 
| VCS Type | git | 
| VCS Version | dashing | 
| Last Updated | 2025-09-26 | 
| Dev Status | MAINTAINED | 
| Released | RELEASED | 
| Contributing | 
        
          Help Wanted (-)
        
         Good First Issues (-) Pull Requests to Review (-)  | 
    
Package Description
Maintainers
- Chris Lalancette
 
Authors
- Austin Hendrix
 - Graylin Trevor Jay
 
teleop_twist_keyboard
Generic Keyboard Teleoperation for ROS
Run
ros2 run teleop_twist_keyboard teleop_twist_keyboard
Publishing to a different topic (in this case my_cmd_vel).
ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args --remap cmd_vel:=my_cmd_vel
Usage
This node takes keypresses from the keyboard and publishes them as Twist
messages. It works best with a US keyboard layout.
---------------------------
Moving around:
   u    i    o
   j    k    l
   m    ,    .
For Holonomic mode (strafing), hold down the shift key:
---------------------------
   U    I    O
   J    K    L
   M    <    >
t : up (+z)
b : down (-z)
anything else : stop
q/z : increase/decrease max speeds by 10%
w/x : increase/decrease only linear speed by 10%
e/c : increase/decrease only angular speed by 10%
CTRL-C to quit
Parameters
- 
stamped (bool, default: false)- If false (the default), publish a 
geometry_msgs/msg/Twistmessage. If true, publish ageometry_msgs/msg/TwistStampedmessage. 
 - If false (the default), publish a 
 - 
frame_id (string, default: '')- When 
stampedis true, the frame_id to use when publishing thegeometry_msgs/msg/TwistStampedmessage. 
 - When 
 - 
speed (double, default: 0.5)- The speed the node starts with by default.
 
 - 
turn (double, default: 1.0)- The turn rate (rad/s) the node starts with by default.
 
 
Changelog for package teleop_twist_keyboard
2.4.1 (2025-09-26)
- 
    
replace tests_require with extra_require (#38)
* replace tests_require with extra_require Co-authored-by: Chris Lalancette <<clalancette@gmail.com>>
 - 
    
Set all parameters as read-only. (#40)
* Reject parameter updates. While there are a number of parameters here that can be set at startup, none of them can actually be configured at runtime successfully. Set them to read-only.
 - 
    
Add speed&turn parameters (#34)
* Add speed&turn parameters Co-authored-by: G.A. vd. Hoorn <<g.a.vanderhoorn@tudelft.nl>>
 - 
    
Contributors: Arend-Jan van Hilten, Chris Lalancette, Plumezz
 
2.4.0 (2024-03-08)
- Fixes for flake8. (#29)
 - Show command to change topic name on readme (#27)
 - Remove url for ros1 on package.xml (#28)
 - Added TwistStamped option (#26)
 - Switch to underscores for setup.cfg. (#25)
 - Contributors: Asuki Kono, Chris Lalancette, agyoungs
 
2.3.2 (2020-05-12)
- Add Windows support to teleop_twist_keyboard. (#24)
 - Contributors: Chris Lalancette
 
2.3.1 (2019-10-03)
- Stop using deprecated APIs. (#22)
 - Contributors: Chris Lalancette
 
2.3.0 (2019-04-19)
- changing QoS to default (#18)
 - Contributors: thorstink
 
2.1.1 (2018-06-26)
2.1.0 (2018-06-26)
- set zip_safe to avoid warning during installation (#14)
 - Update the maintainer to me. (#13)
 - fix data files install path (#12)
 - remove test_suite, add pytest as test_requires (#11)
 - use ros2 run to launch whichever the installation used (#8)
 - Fix teleop_twist_keyboard to have a setup.cfg. (#9)
 - Make sure to add teleop_twist_keyboard to ament index. (#6)
 - use OSI website as reference for license (#2)
 - ROS 2 port (#1)
 - Contributors: Adam Allevato, Austin, Chris Lalancette, Dirk Thomas, Mikael Arguedas
 
0.6.1 (2018-05-02)
- import print from future
 - Print python3 compatible
 - correct Exception handling
 - Merge pull request #7 from lucasw/speed_params set linear and turn speed via rosparams
 - Using tabs instead of spaces to match rest of file
 - set linear and turn speed via rosparams
 - Contributors: Austin, Lucas Walter, Matthijs van der Burgh
 
0.6.0 (2016-03-21)
- Better instruction formatting
 - support holonomic base, send commmand with keyboard down
 - Fixing queue_size warning
 - Create README.md
 
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name | 
|---|---|
| geometry_msgs | |
| rcl_interfaces | |
| rclpy | |
| ament_copyright | |
| ament_flake8 | |
| ament_pep257 | |
| ament_xmllint | 
System Dependencies
| Name | 
|---|
| python3-pytest | 
Dependant Packages
| Name | Deps | 
|---|---|
| desktop | 
Launch files
Messages
Services
Plugins
Recent questions tagged teleop_twist_keyboard at Robotics Stack Exchange
         
       | 
      
        teleop_twist_keyboard package from teleop_twist_keyboard repoteleop_twist_keyboard | 
      
         ROS Distro
       | 
    
Package Summary
| Version | 2.4.1 | 
| License | BSD License 2.0 | 
| Build type | AMENT_PYTHON | 
| Use | RECOMMENDED | 
Repository Summary
| Checkout URI | https://github.com/ros2/teleop_twist_keyboard.git | 
| VCS Type | git | 
| VCS Version | dashing | 
| Last Updated | 2025-09-26 | 
| Dev Status | MAINTAINED | 
| Released | RELEASED | 
| Contributing | 
        
          Help Wanted (-)
        
         Good First Issues (-) Pull Requests to Review (-)  | 
    
Package Description
Maintainers
- Chris Lalancette
 
Authors
- Austin Hendrix
 - Graylin Trevor Jay
 
teleop_twist_keyboard
Generic Keyboard Teleoperation for ROS
Run
ros2 run teleop_twist_keyboard teleop_twist_keyboard
Publishing to a different topic (in this case my_cmd_vel).
ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args --remap cmd_vel:=my_cmd_vel
Usage
This node takes keypresses from the keyboard and publishes them as Twist
messages. It works best with a US keyboard layout.
---------------------------
Moving around:
   u    i    o
   j    k    l
   m    ,    .
For Holonomic mode (strafing), hold down the shift key:
---------------------------
   U    I    O
   J    K    L
   M    <    >
t : up (+z)
b : down (-z)
anything else : stop
q/z : increase/decrease max speeds by 10%
w/x : increase/decrease only linear speed by 10%
e/c : increase/decrease only angular speed by 10%
CTRL-C to quit
Parameters
- 
stamped (bool, default: false)- If false (the default), publish a 
geometry_msgs/msg/Twistmessage. If true, publish ageometry_msgs/msg/TwistStampedmessage. 
 - If false (the default), publish a 
 - 
frame_id (string, default: '')- When 
stampedis true, the frame_id to use when publishing thegeometry_msgs/msg/TwistStampedmessage. 
 - When 
 - 
speed (double, default: 0.5)- The speed the node starts with by default.
 
 - 
turn (double, default: 1.0)- The turn rate (rad/s) the node starts with by default.
 
 
Changelog for package teleop_twist_keyboard
2.4.1 (2025-09-26)
- 
    
replace tests_require with extra_require (#38)
* replace tests_require with extra_require Co-authored-by: Chris Lalancette <<clalancette@gmail.com>>
 - 
    
Set all parameters as read-only. (#40)
* Reject parameter updates. While there are a number of parameters here that can be set at startup, none of them can actually be configured at runtime successfully. Set them to read-only.
 - 
    
Add speed&turn parameters (#34)
* Add speed&turn parameters Co-authored-by: G.A. vd. Hoorn <<g.a.vanderhoorn@tudelft.nl>>
 - 
    
Contributors: Arend-Jan van Hilten, Chris Lalancette, Plumezz
 
2.4.0 (2024-03-08)
- Fixes for flake8. (#29)
 - Show command to change topic name on readme (#27)
 - Remove url for ros1 on package.xml (#28)
 - Added TwistStamped option (#26)
 - Switch to underscores for setup.cfg. (#25)
 - Contributors: Asuki Kono, Chris Lalancette, agyoungs
 
2.3.2 (2020-05-12)
- Add Windows support to teleop_twist_keyboard. (#24)
 - Contributors: Chris Lalancette
 
2.3.1 (2019-10-03)
- Stop using deprecated APIs. (#22)
 - Contributors: Chris Lalancette
 
2.3.0 (2019-04-19)
- changing QoS to default (#18)
 - Contributors: thorstink
 
2.1.1 (2018-06-26)
2.1.0 (2018-06-26)
- set zip_safe to avoid warning during installation (#14)
 - Update the maintainer to me. (#13)
 - fix data files install path (#12)
 - remove test_suite, add pytest as test_requires (#11)
 - use ros2 run to launch whichever the installation used (#8)
 - Fix teleop_twist_keyboard to have a setup.cfg. (#9)
 - Make sure to add teleop_twist_keyboard to ament index. (#6)
 - use OSI website as reference for license (#2)
 - ROS 2 port (#1)
 - Contributors: Adam Allevato, Austin, Chris Lalancette, Dirk Thomas, Mikael Arguedas
 
0.6.1 (2018-05-02)
- import print from future
 - Print python3 compatible
 - correct Exception handling
 - Merge pull request #7 from lucasw/speed_params set linear and turn speed via rosparams
 - Using tabs instead of spaces to match rest of file
 - set linear and turn speed via rosparams
 - Contributors: Austin, Lucas Walter, Matthijs van der Burgh
 
0.6.0 (2016-03-21)
- Better instruction formatting
 - support holonomic base, send commmand with keyboard down
 - Fixing queue_size warning
 - Create README.md
 
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name | 
|---|---|
| geometry_msgs | |
| rcl_interfaces | |
| rclpy | |
| ament_copyright | |
| ament_flake8 | |
| ament_pep257 | |
| ament_xmllint | 
System Dependencies
| Name | 
|---|
| python3-pytest | 
Dependant Packages
| Name | Deps | 
|---|---|
| rmf_demos_ign | |
| desktop | 
Launch files
Messages
Services
Plugins
Recent questions tagged teleop_twist_keyboard at Robotics Stack Exchange
         
       | 
      
        teleop_twist_keyboard package from teleop_twist_keyboard repoteleop_twist_keyboard | 
      
         ROS Distro
       | 
    
Package Summary
| Version | 2.4.1 | 
| License | BSD License 2.0 | 
| Build type | AMENT_PYTHON | 
| Use | RECOMMENDED | 
Repository Summary
| Checkout URI | https://github.com/ros2/teleop_twist_keyboard.git | 
| VCS Type | git | 
| VCS Version | dashing | 
| Last Updated | 2025-09-26 | 
| Dev Status | MAINTAINED | 
| Released | RELEASED | 
| Contributing | 
        
          Help Wanted (-)
        
         Good First Issues (-) Pull Requests to Review (-)  | 
    
Package Description
Maintainers
- Chris Lalancette
 
Authors
- Austin Hendrix
 - Graylin Trevor Jay
 
teleop_twist_keyboard
Generic Keyboard Teleoperation for ROS
Run
ros2 run teleop_twist_keyboard teleop_twist_keyboard
Publishing to a different topic (in this case my_cmd_vel).
ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args --remap cmd_vel:=my_cmd_vel
Usage
This node takes keypresses from the keyboard and publishes them as Twist
messages. It works best with a US keyboard layout.
---------------------------
Moving around:
   u    i    o
   j    k    l
   m    ,    .
For Holonomic mode (strafing), hold down the shift key:
---------------------------
   U    I    O
   J    K    L
   M    <    >
t : up (+z)
b : down (-z)
anything else : stop
q/z : increase/decrease max speeds by 10%
w/x : increase/decrease only linear speed by 10%
e/c : increase/decrease only angular speed by 10%
CTRL-C to quit
Parameters
- 
stamped (bool, default: false)- If false (the default), publish a 
geometry_msgs/msg/Twistmessage. If true, publish ageometry_msgs/msg/TwistStampedmessage. 
 - If false (the default), publish a 
 - 
frame_id (string, default: '')- When 
stampedis true, the frame_id to use when publishing thegeometry_msgs/msg/TwistStampedmessage. 
 - When 
 - 
speed (double, default: 0.5)- The speed the node starts with by default.
 
 - 
turn (double, default: 1.0)- The turn rate (rad/s) the node starts with by default.
 
 
Changelog for package teleop_twist_keyboard
2.4.1 (2025-09-26)
- 
    
replace tests_require with extra_require (#38)
* replace tests_require with extra_require Co-authored-by: Chris Lalancette <<clalancette@gmail.com>>
 - 
    
Set all parameters as read-only. (#40)
* Reject parameter updates. While there are a number of parameters here that can be set at startup, none of them can actually be configured at runtime successfully. Set them to read-only.
 - 
    
Add speed&turn parameters (#34)
* Add speed&turn parameters Co-authored-by: G.A. vd. Hoorn <<g.a.vanderhoorn@tudelft.nl>>
 - 
    
Contributors: Arend-Jan van Hilten, Chris Lalancette, Plumezz
 
2.4.0 (2024-03-08)
- Fixes for flake8. (#29)
 - Show command to change topic name on readme (#27)
 - Remove url for ros1 on package.xml (#28)
 - Added TwistStamped option (#26)
 - Switch to underscores for setup.cfg. (#25)
 - Contributors: Asuki Kono, Chris Lalancette, agyoungs
 
2.3.2 (2020-05-12)
- Add Windows support to teleop_twist_keyboard. (#24)
 - Contributors: Chris Lalancette
 
2.3.1 (2019-10-03)
- Stop using deprecated APIs. (#22)
 - Contributors: Chris Lalancette
 
2.3.0 (2019-04-19)
- changing QoS to default (#18)
 - Contributors: thorstink
 
2.1.1 (2018-06-26)
2.1.0 (2018-06-26)
- set zip_safe to avoid warning during installation (#14)
 - Update the maintainer to me. (#13)
 - fix data files install path (#12)
 - remove test_suite, add pytest as test_requires (#11)
 - use ros2 run to launch whichever the installation used (#8)
 - Fix teleop_twist_keyboard to have a setup.cfg. (#9)
 - Make sure to add teleop_twist_keyboard to ament index. (#6)
 - use OSI website as reference for license (#2)
 - ROS 2 port (#1)
 - Contributors: Adam Allevato, Austin, Chris Lalancette, Dirk Thomas, Mikael Arguedas
 
0.6.1 (2018-05-02)
- import print from future
 - Print python3 compatible
 - correct Exception handling
 - Merge pull request #7 from lucasw/speed_params set linear and turn speed via rosparams
 - Using tabs instead of spaces to match rest of file
 - set linear and turn speed via rosparams
 - Contributors: Austin, Lucas Walter, Matthijs van der Burgh
 
0.6.0 (2016-03-21)
- Better instruction formatting
 - support holonomic base, send commmand with keyboard down
 - Fixing queue_size warning
 - Create README.md
 
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name | 
|---|---|
| geometry_msgs | |
| rcl_interfaces | |
| rclpy | |
| ament_copyright | |
| ament_flake8 | |
| ament_pep257 | |
| ament_xmllint | 
System Dependencies
| Name | 
|---|
| python3-pytest | 
Dependant Packages
| Name | Deps | 
|---|---|
| leo_teleop | |
| rmf_demos_ign | |
| desktop | 
Launch files
Messages
Services
Plugins
Recent questions tagged teleop_twist_keyboard at Robotics Stack Exchange
         
       | 
      
        teleop_twist_keyboard package from teleop_twist_keyboard repoteleop_twist_keyboard | 
      
         ROS Distro
       | 
    
Package Summary
| Version | 2.4.1 | 
| License | BSD License 2.0 | 
| Build type | AMENT_PYTHON | 
| Use | RECOMMENDED | 
Repository Summary
| Checkout URI | https://github.com/ros2/teleop_twist_keyboard.git | 
| VCS Type | git | 
| VCS Version | dashing | 
| Last Updated | 2025-09-26 | 
| Dev Status | MAINTAINED | 
| Released | RELEASED | 
| Contributing | 
        
          Help Wanted (-)
        
         Good First Issues (-) Pull Requests to Review (-)  | 
    
Package Description
Maintainers
- Chris Lalancette
 
Authors
- Austin Hendrix
 - Graylin Trevor Jay
 
teleop_twist_keyboard
Generic Keyboard Teleoperation for ROS
Run
ros2 run teleop_twist_keyboard teleop_twist_keyboard
Publishing to a different topic (in this case my_cmd_vel).
ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args --remap cmd_vel:=my_cmd_vel
Usage
This node takes keypresses from the keyboard and publishes them as Twist
messages. It works best with a US keyboard layout.
---------------------------
Moving around:
   u    i    o
   j    k    l
   m    ,    .
For Holonomic mode (strafing), hold down the shift key:
---------------------------
   U    I    O
   J    K    L
   M    <    >
t : up (+z)
b : down (-z)
anything else : stop
q/z : increase/decrease max speeds by 10%
w/x : increase/decrease only linear speed by 10%
e/c : increase/decrease only angular speed by 10%
CTRL-C to quit
Parameters
- 
stamped (bool, default: false)- If false (the default), publish a 
geometry_msgs/msg/Twistmessage. If true, publish ageometry_msgs/msg/TwistStampedmessage. 
 - If false (the default), publish a 
 - 
frame_id (string, default: '')- When 
stampedis true, the frame_id to use when publishing thegeometry_msgs/msg/TwistStampedmessage. 
 - When 
 - 
speed (double, default: 0.5)- The speed the node starts with by default.
 
 - 
turn (double, default: 1.0)- The turn rate (rad/s) the node starts with by default.
 
 
Changelog for package teleop_twist_keyboard
2.4.1 (2025-09-26)
- 
    
replace tests_require with extra_require (#38)
* replace tests_require with extra_require Co-authored-by: Chris Lalancette <<clalancette@gmail.com>>
 - 
    
Set all parameters as read-only. (#40)
* Reject parameter updates. While there are a number of parameters here that can be set at startup, none of them can actually be configured at runtime successfully. Set them to read-only.
 - 
    
Add speed&turn parameters (#34)
* Add speed&turn parameters Co-authored-by: G.A. vd. Hoorn <<g.a.vanderhoorn@tudelft.nl>>
 - 
    
Contributors: Arend-Jan van Hilten, Chris Lalancette, Plumezz
 
2.4.0 (2024-03-08)
- Fixes for flake8. (#29)
 - Show command to change topic name on readme (#27)
 - Remove url for ros1 on package.xml (#28)
 - Added TwistStamped option (#26)
 - Switch to underscores for setup.cfg. (#25)
 - Contributors: Asuki Kono, Chris Lalancette, agyoungs
 
2.3.2 (2020-05-12)
- Add Windows support to teleop_twist_keyboard. (#24)
 - Contributors: Chris Lalancette
 
2.3.1 (2019-10-03)
- Stop using deprecated APIs. (#22)
 - Contributors: Chris Lalancette
 
2.3.0 (2019-04-19)
- changing QoS to default (#18)
 - Contributors: thorstink
 
2.1.1 (2018-06-26)
2.1.0 (2018-06-26)
- set zip_safe to avoid warning during installation (#14)
 - Update the maintainer to me. (#13)
 - fix data files install path (#12)
 - remove test_suite, add pytest as test_requires (#11)
 - use ros2 run to launch whichever the installation used (#8)
 - Fix teleop_twist_keyboard to have a setup.cfg. (#9)
 - Make sure to add teleop_twist_keyboard to ament index. (#6)
 - use OSI website as reference for license (#2)
 - ROS 2 port (#1)
 - Contributors: Adam Allevato, Austin, Chris Lalancette, Dirk Thomas, Mikael Arguedas
 
0.6.1 (2018-05-02)
- import print from future
 - Print python3 compatible
 - correct Exception handling
 - Merge pull request #7 from lucasw/speed_params set linear and turn speed via rosparams
 - Using tabs instead of spaces to match rest of file
 - set linear and turn speed via rosparams
 - Contributors: Austin, Lucas Walter, Matthijs van der Burgh
 
0.6.0 (2016-03-21)
- Better instruction formatting
 - support holonomic base, send commmand with keyboard down
 - Fixing queue_size warning
 - Create README.md
 
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name | 
|---|---|
| geometry_msgs | |
| rcl_interfaces | |
| rclpy | |
| ament_copyright | |
| ament_flake8 | |
| ament_pep257 | |
| ament_xmllint | 
System Dependencies
| Name | 
|---|
| python3-pytest | 
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged teleop_twist_keyboard at Robotics Stack Exchange
         
       | 
      
        teleop_twist_keyboard package from teleop_twist_keyboard repoteleop_twist_keyboard | 
      
         ROS Distro
       | 
    
Package Summary
| Version | 1.0.0 | 
| License | BSD | 
| Build type | CATKIN | 
| Use | RECOMMENDED | 
Repository Summary
| Checkout URI | https://github.com/ros-teleop/teleop_twist_keyboard.git | 
| VCS Type | git | 
| VCS Version | master | 
| Last Updated | 2022-12-23 | 
| Dev Status | MAINTAINED | 
| Released | RELEASED | 
| Contributing | 
        
          Help Wanted (-)
        
         Good First Issues (-) Pull Requests to Review (-)  | 
    
Package Description
Additional Links
Maintainers
- Austin Hendrix
 
Authors
- Graylin Trevor Jay
 
teleop_twist_keyboard
Generic Keyboard Teleop for ROS
Launch
Run.
rosrun teleop_twist_keyboard teleop_twist_keyboard.py
With custom values.
rosrun teleop_twist_keyboard teleop_twist_keyboard.py _speed:=0.9 _turn:=0.8
Publishing to a different topic (in this case my_cmd_vel).
rosrun teleop_twist_keyboard teleop_twist_keyboard.py cmd_vel:=my_cmd_vel
Usage
Reading from the keyboard  and Publishing to Twist!
---------------------------
Moving around:
   u    i    o
   j    k    l
   m    ,    .
For Holonomic mode (strafing), hold down the shift key:
---------------------------
   U    I    O
   J    K    L
   M    <    >
t : up (+z)
b : down (-z)
anything else : stop
q/z : increase/decrease max speeds by 10%
w/x : increase/decrease only linear speed by 10%
e/c : increase/decrease only angular speed by 10%
CTRL-C to quit
Repeat Rate
If your mobile base requires constant updates on the cmd_vel topic, teleop_twist_keyboard can be configured to repeat the last command at a fixed interval, using the repeat_rate private parameter.
For example, to repeat the last command at 10Hz:
rosrun teleop_twist_keyboard teleop_twist_keyboard.py _repeat_rate:=10.0
It is highly recommened that the repeat rate be used in conjunction with the key timeout, to prevent runaway robots.
Key Timeout
Teleop_twist_keyboard can be configured to stop your robot if it does not receive any key presses in a configured time period, using the key_timeout private parameter.
For example, to stop your robot if a keypress has not been received in 0.6 seconds:
rosrun teleop_twist_keyboard teleop_twist_keyboard.py _key_timeout:=0.6
It is recommended that you set key_timeout higher than the initial key repeat delay on your system (This delay is 0.5 seconds by default on Ubuntu, but can be adjusted).
Twist with header
Publishing a TwistStamped message instead of Twist can be enabled with the stamped private parameter. Additionally the frame_id of the TwistStamped message can be set with the frame_id private parameter.
rosrun teleop_twist_keyboard teleop_twist_keyboard.py _stamped:=True _frame_id:=base_link
1.0.0 (2020-06-26)
- Implement repeat rate and key timeout
 - Update readme about publishing to another topic.
 - Contributors: Austin, trainman419
 
0.6.2 (2018-10-21)
- Replace tabs with spaces, fixes #15
 - Merge pull request #13 from asukiaaa/patch-3 Add rosrun command to specify values
 - Add rosrun command to specify values
 - Contributors: Asuki Kono, Austin, trainman419
 
0.6.1 (2018-05-02)
- Merge pull request #11 from MatthijsBurgh/patch-1 Correct exception handling; Python3 print compatible
 - import print from future
 - Print python3 compatible
 - correct Exception handling
 - Merge pull request #7 from lucasw/speed_params set linear and turn speed via rosparams
 - Using tabs instead of spaces to match rest of file
 - set linear and turn speed via rosparams
 - Contributors: Austin, Lucas Walter, Matthijs van der Burgh
 
0.6.0 (2016-03-21)
- Better instruction formatting
 - support holonomic base, send commmand with keyboard down
 - Fixing queue_size warning
 - Create README.md
 - Update the description string in package.xml
 - Contributors: Austin, Kei Okada, LiohAu, Mike Purvis, kk6axq, trainman419
 
0.5.0 (2014-02-11)
- Initial import from brown_remotelab
 - Convert to catkin
 
Package Dependencies
| Deps | Name | 
|---|---|
| catkin | |
| geometry_msgs | |
| rospy | 
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged teleop_twist_keyboard at Robotics Stack Exchange
         
       | 
      
        teleop_twist_keyboard package from teleop_twist_keyboard repoteleop_twist_keyboard | 
      
         ROS Distro
       | 
    
Package Summary
| Version | 1.0.0 | 
| License | BSD | 
| Build type | CATKIN | 
| Use | RECOMMENDED | 
Repository Summary
| Checkout URI | https://github.com/ros-teleop/teleop_twist_keyboard.git | 
| VCS Type | git | 
| VCS Version | master | 
| Last Updated | 2022-12-23 | 
| Dev Status | MAINTAINED | 
| Released | RELEASED | 
| Contributing | 
        
          Help Wanted (-)
        
         Good First Issues (-) Pull Requests to Review (-)  | 
    
Package Description
Additional Links
Maintainers
- Austin Hendrix
 
Authors
- Graylin Trevor Jay
 
teleop_twist_keyboard
Generic Keyboard Teleop for ROS
Launch
Run.
rosrun teleop_twist_keyboard teleop_twist_keyboard.py
With custom values.
rosrun teleop_twist_keyboard teleop_twist_keyboard.py _speed:=0.9 _turn:=0.8
Publishing to a different topic (in this case my_cmd_vel).
rosrun teleop_twist_keyboard teleop_twist_keyboard.py cmd_vel:=my_cmd_vel
Usage
Reading from the keyboard  and Publishing to Twist!
---------------------------
Moving around:
   u    i    o
   j    k    l
   m    ,    .
For Holonomic mode (strafing), hold down the shift key:
---------------------------
   U    I    O
   J    K    L
   M    <    >
t : up (+z)
b : down (-z)
anything else : stop
q/z : increase/decrease max speeds by 10%
w/x : increase/decrease only linear speed by 10%
e/c : increase/decrease only angular speed by 10%
CTRL-C to quit
Repeat Rate
If your mobile base requires constant updates on the cmd_vel topic, teleop_twist_keyboard can be configured to repeat the last command at a fixed interval, using the repeat_rate private parameter.
For example, to repeat the last command at 10Hz:
rosrun teleop_twist_keyboard teleop_twist_keyboard.py _repeat_rate:=10.0
It is highly recommened that the repeat rate be used in conjunction with the key timeout, to prevent runaway robots.
Key Timeout
Teleop_twist_keyboard can be configured to stop your robot if it does not receive any key presses in a configured time period, using the key_timeout private parameter.
For example, to stop your robot if a keypress has not been received in 0.6 seconds:
rosrun teleop_twist_keyboard teleop_twist_keyboard.py _key_timeout:=0.6
It is recommended that you set key_timeout higher than the initial key repeat delay on your system (This delay is 0.5 seconds by default on Ubuntu, but can be adjusted).
Twist with header
Publishing a TwistStamped message instead of Twist can be enabled with the stamped private parameter. Additionally the frame_id of the TwistStamped message can be set with the frame_id private parameter.
rosrun teleop_twist_keyboard teleop_twist_keyboard.py _stamped:=True _frame_id:=base_link
1.0.0 (2020-06-26)
- Implement repeat rate and key timeout
 - Update readme about publishing to another topic.
 - Contributors: Austin, trainman419
 
0.6.2 (2018-10-21)
- Replace tabs with spaces, fixes #15
 - Merge pull request #13 from asukiaaa/patch-3 Add rosrun command to specify values
 - Add rosrun command to specify values
 - Contributors: Asuki Kono, Austin, trainman419
 
0.6.1 (2018-05-02)
- Merge pull request #11 from MatthijsBurgh/patch-1 Correct exception handling; Python3 print compatible
 - import print from future
 - Print python3 compatible
 - correct Exception handling
 - Merge pull request #7 from lucasw/speed_params set linear and turn speed via rosparams
 - Using tabs instead of spaces to match rest of file
 - set linear and turn speed via rosparams
 - Contributors: Austin, Lucas Walter, Matthijs van der Burgh
 
0.6.0 (2016-03-21)
- Better instruction formatting
 - support holonomic base, send commmand with keyboard down
 - Fixing queue_size warning
 - Create README.md
 - Update the description string in package.xml
 - Contributors: Austin, Kei Okada, LiohAu, Mike Purvis, kk6axq, trainman419
 
0.5.0 (2014-02-11)
- Initial import from brown_remotelab
 - Convert to catkin
 
Package Dependencies
| Deps | Name | 
|---|---|
| catkin | |
| geometry_msgs | |
| rospy | 
System Dependencies
Dependant Packages
| Name | Deps | 
|---|---|
| fetch_gazebo_demo | |
| tetris_launch | 
Launch files
Messages
Services
Plugins
Recent questions tagged teleop_twist_keyboard at Robotics Stack Exchange
         
       | 
      
        teleop_twist_keyboard package from teleop_twist_keyboard repoteleop_twist_keyboard | 
      
         ROS Distro
       | 
    
Package Summary
| Version | 1.0.0 | 
| License | BSD | 
| Build type | CATKIN | 
| Use | RECOMMENDED | 
Repository Summary
| Checkout URI | https://github.com/ros-teleop/teleop_twist_keyboard.git | 
| VCS Type | git | 
| VCS Version | master | 
| Last Updated | 2022-12-23 | 
| Dev Status | MAINTAINED | 
| Released | RELEASED | 
| Contributing | 
        
          Help Wanted (-)
        
         Good First Issues (-) Pull Requests to Review (-)  | 
    
Package Description
Additional Links
Maintainers
- Austin Hendrix
 
Authors
- Graylin Trevor Jay
 
teleop_twist_keyboard
Generic Keyboard Teleop for ROS
Launch
Run.
rosrun teleop_twist_keyboard teleop_twist_keyboard.py
With custom values.
rosrun teleop_twist_keyboard teleop_twist_keyboard.py _speed:=0.9 _turn:=0.8
Publishing to a different topic (in this case my_cmd_vel).
rosrun teleop_twist_keyboard teleop_twist_keyboard.py cmd_vel:=my_cmd_vel
Usage
Reading from the keyboard  and Publishing to Twist!
---------------------------
Moving around:
   u    i    o
   j    k    l
   m    ,    .
For Holonomic mode (strafing), hold down the shift key:
---------------------------
   U    I    O
   J    K    L
   M    <    >
t : up (+z)
b : down (-z)
anything else : stop
q/z : increase/decrease max speeds by 10%
w/x : increase/decrease only linear speed by 10%
e/c : increase/decrease only angular speed by 10%
CTRL-C to quit
Repeat Rate
If your mobile base requires constant updates on the cmd_vel topic, teleop_twist_keyboard can be configured to repeat the last command at a fixed interval, using the repeat_rate private parameter.
For example, to repeat the last command at 10Hz:
rosrun teleop_twist_keyboard teleop_twist_keyboard.py _repeat_rate:=10.0
It is highly recommened that the repeat rate be used in conjunction with the key timeout, to prevent runaway robots.
Key Timeout
Teleop_twist_keyboard can be configured to stop your robot if it does not receive any key presses in a configured time period, using the key_timeout private parameter.
For example, to stop your robot if a keypress has not been received in 0.6 seconds:
rosrun teleop_twist_keyboard teleop_twist_keyboard.py _key_timeout:=0.6
It is recommended that you set key_timeout higher than the initial key repeat delay on your system (This delay is 0.5 seconds by default on Ubuntu, but can be adjusted).
Twist with header
Publishing a TwistStamped message instead of Twist can be enabled with the stamped private parameter. Additionally the frame_id of the TwistStamped message can be set with the frame_id private parameter.
rosrun teleop_twist_keyboard teleop_twist_keyboard.py _stamped:=True _frame_id:=base_link
1.0.0 (2020-06-26)
- Implement repeat rate and key timeout
 - Update readme about publishing to another topic.
 - Contributors: Austin, trainman419
 
0.6.2 (2018-10-21)
- Replace tabs with spaces, fixes #15
 - Merge pull request #13 from asukiaaa/patch-3 Add rosrun command to specify values
 - Add rosrun command to specify values
 - Contributors: Asuki Kono, Austin, trainman419
 
0.6.1 (2018-05-02)
- Merge pull request #11 from MatthijsBurgh/patch-1 Correct exception handling; Python3 print compatible
 - import print from future
 - Print python3 compatible
 - correct Exception handling
 - Merge pull request #7 from lucasw/speed_params set linear and turn speed via rosparams
 - Using tabs instead of spaces to match rest of file
 - set linear and turn speed via rosparams
 - Contributors: Austin, Lucas Walter, Matthijs van der Burgh
 
0.6.0 (2016-03-21)
- Better instruction formatting
 - support holonomic base, send commmand with keyboard down
 - Fixing queue_size warning
 - Create README.md
 - Update the description string in package.xml
 - Contributors: Austin, Kei Okada, LiohAu, Mike Purvis, kk6axq, trainman419
 
0.5.0 (2014-02-11)
- Initial import from brown_remotelab
 - Convert to catkin
 
Package Dependencies
| Deps | Name | 
|---|---|
| catkin | |
| geometry_msgs | |
| rospy | 
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged teleop_twist_keyboard at Robotics Stack Exchange
         
       | 
      
        teleop_twist_keyboard package from teleop_twist_keyboard repoteleop_twist_keyboard | 
      
         ROS Distro
       | 
    
Package Summary
| Version | 1.0.0 | 
| License | BSD | 
| Build type | CATKIN | 
| Use | RECOMMENDED | 
Repository Summary
| Checkout URI | https://github.com/ros-teleop/teleop_twist_keyboard.git | 
| VCS Type | git | 
| VCS Version | master | 
| Last Updated | 2022-12-23 | 
| Dev Status | MAINTAINED | 
| Released | RELEASED | 
| Contributing | 
        
          Help Wanted (-)
        
         Good First Issues (-) Pull Requests to Review (-)  | 
    
Package Description
Additional Links
Maintainers
- Austin Hendrix
 
Authors
- Graylin Trevor Jay
 
teleop_twist_keyboard
Generic Keyboard Teleop for ROS
Launch
Run.
rosrun teleop_twist_keyboard teleop_twist_keyboard.py
With custom values.
rosrun teleop_twist_keyboard teleop_twist_keyboard.py _speed:=0.9 _turn:=0.8
Publishing to a different topic (in this case my_cmd_vel).
rosrun teleop_twist_keyboard teleop_twist_keyboard.py cmd_vel:=my_cmd_vel
Usage
Reading from the keyboard  and Publishing to Twist!
---------------------------
Moving around:
   u    i    o
   j    k    l
   m    ,    .
For Holonomic mode (strafing), hold down the shift key:
---------------------------
   U    I    O
   J    K    L
   M    <    >
t : up (+z)
b : down (-z)
anything else : stop
q/z : increase/decrease max speeds by 10%
w/x : increase/decrease only linear speed by 10%
e/c : increase/decrease only angular speed by 10%
CTRL-C to quit
Repeat Rate
If your mobile base requires constant updates on the cmd_vel topic, teleop_twist_keyboard can be configured to repeat the last command at a fixed interval, using the repeat_rate private parameter.
For example, to repeat the last command at 10Hz:
rosrun teleop_twist_keyboard teleop_twist_keyboard.py _repeat_rate:=10.0
It is highly recommened that the repeat rate be used in conjunction with the key timeout, to prevent runaway robots.
Key Timeout
Teleop_twist_keyboard can be configured to stop your robot if it does not receive any key presses in a configured time period, using the key_timeout private parameter.
For example, to stop your robot if a keypress has not been received in 0.6 seconds:
rosrun teleop_twist_keyboard teleop_twist_keyboard.py _key_timeout:=0.6
It is recommended that you set key_timeout higher than the initial key repeat delay on your system (This delay is 0.5 seconds by default on Ubuntu, but can be adjusted).
Twist with header
Publishing a TwistStamped message instead of Twist can be enabled with the stamped private parameter. Additionally the frame_id of the TwistStamped message can be set with the frame_id private parameter.
rosrun teleop_twist_keyboard teleop_twist_keyboard.py _stamped:=True _frame_id:=base_link
1.0.0 (2020-06-26)
- Implement repeat rate and key timeout
 - Update readme about publishing to another topic.
 - Contributors: Austin, trainman419
 
0.6.2 (2018-10-21)
- Replace tabs with spaces, fixes #15
 - Merge pull request #13 from asukiaaa/patch-3 Add rosrun command to specify values
 - Add rosrun command to specify values
 - Contributors: Asuki Kono, Austin, trainman419
 
0.6.1 (2018-05-02)
- Merge pull request #11 from MatthijsBurgh/patch-1 Correct exception handling; Python3 print compatible
 - import print from future
 - Print python3 compatible
 - correct Exception handling
 - Merge pull request #7 from lucasw/speed_params set linear and turn speed via rosparams
 - Using tabs instead of spaces to match rest of file
 - set linear and turn speed via rosparams
 - Contributors: Austin, Lucas Walter, Matthijs van der Burgh
 
0.6.0 (2016-03-21)
- Better instruction formatting
 - support holonomic base, send commmand with keyboard down
 - Fixing queue_size warning
 - Create README.md
 - Update the description string in package.xml
 - Contributors: Austin, Kei Okada, LiohAu, Mike Purvis, kk6axq, trainman419
 
0.5.0 (2014-02-11)
- Initial import from brown_remotelab
 - Convert to catkin
 
Package Dependencies
| Deps | Name | 
|---|---|
| catkin | |
| geometry_msgs | |
| rospy | 
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged teleop_twist_keyboard at Robotics Stack Exchange
         
       | 
      
        teleop_twist_keyboard package from teleop_twist_keyboard repoteleop_twist_keyboard | 
      
         ROS Distro
       | 
    
Package Summary
| Version | 1.0.0 | 
| License | BSD | 
| Build type | CATKIN | 
| Use | RECOMMENDED | 
Repository Summary
| Checkout URI | https://github.com/ros-teleop/teleop_twist_keyboard.git | 
| VCS Type | git | 
| VCS Version | master | 
| Last Updated | 2022-12-23 | 
| Dev Status | MAINTAINED | 
| Released | RELEASED | 
| Contributing | 
        
          Help Wanted (-)
        
         Good First Issues (-) Pull Requests to Review (-)  | 
    
Package Description
Additional Links
Maintainers
- Austin Hendrix
 
Authors
- Graylin Trevor Jay
 
teleop_twist_keyboard
Generic Keyboard Teleop for ROS
Launch
Run.
rosrun teleop_twist_keyboard teleop_twist_keyboard.py
With custom values.
rosrun teleop_twist_keyboard teleop_twist_keyboard.py _speed:=0.9 _turn:=0.8
Publishing to a different topic (in this case my_cmd_vel).
rosrun teleop_twist_keyboard teleop_twist_keyboard.py cmd_vel:=my_cmd_vel
Usage
Reading from the keyboard  and Publishing to Twist!
---------------------------
Moving around:
   u    i    o
   j    k    l
   m    ,    .
For Holonomic mode (strafing), hold down the shift key:
---------------------------
   U    I    O
   J    K    L
   M    <    >
t : up (+z)
b : down (-z)
anything else : stop
q/z : increase/decrease max speeds by 10%
w/x : increase/decrease only linear speed by 10%
e/c : increase/decrease only angular speed by 10%
CTRL-C to quit
Repeat Rate
If your mobile base requires constant updates on the cmd_vel topic, teleop_twist_keyboard can be configured to repeat the last command at a fixed interval, using the repeat_rate private parameter.
For example, to repeat the last command at 10Hz:
rosrun teleop_twist_keyboard teleop_twist_keyboard.py _repeat_rate:=10.0
It is highly recommened that the repeat rate be used in conjunction with the key timeout, to prevent runaway robots.
Key Timeout
Teleop_twist_keyboard can be configured to stop your robot if it does not receive any key presses in a configured time period, using the key_timeout private parameter.
For example, to stop your robot if a keypress has not been received in 0.6 seconds:
rosrun teleop_twist_keyboard teleop_twist_keyboard.py _key_timeout:=0.6
It is recommended that you set key_timeout higher than the initial key repeat delay on your system (This delay is 0.5 seconds by default on Ubuntu, but can be adjusted).
Twist with header
Publishing a TwistStamped message instead of Twist can be enabled with the stamped private parameter. Additionally the frame_id of the TwistStamped message can be set with the frame_id private parameter.
rosrun teleop_twist_keyboard teleop_twist_keyboard.py _stamped:=True _frame_id:=base_link
1.0.0 (2020-06-26)
- Implement repeat rate and key timeout
 - Update readme about publishing to another topic.
 - Contributors: Austin, trainman419
 
0.6.2 (2018-10-21)
- Replace tabs with spaces, fixes #15
 - Merge pull request #13 from asukiaaa/patch-3 Add rosrun command to specify values
 - Add rosrun command to specify values
 - Contributors: Asuki Kono, Austin, trainman419
 
0.6.1 (2018-05-02)
- Merge pull request #11 from MatthijsBurgh/patch-1 Correct exception handling; Python3 print compatible
 - import print from future
 - Print python3 compatible
 - correct Exception handling
 - Merge pull request #7 from lucasw/speed_params set linear and turn speed via rosparams
 - Using tabs instead of spaces to match rest of file
 - set linear and turn speed via rosparams
 - Contributors: Austin, Lucas Walter, Matthijs van der Burgh
 
0.6.0 (2016-03-21)
- Better instruction formatting
 - support holonomic base, send commmand with keyboard down
 - Fixing queue_size warning
 - Create README.md
 - Update the description string in package.xml
 - Contributors: Austin, Kei Okada, LiohAu, Mike Purvis, kk6axq, trainman419
 
0.5.0 (2014-02-11)
- Initial import from brown_remotelab
 - Convert to catkin
 
Package Dependencies
| Deps | Name | 
|---|---|
| catkin | |
| geometry_msgs | |
| rospy | 
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged teleop_twist_keyboard at Robotics Stack Exchange
         
       | 
      
        teleop_twist_keyboard package from teleop_twist_keyboard repoteleop_twist_keyboard | 
      
         ROS Distro
       | 
    
Package Summary
| Version | 1.0.0 | 
| License | BSD | 
| Build type | CATKIN | 
| Use | RECOMMENDED | 
Repository Summary
| Checkout URI | https://github.com/ros-teleop/teleop_twist_keyboard.git | 
| VCS Type | git | 
| VCS Version | master | 
| Last Updated | 2022-12-23 | 
| Dev Status | MAINTAINED | 
| Released | RELEASED | 
| Contributing | 
        
          Help Wanted (-)
        
         Good First Issues (-) Pull Requests to Review (-)  | 
    
Package Description
Additional Links
Maintainers
- Austin Hendrix
 
Authors
- Graylin Trevor Jay
 
teleop_twist_keyboard
Generic Keyboard Teleop for ROS
Launch
Run.
rosrun teleop_twist_keyboard teleop_twist_keyboard.py
With custom values.
rosrun teleop_twist_keyboard teleop_twist_keyboard.py _speed:=0.9 _turn:=0.8
Publishing to a different topic (in this case my_cmd_vel).
rosrun teleop_twist_keyboard teleop_twist_keyboard.py cmd_vel:=my_cmd_vel
Usage
Reading from the keyboard  and Publishing to Twist!
---------------------------
Moving around:
   u    i    o
   j    k    l
   m    ,    .
For Holonomic mode (strafing), hold down the shift key:
---------------------------
   U    I    O
   J    K    L
   M    <    >
t : up (+z)
b : down (-z)
anything else : stop
q/z : increase/decrease max speeds by 10%
w/x : increase/decrease only linear speed by 10%
e/c : increase/decrease only angular speed by 10%
CTRL-C to quit
Repeat Rate
If your mobile base requires constant updates on the cmd_vel topic, teleop_twist_keyboard can be configured to repeat the last command at a fixed interval, using the repeat_rate private parameter.
For example, to repeat the last command at 10Hz:
rosrun teleop_twist_keyboard teleop_twist_keyboard.py _repeat_rate:=10.0
It is highly recommened that the repeat rate be used in conjunction with the key timeout, to prevent runaway robots.
Key Timeout
Teleop_twist_keyboard can be configured to stop your robot if it does not receive any key presses in a configured time period, using the key_timeout private parameter.
For example, to stop your robot if a keypress has not been received in 0.6 seconds:
rosrun teleop_twist_keyboard teleop_twist_keyboard.py _key_timeout:=0.6
It is recommended that you set key_timeout higher than the initial key repeat delay on your system (This delay is 0.5 seconds by default on Ubuntu, but can be adjusted).
Twist with header
Publishing a TwistStamped message instead of Twist can be enabled with the stamped private parameter. Additionally the frame_id of the TwistStamped message can be set with the frame_id private parameter.
rosrun teleop_twist_keyboard teleop_twist_keyboard.py _stamped:=True _frame_id:=base_link
1.0.0 (2020-06-26)
- Implement repeat rate and key timeout
 - Update readme about publishing to another topic.
 - Contributors: Austin, trainman419
 
0.6.2 (2018-10-21)
- Replace tabs with spaces, fixes #15
 - Merge pull request #13 from asukiaaa/patch-3 Add rosrun command to specify values
 - Add rosrun command to specify values
 - Contributors: Asuki Kono, Austin, trainman419
 
0.6.1 (2018-05-02)
- Merge pull request #11 from MatthijsBurgh/patch-1 Correct exception handling; Python3 print compatible
 - import print from future
 - Print python3 compatible
 - correct Exception handling
 - Merge pull request #7 from lucasw/speed_params set linear and turn speed via rosparams
 - Using tabs instead of spaces to match rest of file
 - set linear and turn speed via rosparams
 - Contributors: Austin, Lucas Walter, Matthijs van der Burgh
 
0.6.0 (2016-03-21)
- Better instruction formatting
 - support holonomic base, send commmand with keyboard down
 - Fixing queue_size warning
 - Create README.md
 - Update the description string in package.xml
 - Contributors: Austin, Kei Okada, LiohAu, Mike Purvis, kk6axq, trainman419
 
0.5.0 (2014-02-11)
- Initial import from brown_remotelab
 - Convert to catkin
 
Package Dependencies
| Deps | Name | 
|---|---|
| catkin | |
| geometry_msgs | |
| rospy | 
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged teleop_twist_keyboard at Robotics Stack Exchange
         
       | 
      
        teleop_twist_keyboard package from teleop_twist_keyboard repoteleop_twist_keyboard | 
      
         ROS Distro
       | 
    
Package Summary
| Version | 1.0.0 | 
| License | BSD | 
| Build type | CATKIN | 
| Use | RECOMMENDED | 
Repository Summary
| Checkout URI | https://github.com/ros-teleop/teleop_twist_keyboard.git | 
| VCS Type | git | 
| VCS Version | master | 
| Last Updated | 2022-12-23 | 
| Dev Status | MAINTAINED | 
| Released | RELEASED | 
| Contributing | 
        
          Help Wanted (-)
        
         Good First Issues (-) Pull Requests to Review (-)  | 
    
Package Description
Additional Links
Maintainers
- Austin Hendrix
 
Authors
- Graylin Trevor Jay
 
teleop_twist_keyboard
Generic Keyboard Teleop for ROS
Launch
Run.
rosrun teleop_twist_keyboard teleop_twist_keyboard.py
With custom values.
rosrun teleop_twist_keyboard teleop_twist_keyboard.py _speed:=0.9 _turn:=0.8
Publishing to a different topic (in this case my_cmd_vel).
rosrun teleop_twist_keyboard teleop_twist_keyboard.py cmd_vel:=my_cmd_vel
Usage
Reading from the keyboard  and Publishing to Twist!
---------------------------
Moving around:
   u    i    o
   j    k    l
   m    ,    .
For Holonomic mode (strafing), hold down the shift key:
---------------------------
   U    I    O
   J    K    L
   M    <    >
t : up (+z)
b : down (-z)
anything else : stop
q/z : increase/decrease max speeds by 10%
w/x : increase/decrease only linear speed by 10%
e/c : increase/decrease only angular speed by 10%
CTRL-C to quit
Repeat Rate
If your mobile base requires constant updates on the cmd_vel topic, teleop_twist_keyboard can be configured to repeat the last command at a fixed interval, using the repeat_rate private parameter.
For example, to repeat the last command at 10Hz:
rosrun teleop_twist_keyboard teleop_twist_keyboard.py _repeat_rate:=10.0
It is highly recommened that the repeat rate be used in conjunction with the key timeout, to prevent runaway robots.
Key Timeout
Teleop_twist_keyboard can be configured to stop your robot if it does not receive any key presses in a configured time period, using the key_timeout private parameter.
For example, to stop your robot if a keypress has not been received in 0.6 seconds:
rosrun teleop_twist_keyboard teleop_twist_keyboard.py _key_timeout:=0.6
It is recommended that you set key_timeout higher than the initial key repeat delay on your system (This delay is 0.5 seconds by default on Ubuntu, but can be adjusted).
Twist with header
Publishing a TwistStamped message instead of Twist can be enabled with the stamped private parameter. Additionally the frame_id of the TwistStamped message can be set with the frame_id private parameter.
rosrun teleop_twist_keyboard teleop_twist_keyboard.py _stamped:=True _frame_id:=base_link
1.0.0 (2020-06-26)
- Implement repeat rate and key timeout
 - Update readme about publishing to another topic.
 - Contributors: Austin, trainman419
 
0.6.2 (2018-10-21)
- Replace tabs with spaces, fixes #15
 - Merge pull request #13 from asukiaaa/patch-3 Add rosrun command to specify values
 - Add rosrun command to specify values
 - Contributors: Asuki Kono, Austin, trainman419
 
0.6.1 (2018-05-02)
- Merge pull request #11 from MatthijsBurgh/patch-1 Correct exception handling; Python3 print compatible
 - import print from future
 - Print python3 compatible
 - correct Exception handling
 - Merge pull request #7 from lucasw/speed_params set linear and turn speed via rosparams
 - Using tabs instead of spaces to match rest of file
 - set linear and turn speed via rosparams
 - Contributors: Austin, Lucas Walter, Matthijs van der Burgh
 
0.6.0 (2016-03-21)
- Better instruction formatting
 - support holonomic base, send commmand with keyboard down
 - Fixing queue_size warning
 - Create README.md
 - Update the description string in package.xml
 - Contributors: Austin, Kei Okada, LiohAu, Mike Purvis, kk6axq, trainman419
 
0.5.0 (2014-02-11)
- Initial import from brown_remotelab
 - Convert to catkin
 
Package Dependencies
| Deps | Name | 
|---|---|
| catkin | |
| geometry_msgs | |
| rospy |