## 実際のロボットを使った課題
---
注意:この課題は**12月13日(金)**に行います。
**ロボットを使った課題に進む前に、シミュレーション課題(1)~(4)を完了する必要があります。シミュレーション課題(1)~(4)が終了したら、まずその結果をTAに見せてください。**
---
ロボットは同時に2~4人しか使えませんので、ロボットを使った課題は以下のファイルに書いてある順番に沿って行います。課題を行う時間は約30分です。
スケジュール(準備中)
課題を終わった人の状況は随時更新しますので、ファイルを見れば自分の番がいつ来るのかを確認することができます。
---
### 準備:シミュレーションの課題との違い
1. シミュレーションの課題のlaunchファイルのコピーを作成してください。シミュレータは使わないので、新しいlaunchファイルにシミュレータの実行を削除し、ロボット制御ノードとRVizのみを残してください。
2. シミュレーションの場合は、レーザースキャナーが物を検出しないときにinfの値を出力します。実際のロボットのレーザースキャナーの場合は、出力する値は0.0です。一番近い物の位置の計算に影響しないように、コードを確認して、必要に応じて修正してください。
### TurtleBot3を使う
実験が行われる部屋には、下記のように無線LANやロボットに関する情報が表示されます。
無線LAN
- SSID:...
- パスワード:...
ロボット
- IPアドレス:...
- ユーザ名:...
- パスワード:...
#### ルーターに接続
まず、使っているPCをロボットにつなげるように指定されたルーターに接続してください。
#### ロボットの起動
sshを使用してロボットに接続します。
```bash
ssh <ユーザ名>@<ロボットIP>
```
ロボット用のlaunchファイルを実行しましょう。
```bash
roslaunch turtlebot3_bringup turtlebot3_robot.launch
```
#### 自分のPC上の初期設定
ロボットでROSマスターを使うため、ROSを使用する**全てのターミナル**に ROS_MASTER_URI と ROS_HOSTNAME を以下のように設定する必要があります。
```bash
export ROS_MASTER_URI=http://<ロボットIP>:11311
export ROS_HOSTNAME=<自分のPCのIP>
```
(これを .bashrc に一時的に追加してもいいです。)
そのあと、リモートPC用のlaunchファイルを実行しましょう。
```bash
roslaunch turtlebot3_bringup turtlebot3_remote.launch
```
#### テストを行う
ロボットが動くのかを確かめる
```bash
rosrun teleop_twist_keyboard teleop_twist_keyboard.py
```
RVizでロボットのセンサ情報を確認する。
```bash
rviz
```
自分のコードを試してください。
ロボットの近くに立って、プログラムを実行したら(そしてサービスを呼び出したら)ロボットが脚に近づいて止まる、という動きになるのが目標です。
**ロボットをできるだけ触らないでください!手伝いが必要な場合、TAまたは教員を呼んでください。**
---
#### 最後に
期待通りに動き出したら、TA・教員に見せてください。
問題がなければ、ロボットを使った課題は、それで終了です。
---
← [課題(シミュレーション)](v3_task.html)
↑ [ホームページ](index.html)