シングルボードコンピュータ + ROS1 (Melodic) でノード間通信をやってみる


使用するのはシングルボードコンピュータ(ラズパイ4BとJetson Nano)です。

以下のような構成

ROS1なのでMasterを使った通信になります。

Publish するのはRPLiDARのデータです。Hector_SLAM でSubscribeしてみます。

 

ラズパイ4BへのRPLiDARセットアップは以下をご参照

ラズパイ4B + ROS1 で LiDAR を動かしてみる

Jetson Nano へのROS1 (Melodic) のインストールは以下をご参照

Jetson Nano にROS1 (Melodic) をインストール(メモ)

Hector_SLAM のセットアップ

Jetson Nano (Jetpack 4.6) + ROS1 (Melodic) で Hector_SLAM を動かしてみる

 


両方のコンピュータは同じネットワーク上にある必要があります。

例えば以下のIPアドレスになっているとします。

Jetson NanoのIPアドレス:192.168.0.41
ラズパイ4BのIPアドレス:192.168.0.34

相互にpingを発行して、通信状態を確認しておきます。
ping 192.168.0.41
ping 192.168.0.34

 

通信に不具合がある場合以下のようなエラーが起こります。

 


Master 設定(Jetson Nano 側)

JetsonのROS_MASTER_URIとROS_IPをエクスポートしてROSを起動

 

 


データのPublish(ラズパイ側)

ROS_MASTER_URIとラズパイのROS_IPをエクスポートします

RPLiDARを起動しスキャンデータをPublishします

 


データのSubscribe(Jetson Nano 側)

別ターミナルでtopicを確認します。

/scanがあれば正常に機能しています。

Rvizを起動

Fixed Frame でmaplaserに変更して、左下のAddボタンをクリック

By topic タブでLaser Scan を選んでOKをクリック

赤い点群がスキャンデータです。

 

以下のようなメッセージが出ています。気になるところですが、調査中。

 

Hector_SLAM を実行してみます。

Rviz が起動していたらQuitしておきます。

Hector_SLAM をローンチ

こんな感じ

Add ー>By topc ー> LaserScan を重ねるとこんな感じです。

 


topicとnode

rqt_graph でROS ノードの相互作用の状況を確認

ラズパイでRPLiDARを起動した段階

Jetson で Hector_SLAM を起動

別ターミナルで確認

 


 

Be the first to comment

Leave a Reply

Your email address will not be published.


*