前言

原先写了一些ROS+arduino学习记录的帖子,发现每次找起来非常麻烦,所以做一个汇总帖,以后需要的话,找起来就方便了。

关于我用的开发板,一开始学习的时候,我用的开发板是arduino uno这类的,后来就用esp8266或者esp32的最小系统。

但是由于我经常喜欢做一些小型舵机机器人,同时Arduino+ROS本来就是制作机器人用的,所以每次我用ubuntu这边的ros主机仿真或者解算出来机器人运动的关节变量之后,虽然可以通过串口或者wifi将关节变量通过话题消息传递给arduino节点,但是由于arduino节点没有驱动舵机的能力,所以需要加扩展板同时接线也比较麻烦。所以用最小系统板并不能很好的跟ros的机器人特性结合起来,比如驱动舵机、电机这些很不方便。

因此我自己做了两块板子,都是用esp8266或者esp32做的主控,由于支持wifi话题通信,因此使得arduino与ros主机之间的通信很方便,同时板子还带了舵机驱动,本身又有驱动能力。

因此当我们做小型机械臂或者机器人的时候,尤其是舵机机器人的时候,我们可以将主机得到的信息马上传给arduino节点,arduino节点又能够非常方便的驱动机器人运动,这样实现一个完美的闭环。

这两块板也都是开源的,大家可以自己做出来放心使用。

地址:arduino32路舵机驱动板(开源可自制,附程序和固件以及烧录方法)_Allen953的博客-CSDN博客_舵机驱动板

 地址:Baize_ServoDriver_esp32——arduino 32路舵机驱动板(esp32主控,免费开源,附程序、固件)_Allen953的博客-CSDN博客

正文

1.树莓派ROS+arduino(一):安装arduino ide+rosserial工具包+构建arduino的ros_lib库_Allen953的博客-CSDN博客

2.树莓派ROS+arduino(二):点亮一个led灯_Allen953的博客-CSDN博客 

3.树莓派ROS+arduino(三):helloworld程序初探分析_Allen953的博客-CSDN博客 

4. ros+arduino学习(四):ros发布消息控制舵机(arduino做下位机)_Allen953的博客-CSDN博客_ros控制舵机

5.ros+arduino学习(五):ros发布消息控制舵机之二(arduino做下位机)(程序控制)Nanopi k2_Allen953的博客-CSDN博客 

6.ros+arduino学习(六):重构ros_lib库文件_Allen953的博客-CSDN博客_roslib 

7.ros+arduino学习(七):arduino发布自定义ros话题消息_Allen953的博客-CSDN博客 

8.esp8266与ros局域网话题通讯_Allen953的博客-CSDN博客_ros 局域网通信

9.esp32与ros局域网话题通讯_Allen953的博客-CSDN博客_esp32 rosserial 

10.ros与esp32话题通信控制小车(长动与点动)_Allen953的博客-CSDN博客_esp32 ros