RPLIDAR A2を動かすメモ

# これをopenFrameworksで動かす話

https://www.slamtec.com/en/Lidar

addonにしました
https://github.com/nariakiiwatani/ofxRPLidar

# 環境
- MacBook Pro (Retina, Mid 2012)
- macOS Sierra 10.12.2
- openFrameworks 0.9.8
- RPLIDAR SDK Version 1.5.7

# 準備
とりあえずマニュアルとドキュメントを読んだりSDKをダウンロードしたりする
https://www.slamtec.com/en/Support#rplidar-a2

ドライバをダウンロード&インストール
https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers

まずはサンプルアプリケーションをビルドしてみる

```
$ cd rpk-02-sdk_v1.5.7/sdk
$ make
```

をやると`rpk-02-sdk_v1.5.7/sdk/output/Darwin/Release/`に

- librplidar_sdk.a
- simple_grabber
- ultra_simple

ができる。

```
$ cd output/Darwin/Release
$ ./ultra_simple /dev/tty.SLAB_USBtoUART
```

すると動作が確認できる。
ちなみにシリアルポートの名前は`ls -l /dev/tty.*`で確認できるし、
シェルの設定次第だけど`./ultra_simple /dev/tty.`まで打ってからTABキーでも探せるはず。
出力はこんな感じ。

```
S  theta: 0.00 Dist: 00000.00 Q: 0 
   theta: 1.09 Dist: 00000.00 Q: 0 
   theta: 2.19 Dist: 00000.00 Q: 0 
   theta: 3.22 Dist: 00158.00 Q: 47 
   theta: 4.31 Dist: 00160.00 Q: 47 
   theta: 5.41 Dist: 00157.00 Q: 47 
   theta: 6.50 Dist: 00156.00 Q: 47 
   theta: 7.59 Dist: 00156.00 Q: 47 
   theta: 8.69 Dist: 00156.00 Q: 47 
   theta: 9.88 Dist: 00000.00 Q: 0 
   theta: 10.97 Dist: 00000.00 Q: 0 
   theta: 12.06 Dist: 00000.00 Q: 0 
   theta: 13.16 Dist: 00000.00 Q: 0 
   theta: 14.27 Dist: 00000.00 Q: 0 
   theta: 15.36 Dist: 00000.00 Q: 0 
   theta: 16.45 Dist: 00000.00 Q: 0 
   theta: 17.55 Dist: 00000.00 Q: 0 
   theta: 18.66 Dist: 00000.00 Q: 0 
   theta: 19.75 Dist: 00000.00 Q: 0 
   theta: 20.84 Dist: 00000.00 Q: 0 
   theta: 21.94 Dist: 00000.00 Q: 0 
   theta: 23.05 Dist: 00000.00 Q: 0 
   theta: 24.14 Dist: 00000.00 Q: 0 
   theta: 25.23 Dist: 00000.00 Q: 0 
   theta: 26.33 Dist: 00000.00 Q: 0 
   theta: 27.44 Dist: 00000.00 Q: 0 
   theta: 28.53 Dist: 00000.00 Q: 0 
   theta: 29.62 Dist: 00000.00 Q: 0 
   theta: 30.72 Dist: 00000.00 Q: 0 
   theta: 31.83 Dist: 00000.00 Q: 0 
   theta: 32.92 Dist: 00000.00 Q: 0 
   theta: 34.02 Dist: 00000.00 Q: 0 
   theta: 35.11 Dist: 00000.00 Q: 0 
   theta: 36.22 Dist: 00000.00 Q: 0 
   theta: 37.31 Dist: 00000.00 Q: 0 
   theta: 38.41 Dist: 00000.00 Q: 0 
   theta: 39.50 Dist: 00000.00 Q: 0 
   theta: 40.61 Dist: 00000.00 Q: 0 
   theta: 41.70 Dist: 00000.00 Q: 0 
   theta: 42.80 Dist: 00000.00 Q: 0 
   theta: 43.89 Dist: 00000.00 Q: 0 
   theta: 45.00 Dist: 00000.00 Q: 0 
   theta: 46.09 Dist: 00000.00 Q: 0 
   theta: 47.19 Dist: 00000.00 Q: 0 
   theta: 48.28 Dist: 00000.00 Q: 0 
   theta: 49.38 Dist: 00000.00 Q: 0 
   theta: 50.48 Dist: 00000.00 Q: 0 
   theta: 51.58 Dist: 00000.00 Q: 0 
   theta: 52.67 Dist: 00000.00 Q: 0 
   theta: 53.77 Dist: 00000.00 Q: 0 
   theta: 54.88 Dist: 00000.00 Q: 0 
   theta: 55.97 Dist: 00000.00 Q: 0 
   theta: 57.06 Dist: 00000.00 Q: 0 
   theta: 58.16 Dist: 00000.00 Q: 0 
   theta: 59.27 Dist: 00000.00 Q: 0 
   theta: 60.36 Dist: 00000.00 Q: 0 
   theta: 61.45 Dist: 00000.00 Q: 0 
   theta: 62.55 Dist: 00000.00 Q: 0 
   theta: 63.66 Dist: 00000.00 Q: 0 
   theta: 64.75 Dist: 00000.00 Q: 0 
   theta: 65.84 Dist: 00000.00 Q: 0 
   theta: 66.94 Dist: 00000.00 Q: 0 
   theta: 68.05 Dist: 00000.00 Q: 0 
   theta: 69.14 Dist: 00000.00 Q: 0 
   theta: 70.23 Dist: 00000.00 Q: 0 
   theta: 71.33 Dist: 00000.00 Q: 0 
   theta: 72.44 Dist: 00000.00 Q: 0 
   theta: 73.53 Dist: 00000.00 Q: 0 
   theta: 74.62 Dist: 00000.00 Q: 0 
   theta: 75.72 Dist: 00000.00 Q: 0 
   theta: 76.83 Dist: 00000.00 Q: 0 
   theta: 77.92 Dist: 00000.00 Q: 0 
   theta: 79.02 Dist: 00000.00 Q: 0 
   theta: 80.11 Dist: 00000.00 Q: 0 
   theta: 80.59 Dist: 00175.00 Q: 47 
   theta: 81.69 Dist: 00180.00 Q: 47 
   theta: 83.41 Dist: 00000.00 Q: 0 
   theta: 84.50 Dist: 00000.00 Q: 0 
   theta: 85.61 Dist: 00000.00 Q: 0 
   theta: 86.70 Dist: 00000.00 Q: 0 
   theta: 87.80 Dist: 00000.00 Q: 0 
   theta: 88.89 Dist: 00000.00 Q: 0 
   theta: 90.00 Dist: 00000.00 Q: 0 
   theta: 91.09 Dist: 00000.00 Q: 0 
   theta: 91.80 Dist: 00169.00 Q: 47 
   theta: 92.89 Dist: 00168.00 Q: 47 
   theta: 94.38 Dist: 00000.00 Q: 0 
   theta: 95.48 Dist: 00000.00 Q: 0 
   theta: 96.58 Dist: 00000.00 Q: 0 
   theta: 97.67 Dist: 00000.00 Q: 0 
   theta: 98.77 Dist: 00000.00 Q: 0 
   theta: 99.88 Dist: 00000.00 Q: 0 
   theta: 100.97 Dist: 00000.00 Q: 0 
   theta: 102.06 Dist: 00000.00 Q: 0 
   theta: 103.16 Dist: 00000.00 Q: 0 
   theta: 104.27 Dist: 00000.00 Q: 0 
   theta: 105.36 Dist: 00000.00 Q: 0 
   theta: 106.45 Dist: 00000.00 Q: 0 
   theta: 107.55 Dist: 00000.00 Q: 0 
   theta: 108.66 Dist: 00000.00 Q: 0 
   theta: 109.75 Dist: 00000.00 Q: 0 
   theta: 110.84 Dist: 00000.00 Q: 0 
   theta: 111.94 Dist: 00000.00 Q: 0 
   theta: 113.05 Dist: 00000.00 Q: 0 
   theta: 114.14 Dist: 00000.00 Q: 0 
   theta: 115.23 Dist: 00000.00 Q: 0 
   theta: 116.33 Dist: 00000.00 Q: 0 
   theta: 117.44 Dist: 00000.00 Q: 0 
   theta: 118.53 Dist: 00000.00 Q: 0 
   theta: 119.62 Dist: 00000.00 Q: 0 
   theta: 120.72 Dist: 00000.00 Q: 0 
   theta: 121.83 Dist: 00000.00 Q: 0 
   theta: 121.97 Dist: 00241.00 Q: 47 
   theta: 122.92 Dist: 00000.00 Q: 0 
   theta: 123.06 Dist: 00237.00 Q: 47 
   theta: 126.22 Dist: 00000.00 Q: 0 
   theta: 127.31 Dist: 00000.00 Q: 0 
   theta: 128.41 Dist: 00000.00 Q: 0 
   theta: 129.50 Dist: 00000.00 Q: 0 
   theta: 130.61 Dist: 00000.00 Q: 0 
   theta: 131.70 Dist: 00000.00 Q: 0 
   theta: 132.80 Dist: 00000.00 Q: 0 
   theta: 133.89 Dist: 00000.00 Q: 0 
   theta: 135.00 Dist: 00000.00 Q: 0 
   theta: 136.09 Dist: 00000.00 Q: 0 
   theta: 137.19 Dist: 00000.00 Q: 0 
   theta: 138.28 Dist: 00000.00 Q: 0 
   theta: 139.38 Dist: 00000.00 Q: 0 
   theta: 140.48 Dist: 00000.00 Q: 0 
   theta: 141.58 Dist: 00000.00 Q: 0 
   theta: 142.67 Dist: 00000.00 Q: 0 
   theta: 143.77 Dist: 00000.00 Q: 0 
   theta: 144.88 Dist: 00000.00 Q: 0 
   theta: 145.97 Dist: 00000.00 Q: 0 
   theta: 147.06 Dist: 00000.00 Q: 0 
   theta: 148.16 Dist: 00000.00 Q: 0 
   theta: 149.27 Dist: 00000.00 Q: 0 
   theta: 149.64 Dist: 00158.00 Q: 47 
   theta: 151.45 Dist: 00000.00 Q: 0 
   theta: 152.55 Dist: 00000.00 Q: 0 
   theta: 152.92 Dist: 00156.00 Q: 47 
   theta: 154.75 Dist: 00000.00 Q: 0 
   theta: 155.84 Dist: 00000.00 Q: 0 
   theta: 156.94 Dist: 00000.00 Q: 0 
   theta: 158.05 Dist: 00000.00 Q: 0 
   theta: 159.14 Dist: 00000.00 Q: 0 
   theta: 160.23 Dist: 00000.00 Q: 0 
   theta: 161.33 Dist: 00000.00 Q: 0 
   theta: 162.44 Dist: 00000.00 Q: 0 
   theta: 163.53 Dist: 00000.00 Q: 0 
   theta: 164.62 Dist: 00000.00 Q: 0 
   theta: 164.70 Dist: 00176.00 Q: 47 
   theta: 166.05 Dist: 00169.00 Q: 47 
   theta: 167.14 Dist: 00169.00 Q: 47 
   theta: 169.02 Dist: 00000.00 Q: 0 
   theta: 170.11 Dist: 00000.00 Q: 0 
   theta: 171.22 Dist: 00000.00 Q: 0 
   theta: 172.31 Dist: 00000.00 Q: 0 
   theta: 173.41 Dist: 00000.00 Q: 0 
   theta: 174.50 Dist: 00000.00 Q: 0 
   theta: 175.61 Dist: 00000.00 Q: 0 
   theta: 176.70 Dist: 00000.00 Q: 0 
   theta: 177.80 Dist: 00000.00 Q: 0 
   theta: 178.89 Dist: 00000.00 Q: 0 
   theta: 180.00 Dist: 00000.00 Q: 0 
   theta: 181.09 Dist: 00000.00 Q: 0 
   theta: 182.19 Dist: 00000.00 Q: 0 
   theta: 183.28 Dist: 00000.00 Q: 0 
   theta: 184.38 Dist: 00000.00 Q: 0 
   theta: 185.48 Dist: 00000.00 Q: 0 
   theta: 186.58 Dist: 00000.00 Q: 0 
   theta: 187.67 Dist: 00000.00 Q: 0 
   theta: 188.77 Dist: 00000.00 Q: 0 
   theta: 189.88 Dist: 00000.00 Q: 0 
   theta: 190.97 Dist: 00000.00 Q: 0 
   theta: 192.06 Dist: 00000.00 Q: 0 
   theta: 193.16 Dist: 00000.00 Q: 0 
   theta: 194.27 Dist: 00000.00 Q: 0 
   theta: 195.36 Dist: 00000.00 Q: 0 
   theta: 196.45 Dist: 00000.00 Q: 0 
   theta: 197.55 Dist: 00000.00 Q: 0 
   theta: 198.66 Dist: 00000.00 Q: 0 
   theta: 199.75 Dist: 00000.00 Q: 0 
   theta: 200.84 Dist: 00000.00 Q: 0 
   theta: 201.94 Dist: 00000.00 Q: 0 
   theta: 203.05 Dist: 00000.00 Q: 0 
   theta: 204.14 Dist: 00000.00 Q: 0 
   theta: 205.23 Dist: 00000.00 Q: 0 
   theta: 206.33 Dist: 00000.00 Q: 0 
   theta: 207.44 Dist: 00000.00 Q: 0 
   theta: 208.53 Dist: 00000.00 Q: 0 
   theta: 209.62 Dist: 00000.00 Q: 0 
   theta: 210.72 Dist: 00000.00 Q: 0 
   theta: 211.83 Dist: 00000.00 Q: 0 
   theta: 212.92 Dist: 00000.00 Q: 0 
   theta: 214.02 Dist: 00000.00 Q: 0 
   theta: 215.11 Dist: 00000.00 Q: 0 
   theta: 216.22 Dist: 00000.00 Q: 0 
   theta: 217.31 Dist: 00000.00 Q: 0 
   theta: 218.41 Dist: 00000.00 Q: 0 
   theta: 219.50 Dist: 00000.00 Q: 0 
   theta: 220.61 Dist: 00000.00 Q: 0 
   theta: 221.70 Dist: 00000.00 Q: 0 
   theta: 222.80 Dist: 00000.00 Q: 0 
   theta: 223.89 Dist: 00000.00 Q: 0 
   theta: 225.00 Dist: 00000.00 Q: 0 
   theta: 226.09 Dist: 00000.00 Q: 0 
   theta: 227.19 Dist: 00000.00 Q: 0 
   theta: 228.28 Dist: 00000.00 Q: 0 
   theta: 229.38 Dist: 00000.00 Q: 0 
   theta: 230.48 Dist: 00000.00 Q: 0 
   theta: 231.58 Dist: 00000.00 Q: 0 
   theta: 232.67 Dist: 00000.00 Q: 0 
   theta: 233.77 Dist: 00000.00 Q: 0 
   theta: 234.88 Dist: 00000.00 Q: 0 
   theta: 235.97 Dist: 00000.00 Q: 0 
   theta: 237.06 Dist: 00000.00 Q: 0 
   theta: 238.16 Dist: 00000.00 Q: 0 
   theta: 239.27 Dist: 00000.00 Q: 0 
   theta: 240.36 Dist: 00000.00 Q: 0 
   theta: 241.45 Dist: 00000.00 Q: 0 
   theta: 242.55 Dist: 00000.00 Q: 0 
   theta: 243.66 Dist: 00000.00 Q: 0 
   theta: 244.75 Dist: 00000.00 Q: 0 
   theta: 245.33 Dist: 00273.00 Q: 47 
   theta: 245.56 Dist: 00263.00 Q: 47 
   theta: 245.84 Dist: 00000.00 Q: 0 
   theta: 246.91 Dist: 00253.00 Q: 47 
   theta: 246.94 Dist: 00000.00 Q: 0 
   theta: 249.00 Dist: 00252.00 Q: 47 
   theta: 250.31 Dist: 00252.00 Q: 47 
   theta: 250.59 Dist: 00252.00 Q: 47 
   theta: 252.53 Dist: 00253.00 Q: 47 
   theta: 252.89 Dist: 00253.00 Q: 47 
   theta: 254.36 Dist: 00254.00 Q: 47 
   theta: 255.70 Dist: 00254.00 Q: 47 
   theta: 256.77 Dist: 00259.00 Q: 47 
   theta: 256.92 Dist: 00255.00 Q: 47 
   theta: 257.62 Dist: 00262.00 Q: 47 
   theta: 259.97 Dist: 00263.00 Q: 47 
   theta: 260.94 Dist: 00263.00 Q: 47 
   theta: 261.88 Dist: 00268.00 Q: 47 
   theta: 262.16 Dist: 00267.00 Q: 47 
   theta: 262.98 Dist: 00271.00 Q: 47 
   theta: 264.45 Dist: 00274.00 Q: 47 
   theta: 265.30 Dist: 00277.00 Q: 47 
   theta: 266.14 Dist: 00279.00 Q: 47 
   theta: 267.61 Dist: 00280.00 Q: 47 
   theta: 269.08 Dist: 00284.00 Q: 47 
   theta: 269.69 Dist: 00291.00 Q: 47 
   theta: 270.78 Dist: 00294.00 Q: 47 
   theta: 271.38 Dist: 00296.00 Q: 47 
   theta: 272.47 Dist: 00298.00 Q: 47 
   theta: 274.19 Dist: 00305.00 Q: 47 
   theta: 274.55 Dist: 00314.00 Q: 47 
   theta: 275.64 Dist: 00319.00 Q: 47 
   theta: 276.86 Dist: 00321.00 Q: 47 
   theta: 282.06 Dist: 00000.00 Q: 0 
   theta: 282.34 Dist: 03199.00 Q: 47 
   theta: 283.16 Dist: 00000.00 Q: 0 
   theta: 283.44 Dist: 03111.00 Q: 47 
   theta: 284.27 Dist: 00000.00 Q: 0 
   theta: 284.53 Dist: 03168.00 Q: 47 
   theta: 285.36 Dist: 00000.00 Q: 0 
   theta: 285.62 Dist: 03144.00 Q: 47 
   theta: 286.45 Dist: 00000.00 Q: 0 
   theta: 286.84 Dist: 02987.00 Q: 47 
   theta: 287.55 Dist: 00000.00 Q: 0 
   theta: 287.95 Dist: 02590.00 Q: 47 
   theta: 288.66 Dist: 00000.00 Q: 0 
   theta: 289.30 Dist: 01957.00 Q: 47 
   theta: 289.75 Dist: 00000.00 Q: 0 
   theta: 290.27 Dist: 01962.00 Q: 47 
   theta: 291.36 Dist: 01983.00 Q: 47 
   theta: 292.45 Dist: 02019.00 Q: 47 
   theta: 293.55 Dist: 02033.00 Q: 47 
   theta: 294.64 Dist: 02072.00 Q: 47 
   theta: 295.73 Dist: 02101.00 Q: 47 
   theta: 296.83 Dist: 02125.00 Q: 47 
   theta: 297.92 Dist: 02135.00 Q: 47 
   theta: 299.02 Dist: 02173.00 Q: 47 
   theta: 300.12 Dist: 02189.00 Q: 47 
   theta: 301.09 Dist: 02361.00 Q: 47 
   theta: 302.19 Dist: 02390.00 Q: 47 
   theta: 303.28 Dist: 02377.00 Q: 47 
   theta: 304.38 Dist: 02385.00 Q: 47 
   theta: 305.34 Dist: 03413.00 Q: 47 
   theta: 306.44 Dist: 03406.00 Q: 47 
   theta: 307.53 Dist: 03416.00 Q: 47 
   theta: 308.62 Dist: 03429.00 Q: 47 
   theta: 309.72 Dist: 03427.00 Q: 47 
   theta: 310.83 Dist: 03459.00 Q: 47 
   theta: 312.05 Dist: 02632.00 Q: 47 
   theta: 313.14 Dist: 02678.00 Q: 47 
   theta: 314.11 Dist: 03473.00 Q: 47 
   theta: 315.20 Dist: 03346.00 Q: 47 
   theta: 316.30 Dist: 03272.00 Q: 47 
   theta: 317.53 Dist: 02737.00 Q: 47 
   theta: 318.62 Dist: 02484.00 Q: 47 
   theta: 319.84 Dist: 02171.00 Q: 47 
   theta: 320.94 Dist: 02130.00 Q: 47 
   theta: 322.03 Dist: 02099.00 Q: 47 
   theta: 323.14 Dist: 02071.00 Q: 47 
   theta: 326.86 Dist: 00432.00 Q: 47 
   theta: 328.20 Dist: 00424.00 Q: 47 
   theta: 329.05 Dist: 00421.00 Q: 47 
   theta: 330.27 Dist: 00419.00 Q: 47 
   theta: 331.38 Dist: 00417.00 Q: 47 
   theta: 332.72 Dist: 00415.00 Q: 47 
   theta: 333.69 Dist: 00414.00 Q: 47 
   theta: 335.03 Dist: 00412.00 Q: 47 
   theta: 335.75 Dist: 00411.00 Q: 47 
   theta: 336.97 Dist: 00410.00 Q: 47 
   theta: 338.20 Dist: 00411.00 Q: 47 
   theta: 339.17 Dist: 00410.00 Q: 47 
   theta: 340.14 Dist: 00415.00 Q: 47 
   theta: 341.23 Dist: 00421.00 Q: 47 
   theta: 347.92 Dist: 00000.00 Q: 0 
   theta: 349.02 Dist: 00000.00 Q: 0 
   theta: 350.11 Dist: 00000.00 Q: 0 
   theta: 351.22 Dist: 00000.00 Q: 0 
   theta: 352.31 Dist: 00000.00 Q: 0 
   theta: 353.41 Dist: 00000.00 Q: 0 
   theta: 354.50 Dist: 00000.00 Q: 0 
   theta: 355.61 Dist: 00000.00 Q: 0 
   theta: 356.70 Dist: 00000.00 Q: 0 
   theta: 357.80 Dist: 00000.00 Q: 0 
   theta: 358.89 Dist: 00000.00 Q: 0 
```

# oFで動かす

`rpk-02-sdk_v1.5.7/sdk/sdk/include`をプロジェクトに含めて
`rpk-02-sdk_v1.5.7/sdk/output/Darwin/Release/librplidar_sdk.a`をlinkすればすんなり動きました。

SDKの全機能を実装したわけではありませんがaddonにしたのでご自由にお使いください！
https://github.com/nariakiiwatani/ofxRPLidar