CoCube和Micro-ROS简单案例演示

Posted zhangrelay

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CoCube和Micro-ROS简单案例演示相关的知识,希望对你有一定的参考价值。


暑期学校中实践案例的直播演示的PPT部分。


CoCube和Micro-ROS简单案例演示_ROS2

分为四个部分展开:

1. QoS

2. WiFi

3. Pub-Sub

4. Fault 


令人吃惊的文档,日期220818,后续可能会不太一样哦!

CoCube和Micro-ROS简单案例演示_ROS2_02

文档是如下这种情况,慌不慌???

CoCube和Micro-ROS简单案例演示_机器人教学工作_03

 

待完成…… 

白茫茫一片啊。

很多时候,看架构图,不能就看个热闹,需要将每个部分的细节都理解清楚。

这一点,能做到的学员已经很少了。

micro-ros打通MCU和ROS2双生态,需要中间部分:

CoCube和Micro-ROS简单案例演示_CoCube_04


CoCube和Micro-ROS简单案例演示_ESP32_05

发布和订阅需要严格匹配,上位机和下位机都要注意这一点: 

cpp订阅
create_subscription<std_msgs::msg::String>("chatter", rclcpp::SensorDataQoS(), callback);

create_subscription<std_msgs::msg::String>("chatter", 10, callback);

c发布
RCCHECK(rclc_publisher_init_best_effort

RCCHECK(rclc_publisher_init_default


CoCube和Micro-ROS简单案例演示_CoCube_06


 

支持多种通信模式,有线方式比无线稳定。设置可以参考:

串口:
set_microros_transports();
网线:
byte arduino_mac[] = 0xAA, 0xBB, 0xCC, 0xEE, 0xDD, 0xFF ;
IPAddress arduino_ip(192, 168, 1, 177);
IPAddress agent_ip(192, 168, 1, 113);
set_microros_native_ethernet_udp_transports(arduino_mac, arduino_ip, agent_ip, 9999);
无线:
set_microros_wifi_transports("WIFI SSID", "WIFI PASS", "192.168.1.57", 8888);
 


CoCube和Micro-ROS简单案例演示_CoCube_07

都配置好之后,完成程序编译,实现此功能需要启动:

CoCube和Micro-ROS简单案例演示_CoCube_04

 

具体命令如下:

./MicroXRCEAgent udp4 -p 8888


CoCube和Micro-ROS简单案例演示_ESP32_09

 

下位机订阅灯,发布IMU。

​桌面级群控机器人平台设计与开发(Cocube单机器人)部分节选​


遇到问题,非常普遍,多多查阅github的issus或者micro-ros社区。

CoCube和Micro-ROS简单案例演示_ROS2_10

 

CoCube和Micro-ROS简单案例演示_ESP32_11


 

 

 

 

以上是关于CoCube和Micro-ROS简单案例演示的主要内容,如果未能解决你的问题,请参考以下文章

CoCube和Micro-ROS简单案例演示

esp32发布机器人电池电压到ros2(micro-ros+CoCube)

桌面级群控机器人CoCube探索-2022-

贪吃蛇复现-CoCube

贪吃蛇复现-CoCube

桌面级群控机器人CoCube探索-2022-