raspberry piとLRFの通信
raspberry piと北陽機械のURG-04LX-UG01を通信させる。
通信のためROSのhokuyou_nodeかurg_nodeを実行する。
[環境]
- Raspberry Pi 3
- URG-04LX-UG01
[メモ]
hokuyo_node/Tutorials/UsingTheHokuyoNode - ROS Wiki
$ ls -l /dev/ttyACM0
$ sudo chmod a+rw /dev/ttyACM0
$ roscore &
$ rosrun hokuyo_node hokuyo_node
logは
Couldn't find an AF_INET address for [localhost]
となり、通信できなかった。
「原因」
roscore をバックグラウンドで実行したこと?
「対策」
ssh接続で遠隔操作していたraspberry piに
モニターとキーボードを接続してroscoreを実行
他のターミナルでノードを実行してみた。
「結果」
どのパッケージでもmasterと接続できないと表示された。
raspberry piにはros_commをインストールしているので
とりあえずros_commについて調べて見る。
ros_commについて調べてみたところ
ros_commは通常盤からただGUIのパッケージを抜いたものだとわかった。
他の方がros_commを導入している場合を見たがうまく動作している模様‥。
再び、roscoreと他のnodeを実行したところ
ROSMASTER_URIがroscoreで表示されているものと
nodeから求められているもので違うことがわかった。
[terminal 1]
$ roscore
(log)
...
ROS_MASTER_URI=http://pi3:11311
...
[terminal 2]
$ export ROS_MASTER_URI=http://pi3:11311ROSMASTER_URI
$ sudo chmod a+rw /dev/ttyACM0
$ rosrun hokuyo_node hokuyo_node
これで通信成功。