Mac(High Sierra)にUbuntu環境を作ってROSでカメさんを走らせてみる。
ほんのりとROSに興味を抱いたので,ひとまず環境を構成してみることに。ROSとはこういうものです。
環境を作るにあたって
こちらのページや
こちら様や
こちら様や
本家本元サイトや
kinetic/Installation/Ubuntu - ROS Wiki
こちらの本
を参考にしました。ちなみにこの本はフリーで公開されている模様です。ありがたやありがたや。ただしバージョンが一つ古い(Ubuntu14.04とindigo)なので注意が必要な模様。
1.MacにLinux(Ubuntu16.04)をブチ込む
まず,ROSはLinux系列でしか動かないので(公式サイトによると他のOSは対応進行中,出来ないかもしれないよ!とのこと),Mac上になんとかしてLinux環境をブチ込みたいところです。ROSを動かす上での主流のLinuxディストリビューションはUbuntuだそうですので,Ubuntuをブチ込むことを考えます。
デュアルブートはめんどくさそうなので,VirtualboxやVMwareなどを使って仮想環境を構成することを考えたのですが,どうやらもっと簡単な方法があるようです。Parallels Desktop LiteというApp Storeにあるアプリを利用してUbuntu環境を用意することができます!以下のからあげ様の記事がとても分かりやすいです。むしろ僕のこの記事は読む必要ありません。自分の備忘録も兼ねてるのでおゆるしください。
(ありがとうございます)
使い方としては非常に簡単で,App Storeからダウンロードして,アプリを起動して,誘導通りにUbuntu16.04を入れるだけ!!!アプリ自体も無料なのですごいもんですね。上の記事では,あらかじめUbuntuの公式サイトからUbuntu本体をダウンロードしていますが,Parallesの起動画面でUbuntuを選択しても入れることが出来ます。つまり,Paralles Desktop Liteというアプリを入れるだけで大丈夫です。
あとはダウンロードが終わるのをしばらく待って,パスワードを設定して,Linuxブチ込みは完了です。
2.ROS(Kinetic)をインストールする
これは公式サイトの通りにやっていくのが一番良いと思います。知識がないので詳しい解説は一切しません。一番何もわかってないのは私です。
kinetic/Installation/Ubuntu - ROS Wiki
公式サイトのコピペですが,まずターミナルを開いて,こう打って
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
次にこう打って
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
お次はこうで
sudo apt-get update
そしてこう打ってインストールします。ここはやや時間がかかります。フルバージョンをダウンロードするか,軽量版をダウンロードするのか選べますが,空き容量に問題が無ければフルバージョンをブチ込めば問題ないと思います。
sudo apt-get install ros-kinetic-desktop-full
そして次にこうです
sudo rosdep init
rosdep update
さらにこうです
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
コピペってるので間違ってないと思いますが,間違えていましたらごめんなさい。
3.カメを動かす
では,ようやくカメさんを動かしてみましょう。まず,ターミナルを2つ別に開きます。つまり開いているターミナルは合計3つになるようにします。
そしてそのそれぞれに,
roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key
とコマンド打ち込みます。
そうすると,新たに青いウィンドウが開きまして,その中央にカメさんがおります。
3つ目の,rosrun turtlesim turtle_teleop_key というコマンドを打ち込むことで,パソコンの十字キーでカメさんが操作できるようになっています。
十字キーを操作して,カメさんをゴニョゴニョ動かしてみましょう。
カメさん動いたよ,やったね!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!