ROS机器人实战,对标古月老师HRMRP机器人(一)——机器人总体方案设计

server/2024/9/23 12:44:42/

咳咳!这个是自己的毕业设计,内容比较多就拆开发。设计实现了一款SLAM移动机器人,加机械臂完成视觉识别抓取的,同时还有语音识别控制、QT上位机控制、Web网页控制。前几年看古月老师的视频,看到古月老师设计的HRMRP(混合实时移动机器人平台),就也来对标一下!机器人演示视频链接如下~

【marm + mbot = 我的毕设资料整理中,预计七月中左右开源,感谢古月老师资料】 https://www.bilibili.com/video/BV1bL4y1K7Rp/?share_source=copy_web

这个系列的博文,会把如何设计机器人的内容分享出来~

机器人具备移动抓取、自主导航、交互控制的多功能智能仓储搬运机器人系统。整个操作系统主要由软体和硬件两部分构成,操作系统架构分为应用层、系统层、驱动层和结构层,具体如下图所示。

整个系统设计分为四层结构,具体为:

(1)结构层采用两轮差速运动底盘实现机器人的运动,通过五轴机械臂+夹爪实现抓取功能。

(2)硬件层由两块驱动板实现,STM32F103RCT6实现SLAM系统的底层驱动功能,通过接收系统发出的空间速度信息,通过PID实现速度转PWM值实现底层控制器功能;Atmega 328P实现机械臂部分的驱动控制,通过接收系统发出的空间关节信息,转为机械臂各个关节角度值执行,机械臂驱动板部分板载一路蜂鸣器报警电路,作为硬件系统提示。供电部分使用XL4016E1实现5V 8A的输出,为系统主机、SLAM底盘、激光雷达进行供电,LM2596S-5.0负责机械臂系统的供电。通过树莓派开发板(4B 2GB版本)作为运算主机,实现系统运算处理。

(3)系统层基于机器人操作系统(ROS,Robot Opearting System)的控制系统设计,实现SLAM同步位置与运动地图建立、运动机器人的主动引导、六轴机械臂正逆运动学解算及目标识别,系统层和应用之间分别通过可达讯飞SDK实现语音识别交互控制、通过ROS和Qt联合开发PC软件交互控制、通过Python Bottle轻服务器框架实现Web交互控制。

(4)应用层是为用户提供的交互界面设计,这里分为基于Qt开发的桌面交互软件、基于Web网页的在线交互界面、基于语音识别的交互控制。

机器人分为SLAM底盘+六轴机械臂+语音识别控制三部分组成。机器人系统采用Raspberry Pi开发板为主控,并采用了Ubuntu Mate 20.04操作系统,并安装了ROS Noetic自动化机器人控制系统。

SLAM底盘部分使用STM32F103RCT6单片机为主控,通过TB6612电机驱动芯片驱动两路直流编码电机M1和M2,同时接入MPU6050六轴陀螺仪传感器实现姿态里程检测。考虑系统整体供电设计,底盘部分使用XL4016E作为电源管理芯片,实现8~40V转5V 8A(Max)输出,如下图所示。

六轴机械臂部分使用Atmega 328P单片机为主控,通过六路PWM占空比输出来驱动六个伺服电机。考虑系统整体供电设计,机械臂部分使用LM2596S-5.0作为电源管理芯片,实现8~40V转5V 3A(Max)输出,如下图所示。

点击ROS机器人实战,对标古月老师HRMRP机器人(一)——机器人总体方案设计 - 古月居 可查看全文


http://www.ppmy.cn/server/20096.html

相关文章

安装VMware后的相关配置

一、创建完虚拟机后 看看虚拟机设置里面的DVD;有没有自动检测到 二、打开虚拟机后 一直点击继续3、完成后进行重新下载VM——tools 来进行跨机子的复制粘贴,和屏幕大小的自适应注意:如果安装不了tools是灰色的 点开虚拟机设置——两个光盘都选用物理驱…

内容分发网络CDN分布式部署加速原理

哈喽,大家好,淼淼又来和大家见面啦,大家应该也知道,在应用开发市场中,软件产品的内测阶段对于确保产品质量与市场接受度至关重要,但是传统的内测分发方式往往面临地域分布广泛、网络环境各异的挑战&#xf…

力扣56. 合并区间

题目链接 力扣56. 合并区间 思路 合并 先对每个区间进行排序,左端点值小的放在前面。然后对这些区间进行合并,对于一个的结果集合,如果本区间与前一个区间不重叠,则创建一个新区间加入到这个集合中;否则取这两个区…

React真的好难用

我发现React就像个宗教一样,网络上总有一群信徒。信徒:React天下第一,谁也不能说他不好。 网络上大佬对React的评价一般有几类: React跟Vue比就是手动档和自动档的区别,高手都开手动档。—— 就一个破打工的&#xf…

西湖大学赵世钰老师【强化学习的数学原理】学习笔记2节

强化学习的数学原理是由西湖大学赵世钰老师带来的关于RL理论方面的详细课程,本课程深入浅出地介绍了RL的基础原理,前置技能只需要基础的编程能力、概率论以及一部分的高等数学,你听完之后会在大脑里面清晰的勾勒出RL公式推导链条中的每一个部…

前端css中keyframes(关键帧)的简单使用

前端css中keyframes的使用 一、前言二、例子(一)、例子源码1(二)、源码1运行效果1.视频效果2.截图效果 三、结语四、定位日期 一、前言 关键帧keyframes是css动画的一种,主要用于定义动画过程中某一阶段的样式变化&am…

【Docker】Docker的网络与资源控制

Docker网络实现原理 Docker使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址,称为Container-IP,同时Docker网桥是每个容器的默认网关。因为在同一宿主机内…

【开发问题记录】启动某个服务时请求失败(docker-componse创建容器时IP参数不正确)

问题记录 一、问题描述1.1 产生原因1.2 产生问题 二、问题解决2.1 找到自己的docker-compose.yml文件2.2 重新编辑docker-compose.yml文件2.3 通过docker-componse重新运行docker-compose.yml文件2.4 重新启动docker容器2.5 查看seata信息 一、问题描述 1.1 产生原因 因为我是…