IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 基于ROS 履带车从零开始制做(1)-序 -> 正文阅读

[嵌入式]基于ROS 履带车从零开始制做(1)-序

背景

?毕业近5年,从大二开始接触嵌入式(单片机),接触过不同行业,也陆陆续续做过很多项目,随着时间的推移,对嵌入式行业的认知也越来越深刻。简述一下我的工作经历。在第一份工作,做的产品是AGV(自动导引小车),主要是在汽车长通过磁条自动循迹,RFID路标,无线(wifi)上位机调度的拉货小车。 使用的ST 的单片机控制 ,主要的技术点就是 运动控制(PID),通讯协议,逻辑控制。做的最多的事就是逻辑控制,即将货物沿着轨道运送到指定的地点。其实这个专题的产生很大程度是受 第一份工作的影响,AGV确实是个很有意思的系统。但之前的知识面太窄,加上基础薄弱,导致做出来的东西问题频出,也没有一个好的环境学习,就无奈离开这个行业。

第二份工作选择了物联网行业,从BLE(低功耗蓝牙)开始,主要就是应用层代码,涉及通讯协议,应用层框架 ,在业余时间钻研了一下代码架构相关的知识,编程能力得到了较大的提升,不再是以前 层次混乱 , 只有逻辑的代码。

第三份工作,也就是目前的工作同样是物联网行业,不过是LoRa 开发 ,这段时间也许是工作以来对我影响最大的。工作内容主要是LoRaWan协议栈的开发 , 物联网LoRaWAN 传感器节点的开发。在这个过程中,通过学习LoRaWANf协议的设计 , 对通讯, 代码的分层,结构化,数据结构 有了更加深刻的认识。经常接触的知识点有 : 状态机 , 面向对象, RTOS ,? 通信时序 , 可靠性,事件驱动,异常分析 ,python , 多播,中继 ,外设工程用法?方法等。感觉自己有了很大提升。但同时也感觉到,底层的物联网节点做的事情的单调。主要做的就是数据的采集 , 而人们真正关注的数据的应用。当然也不能说数据采集毫无趣味, 如节点端的数据如何防止上行碰撞问题,数据如何安全交付,如何实现多播通信,如何进行数据的中继,终端设备的远程更新固件和配置,都是相当有趣和难度的。

为什么要做这个小车。一是感觉自己的知识面很局限 , 主要就是 单片机 和 通讯协议 ,只做数据采集,而未使用数据;二是对机械有着不能割舍的情怀,喜欢手工制作;三是以及工作了近5年,应该要建立自己的知识体系了,不能太过局限,要有大局观,关注前沿技术,可以不精通,但至少要知道,当需要解决问题时,知道怎样去深入学习。

目的

在开始写这个专题前,已经开始了近3个月的学习,主要是了解完成制作这个需要哪些知识点,以及一些基础知识的了解。什么是基础知识? 我对它的定义是无法分割的 , 比如数学知识,线性代数,微积分,统计学等,是卡尔曼滤波的基础知识,没有这些基础知识,要想学习卡尔曼滤波是很难的。那么,真的要在什么都不了解的情况下,就去学这些吗?事实证明,大学学的效果有多差,这样的效果就有多差。我们可以找一些优秀的教程,这类教程会提供必备的基础知识教程,还是用卡尔曼滤波的例子?卡尔曼滤波教程?。这个教程提供必要的数学背景,比如期望代数,我们没必要学习整个统计学,只需要弄懂里面的部分;再比如矩阵,只要知道乘法运算和向量就可以大致看懂,而不需要一股脑的把线性代数全学习一变,如果觉得教程讲解不够清晰,再去查找相应专业书籍对应的章节。最终的结果就是 , 通过实践 掌握了基础知识,基础知识强化了实践能力。形成了这样的循环后,效率将大大提高。

行业大环境分析

目前比较热门的几个方向有 : 物联网 , 5G ,智能家居 ,人工智能, 无人驾驶 等。他们各个之前都相互交叉影响,比如智能家居是家用电器联网,也属于物联网,无人驾驶和物联网又依靠5G技术提供庞大的带宽 ,人工智能依靠物联设备提供的大数据。当然每一类里面又分成很多类,在我看来,无人驾驶技术应该是 综合力最强的一个方向。它包含机械,运动控制 , 5G , 物联网,人工智能等诸多方面的类容。

那么就应该盲目选择无人驾驶方向吗?个人精力是有限的 , 难以做到什么都精通,如果想一下抓住所有,那么很可能最终什么都没抓住。如果专精一个方向,有容易陷入局部,最终坐井观天,毕竟这些方向都是相关连的,如何取舍是一个关键。

我认为在初步接触这些技术时,可以先不深究,这里的深浅又是一个难题。大众学习路线是一个不错的选择,比如开始学习卡尔曼滤波,工程实践教程的参考性大于理论基础研究,也不是说不学习原理。而是了解基本原理,弄懂代码实现,运用到实践。什么是深究?经过了工程实践,可以研究前沿论文,比如一些拓展算法,或这类似的算法,追求性能的最优化。这将耗费大量的实践,也就是花1000%的代价 得到性能 1%的提升。

在对这些技术都有一定认知后 (?知道基本原理 , 能运用),此时看问题是全局的,在解决问题的时候,哪一种技术对解决问题有更大的帮助,深究技术细节 。通过这种方法 , 随着处理的问题越来越多,知识体系越来越完善。整个过程就像写书 , 先完成目录,能完成目录的前提是对类容有基础的认知 , 完成目录后,就具体的内容去实现细节,最终完成整本书。

回到主题

基于ROS 履带车从零开始制做 ,这里 有几个关键字 ROS 履带车从零开始 。ROS 是机器人操作系统的简称,简化了机器人的开发,大量运用,具体可网上查找。履带车,为什么选履带车?有以下几点原因:越野能力,复杂的机械结构,做的人比较少,国内DIY社区没有比较好的实现。能够锻炼3维建模能力 , 机械设计能力 。从零开始意味着,结构 , 电路 , 软件全部自己设计,是一个边学边做的过程。在写这边文章的时候,我同样很多知识不具备 , 通过边做边学边整理完成整个设计。时间跨度很长,因为覆盖的类容很多 ,而且很多知识是边学边做。

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-10-16 19:48:03  更:2021-10-16 19:49:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 5:44:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码