roombaをpythonで動かしてみる
ROSさんお手やわらかに:ROS入門編
前回からの続き。roombaをpythonで作ったノードで動かしてみる。
roombaを前→後→左旋回→右旋回と動かし、それぞれでのx、y座標と旋回角をタイプさせる。
ノードrb_demoはチュートリアルで作ったbeginner_tutorialsパッケージに追加する。
■テスト用ノードの作成
・下記のファイルを~/fuerte_workspace/sandbox/beginner_tutorials/scriptsに保存
rb_demo.py
・端末を開きROSを初期化してから~/fuerte_workspace/sandbox/beginner_tutorialsに移動
・chmod +x scripts/rb_demo.pyで実行可能に
・makeする(よくわからないが最初に1回はこれが必要?)
■ノードのテスト
・前回同様roombaとroomba500_light_nodeをセットアップする。roombaは10センチほど前後進しその場で左右に方向転換するので、そのくらいのスペースがとれる場所に置く
・端末を開きROSを初期化してrosrun beginner_tutorials rb_demo.pyで実行
・ロボットは前に1秒、後ろに1秒、右旋回1秒、左旋回1秒したあと停止、ノードも終了する
・下記のようなメッセージが表示される
Moving the robot forward.
Stopped
POS X:0.135 POS Y:0.001 DIR:0.011
Moving the robot backward.
Stopped
POS X:0.010 POS Y:-0.003 DIR:0.026
Turning the robot left.
Stopped
POS X:0.012 POS Y:-0.002 DIR:0.345
Turning the robot right.
Stopped
POS X:0.012 POS Y:-0.002 DIR:0.030
Node exiting.
プログラムはロボットへのコマンドをパブリッシュし、ドライバからのオドメトリ情報をサブスクライブする。解説は次回。
« roombaをROSのコマンドで動かしてみる | トップページ | roombaテストプログラムのまとめ »
「ROSさんお手やわらかに」カテゴリの記事
- 3Dプリンターで作る簡単turtlebot(おしまい)(2017.01.07)
- 3Dプリンターで作る簡単turtlebot(raspberry pi3の取り付け)(2017.01.03)
- 3Dプリンターで作る簡単turtlebot(kinectの取り付け)(2017.01.02)
- 3Dプリンターで作る簡単turtlebot(パーツの組み立て2)(2016.12.29)
- 3Dプリンターで作る簡単turtlebot(パーツの組み立て1)(2016.12.25)
はじめまして。 私は工学院大学機械システム工学科4年の金(きむ)と言います。
このブログを参考にしてroomba500seriesをROSで動かそうと思っています。
花岡さんはpythonでプログラムされていますが、私はC++でやってみようと思ってます。
pythonでのやり方と同じようにC++でも動かせるのでしょうか。
また、C++で書いたプログラムをコンパイルするにはどうすれば良いのでしょうか。
質問ばかりで申し訳ありません。
よろしくお願いします。
投稿: KSH | 2013年5月 8日 (水) 15時31分
コメントありがとうございます。残念ながら、いまのところC++でのパッケージ作成法についてはまったく知識がありません。ROSのチュートリアルにはC++でのパッケージの作成法がありますので、そちらを読まれることをお勧めします。
投稿: ササガワ | 2013年5月 8日 (水) 17時44分
返信ありがとうございます!
C++で書くのは自分なりにやってみます。
投稿: KSH | 2013年5月 8日 (水) 18時38分
お力になれずにスミマセン。がんばってください!
投稿: ササガワ | 2013年5月 9日 (木) 09時54分