Ardupilot开源代码之Rover上路 - 后续1

2024-05-13 04:20

本文主要是介绍Ardupilot开源代码之Rover上路 - 后续1,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Ardupilot开源代码之Rover上路 - 后续1

  • 1. 源由
  • 2. 问题汇总
    • 2.1 问题1:飞控选择
    • 2.2 问题2:飞控安装位置和固定
    • 2.3 问题3:各种插头、插座配套
    • 2.4 问题4:分电板缺陷
    • 2.5 问题5:电机+编码器接线及正反向问题
    • 2.6 问题6:Ardupilot是否支持编码器?
  • 3. 基础知识
    • 3.1 电机工作电压
    • 3.2 编码器工作原理
    • 3.3 舵机规格
  • 4. 参考资料

1. 源由

纪念下今天折腾了一天,为此,特地撰文一篇。

将Ardupilot Rover折腾上路的艰辛历程记录下来,感兴趣的小伙盘也来指点下江山,帮我出出主意。

2. 问题汇总

2.1 问题1:飞控选择

做计划的时候,选择了手边的两块板子,当时考虑Kakute F7是因为有2.54的排针方便。

  • Aocoda-RC H743Dual
  • KAKUTE F7 AIO

而实际情况是KAKUTE F7 AIO只有6个PWM,无法满足阿克曼车的控制,很多人会好奇了吧。

一个接收机就能玩的无人车,飞控竟然说还折腾不了。确实啊,这APM高大上呀,呵呵!

阿克曼无人车实际上是机器人底盘,所以人家有超精密的定位系统,这可有编码器啊。

在这里插入图片描述
好了,我们算下PWM IO:

  • 电机PWM控制 1个IO
  • 编码器 2个IO
  • 伺服转向系统 1个IO

所有的加起来:(1 + 2) x 2 + 1 = 7个

2.2 问题2:飞控安装位置和固定

虽然四轴大量的焊接,但是要知道四轴飞机基本上结构上固定都是固定的,这个阿克曼的车,飞控固定在哪里?这个结构件哪里来,之前都没有考虑到?

好吧,从VTOL上面正好找到一个当时存在一些问题的结构,凑合着用;同时也注定了必须将飞控安装于Rover的最上层,以便更好的获取GPS信号。

在这里插入图片描述

2.3 问题3:各种插头、插座配套

为什么说插接头的重要性?

  1. 原有设计规格

购买的是阿克曼机器人底盘,其原来配套的是OpenCTR的那套主控,所以带来了一下底盘接口没有配套插座的问题:

  • LED灯带 3线插座 //这个是不兼容的
  • 转向Servo经典插座 //这个是兼容的
  • 电机+编码器插座 //6pin插座不兼容
  1. 飞控安装与顶层

飞控安装的结构件有GPS,要求放在最开阔的位置,以便更好的GPS信号。
阿克曼车是分层的,电机,转向Servo、LED等都在底层。
如果像飞控那样焊死,到时候加装或者拆卸都涉及焊接问题。
因此最好的问题就是底层和控制两层进行插头/插座的分离。

最终决策:6pin 电机+编码器规格的插头插座 三套来解决电机、编码器、LED灯带、转向伺服的连接问题。

2.4 问题4:分电板缺陷

配套Aocoda-RC PDB 3060分电板,看上去至少感觉还是蛮不错的。但是依然存在几个问题:

  1. Servo经典插接3pin焊接焊盘太小,上锡非常不易; //焊盘太小
  2. S1/S2 没有Servo经典插接3pin;//有servo经典插接的只有6个PWM
  3. S3/S4/S5 S6/S7/S8排的很密,插线比较困难;

注:其实之前在VTOL上也遇到一些IO不够用问题,比如:四旋翼的VTOL。若能增加一个连接件,上层飞控能够引出4pin PWM扩展Servo经典接口(S/VX/GND)那就非常好了。
在这里插入图片描述

2.5 问题5:电机+编码器接线及正反向问题

在这里插入图片描述

在这里插入图片描述

这里有一个最终的问题就是:线序解法一致的情况下,同样PWM时,电机转向按照塔克官方设计,是能保证车子往前开,而不是原地转圈嘛???? — 有待验证,官方技术支持未回复,从资料上看,用户应该按照正常线序连接。

在这里插入图片描述

2.6 问题6:Ardupilot是否支持编码器?

  1. 一看到全新研发,我就害怕,这能和国际接轨不?????
  2. 例子:13个脉冲一圈,减速比1:30,为什么输出轴转一圈是 13 x 30 x 4 = 1560??? 这里的4是什么?Magic Number?

在这里插入图片描述

3. 基础知识

3.1 电机工作电压

貌似只能上3S,如果4S ~ 6S还得买降压模块,万幸!

在这里插入图片描述

3.2 编码器工作原理

在这里插入图片描述
在这里插入图片描述

3.3 舵机规格

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4. 参考资料

【1】Ardupilot开源代码之Rover上路计划

这篇关于Ardupilot开源代码之Rover上路 - 后续1的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/984665

相关文章

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者

BT天堂网站挂马事件后续:“大灰狼”远控木马分析及幕后真凶调查

9月初安全团队披露bt天堂网站挂马事件,该网站被利用IE神洞CVE-2014-6332挂马,如果用户没有打补丁或开启安全软件防护,电脑会自动下载执行大灰狼远控木马程序。 鉴于bt天堂电影下载网站访问量巨大,此次挂马事件受害者甚众,安全团队专门针对该木马进行严密监控,并对其幕后真凶进行了深入调查。 一、“大灰狼”的伪装 以下是10月30日一天内大灰狼远控的木马样本截图,可以看到该木马变种数量不

运营版开源代码 多语言跨境商城 跨境电商平台

默认中英双语 后台带翻译接口 支持133种语言自动翻译 支持多商户联盟 一键部署版本 伪静态+后台登陆后缀 源码下载:https://download.csdn.net/download/m0_66047725/89722389 更多资源下载:关注我。

【全网最全】2024年数学建模国赛A题30页完整建模文档+17页成品论文+保奖matla代码+可视化图表等(后续会更新)

您的点赞收藏是我继续更新的最大动力! 一定要点击如下的卡片,那是获取资料的入口! 【全网最全】2024年数学建模国赛A题30页完整建模文档+17页成品论文+保奖matla代码+可视化图表等(后续会更新)「首先来看看目前已有的资料,还会不断更新哦~一次购买,后续不会再被收费哦,保证是全网最全资源,随着后续内容更新,价格会上涨,越早购买,价格越低,让大家再也不需要到处买断片资料啦~💰💸👋」�

kali linux的安装以及后续操作

目的: 想学下网络安全等方面的知识 所以安装了kali linux 因为里面集成了 很多有用的工具 非常方便 1、应为想要安装VMware里面的虚拟机 所以找一个虚拟镜像就行 下载url: https://www.kali.org/downloads/  这里面可以找到你想要的 我直接下了最新版的 2、下载完了需要验证下iso是不是正确的 shasum kali-linux_XXX

用imagebox控件实现多种视频播放功能,并且帧图片可供后续处理

深夜还在打代码(而且不止一天)的我,必须来报复一下自己的智商,不然许多的怒气和无奈都难以独自承受。         作为非计算机专业的我,对代码有着极其无法言说的热情,但是这件事是我大二才发现的,ps:大学之前几乎没玩过电脑(家长管得不是一般的严,玩电脑跟抢银行同罪,所以自认孝顺的我是不会踏入禁区的)。        大学期间为了做自己喜欢的事,放弃了很多,也不顾别人的眼光。起

容器第四课,JDK源代码分析,自己实现LinkedList,双向链表的概念_节点定义

package com.pkushutong.Collection;public class Test03 {private Test03_01 first; //第一个节点private Test03_01 last; //最后一个节点private int size;public void add(Object obj){Test03_01 t = new Test03_01();if(fi

【UE4源代码观察】观察Core模块

话题 Core模块是整个引擎中最核心的模块,在之前的博客【UE4源代码观察】可视化所有模块的依赖情况中有统计,它被983个模块引用,恐怕除了第三方的模块外基本所有模块都有引用。我想首先观察其中的内容,然后再做测试:将Core模块拷贝到之前【UE4源代码观察】手动建立一个使用UBT进行编译的空白工程建立的空白工程中,看能否将它成功编译,理论上讲,“核心”不应再依赖太多其他的东西,所以我应该不会再需

【UE4源代码观察】在空白工程中测试跨模块调用函数

目的 在之前的博客【UE4源代码观察】手动建立一个使用UBT进行编译的空白工程中,成功让UBT工作起来了。现在我想要测试编译出的多个模块之间是否能互相调用,我记录下测试的过程。最终工程见 工程GIT链接。 实践 第一部分 首先仿照TestA模块建立TestB模块。 在TestB.h文件中声明了一个函数 int TestBFunc(int x, int y); 并在TestB.cpp中

【UE4源代码观察】观察FEngineLoop中各函数的调用顺序

当启动编辑器时,Launch模块是启动模块,在Windows平台中 LaunchWindows.cpp 的 WinMain函数是入口,而 FEngineLoop 管理了程序的初始化与主循环。他的成员函数如下: public:/*** Pre-Initialize the main loop, and generates the commandline from standard ArgC/Arg