ROSを勉強してみようと思い、手始めにROS1のチュートリアルをやってみることにしました
ROS1はPython2系(既にサポート切れ)なので順次ROS2への移行が進んでいるようですが、最初のとっかかりとしてはいいかなと
チュートリアルを進めていく中でいくつかハマりポイントがあったので、誰かの助けになればと思い対処法を記事にしました
※wsl2がインストール済み、Pythonの使用を前提としています
ハマり1 : ROSのインストール
1.初級 > 1.ROS環境のインストールとセットアップ > 1.ROSのインストール
チュートリアルに記載のあるROSのバージョンはhydroとindigoだったので、どちらをダウンロードした方がいいのか調べました
すると、ROSのバージョンとUbuntuのバージョンは合わせないといけないことがわかりました
https://faboplatform.github.io/AutowareDocs/07.RC_program/00.about_ros/
ubuntuのバージョンを確認し、そのバージョンに対応したROSをインストールしましょう
$ cat /etc/os-release
≈
VERSION="18.04.5 LTS (Bionic Beaver)"
≈
私の場合はubuntu18.04.5なのでmelodicでした
http://wiki.ros.org/melodic/Installation/Ubuntu
ハマり2 : turtlesim起動時にエラーが出る
1.初級 > 5.ROSのノードを理解する > 0.1.rosrunの使い方
turtlesim起動時にXサーバー(Windows X Server)がなくエラーとなる
$ rosrun turtlesim turtlesim_node
Error: Can’t open display:
そういう場合は以下のURLを参考にインストール・設定をする
https://astherier.com/blog/2020/08/run-gui-apps-on-wsl2/
Xサーバー起動時に「Disable access control」にチェックを入れる必要あり
ハマり3 : add_two_ints_server起動時にエラーが出る
1.初級 > 16.シンプルなサービスとクライアントを実行してみる
モジュールがない旨のエラーが出る
$ rosrun beginner_tutorials add_two_ints_server.py
≈
ImportError: No module named beginner_tutorials.srv
≈
setup.bashが読み込まれておらず、参照先のディレクトリが正しく設定できていない場合があります
以下のコマンドで設定を読み込み直しましょう
$ source devel/setup.bash
エラーについて調べると
・PYTHONPATHを設定しましょう
・setup.pyを作りましょう
など色々出てきますが、私は上記コマンドの実行のみで大丈夫でした