変わりモノがいい!

変わりモノには価値がある・・・ハズ?

ROS版PiCar-V作成開始 その5

頭で理解できていても実現するには壁があります。

ROSの本を2冊買い、Raspberry Pi4にROSをインストールし、ROSが動くところまで持ってくることができましたが、PiCar-VをROS環境で動かすために何をしたらよいかが未だ良く判っていない状態です。
ROS環境で動くはずのPiCar-V用のコードもインストールはしましたが、動かし方が判っていません。
さて、どうしようと悩んだ結果、ROSのマスコットである亀を動かす機能を勉強することでROSの基本とコツを短期間に習得することとしました。
亀を上手く動かすことができれば夢のTURTLEBOTも動かせるかも。

f:id:ken2017:20210422121253p:plain
それでは開始です。

必要なものを準備します。

まず必要なものは、
・亀のシミュレータアプリ:turtlesim_node(これは既にインストール済)
ジョイスティックからのデータ入力アプリ:joy_node(これも既にインストール済)
ジョイスティックからのデータを亀のシミュレータに伝えるアプリ(これ必要!)
ということで、ジョイスティックからのデータを亀のシミュレータに伝えるアプリ作成の参考になる記事を探しました。
これは、昨日書いたジョイスティックのデータ入力に関する記事の中にありました。

qiita.com

但し、この記事にあるとおりのコードではなく、僕の環境に合わせて、先日インストールした、joystick_driversフォルダの中のjoyフォルダの中にコードを作ったり、CmakeListに追記したり、Launchファイルを作ったりしました。
そして、最近では慣れてきたビルド作業を行いました。
ターミナルから以下を入力します。
cd ~/ros_catkin_ws
catkin_make
echo "source ~/ros_catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
正常終了を確認し、再起動します。

それでは実行

再起動したら実行します。
ターミナルを開き以下を入力します。
roscore
次に別のターミナルを開き以下を入力します。
roslaunch joy turtle.launch
turtlesim_nodeが起動されて下のような画面が出てきました。

f:id:ken2017:20210422131440j:plain

f:id:ken2017:20210422131203j:plain
ジョイスティックを動かすと画面の中の亀が動きました。

f:id:ken2017:20210422131333j:plain

これがどうやって動いているかを可視化するために、別のターミナルを開いて以下を入力しました。
rosrun rqt_graph rqt_graph
その結果、下のような画面が表示されました。

f:id:ken2017:20210422131800j:plain
joy_node(ジョイスティックからのデータ入力)からのデータがbasic_twist_publisher(ノード間のデータ引き渡し)にわたり、それがturtlesim_node(亀のシミュレータ)に伝わって亀が動いたことが判ります。
この一連の動きがROSにおける基本の動きとなりますので、これから数日かけて、この動作とコードの関係を理解していきたいと思います。

今日はここまで。
では、また。

 

プライバシーポリシー お問い合わせ