# シミュレータ上のラズパイマウスを動かす方法 Part1

## ラズパイマウスを動かすまでの流れ

シミュレータ上のラズパイマウスを動かす方法を複数回に分けて紹介していきます。

1. [距離センサの値の読み取り方](/project/tutorial/how_to_control_raspimouse_on_sim_1.md) ←今ここ
2. [モータを動かし方](/project/tutorial/how_to_control_raspimouse_on_sim_2.md)
3. [キーボードを用いたラズパイマウスの動かし方](/project/tutorial/how_to_control_raspimouse_on_sim_3.md)
4. [コントローラを用いたラズパイマウスの動かし方](/project/tutorial/how_to_control_raspimouse_on_sim_4.md)
5. [距離センサの値を利用したラズパイマウスの動かし方](/project/tutorial/how_to_control_raspimouse_on_sim_5.md)
6. [測域センサ(URG)を用いたSLAMの行い方](/project/tutorial/how_to_control_raspimouse_on_sim_6.md)

ラズパイマウスには距離センサが4つ付いています。この距離センサよりセンサ値を得ることができます。\
Part1では距離センサを使ってロボットと壁との距離を計測してみます。

## 距離センサから値を読み取る

まず、[Raspberry Pi Mouse Simulatorの動作確認](/project/setup/how_to_use_raspimouse_sim.md)に従い、Gazeboを起動しましょう。

Gazeboが起動したら、2枚目のウィンドウで以下のコマンドを入力します。

```
cat /dev/rtlightsensor0
```

この時、以下の画像のように`37 65 516 36`というバラバラの値が出てきていれば、正常に距離センサが動作しています。&#x20;

![](/files/-LR5kvAtWA_ZCjNx1N4O)

距離センサの値`37 65 516 36`は、左から`① ② ③ ④`とすると、以下の画像のように対応しています。

&#x20;

![](/files/-LR5kvAvUqKkEHxSdJoJ)

起動したとき、ラスパイマウスの初期位置は以下の画像のようになっています。

距離センサは対象物との距離が小さいほど値が大きくなります。今回は③番のセンサが左側の壁を感知しているため、一番値が大きくなっています。&#x20;

![](/files/-LR5kvAxB4rU78lPX16C)

## Trubleshooting

### Gazeboの動作がカクカクする/Gazeboのフレームレートが低い

描画が間に合っていない場合、Gazebo上のロボットの動きが鈍く見えます。\
陰を描画しないようにすることでほとんどの場合は動作が改善します。

詳しくは[ROSトラブルシューティング](/project/troubleshooting.md#gazebonogakakukakusurugazebonofurmurtogai)をご覧ください。

### rtlightsensorについてのエラー

```
[ERROR] [1515648685.827463, 0.414000]: failed to open rtlightsensor0
```

上記のエラーが繰り返し出る場合、デバイスファイルが無いことがあります。

[ROSトラブルシューティング](/project/troubleshooting.md#rtlightsensornitsuitenoergaru)をご覧ください。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://raspimouse-sim-tutorial.gitbook.io/project/tutorial/how_to_control_raspimouse_on_sim_1.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
