博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
快速搭建一个APMT265树莓派无人机
阅读量:4084 次
发布时间:2019-05-25

本文共 5873 字,大约阅读时间需要 19 分钟。

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

由我这篇博文浓缩而来:

 

硬件:

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

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

树莓派3B+(我提供配置好的基于ubuntu meta 18.04的镜像   链接:https://pan.baidu.com/s/1p6SiVi3NzBHHcxAqzT6reQ

提取码:u2qe)

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固件需要更改的参数

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

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

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

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

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

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

这里面所有的参数文件应该都是一样的,只是备份了多次。

 

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

 

 

 

 

 

 

 

 

启动命令(我在B站上专门录了视频  )

当然先得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文件的错误)

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的一些参数设置是不完全相同的。))(这两个教程我也进行截屏记录了,免得他们日后有更改或者没有了,在这篇博文里面 )

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

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

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

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

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

 

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

 

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固件的这个参数都是这么设置的。

转载地址:http://sclni.baihongyu.com/

你可能感兴趣的文章
IBM Lotus
查看>>
Linux +Win LAMPP Tools XAMPP 1.7.3 / 5.6.3
查看>>
my read_university
查看>>
network manager
查看>>
OS + Linux Disk disk lvm / disk partition / disk mount / disk io
查看>>
RedHat + OS CPU、MEM、DISK
查看>>
net TCP/IP / TIME_WAIT / tcpip / iperf / cain
查看>>
webServer kzserver/1.0.0
查看>>
OS + Unix IBM Aix basic / topas / nmon / filemon / vmstat / iostat / sysstat/sar
查看>>
my ReadMap subway / metro / map / ditie / gaotie / traffic / jiaotong
查看>>
OS + Linux DNS Server Bind
查看>>
linux下安装django
查看>>
Android 解决TextView设置文本和富文本SpannableString自动换行留空白问题
查看>>
Android开发中Button按钮绑定监听器的方式完全解析
查看>>
Android自定义View实现商品评价星星评分控件
查看>>
postgresql监控工具pgstatspack的安装及使用
查看>>
postgresql查看表的和索引的情况,判断是否膨胀
查看>>
postgresql中根据oid和filenode去找表的物理文件的位置
查看>>
postgresql减少wal日志生成量的方法
查看>>
swift中单例的创建及销毁
查看>>