13

阿木币

0

精华

2 小时

在线时间

应届白菜

Rank: 1

发表于 2019-6-1 10:20:48 67556 浏览 22 回复

关于无人机/无人车方向小白的进阶之路

1阿木币
从机械专业转行来学SLAM,一脸懵,希望各路大神能够指点入门的路程,不胜感激~~~

最佳答案

查看完整内容

特地写了两张图,仅供参考: 从基本模拟/数字电子,到C语言单片机,多进程,多线程编程,落实到数据结构和设计模式。可以看懂大型C++代码的的软件架构(从数据结构和设计模式入手) 为止。并且还要了解Matlab/Opencv等工具,利用这些工具掌握线性代数,图像处理基础等知识。 注:如果不精通C++/多线程/多进程,掌握数据结构和设计模式,掌握一些编译原理,将会看不懂大型软件代码(无论看多少遍源码也没用),磨刀不误砍柴功。掌握单 ...

扫一扫浏览分享
回复

使用道具 举报

139

阿木币

0

精华

295 小时

在线时间

管理员

Rank: 9Rank: 9Rank: 9

发表于 2019-6-1 10:20:49
特地写了两张图,仅供参考:
无人机机器人技术基础.jpg
从基本模拟/数字电子,到C语言单片机,多进程,多线程编程,落实到数据结构和设计模式。可以看懂大型C++代码的的软件架构(从数据结构和设计模式入手)
为止。并且还要了解Matlab/Opencv等工具,利用这些工具掌握线性代数,图像处理基础等知识。
注:如果不精通C++/多线程/多进程,掌握数据结构和设计模式,掌握一些编译原理,将会看不懂大型软件代码(无论看多少遍源码也没用),磨刀不误砍柴功。掌握单片机开发仅仅是开始。
      精通C++/多线程/多进程(面试必问)
      掌握数据结构/设计模式(面试题必有)
      加强高数/线性代数理解/算法工程师必会

无人机机器人技术基础2.jpg

系统工程师坚强设计模式/数据结构/传感器特性
算法工程师加强Matlab工具使用和算法数学理论
前提都是C++/多线程/多进程/操作系统/数据结构/设计模式

该帖子不定期更新!


我不为己,谁人为我,但我只为己,那我又是谁?
回复

使用道具 举报

13

阿木币

0

精华

2 小时

在线时间

应届白菜

Rank: 1

 楼主| 发表于 2019-6-3 11:57:32
感谢齐哥的耐心回复和精心准备,这份知识框图整理的很详细也很有帮助,就个人理解给出反馈。
整个知识体系框架分为三部分:基础知识、必备知识和专业知识。
基础知识包括:
1.电路基础知识。电路基础知识是从硬件层面理解嵌入式系统的基础。
2.嵌入式系统基础知识。可以入手51或32单片机这些简单的嵌入式系统的开发,原理简单易懂,可实操性强。
3.C语言基础。C语言是一门很好的启蒙编程语言,简单易用,逻辑性强,能用C语言在单片机上简单编程就可以进一步学习了。
必备知识包括:
1.Linux系统。以Ubuntu系统为例,Linux系统可以在很多嵌入式系统上安装使用(如树莓派,TX2等),而且大多数的嵌入式程序开发是需要在Linux系统上进行的,掌握Linux的常用命令行和系统的操作方法是很重要的。
2.C++及多进程/多线程。C++语言是很多开源算法及源码的编程方式,包括PX4也是使用C++编程的,所以学习C++语言是必须的。多进程/多线程是系统同步进行多个进程的编程方式,能极大的提高系统运行效率,学会多进程/多线程编程方式才能看懂很多源码。
3.数据结构。我对数据结构的理解是计算机处理数据的方式,学习数据结构能使编程的思路更加清晰化,对计算机执行代码时的操作有更深的理解,就好像一些现成的框架,认识并应用它。
专业知识分为:
1.飞控嵌入式为主。学习PX4及其他开源飞控是必须的,大量阅读源码并理解PX4的架构体系,对无人机的控制方法。如果有机载计算机需求需要学习ROS系统等。
2.控制算法为主。夯实数学基础,学习对应的数学知识并掌握Matlab等工具。
3.导航及SLAM。PX4、OpenCV、ROS以及SLAM的知识。(强烈推荐补充卡尔曼滤波及非线性系统处理这些知识)。

最后总结:之前乱七八糟看了一些书,没有先后顺序没有章法,C++都不会抱着看源码,真的头大,私下和齐哥求一份学习路线图,齐哥很耐心的给了些指导,很感动。希望大家能在技术这条路上越走越远,不要半途而废。守好发际线!!!再次感谢齐哥以及阿木实验室团队!

(以上内容纯属本人理解,欢迎补充指正,比心)

评分

参与人数 1阿木币 +1 收起 理由
木叶潇潇 + 1 很给力!

查看全部评分

回复

使用道具 举报

139

阿木币

0

精华

295 小时

在线时间

管理员

Rank: 9Rank: 9Rank: 9

发表于 2019-6-3 15:10:24
jiaowohuanshao 发表于 2019-6-3 11:57
感谢齐哥的耐心回复和精心准备,这份知识框图整理的很详细也很有帮助,就个人理解给出反馈。
整个知识体系 ...

补充下:你提到的第三点数据结构,你对队列,链表,结构体熟练掌握以后。一定要在看看设计模式的书,
推荐一本叫 大话设计模式 的书籍。大型代码里面采用了很多设计模式的编程思想。自己编程的时候也用设计模式的思想来编程,很有帮助。另外:知名公司的笔试题里面,大量的设计模式考核。
我不为己,谁人为我,但我只为己,那我又是谁?
回复

使用道具 举报

139

阿木币

0

精华

295 小时

在线时间

管理员

Rank: 9Rank: 9Rank: 9

发表于 2019-6-9 10:30:13
在理一下:基础:---> 数电/模拟电子 --->单片机C语言 ----> 高阶C语言/C++语言 ----> 各种单片机外部设备驱动----->完成基于单片机的控制系统
                进阶 1:--->多线程/多进程---->编译原理---->数据结构---->设计模式---->高阶C++编程思想
                进阶 2:--->Matlab/ROS工具使用---->高数/代数/概率应用----->控制基础/图像基础/导航基础

                方向 1:系统构架 (操作系统,高级设计模式,数据结构,编程之美)
                方向 2:控制算法 (看论文 用Matlab实践)
                方向 3:导航算法 (看论文 用Matlab实践)
                方向 4:图像算法 (看论文 用Matlab实践)
我不为己,谁人为我,但我只为己,那我又是谁?
回复

使用道具 举报

156

阿木币

0

精华

32 小时

在线时间

老司机

Rank: 2

发表于 2019-6-14 10:56:54
初学者的福音~  一条打怪升级之路。
回复

使用道具 举报

6

阿木币

0

精华

36 小时

在线时间

应届白菜

Rank: 1

发表于 2019-7-6 09:18:57
--->多线程/多进程---->编译原理---->数据结构---->设计模式---->高阶C++编程思想,这一条路能再细讲一下吗?感觉如果这个涉及的知识很多,有哪些需要首先学习的
一个从单片机DIY飞控转学习ardupilot的小白
回复

使用道具 举报

6

阿木币

0

精华

36 小时

在线时间

应届白菜

Rank: 1

发表于 2019-7-6 09:22:47
amov_msq 发表于 2019-6-9 10:30
在理一下:基础:---> 数电/模拟电子 --->单片机C语言 ----> 高阶C语言/C++语言 ----> 各种单片机外部设备 ...


--->多线程/多进程---->编译原理---->数据结构---->设计模式---->高阶C++编程思想,这一条路能再细讲一下吗?感觉如果这个涉及的知识很多,有哪些需要首先学习的
一个从单片机DIY飞控转学习ardupilot的小白
回复

使用道具 举报

255

阿木币

1

精华

55 小时

在线时间

老司机

Rank: 2

发表于 2019-7-7 10:46:13
Wings 发表于 2019-7-6 09:22
--->多线程/多进程---->编译原理---->数据结构---->设计模式---->高阶C++编程思想,这一条路能再细讲一 ...

个人体会哈~   多线程/多进程主要是操作系统的知识,然后编译原理,数据结构和设计模式学完C++的书也基本能会了。其实这条线,你就把操作系统和C++的书,找两本认真学习一下~
回复

使用道具 举报

6

阿木币

0

精华

36 小时

在线时间

应届白菜

Rank: 1

发表于 2019-7-8 21:36:42
blueboats 发表于 2019-7-7 10:46
个人体会哈~   多线程/多进程主要是操作系统的知识,然后编译原理,数据结构和设计模式学完C++的书也基本 ...

好的,谢谢啦
回复

使用道具 举报

下一页 »
123下一页
返回列表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表