#※あくまで付け焼き刃である
この記事はあくまで付け焼き刃であり、完璧な解決方法ではないが、とりあえず試すとうまく行くことがある。
ROSをいじっていて困ったとき、解決方法がどこにも落ちていないときなどにやってみるとうまくいくかも、位に思っていただけると...
##環境
・ROS melodic
・Ubuntu 18.04
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.5 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.5 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
##解決した事例など
・rvizがなぜか立ち上がらない(apt update後とかにありがち)
↓みたいなエラーコードが出る(詳細は忘れた)
rviz Unable to create a suitable GLXContext in GLXContext
・catkin_makeが通らない(変なエラーメッセージが出る)(こちらも詳細は忘れました)
・自作msgをよみこんでくれない(以下参照)
# msgはちゃんと存在しているっぽい
$ rosmsg show test_pkg/original_msg
std_msgs/Header header
uint32 seq
time stamp
string frame_id
string s
bool flag
# なのに「そんなもんはない」と言ってくる
$ rosrun test_pkg test.py
Traceback (most recent call last):
File "/home/.../test.py", line 9, in <module>
from test_pkg.msg import original_msg
ImportError: cannot import name original_msg
##解決策
「壊れたテレビも叩けば治る」みたいな解決策なんですけどけっこうバカにならないので書いておきます。
「コンセントは抜けていませんか?」みたいなQ&Aに腹が立つ!人にはおすすめできませんよ!先に言ったからね!
・再起動
マジでこれに尽きる。ネットでいろいろ調べてコマンド打って直んなくて再起動したら一瞬で元通りとかザラにある。検索とかしてた時間を返せ、という...
上に書いた事例だと、rvizの話とかはこれで解決した気がする。
・buildファイルの削除
GitHubからcloneして別PCでcatkin_makeするとかのとき、あんま理解していなくてbuildファイルごとcloneしちゃってたんですがbuildファイルを消して再buildするとなおる。
そもそもGitHubにbuildファイルごと上げるな!なんですよね、すみません
上の事例だとcatkin_makeとmsgの2つがこれに該当する。
以上です。他にも「それで直るんかい」みたいなものがあれば追記していきます。
ネットでいろいろ調べたけどなんの成果も得られなかった...みたいな人はとりあえず試すと良いかもしれない。