移動ロボットの行動プログラミング - 第1回 ロボット開発環境のセットアップ

2019年度 情報科学類 ソフトウェアサイエンス実験B

# 移動ロボットの行動プログラミング
第1回 ロボット開発環境のセットアップ

## 更新履歴

2012/12/05 作業順番の修正、MacOSの場合の説明を追加
2012/12/12 YP-Spurのアップデート方法を追加
2014/9/25 ubuntu13.10用に修正
2015/10/9 ロボ研ライブラリのリポジトリをesysからiitへ変更、ttyUSBをttyACMへ変更
2015/10/11 autoreconfの追加
2017/10/11 カーネルのダウングレードの追加

## 開発環境のセットアップ手順

$から始まっている行は、Terminalに以下のコマンドを入力する、という意味です。

別のLinuxディストリビューションを使いたいという場合は、Linux環境のセットアップ後、開発環境のセットアップまで進んで下さい。私物のLinuxマシンやMacOS X以降のマシンで行ってもかまいません。

### USBからインストーラを起動

セットアップ用USBを配布したPCに接続し、電源を入れる
Thinkpadと表示されたらすぐに、青色のThinkVantageボタンを押す
Startup Interrupt Menuと表示されたら、F12(Choose a Temporary Startup Device)を押す
Boot Menuが表示されたら、USBディスクを選択してEnter
起動するまで待つ

### インストール

左の一覧から一番下の“日本語”を選択し、Ubuntu GNOMEをインストールを押す
インストール中にアップデートをダウンロードするにはチェックをせず、サードパティ―のソフトウェアをインストールするにチェックして"続ける"を選択
wi-fiネットワークに今すぐには接続しないにチェックして"続ける"を押す
ディスクを削除してUbuntu GNOMEをインストールにチェックして"インストール"を押す

### インストール2

インストール中、「どこに住んでいますか」はデフォルトのTokyoのまま、"続ける"を押す
キーボードレイアウトが、左が日本語、右も日本語が選択されていることを確認し、"続ける"を押す
「あなたの情報を入力してください」には、苗字をローマ字小文字で打つ。（コンピュータの名前とユーザー名が勝手に入力される）
パスワードの入力と確認に、自分のパスワードを記入
自動的にログインするのチェック外す
ログイン時にパスワードを要求するにチェック
ホームフォルダを暗号化するのチェックは外す
"続ける"ボタンを押す
インストールが完了すると、今すぐ再起動するというボタンが現れる。このボタンを押す。
画面に文字が表示されなくなったら、USBを抜く。時間が少ししかないので注意

### ネットワーク接続

ログインする
右上のネットワークアイコン（パソコンが二台重なってるようなアイコン）をクリックし、utwlan-xを選択
Username:に学生証裏の13桁の番号を入力し、
Password:に統一認証のパスワードを入力
その他の部分はそのままにしていじらずにconnectを押す。
証明書の警告画面が出るので、Ignoreを選択

### カーネルのダウングレード(ubuntu16.04)

以下のコマンドを実行

- # sudo apt-get install linux-image-4.4.0-71-generic
# sudo apt-get install linux-headers-4.4.0-71-generic
# sudo apt-get install linux-image-extra-4.4.0-71-generic
- apt-getが正常に終わったらPCを再起動して、grubのOS選択画面が出るのを待つ。
OS選択画面で、“Advanced options for Ubuntu”を選択する。
次の画面で、“Ubuntu, with Linux 4.4.0-71-generic”を選しと、Kernel 4.4.0で起する。
/etc/default/grubを以下のように変更する(オプション)
- GRUB_DEFAULT=0を
GRUB_DEFAULT="Ubuntu, with Linux 4.4.0-71-generic"に変更
- 実行する
- $ sudo update-grip

### 開発環境のセットアップ

左上の"アクティビティ"と書いてある部分にマウスカーソルを持って行くと画面が変わるので、"検索ワードを入力"のところにtermと入力してEnter
以下のコマンドを実行

- $sudo apt-get update
>[sudo] password for [ﾕｰｻﾞ名]:ここにパスワードを入力
エンターを押す。
$sudo apt-get install build-essential
>[Y/n]?の後にyと打ってエンター
sudo apt-get install automake libtool
>[Y/n]?の後にyと打ってエンター
sudo apt-get install git
>[Y/n]?の後にyと打ってエンター
- 以下のコマンドを実行
- $ mkdir Platform
$ cd Platform/
$ git clone http://www.roboken.iit.tsukuba.ac.jp/platform/repos/yp-spur.git
$ cd yp-spur
$ ./configure
$ make
$ sudo make install
$ cd ..
$ git clone http://www.roboken.iit.tsukuba.ac.jp/platform/repos/yp-robot-params.git
$ cd yp-robot-params
$ ./configure
$ sudo make install
$ cd ..
$ git clone http://www.roboken.iit.tsukuba.ac.jp/platform/repos/libscip2awd.git
$ cd libscip2awd
$ autoreconf -i -f
$ ./configure
$ make
$ sudo make install
$ cd ..

MacOSで作業する場合、上記の作業の前に、git, gccなどのコンパイル環境をインストールしておく必要があります.

### ロボットの接続テスト

ロボットが動くので、周辺に2m程度の空間が確保できる場所で実行すること

以下のコマンドを実行

$ sudo ypspur-coordinator -p ~/Platform/yp-robot-params/robot-params/[ロボットのパラメータファイル] -d /dev/ttyACM0

- ※/dev/ttyACM0でダメなら、/dev/ttyACM1で試してみる。
- 別のターミナル(またはターミナルのタブ)を開いて以下のコマンドを実行(Ctrl+Shift+n、またはCtrl+Shift+t)

$ cd yp-spur/samples/
$ ./run-test

### ロボットのパラメータファイル

パラメータファイルはロボット毎に以下のものを使用して下さい。違うパラメータを指定すると暴走します。

beego-IMK
beego.param
Speego-OOK
speego.param
Speego-SEK
speego.param
Speego-HTT
speego.param

### アップグレード

アップグレードには時間がかかる場合もあるので、自宅等で行ってもOKです

$ sudo apt-get upgrade

### その他の準備(任意)

アクティビティ(左上にマウスカーソルを持って行くと現れる)画面内に、テキストエディタやターミナルなどのアプリケーションが入っています。よく使う物は、ドラッグアンドドロップで、アクティビティ画面左側のランチャに追加しておくと便利です。

## 課題

今回は課題はありません。進めたい人は、来週以降の内容を行ってもかまいません。

## YP-Spurのアップデート

以下のコマンドで、アップデートができます。

$ cd ~/Platform/yp-spur
$ git reset --hard
$ git pull
$ make clean
$ make
$ sudo make install

ロボット側のファームウェアの書き換えが必要な場合もあるので注意して下さい。

## YP-Spurの入れ替え

ロボ研のリポジトリのバージョンではUbuntu16.04での動作が確約されていない。よって~/Platform内のyp-spurディレクトリを削除し、チェックアウトコマンドで動作確認済みのバージョン指定してYP-Spurを取得。

$ sudo apt-get install cmake cmake-qt-gui cmake-curses-gui
$ cd ~/Platform/
$ rm -rf yp-spur
$ git clone https://github.com/openspur/yp-spur
$ cd yp-spur/
$ git checkout -b f285c515f809ecb6f6ecd3be9ae8b9cb26320d46
$ mkdir build && cd build
$ cmake ..
$ make
$ sudo make install