ROS+Arduino学习导航贴

news/2024/5/17 18:46:58/文章来源:https://blog.csdn.net/qqliuzhitong/article/details/126828547

前言

原先写了一些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 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_6998.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[笔记]MySQL 插入导致死锁

线上遇到的 MySQL 插入导致死锁,问题排查. 场景复现 MySQL 版本: 5.7.36 数据库存储引擎: InnoDB 事务隔离级别: REPEATABLE-READ 1. 创建测试表 DROP TABLE IF EXISTS tb_task; CREATE TABLE tb_task (id int(11) NOT NULL AUTO_INCREMENT,task_id int(11),order_id int(1…

猿创征文 |【数据结构】2个例题带你理解图的遍历:广度优先搜索

目录 1、定义 2、算法分析 3、算法实现 4、性能分析 💟作者简介:大家好呀!我是路遥叶子,大家可以叫我叶子哦!❣️ 📝个人主页:【叶子博客】 🏆博主信息:四季轮换…

jquery实现云音乐歌词高亮和自动滚动效果

书接上篇文章 实现效果: 一、歌词高亮 首先要判断当前歌词和播放器的当前时间 循环歌词数组treatLyrics,拿到每条歌词的时间与播放器的当前时间playAudio.currentTime进行比较 treatLyrics.forEach((i, index) > { // console.log(i); // console.…

目前最好用的NAS系统是什么?

NAS被定义为一种特殊的专用数据存储服务器,包括存储器件(例如磁盘阵列、CD/DVD驱动器、磁带驱动器或可移动的存储介质)和内嵌系统软件,那么目前最好用的nas系统是什么? 常见的NAS系统有哪些 Nas 系统一般都是基于 Li…

Uplink Resource Allocation in IEEE 802.11ax

一、基本信息 题目:IEEE 802.11ax中的上行链路资源分配 作者:Sudeep Bhattarai, Gaurang Naik, Jung-Min (Jerry) Park 摘要:MU-OFDMA使得多个用户可以在更小的子信道(即资源单元,RUs)中同时进行传输,从而提高802.11ax…

如何从零开始解读产品经理行业分析

上次一起了解了什么是产品经理,产品经理PM和PD在不同类型公司的作用。了解产品经理对当前的应用产品中的重要作用。是不是有点憧憬,其实憧憬是美好的,但是还是要走进现实具体怎么去做,一步一步脚踏实地的,一步一步走入…

【Linux入门】— 腾讯云服务器的搭建

꧁ 各位大佬们好!很荣幸能够得到您的访问,让我们一起在编程道路上任重道远!꧂ ☙ 博客专栏:【Linux知识】❧ ⛅ 本篇内容简介:Linux小白到精通 — 学好Linux从学会服务器搭建开始! ⭐ 了解作者&#xff1…

Java操作Zookeeper框架

Zookeeper框架 注:大家觉得博客好的话,别忘了点赞收藏呀,本人每周都会更新关于人工智能和大数据相关的内容,内容多为原创,Python Java Scala SQL 代码,CV NLP 推荐系统等,Spark Flink Kafka Hb…

Java Double equals()方法具有什么功能呢?

转自: Java Double equals()方法具有什么功能呢? 下文笔者将讲述equals()方法的功能简介说明,如下所示: equals()方法的功能 java.lang.Double.equals()方法的功能: 将当前的Double对象同一个对象进行比较, 当Object是一个Double对象&…

【牛客 - 剑指offer】JZ8 二叉树的下一个结点 Java实现

文章目录剑指offer题解汇总 Java实现本题链接题目方案一 中序遍历递归代码一 设置flag标记代码二 获取整个arrayList的大小方案二 分类直接寻找(分情况讨论)思路代码(版本一)代码(版本二)剑指offer题解汇总…

计算机毕业设计成品java项目开发实例SSM+MySQL实现的家庭医生预约平台

💖💖更多项目资源,最下方联系我们✨✨✨✨✨✨ 目录 一、项目介绍 二、项目截图 三、项目获取 一、项目介绍 java毕业设计计算机毕设项目之基于SSMMySQL实现的家庭医生预约平台_哔哩哔哩_bilibilijava毕业设计计算机毕设项目之基于SSMMyS…

记首次协助搭建服务器

一,服务器资源申请 1)使用云服务器(k8s)还是IDC服务器 云服务器VS IDC服务器 不同: 费用一样,云服务器支持动态扩容 私有云和IDC没有很大区别,只是私有云支持k8s,动态扩容方便。…

python 日志处理(基础篇)

Logging处理 日志级别等级排序:critical > error > warning > info > debug debug : 打印全部的日志( notset 等同于 debug ) info : 打印 info, warning, error, critical 级别的日志 warning : 打印 warning, error, critical 级别的日志 error : 打…

笑霸餐厅 | 瑞吉外卖项目 | 完整基础部分(后端学习笔记)

前言: 👏作者简介:我是笑霸final,一名热爱技术的在校学生。 📝个人主页:个人主页1 || 笑霸final的主页2 📕系列专栏:项目专栏 📧如果文章知识点有错误的地方,…

Android ActionBar

android的ActionBar是3.0才推出的,3.0之前称之为AppBar。为了向后兼容,ActionBar位于Android的支持库AppCompat中,所以要使用ActionBar先必须依赖AppCompat库(现在新建的工程默认都依赖此库了)implementation androidx.appcompat:appcompat:1.3.0如果没有在主题Theme中或Ac…

【小月电子】安路国产FPGA开发板系统学习教程-LESSON6按键消抖

按键消抖例程讲解若要观看该博客配套的视频教程,可点击此链接根据多年工作经验,总结出的FPGA的设计流程,概括起来总共有以上12步,其中根据项目难易度可省去其中一些步骤。比如非常简单的项目,我们可以省去虚线框里面的…

java基于微信小程序的电影院购票选座 uniapp 小程序

随着移动应用技术的发展,越来越多的用户借助于移动手机、电脑完成生活中的事务,许多的传统行业也更加重视与互联网的结合,由于城镇人口的增加,人们去电影院总是排着长长的队伍,对于时间紧的人是一个非常头痛的事情,有的人可能就是排队也要用去半天时间,人们为了缓解排队就购票的…

TFT-eSPI入门使用教程

一、准备资料开发板:ESP32-S3 屏驱动是:ST7789_DRIVER 开发环境:VS Code + PlatformIO注意:以上是我使用的环境,不一定需要和是使用的东西一样,这里主要是学习TFT-eSPI开源驱 二、获取TFT-eSPI GitHub:https://github.com/Bodmer/TFT_eSPI 三、配置User_Setup.h文件 在路…

【软件与系统安全笔记】二、软件与系统安全基础

【软件与系统安全】二、软件与系统安全基础 这是《【软件与系统安全】笔记与期末复习》系列中的一篇 2022-01-17 第二次课 2022-02-21 第三次课前部分 计算机安全的目标: 防止信息“遭遇不测事件”, 但不能阻止“好的事情”发生(“好的事情”包括功能性…

基于Android studio+SSH的单词记忆(背单词)APP设计

目录 引言 3 1.1. 项目介绍 3 课程设计选题《单词记忆APP》 3 1.2. 项目的目的和意义 3 1.3. 相关技术介绍 5 1.3.1. ionic angular cordova混合框架 5 1.4. 后端SSH框架 6系统需求分析 8 2.1. 软件功能 8 2.1.1. 需求分析 8 2.2. 功能性需求 9项目介绍 10 3.1. 系统的开发环…