Repository Summary
| Description | Generic Keyboard Teleop for ROS |
| 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 |
| 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_keyboard | 1.0.0 |
README
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
CONTRIBUTING
Repository Summary
| Description | Generic Keyboard Teleop for ROS |
| 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 |
| 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_keyboard | 1.0.0 |
README
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