快速搭建一个APMT265树莓派无人机

2023-05-16

快速搭建一个APMT265树莓派无人机(快的原因是我备份了配置好的树莓派镜像,这样可以直接省去树莓派上各种软件配置,直接烧录到树莓派上即可,理论上是这样,当然我还没试过,2020.11.7目前试过了,确认这也是可行的,除了wifi不能自动连,还有ROS节点的启动(可能要启动两次,第一次可能死掉了,难道是内存什么的原因?找到原因的,不要打印消息就好,就只启动三个节点这样不会有节点死掉,可能打印高频消息太占内存什么的,所以这么看这个恢复镜像除了不能自动连接wifi外其他没什么问题,和原始的树莓派一样)的一些小问题外,其他没有大问题,这样备份恢复是可行可用的)

 

2021.10.29 后来这个树莓派镜像结合PX4使用也可以实现T265顶点,电容PX4参数要设置好,水平位置和高度位置都设置来自于视觉,也就是AID 和HGT这两个参数,而且AID这个参数还要选择偏航来自于视觉。

由我这篇博文浓缩而来:

ubuntu mate 18.04官网下载,烧录及安装 SSH VNC ROS MAVROS librealsense realsense-ros vision_to_mavros(我自己亲自弄的)_TYINY的博客-CSDN博客

硬件:

F450机架(U型脚架,如下图所示,还买电池挂载板,还需要多买一个F330的上层板来扩展)

pixhawk2.4.8  (APM3.6.11固件(也就是苍穹四轴最初给的,我的网盘里搜这个固件名称可以搜到),pixhawk是在权盛买的,苍穹四轴的不行)

树莓派3B+(我提供配置好的基于ubuntu meta 18.04的镜像   链接:百度网盘 请输入提取码
提取码:u2qe

ubuntu系统用户名: maxi   密码:1   

T265和数据线

好盈乐天20A电调

权盛自制2216电机  kv950(配1047桨,桨注意需要加垫片,我以后想改用T MOTOR2216,GAAS,阿木都是用的T MOTOR,桨也是自锁浆,方便一些我觉得)

淘宝网 - 淘!我喜欢

富斯i6遥控器(设置方法用的苍穹四轴的教程,关键还是设置好几种飞行模式)

树莓派电源线(苍穹四轴那里有卖,其实可以自己做,就是一个UBEC模块接上一个micro USB头)

淘宝网 - 淘!我喜欢

树莓派数据线(也是USB转TTL线,插在Pixhawk的telem2口,苍穹四轴有卖,下面这两根线是接在一起的,是一根线)

淘宝网 - 淘!我喜欢

树莓派扩展板(可以固定在F450上面放置树莓派,挺方便的)

淘宝网 - 淘!我喜欢

电池是5200mAh   30C

猛禽360扩展板也叫挂载板(用来固定T265的)

淘宝网 - 淘!我喜欢

TPLink小型路由器

扎带(这个会用到很多很多)

防护罩(这个很有必要,一方面护桨,另一方面更重要的是防止T265在无人机侧靠的时候碰到地面,没有防护罩T265就会碰到地面,一定要买下面这种的,别买那些商家配套的软绵绵的还什么要用线绑,下面这种圈子很硬,飞的时候不会抖)

T265减震固定架(阿木家的那个)

无人机的其他上面没提到的最基础的一些东西就按照苍穹四轴的F450的标配来吧,我是在苍穹四轴的F450上面弄的(当然飞控,电机,桨不是的)

软件:

Mission point地面站(我用的1.3.62版本的)

win32diskimager(用来烧写镜像到树莓派的SD卡上,也可以用来备份树莓派的镜像)

putty(远程树莓派用的)

VNC viewer

下面是我电脑里用过的软件下的,我都放在这个文件夹里面了,我也上传到我的百度网盘了的。

APM固件:(APM3.6.11固件(也就是苍穹四轴最初给的,我的网盘里搜这个固件名称可以搜到)

树莓派镜像(已经配置好各种软件):我提供配置好的基于ubuntu meta 18.04的镜像   链接:https://pan.baidu.com/s/1p6SiVi3NzBHHcxAqzT6reQ  提取码:u2qe

APM固件需要更改的参数

标红的地方是和官方教程里不同或者官方教程里没有的,我自己折腾出来了,确实有用的。

  • AHRS_EKF_TYPE = 2 (the default) to use EKF2 (as of this writing, EKF3 is not supported for handling external navigation data)
  • EK2_ENABLE = 1 (the default)
  • EK3_ENABLE = 0 (the default)
  • GPS_TYPE = 0 to disable the GPS
  • EK2_GPS_TYPE = 3 to disable the EKF’s use of the GPS
  • EK2_POSNE_M_NSE = 0.1
  • EK2_VELD_M_NSE = 0.1
  • EK2_VELNE_M_NSE = 0.1
  • MAG_ENABLE = 1, COMPASS_USE = 1, COMPASS_USE2 = 0, COMPASS_USE3 = 0
  • 然后自检选项里面把GPS的选项不要勾选,也就是参数ARMING_CHECK把和GPS相关的选项都不要勾选,有两个,一个是GPS Lock一个是GPS configuration。(罗盘的自检不用关)

下面这三个是APM官方文档里没有但是它的参考教程里有,我后来也改了,但没有改回去,不知这三个参数有没有起作用。反正至少我目前APM下面三个参数是这样的,是直接解决解锁GPS还有罗盘报错时改的,后来GPS和罗盘的报错通过其他方法解决了,这三个参数没改回去,不清楚这三个改动有没有起作用,当然为了与我现在当前系统一模一样可以把下面三个参数改为下面三个值。(注意波特率我当初根据参考教程(官方文档没有)改了但是发现改动之后通信不了又改回去它默认的57600了,所以波特率这个参数不用改,我也没用把它放到下面的截图里面的)

--------------------------------------------------------------------------------------------

我保存备份了我APM的所有参数(全部参数表和全部参数树都保存了,当然我觉得这两个可能是一样的,但是我都保存了,也都上传到百度网盘里了),这个文件我也已经保存到百度网盘,下次应该直接加载这个参数文件就可以了,就不用一个个手动改了。

这样再次恢复的速度就非常快了,我已经提供了配置好的树莓派镜像,APM固件,APM参数表。

这里面所有的参数文件应该都是一样的,只是备份了多次。(已经上传我的百度网盘,搜索下面图片里文件夹或者文件名字可以看到)

我不知道以上的参数表有没有包含飞行模式的设置,我怕对一个新的APM固件弄的时候导入参数表还不够,还需要设置飞行模式,那我把我的飞行模式设置也放在这里。这样对应我B站视频里的操作。

启动命令(我在B站上专门录了视频  APM T265 树莓派,SSH启动树莓派三个节点视频演示,实现T265的位置信息传给APM_哔哩哔哩_bilibili)

当然先得tmux分屏

tmux(终端输入tmux进入tmux)

  • 划分上下两个窗格

  • tmux split-window

  • 划分左右两个窗格

  • tmux split-window -h

光标切换到上方窗格

tmux select-pane -U

光标切换到下方窗格

tmux select-pane -D

光标切换到左边窗格

tmux select-pane -L

光标切换到右边窗格

tmux select-pane -R

Ctrl+b o:光标切换到下一个窗格。

Ctrl+b x:关闭当前窗格。 

三条命令

roslaunch realsense2_camera rs_t265.launch

roslaunch vision_to_mavros t265_tf_to_mavros.launch   (往往要先sudo su  ,不然也是会报找不到包和launch文件的错误,后来发现是因为你把vision_to_mavros下载安装到sudo空间里去了)

roslaunch mavros apm.launch  fcu_url:=/dev/ttyUSB0:57600     (一般每次要配合    sudo chmod a+rw /dev/ttyUSB0        这个命令使用,不然会报权限被拒绝的错误,现在似乎每次都报,之前用显示器时没这样,现在通过SSH这样输命令运行就这样,sudo su也没用,这个我下面谈到过的,只是这里说一下,往往要配合这个命令使用)

启动起来这三个节点就OK了!!!!

以前还经常说说明roslaunch没有这个命令要你安装,这种见过很多次了,都是用source那个方法解决,不过我发现最近这几次弄似乎这个情况没有出现了。但是你要清楚,这也是一个常见的可以称之为报错的现象。清楚解决方案。我现在补充我估计运行上面命令上百次了,没有出现错误,按照上面说的顺序一次输入命令运行没有出现异常,卡死等等的,都是一次性起起来的。基本按照上面运行程序,命令就不会报错,后面也就不会出问题,比如该先sudo的sudo,该先授予权限的授予权限,而不是运行了后面的命令报错了再去授予权限。

以下这两个命令一般不用,只是第一次在树莓派上启动节点时用用或者有节点die掉了,重启起起来,你判断它有没有起来也可以用用,平常你以前启动过很多次没出过问题了一般不出问题可以不用,所以平常一般tmux开三个窗口,就三个命令启动三个节点,严谨点可以开5个窗口,再多两个窗口是实时打印下面两个消息的,判断两个节点都是在正常运行的。

判断realsense节点有没有起来可以打印看  /tf 消息        用命令      

rostopic echo /tf

判断vision_to_mavros节点有没有起来可以打印看   mavros/vision_pose/pose消息     用命令

rostopic echo /mavros/vision_pose/pose

操作注意点:

要首先通过VNC图形界面操作让树莓派连上自己的那个路由器的wifi,这样后面开机树莓派会自动连接那个连过的wifi,当然你连过多个wifi,它可能会先连信号最好的那个,当然你如果在室外,应该就是自动连你自己带的那个路由器的wifi了,因为它只连过这个wifi。(所以第一次弄的时候需要通过VNC或者屏幕操作连下wifi,包括是从我备份的镜像恢复到一个树莓派上,也需要这样弄,因为我发现备份的镜像似乎并没备份说记住你连过的wifi,当然其他东西都应该是备份的了,还有用VNC注意是先用putty  SSH登录,运行vncserver命令启动VNC服务后,再通过VNC去连,而且连VNC的时候注意树莓派不要通过HDMI还连着显示屏,具体你VNC的操作我也有录屏放到B站上,还有我最开始写的那个非常详细具体的APMT265树莓派无人机的教程里面应该也有写。)

无人机上电时要确保摄像头是朝向正北方向的。

桨和防护栏在T265的视野里没什么影响。

起飞前需要先拿起无人机移动一下,这样T265的定位数据会更准确,不移动刚开始的T265的位置数据会可能有些跳变,应该是刚开始IMU都没什么位移,那样可能T265进行位置估计没有个度量,那到底是1米还是1厘米对吧,所以容易跳变,基本移动一次无人机之后,T265的定位数据基本稳定下来,跳变都是毫米级的跳变。

解锁起飞遥控器的操作是:首先解锁遥控器,然后把控制飞行模式的拨码开关拨到定点模式,其他拨码开关不用动,如下图所示,然后左手单杆内八解锁,解锁后推油门到百分之五十以上起飞,飞到一定高度,再把油门回到百分之五十左右就定住了。

整机重量估计在1.9kg左右,所以许哟最大起飞重量为2kg的电机,2216电机。

后面想做的改进

我想换成底盘更稳的电机,不然每次降落容易侧翻,F450我是靠底部绑几个更长的棍子加大底盘,不知换成猛禽360或者阿木那个机架是否会好些

还有有没有机架能不装防护罩,侧翻也砸不到T265的,阿木的机架估计可以。

树莓派改成up squared 或者TX2

加上激光雷达

能不能不非得朝北上电

可不可以一条命令启动

参考教程(注意是参考,有少许不同,(2020.10.20 目前记得的一个是librealsense的安装是有些不同的,一个是APM的一些参数设置是不完全相同的。))(这两个教程我也进行截屏记录了,免得他们日后有更改或者没有了,在这篇博文里面 https://blog.csdn.net/sinat_16643223/article/details/108752291    )

ROS and VIO tracking camera for non-GPS Navigation — Dev documentation

Integration of ArduPilot and VIO tracking camera (Part 1): Getting started with the Intel Realsense T265 on Rasberry Pi 3B - Blog - ArduPilot Discourse

================================================================

我还是想把软件安装过程总结一下,这样在其他开发板上装的时候也好有参考。

我似乎是先装的ROS,我尽可能把realsense放在后面装,因为怕出问题麻烦

所以我装的顺序应该是   ROS    MAVROS  librealsense(需要虚拟内存)   realsense-ros   vision_to_mavros(编译时需要阔内存,不然会卡住,然后被系统kill掉,如果之前阔了就不需要再弄了,我当时是因为Librealsense弄了之后关机了,那之前阔内存就失效了,就得重新阔一次)

里面有个别命令需要终端dali实现。装ROS 和MAVROS时部分步骤需要daili,装Librealsense和realsense-ros时实际没用用到daili,具体是哪些步骤可以在我那篇详细的博文里面搜中文的daili。

下面这个也证实了,装ROS确实rosdep那两个命令也就是最后两个命令需要代理!

Ubuntu助手 — 一键自动安装软件,一键进行系统配置

2020.11.6

注意不要开着VNC然后ssh开启那三个ROS节点,很可能节点会被kill掉或者起不起来各种问题,关掉VNC就好,可能VNC图形界面太占内存或者什么的了。

连VNC时,我树莓派上配置好的VNC的密码是123456,也就是连VNC时第一次要输入的密码就是这个密码,这时还没有进入桌面。

2020.11.8

如果启动那三个ROS节点总是有节点容易挂掉,很可能是因为你还开了其他窗口打印T265的高频位置数据消息,把那两个消息打印窗口关掉或者不打印这些信息,只启动这三个节点,是能够都一次性启动起来的,这也是为什么我弄APMT265树莓派的时候,刚开始的时候节点有时会挂,后来从来没有出现了,因为刚开始的时候那时你为了确保节点起来了喜欢开五个窗口,两个窗口打印位置消息,后来你为了追求速度只开三个窗口然后起三个节点,这样似乎没有出过问题,这很可能就是为什么后来你觉得最开始节点容易挂掉,后来却没有出现了的原因。这次在恢复的树莓派镜像上,基本每次都是,而且是必然是,顺序启动三个节点,启动Mavros节点的时候前两个节点就挂掉了,要重新起来,很麻烦,可能就是因为我每次都要打印位置消息,每次都开五个窗口,现在我改为不打印消息,只开三个窗口启动三个节点后,目前这么操作了两个没有出现问题。
 

2020.11.23

怪不得,这样就可以不用只朝正北起飞了!!!!!!!!!!不过也确实APM的官方教程里就是禁用compass的我是自己后来改成启动的,因为禁用后似乎解锁不了。这也是我和官方教程不同的地方。

这是阿木的树莓派T265教程里面的

包括用PX4实现T265定点,设置参数的时候也需要选择 vision yaw fusion  意思是航向采用视觉得出的航向,而不是用罗盘的,也确实这样之后不需要起飞时朝向正北了。这个无论谁阿木还是智能无人机课程第二期,对于PX4固件的这个参数都是这么设置的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

快速搭建一个APMT265树莓派无人机 的相关文章

随机推荐

  • 深度学习中的隐私保护技术综述

    摘要 xff1a 如今机器学习以及深度学习在各个领域广泛应用 xff0c 包括医疗领域 金融领域 网络安全领域等等 深度学习的首要任务在于数据收集 xff0c 然而在数据收集的过程中就可能产生隐私泄露的风险 xff0c 而隐私泄露将导致用户
  • STL运用的三个档次

    STL运用的三个档次 拍自 Linux多线程服务端编程 使用muduo C 43 43 网络库
  • b站有不少STL的教学视频

    我甚至还看到了讲C 43 43 primer的视频 xff0c 如果真的有视频讲解的话 xff0c 我看你就不用抱着那本厚书啃了 而且看他们的STL视频的目录 xff0c 大体框架内容应该是差不多的 xff0c 这样就可以对STL有个大体的
  • 刷leetcode究竟要不要使用库函数

    这个很不错 xff0c 解答了我的一些疑问 xff0c 我之前惊喜faxiNgSTL是数据结构和算法的时候有这种想法 xff0c 现在发现 xff0c 你还是得老老实实自己用C实现 摘自 xff1a https github com you
  • LeetCode 刷题攻略

    摘自 xff1a https github com youngyangyang04 leetcode master 目录 xff1a 算法面试思维导图算法文章精选LeetCode 刷题攻略算法模板LeetCode 最强题解关于作者 算法面试
  • 一线互联网公司技术面试的流程以及注意事项

    摘自 xff1a https mp weixin qq com s 1VMvQ 6HbVpEn85CNilTiw 一线互联网公司技术面试的流程以及注意事项 原创 CarlSun 代码随想录 3月31日 企业一般通过几轮技术面试来考察大家的各
  • 现代C++语言可以看作是三部分组成

    现代C 43 43 语言可以看作是三部分组成 拍自 C 43 43 primer 前言
  • 别人推荐的一些C++书籍

    在 Linux多线程服务端编程 使用muduo C 43 43 网络库 里面 xff0c 陈硕推荐了几本 xff0c 依次是 xff1a C 43 43 primer Effective C 43 43 中文版 泛型编程与STL C 43
  • 两种乐趣

    一种是你以前的激情 xff0c 做高大上的东西 xff0c 你以前图书馆那种大量的看书也是这种乐趣 喜欢定宏伟的目标 xff0c 做大的事情 不追求学会一个东西 xff0c 只求各种办法能把功能实现就好 我现在做SLAM无人机也是的 xff
  • 《C++ primer》第五版习题答案

    C 43 43 primer 第五版习题答案 https www zhihu com question 37908263 answer 74051428 https github com Mooophy Cpp Primer
  • 木桨震动小

    木桨震动小
  • WGS84、GCJ-02、BD-09、图吧坐标简介及坐标转换实现(java版)

    1 定位系统及如何定位 现在全球有四个卫星定位系统 xff1a 美国的全球定位系统GPS xff08 Global Positioning System xff09 俄罗斯的格洛纳斯GIONASS 欧盟的伽利略系统 xff0c 我国的北斗
  • 关于桨叶越大,拉力越大,效率越高

    关于桨叶越大 xff0c 拉力越大 xff0c 效率越高 我似乎是看到下面这个意识到更大桨会有更大拉力的 这个表应该也能看出桨叶越大拉力越大
  • 原来容器比如vector的本质是一个类模板

    原来容器比如vector的本质是一个类模板 下面拍自 C 43 43 primer 400面 原来这前面已经详细专门讲了 xff0c 看来好好看 C 43 43 primer 是很有必要的 拍自 C 43 43 primer 86面
  • opencv使用了很多标准模板库(STL)

    opencv使用了很多标准模板库 xff08 STL xff09 拍自 学习OpenCV3 第38面
  • 嵌入式软件工程师真的串口的开发是必备的技能

    拉勾上 xff0c 智联上看到的一堆我都没放了 xff0c 刚刚随便看个无人机公司的嵌入式软件的要求 xff0c 就是 http www buaauas com recruit shehui
  • 我的无人机运输箱

    我选的无人机运输箱 首先区分航空箱和防护箱 xff0c 航空箱基本是可以按照自己尺寸定制的 xff0c 但是航空箱给人一种比较笨重的感觉 xff0c 没有防护箱那么耐折腾可能 我是后来发现一家专门 防护箱的店 xff0c 里面什么尺寸都给力
  • 树莓派进行镜像备份(我亲自操作的)

    我想把我无人机上的树莓派的镜像备份 xff0c 这样下次是不是可以直接烧录到一个新的树莓派上不用慢慢安装那些东西了 xff1f 应该是的 我按照下面的方法备份成了 xff08 当然我还看了其他人写的教程 xff0c 都一致认为这种方法是最简
  • 树莓派系统镜像备份,多种方法归纳总结

    摘自 xff1a https baijiahao baidu com s id 61 1612184230122979094 amp wfr 61 spider amp for 61 pc 树莓派系统镜像备份 xff0c 多种方法归纳总结
  • 快速搭建一个APMT265树莓派无人机

    快速搭建一个APMT265树莓派无人机 xff08 快的原因是我备份了配置好的树莓派镜像 xff0c 这样可以直接省去树莓派上各种软件配置 xff0c 直接烧录到树莓派上即可 xff0c 理论上是这样 xff0c 当然我还没试过 xff0c