ROSパッケージのインストール
$ sudo apt install ros-noetic-urg-node
「noetic」の部分は使用してるROSのディストリビューションによって適宜書き換えてください。
接続
UTM-30LX(USBタイプ)
LRFをPCのUSBコネクタに接続
LRFの給電用コネクタにDC12V(±10%)を供給
LRFの接続されているポートに権限(今回は/dev/ttyACM0)を付与
sudo chmod a+rw /dev/ttyACM0
UTM-30LX-EW(イーサネットタイプ)
LRFをUSBとLANの変換コネクタを介してPCに接続
LRFの給電用コネクタにDC12V(±10%)を供給
ネットワークの設定
UTM-30LX-EWはデフォルトでは「192.168.0.10:100940」でデータの送受信を行う.ただし,これはプライベートIPアドレスの中でもwifi接続時によく割り当てられるIPでもある. wifi接続している状態で,URGに「192.168.0.10」が割り当てられると,URGの接続先がルータでもない限りはIPが干渉して上手くネットに接続できなくなることがある.そのため,他のプライベートIPである 「172.16.x.x」 をURGに割り当てることでネット接続を両立することができる.
以上を前提とすると有線設定のIPv4の設定は以下のようにする.
IPアドレス: 172.16.0.x (xは10以外の数値)
サブネットマスク:255.255.255.0
ゲートウェイ:172.16.0.1
なお,以下の画像では172.16.0.15としている.
動作確認
$ roscore
- USBタイプのとき
$ rosrun urg_node urg_node _serial_port:="/dev/ttyACM0"
- イーサネットタイプのとき
$ rosrun urg_node urg_node _ip_address:="172.16.0.10
$ rviz
rvizにて「Fixed Frame」を「laser」にして「/scan」トピックを読む
それっぽい点群が出てればOK
参考
https://www.youtube.com/watch?v=3R62bqTjrgQ
https://daily-tech.hatenablog.com/entry/2018/08/18/164620
https://blog.browniealice.net/post/how_to_use_urg/