URM-40LC-EWを動かしてみよう！

# 本記事の目的

北陽電機様からお借りしたURM-40-LC-EWの動作方法について備忘録としてまとめます。

# 環境
本記事は以下の環境で実験しています.

| 項目 | バージョン |
|:-:|:-:|
| Ubuntu | 18.04 |
| ROS | melodic |
| Lidar | URM-40LC-EW |
| 安定化電源 | HANMATEK HM310(0-30 V, 0-10 A) |

URM-40-LC-EWの製品仕様については公式サイトを参照してください。

https://www.hokuyo-aut.co.jp/search/single.php?serial=189#spec

内容物は、URM-40LC-EW、電源ケーブル、Ethernetケーブルの3点です。

<table>
<tr>
<td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628764/c0c68a28-4ad2-9de8-cf9a-50f7df3d63a3.jpeg" width="300"></td>
<td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628764/fa0905dd-6d38-c81f-c981-4720be11c6f4.jpeg" width="300"></td>
</tr>
</table>

# URM-40-LC-EWへの電源供給
URM-40-LC-EWの電源供給には以下の安定化電源を用いました(画像左)。

https://www.amazon.co.jp/-/en/Stabilized-Precision-Laboratory-Electrical-Maintenance/dp/B088M3CN5P/ref=sr_1_5?dchild=1&keywords=HANMATEK&qid=1629823724&sr=8-5

URM-40-LC-EWへの電源供給は12V~30V, 1.0A程度あれば動作するので、仕様を満たす電源であれば他の物でも大丈夫です。

https://www.hokuyo-aut.co.jp/products/data.php?id=1

ただし、公式サイトにも書いてある通り、スイッチング電源、AC-DCコンバータ、ACアダプタなどの直流電源装置を用意するのが安全だと思います。

きちんと電源供給出来た場合、画像右のようにLidarが光ります。

<table>
<tr>
<td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628764/9770cdf5-8d5a-db71-92eb-1cfdcce63d1e.jpeg" width="200"></td>
<td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628764/ce820c1c-8372-4498-59d6-2a141f6a3d74.jpeg" width="200"></td>
<td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628764/1bda9a79-7ce4-c527-2947-5f100cf3fa56.jpeg" width="200"></td>
</tr>
</table>

# urg nodeのインストール

以下のコマンドでurg_nodeというROSのパッケージをインストールします。

```bash
$ sudo apt-get install ros-melodic-urg-node
```

# URM-40LC-EWのIPアドレスの設定

Lidarには大きく分けてUSB経由タイプとイーサネットタイプの2種類が存在します。URM-40LC-EWはイーサネットで接続するタイプのLidarなのでIPの設定をする必要があります。

### STEP1
まずはURM-40LC-EWとPCをUSB接続します。電源ケーブルからLANケーブルが出ているので、LANからUSBに変換する変換器を用いて、PCとUSB接続します。

変換器には以下のものを使用しました。

https://www.amazon.co.jp/gp/product/B013JDE2HG/ref=ppx_yo_dt_b_asin_title_o03_s00?ie=UTF8&psc=1

![IMG_1781.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628764/d45557fc-7ff3-0963-c931-c7b8b5aab4b5.jpeg)

### STEP2
URM-40LC-EWのIPアドレスはデフォルトで**192.168.0.10**が設定されています。ここでLidarのIPは自分のPCのIPアドレスと同一のネットワークのものに変更してあげる必要があります。

基本的には**192.168.0.x**のx部分を1~254の内、10以外の値に設定すれば問題ありません。今回は以下のように設定することを考えます。

```bash
192.168.0.20
```

上記のIPを変更する具体的な方法はSTEP3に従います。

### STEP3
ubuntuの「設定」から「ネットワーク」に移動してPCのIPアドレスを変更します。「ネットワーク」を開くと以下の画面が出ます。きちんと接続出来ていれば、USB Ethernetが「オン」になっていると思います。

![Screenshot from 2021-08-22 16-23-42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628764/0d566a86-a45c-df73-998f-13ad0eff203c.png)

次にUSB Ethernetの設定でIPv4内のIPv4メソッドの手動を選択し、**アドレス**、**ネットマスク**、**ゲートウェイ**、**DNS**を以下の画像のように設定します。全て入力が済んだら「適用」をクリックします。

![IP1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628764/89e56c83-0438-4135-14e9-579ce098fb46.png)

IPアドレスの設定が終わったタイミングで、USB Ethernetの接続をオフにして、再接続します。

# pingによる疎通確認

再接続した状態でLidarのネットワークが正常に働いているかを**ping**コマンドで確認します。以下のようなログが流れれば正常に動作しています。

```bash
$ ping 192.168.0.10
PING 192.168.0.10 (192.168.0.10) 56(84) bytes of data.
64 bytes from 192.168.0.10: icmp_seq=1 ttl=64 time=0.882 ms
64 bytes from 192.168.0.10: icmp_seq=2 ttl=64 time=1.43 ms
64 bytes from 192.168.0.10: icmp_seq=3 ttl=64 time=1.33 ms
64 bytes from 192.168.0.10: icmp_seq=4 ttl=64 time=0.375 ms
64 bytes from 192.168.0.10: icmp_seq=5 ttl=64 time=1.14 ms
64 bytes from 192.168.0.10: icmp_seq=6 ttl=64 time=0.356 ms
64 bytes from 192.168.0.10: icmp_seq=7 ttl=64 time=1.44 ms
64 bytes from 192.168.0.10: icmp_seq=8 ttl=64 time=1.44 ms
64 bytes from 192.168.0.10: icmp_seq=9 ttl=64 time=1.44 ms
64 bytes from 192.168.0.10: icmp_seq=10 ttl=64 time=0.399 ms
64 bytes from 192.168.0.10: icmp_seq=11 ttl=64 time=0.471 ms
64 bytes from 192.168.0.10: icmp_seq=12 ttl=64 time=0.508 ms
64 bytes from 192.168.0.10: icmp_seq=13 ttl=64 time=0.535 ms
```

# URM-40LC-EWの動作確認

以下のコマンドでURM-40LC-EWの動作確認を行います。

```bash
$ roscore
$ rosrun urg_node urg_node _ip_addres=192.168.0.10
```

正常にrun出来た場合、以下のINFOが表示されます。

```bash
[ INFO] [1629615095.645986382]: Connected to network device with intensity and ID: H1879813
[ INFO] [1629615095.668631342]: Streaming data.
```

rvizでscanデータの可視化を行います。

```bash
rviz
```

rvizでtopicの/LaserScanを選択し、Fixed Frameをmapからlaserに変更すれば、以下の画像のようにURM-40LC-EWのscan情報を見る事が出来ます。

![Screenshot from 2021-08-22 16-33-07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628764/02673a35-eb55-9faf-4dcd-8012cc3680a4.png)

# まとめ
- URM-40-LC-EWの動作方法についてまとめました。

# 参考文献

https://sourceforge.net/p/urgnetwork/wiki/ROS_jp/

https://www.hokuyo-aut.co.jp/products/data.php?id=1

https://moriokalab.com/news/124

https://daily-tech.hatenablog.com/entry/2018/08/18/164620