
亲爱的小伙伴们你们好。今天开始给大家分享我来学习ROS的技术和心得。在ROS方面我只能说是个半吊子我的专业是物联网工程他是和嵌入式相关的一个专业。后来AI的爆火和机器人的爆火让我之间转变了自己的方向也开始慢慢地接触ROS这个领域的使用。那为什么说我是半吊子呢其实是代码方面的退化23年我才大一那个时候学习C语言很认真很刻苦也没AI能够帮助生成在此之后的时间里AI快速闯入我们的生活代码基本依赖AI帮忙了。现在若是说节点、话题、服务我能说出大概的联系无非是订阅发布请求响应但是真的要手敲代码emmm这真的是一个考验尤其是看到招聘上都写着“精通Python精通C”,作为学生真是汗颜。但是我觉得AI本身视作一种工具上述情况也应该属于正常情况作为开发者我们还是应该学会看懂代码和调试代码当然很多时候也靠AI。我之前学习嵌入式准备走硬件方向的所以今天开始我们先来学习硬件部分的设计。——引子1.介绍理论首先还是说说理论吧不然我也无从下手教学。ROS是什么呢翻译后叫做机器人操作系统事实上也不是一个操作系统毕竟大多数时候看到的都是在Ubuntu系统上的ROS。我们现在学的都是ROS2原来的ROS不如ROS2简单的说老版ROS有个主节点它崩了其他就崩了所以不好用现在说的ROS基本上就是ROS2。ROS有五层框架操作系统层DDS数据分发服务实现层DDS抽象层客户端层应用层。具体去看看其他资料了解吧。一般而言常规的机器人主控板是树莓派或者RK3588香橙派之类的昂贵的板子他们上面可以搭载Ubuntu系统跑ROS用的是他们板子自己的资源。我们的情况是在上位机电脑上的虚拟机跑的是电脑的资源完成代码运行和控制通过端口、网络连接下位机ESP32的MicroROS这样移花接木就可以用你电脑的资源跑ROS了。2.芯片布局和选型我用ESP32-S3-WROOM-1-N16R8芯片就不介绍了学嵌入式的知道都是老熟人了。主控的电路如图所示这是个主控也就是把引脚引出来3.3V供电加了几个去耦电容极其的简单。接下来是基本电路Type-C不必多说烧录你得要CH340自动烧录的芯片也是必须要的。ESP32的IO0是设置成启动模式按钮EN是使能复位按钮。降压12V降5V5V降3.3V。电压检测看电池有没有电LSM6DS3TR-C是IMU惯性单元芯片ROS机器车建图、导航什么的通常需要雷达、IMU、里程计除此之外预留几个IIC接口。电源和开关预留两个串口根据实习时老板的要求开了一个CAN总线通信的接口。两个电机的驱动芯片四个舵机线如果你不知道哪个对哪个去了解一下编码器减速电机和舵机的接线口顺序对照着看。摄像头是的我还加了个摄像头不知道能不能用。这个电路板的电路图就这些PCB设计如下3D看预期PCB设计这个真的没法手把手教需要练习过段时间再开源这个板子吧。反正最后的预期效果是这个小车子有两个电机、一个雷达、一个摄像头、一个12V电池供电。