Pythonでソケット越しにコマンドを受け取ってRoombaをROSで制御する

自前のシステムから指令を送ってRoombaをROS越しに制御するための準備。
まずはテストということで、Pythonで何か文字列を受け取ったら移動コマンドを発行する簡単なプログラムを作成してみた。
ROSではじめるロボットプログラミングを参考に、パッケージの作成からコンパイルまで以下の通りやってみた。
文字列を解釈してTopicの内容を変える…とかは,ここまで出来れば後は簡単なはず。

スポンサーリンク


スポンサーリンク

(~/rostestをワークスペースとしている)
mkdir -p ~/rostest/src
cd ~/rostest/src
catkin_init_workspace
cd ~/rostest
catkin_make
source ~/rostest/devel/setup.bach
(必要なら~/.bashrcに追記して読み込みを自動化する)
cd ~/rostest/src
catkin_create_pkg python_test rospy roscpp std_msgs
cd ~/rostest
catkin_make
source ~/rostest/devel/setup.bach
cd ~/rostest/src/python_test
(ここにtalker.pyを作る。コードは後で)
chmod 755 talker.py
(roscore, rosrun roomba_500_series roomba500_light_nodeを別ターミナルで実行しておく)
rosrun python_test talker.py

以上を実行したうえで、クライアントのプログラムから何か文字列を送ればtalker.pyからTopicが送られてRoombaが左方向に2秒、右方向に2秒動くはず。自分はTCP/IPテストツールを使った。

以下、talker.pyの中身。

スポンサーリンク


スポンサーリンク

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です