M5Stack x ROS2

A082b4373c6a647b3394dc555ce443ac?s=47 anoken
March 13, 2019

M5Stack x ROS2

A082b4373c6a647b3394dc555ce443ac?s=128

anoken

March 13, 2019
Tweet

Transcript

  1. M5Stack x ROS2

  2. M5Stack x ROS2 の前に

  3. None
  4. 5 5 5cm 5cm M5Stackは、 EspressifのESP32に、 ディスプレイ、スピーカー、をつけて、 電源を樹脂のケースに入れたもの。

  5. Q: M5Stack 小さいディスプレイとスピーカ があります。 何に使いますか? 何に使いますか?

  6. None
  7. None
  8. プリン・ア・ラートの歴史 2017年10月ごろ 2018年4月ごろ

  9. None
  10. None
  11. None
  12. None
  13. None
  14. ROS2 library for Arduino ROS2 library for Arduino ROBOTISのKyung-Wan Ki

    (@OpusK )氏 が開発中のライブラリ https://github.com/ROBOTIS-GIT/ros2arduino/
  15. Micro-XRCE-DDSを介して、 M5Stack(ESP32)とROS2が繋がる

  16. $ git clone https://github.com/eProsima/Micro-XRCE-DDS-Agent.git $ cd Micro-XRCE-DDS-Agent $ mkdir build

    && cd build $ cmake -DTHIRDPARTY=ON -DCONFIG_UDP_TRANSPORT_MTU=4096 - $ mkdir -p ~/ros2_ws/src $ cd ~/ros2_ws $ wget https://raw.githubusercontent.com/ros2/ros2/release-latest/ros2.repos $ vcs import src < ros2.repos $ sudo rosdep init $ rosdep update $ rosdep install --from-paths src --ignore-src --rosdistro crystal -y --skip-keys "console_b $ cd ~/ros2_ws/ $ colcon build --symlink-install --packages-ignore qt_gui_cpp rqt_gui_cpp $ cmake -DTHIRDPARTY=ON -DCONFIG_UDP_TRANSPORT_MTU=4096 - DCONFIG_SERIAL_TRANSPORT_MTU=4096 .. $ sudo make install $ sudo ldconfig /usr/local/lib/
  17. None
  18. $ MicroXRCEAgent udp 2018 Agentの起動 ArduinoIDEでの書き込み void publishString_x(std_msgs::Int16* msg, void*

    arg) { (void)(arg); msg->data = IMU.ax *1000; } class StringPub : public ros2::Node { public: StringPub(): Node() { ros2::Publisher<std_msgs::Int16>* publisher_x = ros2::Publisher<std_msgs::Int16>* publisher_x = this->createPublisher<std_msgs::Int16>("acc"); this->createWallFreq(PUBLISH_FREQUENCY, (ros2::CallbackFunc)publishString_x, NULL, publisher_x); }}; void setup() { ros2::init(&udp, AGENT_IP, AGENT_PORT); } void loop() { ros2::spin(&StringNode); }
  19. M5Stack->wifi->ros2へpublish->rqt2 rqt_plot https://youtu.be/rx6fg5okXl4

  20. 動画の見た目一緒だけど、裏では ・通信がとても速い・動作軽量化 (vs ROS1 rosserial) ・ ESP(Arduino)複数つなげられる(vs ROS1 rosserial=1台) ・

    roscore不要(但し、ros2はDDSのAgentServer起動にUbuntuは必要)
  21. None
  22. None
  23. twitter :@anoken2017