キーボードでロボット操作 - teleop_twist_keyboard
前回rostopicコマンドで速度指令値をPublishしてロボットを動かした。毎回コマンドを打つのは面倒なので、ゲームみたいにキーボードで動かせるteleop_twist_keyboardを使ってみる。
動作環境
- Ubuntu16.04
- ROS Kinetic Kame
- GAZEBO 7.0.0
今回動かすロボットは、GAZEBOシミュレータ上で動くもの。Twist
型のMessageを受け取って動くロボットならなんでも良い。
使用するPackage
今回使用するPackageはteleop_twist_keyboard。キーボードでロボットの移動方向を操作できる。この記事の内容はほぼ下記Wikiの日本語訳みたいなもの。
Packageのインストール
下記コマンドでインストールする。
$ sudo apt-get install ros-kinetic-teleop-twist-keyboard
使い方
起動
下記コマンドでteleop_twist_keyboardを起動する。cmd_vel:=/
以下は適宜操作するロボットに合わせて変更すること。
$ rosrun teleop_twist_keyboard teleop_twist_keyboard.py cmd_vel:=/mabot/diff_drive_controller/cmd_vel
操作方法
親切なことに操作方法は起動時に出てくる。
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 currently: speed 0.5 turn 1.0
いくつかピックアップするとこんな感じ。
i
: 前進,
: 後進j
: 左旋回l
: 右旋回q
: スピードアップz
: スピードダウンcurrently
: 現在のスピード
これでTwistを直に書くよりも楽に操作することができた。