2018/01/27 ROS Kineticに対応
Ubuntu PCにROSをインストールする
個人的にロボットに興味があるので、以前Raspberry PiにROS(Robot Operating System)なるミドルウェアをインストールしたりしていました。ただ、やはりRaspberry Piでは非力すぎて何もできないので、普通にPCに入れてみることにしました。ROS全く知らない方は、以下でROS関係の書籍・サイトをまとめているので、参考にしてみてください。
さて、取りいだしたるは、はてなさんにプレゼントで頂いた小型PC LIVA!
ECS 小型PC LIVA MINI PC KIT OS Windows8.1 with Bing 搭載モデル 64GB LIVA-C0-2G-64G-W-OS
- 発売日: 2014/12/06
- メディア: Personal Computers
既にプリインストールされていたWindows8.1は既に跡形もなく消え去っていて、Linux(Ubuntu)マシンとなっているのです。LIVAへのUbuntuのインストールの仕方は割愛します。グーグル先生に聞いてください。気をつけるのは以下3点くらいかな。
- アナログVGAで接続(HDMI-DVI変換はブート画面等出ないケースがあるのでNG。HDMIのときは必ずディスプレイもHDMIのものを使う)
- USB3ポートにハブ経由でマウス、キーボード、USB WiFiを接続。USB2.0ポートにUbuntu14.04のUSBブートディスクを接続(ハブ経由でマウス、キーボードを認識しないケースがあった)。
- 電源投入後 F7を押してBoot Menuに入り、後は普通にUbuntuをインストール
ROSを入れるPCとしては、IntelのNUCやLenovoのNotePC等がオススメです。具体的な機種は、ROSで動作実績のある機種の情報をネットで確認してから購入できるとベストです(これが結構難しいですが)。
続きはマニアックになるので興味のある方のみご覧ください。
ROS(indigo)のインストール
ROSのバージョンには色々あるのですが、LTS(Long Time Support)のUbuntu16.04に対応しているROS Kineticというバージョンをインストールします。基本的には、ROS Wikiの公式チュートリアルの通りにコマンドを実行していけばインストールできます。
ただ、もう私はROSのインストールを諸事情で10回以上繰り返しているので、インストール用のスクリプトを作りました。これで半自動でROSがセットアップできます。使い方は下記リンク先のREADME.md
に記載されているので参照下さい。
使い方を簡単に日本語で説明すると以下です。
Gitをインストール
最初にスクリプトをダウンロードするため、Gitをインストールします。
$ sudo apt-get update $ sudo apt-get install git
インストールスクリプトのリポジトリ(ros-ubuntu-setup)をクローン
以下コマンド実行
$ cd
$ git clone https://github.com/karaage0703/ubuntu-setup
.bashrcをコピー
カスタムした.bashrc
をコピー。デフォルトのやつを使いたいという人はこのステップは飛ばしてもOKです。
$ cp ~/ubuntu-setup/.bashrc ~/.bashrc
ROS Kineticをインストール
以下コマンドを実行。自動でROSがセットアップされていきます。10分〜20分程度かかります。
$ ./install-ros-kinetic.sh
ROSでの開発に必要なソフトをインストール
以下コマンドを実行。自動でROSでの開発に必要なソフトがインスールされます。10分〜20分程度かかります。
$ ./install-tools.sh
その他の設定・TIPS
エディタにvimを使う人は、下記記事を参照に.vimrc
の設定をしておくと良いかもしれません
ROSは複数のWindowを開いて実行することが多いので、byobuを使うと楽になります。セットアップツール使ったら既にインストールされています。使い方は下記記事参照下さい。
プログラムを読むときはctagsを使うと便利です。詳細は下記参照下さい。
ROS動作確認
以下コマンド実行
$ roscore
なにやらいろいろ表示されて止まってしまうので、このウィンドウはそのままにして、別ウィンドウを開き下記コマンド実行
$ rosrun turtlesim turtlesim_node
カメさんのシミュレータが走ればとりあえずOK
まとめ
これでROSのセットアップ完了しました。ROSで更に何かやってみた記事を気が向いたら書いてもよいのですが、さすがにマニアック過ぎな感もあるので、書かないかもしれません。やるなら、KinectでPCL(Point Cloud Library)をちょろっとくらいかなと思っています。
そういえば、最近ROS勉強会なるものが開催されていたみたいです。こちらの情報もなかなか興味深いです。
資料読みたい人は以下のTwitterまとめのリンクを追うのがよいかな。
次回はわりと実家の近くで開催との噂なので、都合つきそうだったら参加してみたいな。