wiki:ROS2018

Version 3 (modified by nakasato, 6 years ago) (diff)

--

memo

https://qiita.com/tomoyafujita/items/13076d37bcac05a83530

rostopic利用方法

止める

rostopic pub /cmd_vel geometry_msgs/Twist -1 "{linear: {x: 0.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 0.0}}"

前進

rostopic pub /cmd_vel geometry_msgs/Twist -1 "{linear: {x: 0.05, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 0.0}}"

"x: 0.05"が前進の速度。負の値にすれば後進する。

右左に旋回

rostopic pub /cmd_vel geometry_msgs/Twist -1 "{linear: {x: 0.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 0.03}}"

angularの"z: 0.03"が角速度を指定している。

組み合わせの方法 =

スクリプトを組むことで複雑な動きを指定できる。シミュレータで試した方がよいかも。

rostopic pub /cmd_vel geometry_msgs/Twist -1 "{linear: {x: 0.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 0.4}}" &
sleepenh 0.5
rostopic pub /cmd_vel geometry_msgs/Twist -1 "{linear: {x: 0.05, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 0.0}}" &
sleepenh 1.5
rostopic pub /cmd_vel geometry_msgs/Twist -1 "{linear: {x: 0.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 0.0}}"

「約0.5秒間右旋回をしてから約1.5秒前進して止まる」。"rostopic"コマンドの実行時に"&"をつけてバックグラウンドにするのがポイント。

"sleepenh"コマンドに数値を与えることで、その秒数だけコマンドに間があく。