暑期学校中实践案例的直播演示的PPT部分。
分为四个部分展开:
令人吃惊的文档,日期220818,后续可能会不太一样哦!
文档是如下这种情况,慌不慌???
待完成……
白茫茫一片啊。
很多时候,看架构图,不能就看个热闹,需要将每个部分的细节都理解清楚。
这一点,能做到的学员已经很少了。
micro-ros打通MCU和ROS2双生态,需要中间部分:
发布和订阅需要严格匹配,上位机和下位机都要注意这一点:
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
支持多种通信模式,有线方式比无线稳定。设置可以参考:
串口:
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);
都配置好之后,完成程序编译,实现此功能需要启动:
具体命令如下:
./MicroXRCEAgent udp4 -p 8888
下位机订阅灯,发布IMU。
桌面级群控机器人平台设计与开发(Cocube单机器人)部分节选
遇到问题,非常普遍,多多查阅github的issus或者micro-ros社区。