Be Engineer.

エンジニア成り立て管理人の日々の記録とメモブログです。

raspberry piとLRFの通信

raspberry pi北陽機械のURG-04LX-UG01を通信させる。

通信のためROSのhokuyou_nodeかurg_nodeを実行する。

 

[環境]

 

[メモ]

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

 

これで通信成功。