移动机器人项目概述

移动机器人项目概述

之前有一篇关于机械臂项目https://blog.csdn.net/weixin_42156097/article/details/103483267
这一篇,就让我来总结一下搭建一个完整的移动机器人所需的知识及步骤吧,小小拙见,有问题请及时指正

1. 移动机器人构成

这里我还是不太想写成大部分参考书上的那样,什么执行系统啊驱动系统啊。现在打字的我其实只是个工程师,不是在写书或者论文,只是想用最简单的话,描述给不是AI或者机器人领域的人听,一如既往。

正题,移动机器人和人一样包括:

  • 头脑:各种电脑、工控机、嵌入式及写在之中的系统及算法
  • 骨架:硬件结构
  • 心跳:电池
  • 四肢:各种车轮或者足
  • 肌肉:电机驱动
  • 血液:充电系统
  • 五官:摄像头、激光雷达等传感器
  • 脸:机器人交互界面

好,我自己又检查了一遍,应该没漏下啥。其实还有很多别的小细节,各种电线各种网络处理,这里不细说

2. 移动机器人团队构成

显然,能够设计一款移动机器人的团队,团队构成绝不简单。

  • 硬件工程师:首先,硬件工程师不可或缺,需要他来设计整个机器人的结构参数及外观等。个人认为,这是团队最基本的需求,没有硬件工程师不可想象
  • 电气工程师:在机器人生产过程中,串联各个部分的电线及结构设计,电气工程师一样不可或缺
  • 嵌入式工程师:机器人系统包含着下位机,需要由嵌入式工程师来控制机器人的腿并提供足够的精度
  • 标定测试工程师:机器人的外界信息来源,需要通过标定工程师的工作来优化,才能准确的传达给机器人
  • 算法工程师:这就不多说, 移动机器人SLAM及导航,多机器人协同规划,随便挑出一个都挺多要做的
  • leader:一个懂得发挥各个成员能力,知识可以不深入但需全面,能够将大家的力气拧到一起,永远充满着斗志,能够激励人心维护团队和谐,能够有资源让机器人发挥作用,方向感正确且不偏激,有项目管理及生产经验的…

团队成分是复杂的,各个成员的工作都是必不可少的。
这之中,当然有一个最为关键的人物,显然从字数上看,他的要求最多,显然从要求上看,很多人还做不到

3. 知识梳理

显然,以一个算法工程师的角度去梳理完整的移动机器人技术栈,一定是不全面的。但我尽量做到完整全面吧,能力有限。

我分为三个大块吧:硬,半硬半软,软(哈哈好污)

硬件需要

  • 能够根据需求,快速制作各种复杂工件的能力
  • 懂得基本的结构设计(其他的根据需要再学嘛)
  • 能制图,能读图

嵌入式需求

  • 能根据具体需要画板子
  • 全面的电气类知识储备
  • 出色的驱动开发能力
  • 具有相关设备使用经验及知识

软件需求

  • 开发能力
  • 算法能力
  • 产品能力
  • 逻辑能力

其实说的都挺简单的,因为具体的其实也没啥说的,领域内一下就懂了,领域外也一目了然了。这其实都不重要,再不行的人能有多差,重要的是团队有着一个向上团结的心

4. 算法梳理

既然是一个算法工程师,还是干点本行的事吧,写一些算法要点,也是为了自己梳理学习

移动机器人算法其实要用的有很多,我把他们分为几个重要的部分,然后分别来梳理吧

4.1 SLAM

SLAM可谓是移动机器人算法中最重要的部分了。建图及定位,里面有太多太多的学问。几个重要的算法

  • gmapping(激光)
  • hector_slam(激光)
  • cartographer(激光)
  • rgbdslam(视觉)
  • ORB-SLAM(视觉)

之后会为这些算法都写一写博客

4.2 导航

导航,机器人有了SLAM的地图及定位信息后,如何完成任务。抛开机器人硬件端的事情,我的理解是给定点的路径搜索算法,这里说两个

  • Dijkstra
  • A*

这里还应需要一些常见的经典算法:排序算法、平滑算法等

4.3 坐标变化

移动机器人在工作状态下,可能会遇到各种状态的切换,对应到地图上也就是位姿的变换。机械臂项目概要里也提到了

  • 欧式空间变换及四元数

4.4 ROS知识

请你了解ROS知识,这是十分必要的,无论是它的架构设计还是通讯模式,值得每一个团队学习。
让你的机器人走的更远的,一定不是闭门造车,或者不简单的是闭门造车。也许产品应该迅速去ROS以稳定,但是ROS上那么多的开发仓库,总有能提升你们的地方

  • ROS节点通讯模式

4.5 通讯知识

机器人本身,多机器人之间,都要设计明确的通讯模式。这时嵌入式工程师要参与进来,完成这一部分

  • 节点插件化

4.6 交互知识

团队应该拥有有产品思维的前端工程师,能够设计优雅简介的界面,能够让界面和机器人有着清晰的通讯逻辑

5. 总结

一篇没啥具体知识点的文章,只是自己的一些思考总结。可能是废话,也可能是有深意的语句。

算法部分还是慢慢去吃,不一定要有具体学习顺序。没有顺序的学习,可能突然有一天,自己把所有已学知识串联起来,打通任督二脉,也不错。毕竟有顺序的学习是非常漫长的过程,分开它们也许更有趣味。

有顺序学习的话,我的建议:

  1. 坐标变换
  2. ROS(重点)
  3. SLAM激光部分(重点)
  4. 相机及视觉基础知识
  5. SLAM视觉部分(重点)
  6. 导航部分
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值