使用するのはシングルボードコンピュータ(ラズパイ4BとJetson Nano)です。
以下のような構成
ROS1なのでMasterを使った通信になります。
Publish するのはRPLiDARのデータです。Hector_SLAM でSubscribeしてみます。
ラズパイ4BへのRPLiDARセットアップは以下をご参照
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を起動
1 2 3 4 |
export ROS_MASTER_URI=http://192.168.0.41:11311 export ROS_IP=192.168.0.41 roscore |
データのPublish(ラズパイ側)
ROS_MASTER_URIとラズパイのROS_IPをエクスポートします
1 2 |
export ROS_MASTER_URI=http://192.168.0.41:11311 export ROS_IP=192.168.0.34 |
RPLiDARを起動しスキャンデータをPublishします
1 |
roslaunch rplidar_ros rplidar.launch |
データのSubscribe(Jetson Nano 側)
別ターミナルでtopicを確認します。
/scanがあれば正常に機能しています。
1 |
rostopic list |
Rvizを起動
1 |
rviz |
Fixed Frame でmapをlaserに変更して、左下のAddボタンをクリック
By topic タブでLaser Scan を選んでOKをクリック
赤い点群がスキャンデータです。
以下のようなメッセージが出ています。気になるところですが、調査中。
Hector_SLAM を実行してみます。
Rviz が起動していたらQuitしておきます。
Hector_SLAM をローンチ
1 |
roslaunch hector_slam_launch tutorial.launch |
こんな感じ
Add ー>By topc ー> LaserScan を重ねるとこんな感じです。
topicとnode
rqt_graph でROS ノードの相互作用の状況を確認
ラズパイでRPLiDARを起動した段階
Jetson で Hector_SLAM を起動
別ターミナルで確認
Leave a Reply