https://github.com/ptrtonull-workshop/ardupilot
一个电赛项目,实现stm32连接apm、openmv、arduino
https://github.com/ptrtonull-workshop/ardupilot
hardware own-project pilot
Last synced: 7 months ago
JSON representation
一个电赛项目,实现stm32连接apm、openmv、arduino
- Host: GitHub
- URL: https://github.com/ptrtonull-workshop/ardupilot
- Owner: ptrtonull-workshop
- Created: 2019-05-18T06:56:51.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2019-05-23T16:02:55.000Z (about 7 years ago)
- Last Synced: 2025-04-14T23:15:48.774Z (about 1 year ago)
- Topics: hardware, own-project, pilot
- Language: C
- Size: 48.2 MB
- Stars: 53
- Watchers: 2
- Forks: 17
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ardupilot
本项目的逻辑如下:

所以我们的项目分为四个文件夹:
| MCU | 作用 | 功能 |
| ------- | ------------------------ | ------------------------------------ |
| Arduino | 用来存放小车的程序 | 1、接收来自遥控器的命令 |
| | | 2、能够对命令进行执行,驱动小车前进 |
| | | 3、能够把命令通过无线的方式传到STM32 |
| STM32 | 整合信息,输出命令 | 1、接收来自Arduino、OpenMV的信息 |
| | | 2、对接收的信息进行处理,转化为命令 |
| | | 3、控制APM进行一系列动作 |
| OpenMV | 得出小车与飞机的相对信息 | 1、识别小车的偏离程度 |
| | | 2、传递命令信息给STM32 |
| APM | 真正控制飞机 | 1、接收来自STM32的命令信息 |
| | | 2、控制飞机 |
# APM
相关教程:
- [APM飞控学习之路:1 无人机的分类与发展](https://github.com/ptrtonull-workshop/ardupilot/blob/master/APM/blog/1/index.md)
- [APM飞控学习之路:2 四旋翼的工作原理与系统组成](https://github.com/ptrtonull-workshop/ardupilot/blob/master/APM/blog/2/index.md)
- [APM飞控学习之路:3 APM系统介绍与开发环境搭建](https://github.com/ptrtonull-workshop/ardupilot/blob/master/APM/blog/3/index.md)
- [APM飞控学习之路:4 源码裁剪与下载](https://github.com/ptrtonull-workshop/ardupilot/blob/master/APM/blog/4/index.md)
- [APM飞控学习之路:5 串口概述与收发调试](https://github.com/ptrtonull-workshop/ardupilot/blob/master/APM/blog/5/index.md)
# 方案讨论
## 我为什么要讨论整体方案?
### 一、从团队利益考量
#### 一、检验整体方案是否正确
##### 一、为什么是整体方案?
我们不讨论具体的方案,最细的解决方案,比如说“这个引脚怎么焊?”、“这个程序的这句话也不应该删除?”这样最细节的方案,我们不用讨论,也没法讨论,采用分工的方式自己解决,只有整体的方案我们应该讨论,因为第一,如果整体方案出错,对整个系统的影响是最大,我们修正起来也非常困难,同时,整体方案内容比较少,也方便讨论。
##### 二、什么才是正确?
我定义正确主要从两个方面考虑。第一,看题目有没有具体要求,像这一次题目就要求了飞机的尺寸,我们之前定的F450就不正确,吃了亏;第二,符不符合我们项目实现的需要,这个要从两点考虑,第一是这个方案的效果怎么样;第二个是实现起来难度、成本怎么样。这些是我们评价一个方案正不正确的两个标准。
##### 二、让每个成员对项目的整体都有清晰的连接
为了更好的分工和合作,每个成员必须对整体方案的每一个部分的大概情况、合理性、优缺点、实现难度等有清晰的认识,以方便完成自己的任务和与他人沟通,以免出现理解有误差,实现的与整体方案有出入、明明已经有现成的还要重复造轮子、与他人交流不畅影响进度等问题。
### 二、从个人利益考量
什么是个人利益?个人利益就是每个成员在这个项目里投入的时间成本和资金成本,我们最近也忙,作业一堆,还有Robomaster需要处理,时间很宝贵,我们做这个项目要投入将近一周的时间,我们在这个项目里也投了很多钱,前前后后将近有1000了吧,这些都是得我们自己出的,这个就是每个成员的个人利益。
从个人利益上讲,我们讨论这个整体的方案,一个重要的目的就是把责任下放,因为你想要回报就要承担责任,而目前阶段没有那位成员可以表态说其他人只要照着做,一切责任由他承担,所以,我需要把选择权下方到每一个成员,也是把责任下放到每一个成员,这样我这个没有实力保证按我的方案能做好的人就不需要承担全部的责任了。当然,如果我们因为某一个人的失误而失败了也不会真让他负责,但是执行和规定是两码事,我们先把责任分配好了,到时候该如何处理就是另外一回事了。
## 我们讨论的结果
### 一、飞控
#### 一、什么是APM飞控
#### 二、选APM正确吗?
##### 一、题目对飞控的要求
##### 二、APM的正确指标
###### 价格
###### 是否能受其它MCU控制
###### 教程多不多,现有方案情况
### 二、通信组网方式
#### 一、有哪些组网方式?
##### 一、树形组网
###### 一、优点
###### 二、缺点
##### 二、图形组网
###### 一、优点
###### 二、缺点
#### 二、选择这种组网方式正确吗?