Skip to content

sato-susumu/m5_ros2_multi_ultrasonic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

m5_ros2_multi_ultrasonic

概要

M5Atomとmicro-ROSを使って、複数の超音波センサー情報を配信するROS2プログラムです。


動作確認環境

  • PlatformIOを使ったビルド環境、micro-ROSエージェント実行環境
    • PC: TRIGKEY Green G5
    • OS: Ubuntu 22.04.3
    • ROS2 : Humble
    • Software: PlatformIO, VSCode, docker

  • micro-ROSクライアント実行環境と周辺ユニット
    • M5Atom Lite
    • M5Stack用Port.A I2C拡張ハブユニット(PaHUB2 Unit)
    • M5Stack用超音波測距ユニット I2C 3つ

  • micro-ROSクライアントとmicro-ROSエージェントの接続方法
    • USBケーブルを使ったシリアル通信


micro-ROSエージェントを起動方法(docker利用時)

シリアル通信のデバイスファイルを確認

$ ls -l /dev/ttyACM* /dev/ttyUSB*
ls: '/dev/ttyACM*' にアクセスできません: そのようなファイルやディレクトリはありません
crw-rw---- 1 root dialout 188, 0  2月 23 20:38  /dev/ttyUSB0

M5Atomが /dev/ttyUSB0 で接続している場合、下記コマンドでmicro-ROSエージェント起動。

docker run -it --rm -v /dev:/dev -v /dev/shm:/dev/shm --privileged --net=host microros/micro-ros-agent:$ROS_DISTRO serial --dev  /dev/ttyUSB0 -v6

起動順序

エージェント → クライアントの順で起動する必要があります。
エージェントを起動したら、M5Atomを一度リセットすることでエージェント → クライアントの順になります。

動作確認

正しく起動できたら、/ultrasonic0, /ultrasonic1, /ultrasonic2というトピックが配信されます。

$ ros2 topic list
省略
/ultrasonic0
/ultrasonic1
/ultrasonic2

Topicの内容

$ ros2 topic echo /ultrasonic0
header:
  stamp:
    sec: 0
    nanosec: 0
  frame_id: /ultrasonic0
radiation_type: 0
field_of_view: 0.5235999822616577
min_range: 0.019999999552965164
max_range: 4.5
range: 0.036396000534296036

Topicの送信頻度

$ ros2 topic hz /ultrasonic0
average rate: 2.381
	min: 0.420s max: 0.420s std dev: 0.00011s window: 4
average rate: 2.381
	min: 0.420s max: 0.420s std dev: 0.00020s window: 7

注意

  • M5unified を使ってなるべく機種に依存しないように作っていますが、M5Atom Lite 以外の対応予定はありません。
    • 例: M5AtomS3, M5AtomS3 Liteの場合、内蔵I2Cを使い、シリアル通信はUSBSerialを使う必要があります。また、M5AtomS3は動作しますが遅いです。

リンク

micro-ROS for PlatformIO
micro-ROS for Arduinoのサンプル
micro-ROS for PlatformIOにはサンプルが少ないので、こちらが参考になる。micro-ROS for PlatformIOで使うには微妙に修正が必要。

M5ATOM Liteのドキュメント
PaHUB2のドキュメント
M5Stack用超音波測距ユニットのドキュメント

sensor_msgs/Range Message

About

Multi-ultrasonic node using micro-ROS and M5Stack

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages