ソフトウェアエンジニアの勉強ログ

興味があるのは、computer vision, three.js, python, 深層学習, emacs

ROSを試してみたがインストールでこけてしまった

久々の更新ですが、ただの自分用備忘録です。

ROSを試してみようと思って、以下のサイトを参考にROSをインストールした

ja/kinetic/Installation/Ubuntu - ROS Wiki

その後、catkinが必要だったような気がして、

apt-get install catkin

とすると、以下のエラーでインストールができない。

パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
インストールすることができないパッケージがありました。おそらく、あり得
ない状況を要求したか、(不安定版ディストリビューションを使用しているの
であれば) 必要なパッケージがまだ作成されていなかったり Incoming から移
動されていないことが考えられます。
以下の情報がこの問題を解決するために役立つかもしれません:

以下のパッケージには満たせない依存関係があります:
 catkin : 依存: python-catkin-pkg しかし、インストールされようとしていません
E: 問題を解決することができません。壊れた変更禁止パッケージがあります。

なんとなくバージョンの依存関係で矛盾が生じてしまっているのはわかるが、 どうすればよいかわからない。 調べてみると以下のサイトを見つけた。

Ubuntuで依存関係が壊れている時の対応 - tizen.moe

早速

aptitude install catkin

一度目の選択肢に対して「.」を押して、次の選択肢を表示させると以下のようなメッセージが。。。

以下のアクションでこれらの依存関係の問題は解決されます:

       以下のパッケージを削除する:                                       
1)       python-catkin-pkg-modules                                       
2)       python-rosdep                                                   
3)       python-rosdistro                                                
4)       python-rosdistro-modules                                        
5)       ros-kinetic-actionlib                                           
6)       ros-kinetic-actionlib-tutorials                                 
...
134)     ros-kinetic-turtlesim                                           
135)     ros-kinetic-urdf                                                
136)     ros-kinetic-urdf-tutorial                                       
137)     ros-kinetic-visualization-tutorials                             
138)     ros-kinetic-viz                                                 
139)     ros-kinetic-xacro                                               

       以下のパッケージをインストールする:                               
140)     python-funcsigs [0.4-2 (xenial)]                                
141)     python-mock [1.3.0-2.1ubuntu1 (xenial)]                         
142)     python-pbr [1.8.0-4ubuntu1 (xenial)]                            

       以下のパッケージをダウングレードする:                             
143)     python-catkin-pkg [0.4.1-100 (now, xenial) -> 0.2.10-2 (xenial)]
144)     python-rosinstall [0.7.8-1 (now, xenial) -> 0.7.7-1 (xenial)]   


この解決方法を受け入れますか? [Y/n/q/?] 

さすがにこれは受け入れられない。。。

ここで一度、ROSのインストール記事を見ているときに手動でcatkinを入れろと書いていないなと思い、 そのまま以下のコマンドを試す。

$ catkin_init_workspace
$ catkin_make

以下のエラーが出てうまく行かない。

ImportError: "from catkin_pkg.package import parse_package" failed: No module named 'catkin_pkg'

このエラーについて調べると、anacondaが悪さをしているようだ。。。

Google グループ

Anacondaのアンインストールはあまりしたくないな。。。と思い、 そもそも環境を汚さない方法として、Dockerがあるじゃないか、と思い出す。

Dockerについては、名前以外はほとんど知らないので以下の記事を一通り読んだ。

www.atmarkit.co.jp

つづいて、以下の記事のとおりに作業を行うことで、とりあえず確認はできた

Docker + ROS(kinetic)でチュートリアル - Qiita

ただ、Dockerのイメージをベースに自分のコードを動かす方法がわかっていないので、それを学ぶ必要がある。