ロボット初心者のためのROS入門

#概要
これからロボットをいじってみたい!
ロボットのソフトウェアってどんなのか気になる！という人向けの記事になります。

#ROS
Robot Operation System、略してROSと呼ばれるフレームワークを使ってロボットを動かしていきます。
Pepper君も実はROSで動いています、こう聞くと一気に身近に感じるのではないでしょうか。

<img width="80%"  src="https://qiita-image-store.s3.amazonaws.com/0/304482/64abaaa1-4e8d-8655-bac1-5e8c0fa2314a.jpeg">


ロボットは通常、止まるか動く、伸ばすか縮むなどと言った
単純な動きをすることしかできませんが
ROSというフレームワークを使うことで
Pepper君のような知的なロボットを動かすことができるようになるのです！
RobotのOS、略してROSと謳っていますが安心してください、中身はPythonとC++で動きます。
それではまず、環境構築から行いましょう。


#環境構築
* Windows10:自前で用意しましょう
* VMWare:https://my.vmware.com/jp/web/vmware/downloads
* Ubuntu16.04:https://www.ubuntulinux.jp/News/ubuntu1604-ja-remix
* ROS：Kinetic（コマンドラインでインストールしていきます。）

通常、ROSはwindowsやmacの上で動きません。Ubuntuの上でのみ動くので注意してください。なので環境としてはWindowsの上にVMでUbuntuを起動させ、その上でROSが走るといった具合になります。
もちろん、Ubuntu専用PCを作ってその上で走らせても構いません。
本記事では前者を取ります。


## Ubuntu16.04のダウンロード
<img width="60%"  src="https://qiita-image-store.s3.amazonaws.com/0/304482/05ad15a5-e7cd-5ea3-5454-a472520e18e2.png">



適当に、どれか一つをダウンロードしましょう。わかんないけどKDDI研究所のやつが一番強そう。


## WindowsにVMWareのインストール
windows環境にまずはVMWareをインストールしていきます。
VMWareとは１つのOSの上に、擬似的にもう１つのOSを立ち上げるためのツールです。VirtualBoxを使うこともできますが、ROSと物凄く相性が悪いので、特にこだわりがなければVMWareを使いましょう。

<img width="50%" alt="セットアップ.png" src="https://qiita-image-store.s3.amazonaws.com/0/304482/2afe957d-0bdf-1db6-deec-a7e3cd082428.png">

インストールが終わり、初回起動を行うとこのような画面が立ち上がると思います。VMWare Workstationsは個人で使う分には無料なので非営利目的をチェックしてすすめてください。
<img width="50%" alt="vm.png" src="https://qiita-image-store.s3.amazonaws.com/0/304482/881fbc8d-f520-ebfc-93ed-67015d378ebb.png">

新規仮想マシンを追加し
<img width="50%" alt="vm.png" src="https://qiita-image-store.s3.amazonaws.com/0/304482/34aab8d7-9db3-a838-053d-5f391d5d512f.png">


インストラーディスクにはさっきインストールしてきたubuntuのOSを選択してください。
<img width="50%" alt="vm.png" src="https://qiita-image-store.s3.amazonaws.com/0/304482/8d334f4c-9649-976f-c366-d45d50c41931.png">


ここの画面は適当に各自入力してください。
<img width="50%" alt="vm.png" src="https://qiita-image-store.s3.amazonaws.com/0/304482/c5fe9366-0c3b-bbd7-1edf-79da6c2eefaf.png">


## Ubuntu上でROSのインストール
ターミナルで以下のコマンドをコピペして実行
###sources.listを設定する
どこからパッケージをとってくるかの準備
```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```

一度全部update
```sudo apt-get update```

いろいろカスタマイズしてインストールできるが、初心者はとりあえず全部入れておこう。
##ROS Kineticのインストール
```sudo apt-get install ros-kinetic-desktop-full```
インストールするときは```ros-kinetic-desktop-full```で、rosのkineticバージョンを指定しているので間違えないように気をつけましょう。

上記のインストールが終わったあと、一度だけ実行
```sudo rosdep init```
```rosdep update```
間違えてもう１回実行しても大丈夫、一回以上実行してればおｋ。

###パスの追加
新しいターミナルが立ち上がるたびに一々パスを通すのは面倒なので
bashrcにROSの環境変数を追加しておく。
```echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc```
ワーキングディレクトリであるcatkin_wsもついでに環境変数に追加しておくと便利なのでbashrcに追加します。

```$ mkdir -p ~/catkin_ws/src```
```$ cd ~/catkin_ws/src```
```$ catkin_init_workspace```
```$ cd..```
catkin_wsの中で
```$ catkin_make```
を実行したあと、develのなかのsetup.bashをsourceします。
```source devel/setup.bash```
devel/setup.bashを毎回bashrcで読み込みたいので
bashrcに以下のように書き込みましょう。
```source /PATH/catkin_ws/devel/setup.bash```
PATHの部分は自分が作ったcatkin_wsの上の部分にあたるので各自書いてください。

###ROSのPython系のツールのインストール
```sudo apt-get install python-rosinstall```
を実行する。チュートリアルページにはいくつか選択肢があるけど
初心者はとりあえずフルパックでインストールしておけばおｋ。

おめでとうございます！
ここまででエラーがなければ完全にインストールすることができました。
次回からは初心者のためのチュートリアルを行います。


>参考：http://wiki.ros.org/ja/kinetic/Installation/Ubuntu![1.png](https://qiita-image-store.s3.amazonaws.com/0/304482/79acf8ce-3245-3fb5-86c4-bd8b80c6be84.png)