ROS版PiCar-V作成開始 その4
PiCar-Vをジョイスティックで動かすこととします。
以前の記事では、PiCar-Vをパソコンのキーボードからリモートで動かしていましたが、今回はジョイスティックで動かそうと思います。
そのために、ROSにジョイスティック用のパッケージを導入します。
簡単にできるだろうとたかをくくっていたのですが、時間がかかってしまいました。
この記事では僕と同じ道をたどる人もいるかもしれないので備忘録として記録をしておきます。
まずやったこと
当然ながらネットで、それも僕が信頼をおいているQiitaの中の関連する記事を探しました。
見つけた記事がコレ
これは、ROS講座のなかにあるジョイスティックに関するものです。
ふむふむ、以下のコマンドを打てばいいのね、ということで打ちました。
sudo apt-get install ros-melodic-joy
するとエラー発生です。
色々なパッケージが無いというようなメッセージが出てきました。
不足しているパッケージを同じようにインストールしようとしましたが、その際にもパッケージが足りないとメッセージが出て、それに対応するようにパッケージをインストールしようとしても、また同じようなメッセージが出てエラーになる。
らちがあきませんでした。
ROSのパッケージ不足なのかな、と漠然と考え、さあどうしよう、と途方に暮れていました。
ネットを色々調べても上に示したコマンドを書いている記事がほとんどでした。
そういう中で、一つ、違った記載の記事を見つけました。
それがコレ。
この記事も頭の所では、同じコマンドを記載していますが、その下に別の方法の記載もありました。
どうやら失敗していたのは、バイナリーコードのインストールをしようとして失敗していたようで、ソースコードをインストールしてビルドする方法があることが判りました。
ひょっとしたら上手くいくかも、ということでやってみました。
まず、ros_catkin_ws/srcフォルダーに移動し、git cloneを実行します。
コマンドは、
cd ~/ros_catkin_ws/src
git clone https://github.com/ros-drivers/joystick_drivers.git
cd ~/ros_catkin_ws
catkin_make
echo "source ~/ros_catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
上手くいきました。
これからも色々なパッケージを追加することがあると思いますが、基本的にはこのやり方でパッケージの追加を行えば良いと思います。
早速動かしました。
PiCar-VのRaspberry Pi4にジョイスティックを繋いで動かしてみました。
ジョイスティックの使い方については以下の記事に解説がありました。
ターミナルを開いて以下のコマンドを入力
roscore
別のターミナルを開いて以下のコマンドを入力
rosrun joy joy_node
これで動き始めました。
どんな感じでデータが入っているかを見るには、別のターミナルを開いて以下のコマンドを入力します。
rostopic echo /joy
すると以下のような画面になります。
ジョイスティックを動かすとデータが変わっていくのが判ります。
成功です。
あとは、ジョイスティックからのデータを使うためのサブスクライバの作成を上の記事を参考にして作っていこうと思います。
今日はここまで。
では、また。