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

我想写个详细的,能傻瓜式跟着操作实现的教程,当然最好原理也讲讲,也是为了我日后能很好复现,也能帮助他人。

这篇文章应该是树莓派到的那天开始写的,也就是8月16日开始写的。

 https://blog.csdn.net/sinat_16643223/article/details/107511110

你首先百度搜ubuntu mate 18.04就可以发现ubuntu mate的官网,点进去

然后我们点上面的download他会让你选择平台,那我们选择64位的树莓派。

https://ubuntu-mate.org/download/arm64/

ubuntu mate 18.04就这一个版本下载,所以不用担心上面18.04.2以为还有.1什么的。可以看到18.04支持到2021年

https://ubuntu-mate.org/download/arm64/bionic/

然后我直接点direct  download也就是直接下载,其他选项我也看不懂什么意思。

https://ubuntu-mate.org/download/arm64/bionic/thanks/?method=direct

如果没有弹出下载窗口你可以再点一下下面第一个链接。这时就会弹出下载了。

当然实际官网下载速度非常慢,所以我还是选择从别人的网盘那里下,但是官网至少让我们知道官方的镜像是什么样子的。

https://blog.csdn.net/jacob210/article/details/104401264

2 安装Ubuntu 18.04 Mate LTS

(1)下载并写入
下载Ubuntu 18.04 Mate LTS官方镜像文件:https://ubuntu-mate.org/raspberry-pi/ubuntu-mate-18.04.2-beta1-desktop-arm64+raspi3-ext4.img.xz,注意这个是64位的系统镜像,下载完后解压.img供写入。

为方便各位小伙伴下载,这里提供百度网盘下载地址:

链接: https://pan.baidu.com/s/1GU6xMtFL2-0YPjQ8PTJR6A 提取码: ew43

注意下载好后还要解压才能得到.img的镜像文件。

https://www.cnblogs.com/Biiigwang/p/11735890.html

烧写我看亚博的教程这个用的是Win32DiskImager,我直接百度Win32DiskImager可以看到它的官网,然后直接在它官网下载了

点download(用代理而且是全局模式下好些,PAC模式下下载也很慢,可能默认它没有用外网)

下载好后直接点击安装即可。

https://sourceforge.net/projects/win32diskimager/

https://www.yahboom.com/build.html?id=2102&cid=203

我的,(我没有先用亚博教程里说的用一个专门软件格式化U盘,因为我这是新的SD卡,空的,所以我选择直接烧了)

点写入后正在烧写

烧写成功会显示

实际SD卡插入树莓派上电开启之后,是会有安装步骤的,和我之前搜的树莓派装Ubuntu  mate 18.04的教程一样,并非上电后就可以直接用了,那些人真的这些没写全。弄得我以为掌握了那种不需要装系统安装的方法。

https://www.cnblogs.com/Biiigwang/p/11735890.html

实际装下发现还是很简单的,没有实际装Ubuntu那样要上面分配磁盘空间,整个步骤非常简单,几步完成,选择语言,选择键盘,选择时区,设置用户名密码,非常简单和快。所以这个过程不用担心不会。密码我就设为1,为了方便到时候无人机上操作,要是输很长密码很麻烦。语言我选择的中文,可以选中文。

有线鼠标键盘插上就可以用,和我当初的DE1-SOC一样

 

弄好后等它几分钟安装安装好

如下所示,是有浏览器,也可以手动选择wifi的

然后我现在再给树莓派插上网线。

在我的电脑上访问192.168.0.1,可以在路由器上看到我的树莓派已经连上了,IP地址和我在树莓派终端看到的一样,都是192.168.0.102  我ping了下百度是Ping得通的。

我发现树莓派也自带了蓝牙,也可以在图形界面设置,所以那个罗技的蓝牙键盘应该也可以用,去设置。

因为考虑到装东西还是复制粘贴命令方便一点所以我还是先把树莓派的SSH开启,VCN弄好

先开启SSH,这个按照亚博给的官方教程就OK

https://www.yahboom.com/build.html?id=1809&cid=203

或者这个 https://www.yahboom.com/build.html?id=1810&cid=203

 

注意的是我们选择SSH之后,要按enter,进入到下面界面,然后移动选择yes再按enter之后这样才行,不是再这个界面就完了,这个界面虽然写着enable/disable,但是看不出什么,这是亚博教程没有写到的地方。

SSH配置好后会显示,这也说明官方镜像默认是没有开SSH的。

然后我要在我电脑这边设置 SSH

SSH工具我记得有很多,我当初在诺的时候有一个,我Ipad上也有不少。树莓派我看这么多教程都是用的Putty,我觉得用其他的应该也没关系,我以前在诺用的似乎是这个

亚博官方的教程也是用的putty

https://mp.csdn.net/console/editor/html/108032651

我在我网盘搜了下似乎是的,是的,下下来还可以用。

我实际下了以前的secureCRT,发现有些操作不熟悉,所以我还是准备去下putty试试看

https://www.chiark.greenend.org.uk/~sgtatham/putty/

进去官网这样(注意全局代理,不然官网可能不好打开),我直接点download it here

我点windows64位的下载(注意全局代理,而不是PAC)

下载好后正常点击安装就行。

装好后似乎没出现桌面图标,但是可以去开始菜单里找到

点开是这样

我把service ssh reatart之后就会这样

那我先专门解决一下这个问题。

树莓派开久了真的非常非常非常非常烫!!!!!!!

我刚刚还发现树莓派有限连路由器的时候,ping得通百度,把有线拔掉,无线连路由器,确定连上了,我上192.168.0.1看到了的。而且树莓派桌面会显示成功连接英文的,并且那个wifi名下面会有个dicconnect,意思是你可以选择断开连接,所以是连上了的,但是这样无线连的时候是树莓派ping不通baidu,而且我的笔记本也ping不通树莓派。

接wifi时看ip地址ifconfig之后去看wlan而不是第一个

我发现亚博的教程也说了这个

https://www.yahboom.com/build.html?id=1810&cid=203

我决定先装VNC试试

树莓派上命令行开启VNC功能的方法和开启SSH一样

完全参照这个教程就OK,非常简单。

https://www.cnblogs.com/gghy/p/11625139.html

和这个

https://shumeipai.nxez.com/2018/08/31/raspberry-pi-vnc-viewer-configuration-tutorial.html

还有我发现让树莓派睡眠后怎么弄都唤醒不了,只能强行断电关机了

我确实发现Ubuntu meta  18.04根本没有上面教程说的VNC选项!!!!估计还得自己装

https://blog.csdn.net/wzl19910916/article/details/95937527

我刚刚成功解决了SSH的问题,我应该是找解决VNC问题的时候不小心找到的,似乎这种方法我之前看到过但是似乎没注意,觉得应该不是吧,现在试了下真的解决了,只是注意它让你输密码的时候你直接按enter跳过,别真去输密码就好。

(像我之前按看的这个 https://blog.csdn.net/qq_42260493/article/details/106318028

以后再遇到问题,网上各种方法都试试)

我为什么相信这种方法了呢,因为我按照他说的去查看ssh的status也就是状态,显示的是和他一样的问题。

确实是搜VNC的问题是点进去的

靠的是这个

https://www.cnblogs.com/devilmaycry812839668/p/12826566.html

我决定截图保存

我刚刚重启了树莓派,树莓派上面都没去操作直接ssh,也OK。(当然这之前通过登录路由器管理界面查看树莓派IP)

用户名是  maxi   密码是   1      putty的操作完全就可以参考亚博给的教程就OK了,很简单的几步。

说明现在ssh是OK的了,开机也是自己启动的,我现在解决VNC的问题就直接ssh上面解决就可以,不需要去那屏幕那里了。

不过我发现从树莓派端ping电脑端还是ping不通

确实很多东西实际做起来没那么简单,纵然别人给了教程,但中途依然很曲折。

我VNC目前地问题是连不上,感觉树莓派那边应该是装好了的

我发觉,在解决ssh连不上的问题时和解决vnc连不上的问题时,都用到了查看服务状态,service  *******  status  这才是深入本质地查找原因,这才是专业。

结果一看我连vncserver的服务都没有起来,虽然你运行了那些命令

https://blog.csdn.net/qq_24955485/article/details/78859759

似乎客户端不是直接输入IP地址,而是IP:1

https://www.laozuo.org/15476.html

https://www.ubuntu18.com/install-vnc-server-ubuntu-18/

正常输入vncserver之后应该是这样

https://www.jianshu.com/p/b73f358849de

不过好像从这个教程看我的输出又是对的

https://cloud.tencent.com/developer/article/1350304

我忽然不知怎么就好了!!!!

难道是因为我装了?

我好像还把密码设为123456

这次我是这样的

输入vncserver

它这里说启动了3

于是我在VNC viewer输入192.168.0.104:3   这回真的连上了。之前连不上也可能是因为我IP地址错了?

注意密码肯定是要设置的,我之前似乎没有设置密码,后来才设置的?我看你是参照某个教程的时候弄好的?好像是第一期输入vncserver的时候它会让你配密码。

https://blog.csdn.net/chenguang_work/article/details/86241361

https://blog.51cto.com/13526376/2050501 

https://www.jianshu.com/p/1acb3a0451bd

这里好像也说了。

灰屏的问题用这个解决。

https://blog.csdn.net/qq_32384313/article/details/77533012?utm_medium=distribute.pc_relevant.none-task-blog-baidulandingword-7&spm=1001.2101.3001.4242

那我现在解决灰屏的问题,主要是我现在vi去编译一个文件,你移动光标它打出的都是B,我得先解决一下这个问题。

http://www.blogjava.net/leisure/archive/2011/09/13/358569.html

https://www.cnblogs.com/jev-0987/p/12885422.html

我是按照第一个方法弄的,装了vim  然后用vim编辑OK了。当然用vi命令编译也OK了。

一些VNC命令我觉得需要注意的地方

https://www.cnblogs.com/maocaoliu/p/3585132.html

https://www.jianshu.com/p/9192835c6a84 

VNC开机启动的问题可以这么解决

https://blog.csdn.net/wyy_sunshine/article/details/41778617

报这种错误的原因好像是我树莓派那边已经在用图形界面就是用显示屏了,我现在把显示屏拔掉了。

https://www.cnblogs.com/leetom/archive/2010/04/29/2845848.html

https://www.cnblogs.com/xiaochina/p/5823500.html 

我最后成功了,按照这个教程来的  https://www.codeleading.com/article/3402706455/

 和之前相比关键就是多加了一句 

unset DBUS_SESSION_BUS_ADDRESS

 这个教程表面上看和之前  https://blog.csdn.net/qq_32384313/article/details/77533012 

差不多,实际有两句话不一样!!!!,正是加了这两句话整个就OK了

整个这么多个过程我真的是不断改这个文件,而且可以清楚看到加上一些话减去一些话所实际表现出来的现象,让我确定,最终控制出图像的关键就是这个文件。

似乎和这看到的有一点关系。

http://blog.sina.com.cn/s/blog_60697c7d0100okqj.html

关于VNC的总结我写到了下面这篇博文里

https://blog.csdn.net/sinat_16643223/article/details/108059478

关机如果是用sudo shutdown命令的话,你7点53输的命令,它会等到54才关机,会等一分钟(60秒),不是立马关机

 shutdown -h now 现在立即关机
shutdown -r now 现在立即重启

sudo shutdown命令后现在看路由器界面确实没有树莓派了。当然我树莓派还没断电,我估计下次得线断电再上电它才启动。

再次上电时,没有显示屏了,看它的红灯,等到它的红灯不闪常亮的时候就应该代表它启动好了。这是看路由器可以死hi可以看到树莓派的IP地址的,当然此时树莓派和路由器是网线相连。

然后先用putty  ssh,登上,用vncserver命令开启vnc服务,再用vncviewer连,一切都OK,说明关机,断电,上电开启,这一系列没有问题。(看能不能弄成vnc开机自启动)

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

下面进一步进发,装ROS   MAVROS   librealsense     realsense-ros    vision_to_mavros

可以参考古月的ROS21讲里的ROS安装视频

https://blog.csdn.net/sinat_16643223/article/details/107738083

https://www.bilibili.com/video/BV1zt411G7Vn?p=5

实际操作发现古月的这个暗转教程有坑的,他那添加的是Ubuntu的官方源不是国内的镜像源!!!!!!说都没说!!!!!看书发现他写在书上,我看视频里他后来那都是阿里云的链接以为他给的源就是国内的,实际不是!!!!

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

果然换了中科大的源速度立马快N倍,而不是几kb,不然一个update半个小时都没完。

实际下ROS时也是去中科大的源下了,只需要把古月的第一句改为上面那一句。

下ROS用家里wifi太慢了我最后选择树莓派连我的手机热点,而且电脑和树莓派同时连手机热点。你在树莓派终端上ifconfig得到树莓派的wifi的ip地址之后(也是192.168..),是可以在自己电脑上ssh的。用自己手机热点就飞快多了。我感觉你到时候树莓派装在无人机上,和电脑wifi相连,也应该可以手机热点。当然用手机热点这也是古月的ROS安装视频里面说了提醒我的。我估计装librealsense的时候用手机热点也好一些。

sudo apt install ros-melodic-desktop  这步连手机热点从下载到安装当然都是它自动进行用了半个小时左右,很难想象不用热点是上面后果,靠家里wifi几KB每秒的速度。还有中途出现一个说什么让你重启的,我选了yes,但实际它也没有重启又继续运行下去了,不知道什么意思。没见别人说有这一步骤,但是似乎也没有影响,选个yes然后它又继续正常安装了。中途没有任何报错,之前用家里wifi下的时候还报错过上面连不上服务器估计是网太慢了,总之用手机热点弄没有任何问题。

sudo rosdep init  这个运行后显示,可能是因为古月装的是desktop-full  而我装的是desktop,少了一些东西?

于是我先跳过rosdep这两个命令,直接去设置环境变量,

运行完设置环境变量那两个语句,然后就可以一个是先输入ros再双击TAB键可以看到ROS的一些命令行工具(如果环境变量没有设置好,这些系统是找不到的),再一个是直接输入roscore命令,可以启动ROS。我已经弄成了。自此ROS就算装好了,

我这里roscore后输出的信息和古月的ROS书上写的一样

古月的最后一个命令,不是必须的,到上面为止ROS 已经装好了,古月的最后一个命令,是说为了方便日后的开发,可以装一下。不过我发现这步也是ROS官方教程要求的,那我也装上吧。

上面没有弄的rosdep我发现ROS的官方教程有些,我觉得我还是有必要把它弄一弄。

我现在知道为什么我那里说找不到rosdep,官网现在的教程是要你自己先装,古月的那个可能已经过时了,古月的那个中途弄rosdep是和ros kinetic的教程一样,kinetic的教程里是这样的,但是melodic的教程里是放再最后,而且要自己先安装。

http://wiki.ros.org/melodic/Installation/Ubuntu

不过我在运行

sudo rosdep init

这个命令显示报错,说一个Github的网站连不上,网络原因么?我此时连的热点,莫非需要代理?

网上搜了下这个问题很常见,确实需要代理。考虑到后面装Librealsense应该也需要代理,所我先把终端代理弄好。

https://blog.csdn.net/Bryantaoli/article/details/104730474/ 

我实现终端代理后,再运行sudo rosdep init就成功了,没有说那个网站连不上了,

当然实际运行是  sudo proxychains rosdep init

不对,好像还是不行,我试着直接浏览器打开那个网址根本打开不,可能就是那个网站的原因!!!!!网址打不开啊,我自己的笔记本开了代理的,这样浏览器都打不开肯定有问题。

我过了几个小时再这么弄又好了!!!现在是凌晨0点52分

看这前后两个同样地命令,一个失败,一个成功,当然前后隔了几个小时,中途打电话去了。还有有没有方法能导出这些记录的?我在这篇博文写了 :https://blog.csdn.net/sinat_16643223/article/details/108091479

然后我进一步运行最后一个命令 rosdep update  直接运行也是报错了,连不上,所以我加为  proxychains4 rosdep update  然后就一切顺利,全是ok,弄完了。看来终端代理真的非常重要!!!!!!

下面这个截图非常清晰地反应了这个过程。

至此我的ROS安装应该就真正完成了!!!!

这个命令我之前运行了,而且ROS melodic的教程是把它放在rosdep之前的,我应该照着做了,也看到命令行记录李敏又这个命令了,

这里我再次强调,跟着ROS melodic的官方教程来,你会发现连古月的ROS的教程可能都不对,原本你这么信赖的,当然他帮助了我很好理解里面的安装步骤,再去看官方的安装步骤好些,直接看官方的安装步骤可能也不太好,有的可能不明白。

http://wiki.ros.org/melodic/Installation/Ubuntu

8月19日凌晨0点58分,

所需要的命令我放在这(全程连手机热点,按照ROS melodic的官方教程来http://wiki.ros.org/melodic/Installation/Ubuntu 

部分步骤需要终端代理(两个加了proxychains4的,如果加了代理不行可以过一阵子再试试,可能就好了,终端代理的方法我写在另一篇博文里了 :https://blog.csdn.net/sinat_16643223/article/details/108086672

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

sudo apt update
 

sudo apt install ros-melodic-desktop

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
 

source ~/.bashrc

sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
 

proxychains4 sudo rosdep init
 

proxychains4 rosdep update

但是我树莓派要确定装的是ROS的哪种。首先参考我这篇博文:https://blog.csdn.net/sinat_16643223/article/details/107813134

由于我看到APM的那个T265树莓派的视频里面看到他们用了rviz,所以我觉得装destop   不装destop-full,另外有个树莓派教程也是装的desktop。

https://blog.csdn.net/sinat_16643223/article/details/108041713

附上一张我现在桌子的图(8月18日)

我现在想接着装MAVROS

我首先看了我之前写的这篇博文里说的ZN无人机课程他们的安装方法

当然注意一下我们用的是melodic的ROS,所以不要单纯直接复制粘贴命令,把kinect改为melodic应该,

然后我又去查了下MAVROS官方给的安装方法,我先去了wiki,里面没有,跳转到github,首页也没说,但我看到了这个

点进去了isntallation instruction   感觉和ZN无人机的教程说的一样,我感觉ZC无人机用的TX2也是ARM平台,可以直接apt不用源码编译,我觉得树莓派应该也不用源码编译。

https://github.com/mavlink/mavros/blob/master/mavros/README.md#installation

APM的官方手册也有给,和MAVROS官方的一样。

https://ardupilot.org/dev/docs/ros-vio-tracking-camera.html#ros-vio-tracking-camera

https://ardupilot.org/dev/docs/ros-install.html#ros-install

应该只用看第一部分就可以了,后面两个命令应该是针对其他的,如桌面版的它建议装RQT,我忽然想起来他们讲ROS的时候说到过RQT,似乎可以可视化看消息传输?我暂时先不弄吧,以后如果需要再弄吧。本身上面两个MAVROS安装也没说这些。

最后实际安装MAVROS我的命令是

注意是把kinect改为melodic

sudo apt-get install ros-melodic-mavros ros-melodic-mavros-extras

注意加了proxychains4,不走代理连不上这个网站,走代理一切就OK。之前rosdep也是连的这个网站,也是得走代理!!!

proxychains4 wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh

官方教程里是直接执行这个sh脚本,但实际你直接执行会说权限被拒绝,所以我就先这样了。

chmod 777 install_geographiclib_datasets.sh

 

最后一步就是执行这个脚本。注意这步时间可能有点长,让我差点以为它卡死了,还要我先弄其他的去了,过一阵子回来看好了,OK,那MAVROS安装到此结束。

./install_geographiclib_datasets.sh

那我现在就要开始装Librealsense了。 辛亏昨天把终端代理弄好了,

虽然说之前找到了两个官方教程,但是其中librealsense给的是raspbian的安装不是Ubuntu的,我后来也才知道raspbian和ubuntu是不同的,所以我想暂且先按照APM官方手册的教程里面来弄。

https://ardupilot.org/dev/docs/ros-vio-tracking-camera.html#ros-vio-tracking-camera

我弄交换分区前用free查看内存情况。

没想到第一个命令就出问题了

我打算先按这个教程来,不为什么,可能就看着爽一些。

https://blog.csdn.net/fcts1230/article/details/107869781

https://www.jianshu.com/p/b916181ab7ab

 

注意它的教程里面这个名字最后一个单词打错了,应该是swap,导致直接copy这个命令,结果显示没有这个文件。

这个文件我没修改前是这样

后面加了一句修改后这样

运行这个命令时有点报错,但我觉得影响不大,本身只是一个更新命令。

sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade

这篇教程感觉各种注意的细节都写到的(就是我在其他教程看到的)  一些编译选项啊等等的  编译了3隔小时是哪个步骤。

编译中,是可以看到百分比进度的,我是下午一点半开始的大概。

2点半

一个半小时了,才29%

5点半的时候我来看它显示装好了。

装好后,下一个就是这个命令,,注意编译好后你是处于build文件夹下,你要先cd .. 然后再运行下面这个命令才是,这样你才能看到scripts文件夹。

我自作聪明跑到scripts文件夹下直接执行这个setup_udev_rules.sh脚本,这样会报错,直到我退出这个文件夹,老老实实执行复制粘贴这个命令执行就OK了。而且这个命令执行报错,你下一步去图形界面。终端执行

realsense-viewer

那个realsense viewer会显示出来但是会报一个udev的错误,直到我正确执行了上面那个语句之后,realsense viewer就没有报错了

 这是那个setup_udev_rules.sh脚本没有执行成功,强行运行realsense-viewer,报错的viewer

这是OK了的

我树莓派识别不到T265,我看了下别人也有这种情况

讲道理这里也说了librealsense装好了,插上T265就可以像windows那样了。但我的realsense viewer确实没有识别到设备。我的T265插到windows,realsense viewer立马就能识别到

会不会是因为我先装了ros?要不要我吧realsense-ros也装好再看看?

还有蓝牙鼠标插树莓派就能立马用。

https://ardupilot.org/dev/docs/ros-vio-tracking-camera.html#ros-vio-tracking-camera

https://zhuanlan.zhihu.com/p/95724383#ref_1

装realsense-ros我继续跟着那个人的教程弄吧

https://blog.csdn.net/fcts1230/article/details/107869781

运行catkin_init_workspace这个命令时出现问题靠下面这个解决的

https://www.cnblogs.com/fuhang/p/9781739.html

用下面这个方法时注意把kinect改为melodic

运行到catkin_make clean命令时,出现cmake的报错,我在想是不是因为cmake的版本不对?之前也看到一篇文章谈这个

https://blog.csdn.net/sinat_16643223/article/details/107519788?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159783515219195188334748%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=159783515219195188334748&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_v1~rank_blog_v1-1-107519788.pc_v1_rank_blog_v1&utm_term=cmake&spm=1018.2118.3001.4187

于是我反过头尝试用二进制的方法安装realsense-ros,居然可以安装!!!!!当初我在笔记本上面可是没弄成的

他后面还有个装3D图形库的我就暂时不装了,我感觉树莓派应该用不上。

这样装好后我运行这个命令启动节点真的能启动起来。

然后网盘运行了APM官方手册说的 roslaunch realsense2_camera rs_t265.launch 这个命令,而且在这之前把T265插上了,

是显示节点运行成功的

然后我用rostopic list查看了当前所有消息

而且用rostopic echo /tf   查看了/tf消息,可以看到T265的数据是实时读取到了的,而且我摸到T265有些发热了。

这也是APM官方手册教我这么看的  rostopic echo  打印消息的命令就是从它这里学到的。

所以我感觉之前那个realsense viewer没有识别到没有关系。

我可以清晰地看到我把T265举高,Z有变化,往前,X有辩护啊,左右移动,Y有变化,很明显,而且现在没有出现我把T265放在那静止不动它就断开连接了没有,/tf消息一直在打印一直在微小变动着,说明T265一直在传输数据,

那目前还剩下最后一步,就是装,那我们回归APM的官方手册,因为那个之前参考的个人教程已经不写这个了。

可惜又是在这一步报错!!!cmake的错。

catkin_make

似乎版本什么的也需要注意?

受到下面这个启发,我新建了一个文件,再去下载编译,似乎就没有报错了,而不是和之前realsense-ros的文件夹一起...

http://www.manongjc.com/article/44706.html

现在似乎是在正常编译了可以看到进度。似乎这个编译还很占CPU?弄得树莓派还比较卡?算了,等等把,可能树莓派编译都是比较慢的,

确实因为内存的原因被树莓派kill掉了,可能因为我重启了之前的交换内存没有了,我再弄一遍那个交换内存。看来重启是可以让那些交换内存消失的,那就不用担心了应该。你通过fre -m查看就知道那些交换内存还在不在。

重启后

先按照之前给Librealsense弄交换内存的方法重新弄一遍

然后再来弄vision_to_mavros

运行catkin_make遇到之前同样的问题,用之前同样的方法解决

果然这回一分钟左右就编译完了,不像之前卡再25%,估计有个把小时,最后被系统kill掉了。弄个交换内存真的有用。

这样我的vsion_to_mavros也装好了,没有出现任何编译错误,

综上我感觉就是首先装Librealsense感觉没用到代理,第二个装vision_to_mavros需要交换内存,当然你装完librealsense之后不重启继续装 vision_to_mavros就OK了。还有realsense-ros通过源码编译的方式安装我这似乎有些问题,目前没有解决,最后通过apt二进制方式安装的,可以安装成。

现在是8月19日晚上九点半

我现在来调飞控的一些参数,根据APM官方手册是

我看有重置默认值选项

我第一个修改这个

直接双击那个数字就可以修改,然后点右侧的写入参数

修改后

这个原本就是0 ,不用改

再告诉一个省力地方,最后三个参数,其实你搜COMPASS_USE时就三个都一次性搜出来了,可以直接三个都改了不用搜三次,上面我是为了严谨所以弄成三次截图修改,

注意是在哪里找到这些参数,然后在右边搜索下面方框粘贴上参数名称它就会自动搜索出来。

这样我参数也修改完了。

下一步就是要运行起ROS那三个节点了。

本身之前做个项目的初衷是简历上没个高级点的项目看不过去,之前也是定的20号做出来。

APM官方文档说这一个launch文件可以一次性把三个节点都启动起来,我看了下它launch文件的内容,确实是的。

等我把树莓派和pixhawk连接起来,用苍穹四轴给的先,pixhawk接telem2口,中间是一个USB转TTL模块,树莓派是普通的USB口 ,再

用那个launch文件一次性启动三个节点,然后通过地面站看看飞控有没有实时接收到T265的位置数据,查看方法APM官方手册也说了,按ctrl+F

这三个节点只有T265地节点可以正常启动,其他两个都报错

MAVROS的 roslaunch mavros apm.launch  报错

在这个确实就之前关注的那个fcu_url,它找不到飞控,而launch文件里面默认是写的 /dev/ttyACM0 @ 57600bps 实际我飞控最后通过USB插的树莓派的那个口应该不是这个。

我实际去dev文件夹下看了下

我感觉应该是tty这几个

着似乎可以用lsusb查看对应起来,你先拔掉USB,看下lsusb,再插入那个usb,再用lsusb查看下,就直到那个多的就代表那个我的那个USB了

我接飞控的USB就是我弄成白色的那部分。

我发现直接看dev文件夹下的变化更明显,注意

比而不会找dev文件夹啊,先sudo su  再两次cd ..退到根目录下,这样才能看到dev文件夹。

多了个ttyUSB0,那我现在把命令改改试试,波特率我用他们的57600,毕竟他们也是APM,没用苍穹四轴的,可能苍穹四轴的没用ROS?后面连通了,也说明57600这个波特率是对的!

roslaunch mavros apm.launch  fcu_url:=/dev/ttyUSB0:57600

果然这回通信成功了,我可以看到USB转TTL上面的灯在狂闪说明在传输数据!!!!!!!!

参考:https://blog.csdn.net/sinat_16643223/article/details/107875576

OK,MAVROS节点的问题搞定了。

遇到这种问题还是以前的老解决方法。我也不知道ROS为什么总是这样,似乎换个用户就会这样?因为你之前装软件在其他用户下装的?

https://www.cnblogs.com/fuhang/p/9781739.html

source /opt/ros/melodic/setup.bash

现在来解决vision_to_mavros这个节点。

它是报这样的错误,我怀疑是不是我建的那个文件夹系统找不到?要添加环境变量?我试试

把那个文件夹名字改回来重新编译。

我那样弄了发现还是这样的错误。

 网上搜了下确实是因为不包含路径导致的

https://blog.csdn.net/ideallic/article/details/52778621/

https://blog.csdn.net/zhelijun/article/details/88868993

https://zhuanlan.zhihu.com/p/94971196

https://www.cnblogs.com/rjjhyj/p/11457766.html

只需要 多运行一个命令,在catkin_make折后,同一文件夹下。(但是现在又有个疑问就是有的包是通过apt安装的呢?还有每次换个终端就识别不出每次都要这么弄一遍么,感觉挺麻烦啊,我后来换个终端T265的功能包都也弄不了了。不对,我明白了,那些识别不出的其实都是通过源码编译安装的,比如librealsense,还有vision_to_mavros,也不对,我的realsense-ros是二进制安装的,ROS,没道理不知道啊。我弄错了,realsense的节点可以执行!!!!可能是我之前包名打错了,我感觉很可能是这样。我刚刚试了下是可以的,讲道理二进制安装的应该都不会出现这个问题,MAVROS节点也是不会的对吧(其实MAVROS好像是通过一个脚本安装的具体到底是哪种安装方式我也不确定)。就vision_to_mavros是源码编译安装,所以有这种问题。现在确实就vision_to_mavros这个节点的启动有些问题,是在不行你就去它文件夹下面重新source一下,麻烦点,但肯定管用。但我还是想最终解决这个问题

我知道为什么其他终端不行了,你少了这一步,

上面教程都说了,你自己没有运行这一步而已。

我最后是用 利用$ echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc新窗口也可以使用

用了这个之后需要注意,可能是我在root用户下弄的,所以你在新终端的时候也得先root,这样就可以运行vision_to_mavros了,如果不root,它依旧报错,我用 export | grep ROS 查看了下环境变量,发现非root和root的环境变量不同!!!!!这就是关键所在,可能我之前添加环境变量是在root下操作的。但现在至少其他终端可以用了。

ros的一些命令也是经常换个用户就找不到了。我最开始是通过切换用户解决的,后来是用网上的source方法解决。

再使用echo命令使得环境变量在所有命令行终端中生效。最后使用export显示当前环境变量的配置信息。)

source devel/setup.bash

我再运行那个roslaunch就没用问题了,不过我发现只在我编译过的这个终端可以,其他的终端运行还是报以前的错误。(新终端的问题已经解决见上面几行文字。)

现在应该三个节点都可以启动了,我迫不及待想试一试了!!!!!

那我就运行那个一次性能启动三个节点的命令

似乎还不行,因为的MAVROS节点的命令不是那个默认的。

三个节点都启动之后

我从地面站上可以看到飞控读取到了T265的数据!!!!!我移动T265可以看到X,Y,Z对应再变化说明是对的!!!!!!

打开地面站后按ctrl+F,就会跳出一个框,点击里面的Mavlink什么的,就可以看到下面这个白色小框框,找到VISION_POSITION_ESTIMATE,就可以实时查看T265传给无人机的位置信息了。这个APM官方手册里面有教

https://ardupilot.org/dev/docs/ros-vio-tracking-camera.html#ros-vio-tracking-camera

这是通过rostopic echo打印  /tf   和   /mavros/vision_pose/pose的数据

可以看到连接飞控和USB的USB转TTL模块红灯时亮着的其实是在快闪,代表在进行数据传输,

T265开久了也是会发热的。

我目前可以确定系统是可以跑通了的,还差试飞。

当然能弄出来我得感谢前几天发现的这个教程  https://blog.csdn.net/fcts1230/article/details/107869781

真的是前几天才发现的,不然我的realsense的安装确实没有头绪。

也熟悉了一些ROS基本命令感觉不错。

纪念一下,拍于当时实时数据传输的时候。8月20日凌晨0点多。

pixhawk上插的telem2口

三条命令

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那个方法解决,不过我发现最近这几次弄似乎这个情况没有出现了。但是你要清楚,这也是一个常见的可以称之为报错的现象。清楚解决方案。我现在补充我估计运行上面命令上百次了,没有出现错误,按照上面说的顺序一次输入命令运行没有出现异常,卡死等等的,都是一次性起起来的。

下面是为了方便复制这些命令,总共需要复制四条命令我就都放下面了方便复制

roslaunch realsense2_camera rs_t265.launch
roslaunch vision_to_mavros t265_tf_to_mavros.launch
sudo chmod a+rw /dev/ttyUSB0
roslaunch mavros apm.launch  fcu_url:=/dev/ttyUSB0:57600

当然还有些细节问题没有解决,就是换个终端,它就识别不出你这个ROS包了,很奇怪。还有它奇怪的文件结构。很多一些细节有必要弄清楚。

我刚刚把路由器也弄好了,就我那个小路由器,直接AP模式下就可以了(就是路由器一开始默认的模式,虽然说明书上说那个口是LAN口用来接外网网线的,但是确实我这么做弄成了,而且我还特意换成第二个模式,也就是网口作为WAN口,反而不行,而且说明书说了模式二电脑只能通过无线的方式连路由器,不管怎么样,模式一AP模式就可以了,就是买来可以直接用),直接网线接树莓派,就会分配给树莓派一个IP地址,这时候我电脑只需要连上这个路由器的wifi,就可以SSH远程和VNC了,VNC你不需要专门重启,你只需要把现在在用图形界面的树莓派的显示器电源拔了就可以了,然后你再远程VNC,是可以正常显示图像的。而且路由器是树莓派给供电的,感觉很完美。

这是连我的小型路由器的时候用VNC的截图。可以正常使用,流畅,不卡顿。

这是我用的路由器型号

 

T265的固定,我还是想自己弄一个3D打印件,我量了下,其实T265背面两个螺丝孔的中心的间距正好是5厘米 ,我再弄清楚螺丝孔的大小就应该OK了。我

需要打印的件又不复杂,就一个互成90度夹角的。,再加两个孔就完了。阿木那个固定T265的上面的孔的直径是3毫米。我量了下螺丝的头的直径是5毫米,螺丝有螺纹的地方直径是两毫米。直径3毫米的孔是可以的。

我量了下无人机配的螺丝,似乎都是这个规格大小,5毫米,2毫米。F450 F330板子上的孔也都是3毫米的。都是一个规格的。那我就按照这个规格去设计就好了。其实还好,他们大小都是整数毫米的,用个尺子可以清晰看出来。

现在你得想如何固定。这让我想起猛禽360 ,我感觉他们这似乎考虑得比较到位。

我还是先用阿木的固定的架子装好了先,感觉还可以

今天8月20日把树莓派装无人机上了,再把三个节点启动跑一次,发现一些新的问题

树莓派上电的时候不要插路由器网线,启动好了再插,这样才有ip地址。树莓派才有线连上路由器。



这样VNC似乎有点卡,真的后面变得好卡,我不知是树莓派卡还是网络问题?我觉得这点东西树莓派不至于卡呀。当然我之前看别人教程也说过类似问题。感觉我可能还是得靠TMUX,而且我发现VNC很狗血的一点就是不能复制自己电脑里的东西,这样命令岂不是只能手打了。


vision_to_mavros似乎非root用户还是识别不了,找不到ROS包 launch文件。root就可以了,不是终端问题了,对

,我看了下之前的解决记录,是这样的,那没问题,可能我后来忘了。

运行 roslaunch mavros apm.launch  fcu_url:=/dev/ttyUSB0:57600 这个命令发现这种报错,本来不应该的,这不是昨天的那种报错,昨天的报错是说找不到飞控FCU,我找对了驱动文件后就OK了,今天我还特地又找一遍,就是拔下USB,对比两次的dev文件夹,可以确定依旧是ttyUSB0那个文件,后来我百度一下这个错误,真的有解答,也就是下面那个,赋予它权限,我这么做之后就OK了

https://blog.csdn.net/Lin_QC/article/details/90373992

还有 我发现这篇文章本身就写得很不错。建议看看。

有个意外发现,在mission point的地图右键可以看到这些,不知是不是因为我昨天改了一些APM的参数?

还有你现在可能可以更好理解APM官方手册里面那个地面站的测试了,你看这选项里还有起飞。

https://ardupilot.org/dev/docs/ros-vio-tracking-camera.html#ros-vio-tracking-camera

同时连有线和另一个wifi时就会有两个地址。所以即使我是通过我自己那个路由器远程它也能上网。

MAVROS节点起来那个usb转ttl模块的红灯就会快闪

树莓派会自动连接家里的wifi



mission point 里面看到我无人机往上举,z是负的绝对值变大因为它的坐标系朝下

 

tmux就看下面这个教程就可以了,其实那么多命令掌握几个就OK了。注意要先运行tmux命令,进入tmux,再运行下面的,不要进入终端直接运行下面命令,终端识别不了的。

5.1 划分窗格

tmux split-window命令用来划分窗格。


# 划分上下两个窗格
$ tmux split-window

# 划分左右两个窗格
$ tmux split-window -h

为了方便复制把上面两个命令放在下面

tmux split-window
tmux split-window -h

5.2 移动光标

tmux select-pane命令用来移动光标位置。


# 光标切换到上方窗格
$ tmux select-pane -U

# 光标切换到下方窗格
$ tmux select-pane -D

# 光标切换到左边窗格
$ tmux select-pane -L

# 光标切换到右边窗格
$ tmux select-pane -R

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

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

http://www.ruanyifeng.com/blog/2019/10/tmux.html

还不错,现在全部起起来了(这似乎是今天第一次全部都跑通,继今天凌晨跑通之后不对,整个系统都通了,vnc应该也跑通过,不然之前那些错误怎么解决的,之前VNC似乎很卡,所以现在换tmux),开头几次有时候不知道什么变得很卡,甚至master节点都挂了,我多弄几次就好,可能需要反复起几次吧,或者重启。有时候有的节点莫名其妙地卡住或者si掉。那就多开几次。

但是我发现遥控器解锁不了,换其他模式也解锁不了。
 

我用遥控器解锁时地面站显示这个,我就有些不解了,compass不是全部被禁掉了么

无人机连着地面站时,解锁不了地面站会立马显示原因。这个比较好,至少你不会不知道因为什么原因解锁不了,以前你就是不知道。
 

我细看了下APM的原版教程,就我发现不是官方手册里的,而是官方手册参考的,我发现官方手册里还有几APM的参数修改没有写进去。下面这是原版教程的,

https://discuss.ardupilot.org/t/integration-of-ardupilot-and-vio-tracking-camera-part-2-complete-installation-and-indoor-non-gps-flights/43405

# For EKF2                                   

AHRS_EKF_TYPE = 2                            

EK2_ENABLE = 1                            

EK3_ENABLE = 0                             

EK2_GPS_TYPE = 3                        

EK2_POSNE_M_NSE = 0.1            

EK2_VELD_M_NSE = 0.1             

EK2_VELNE_M_NSE = 0.1                     

# Similar for both EKFs

BRD_RTC_TYPES = 2

GPS_TYPE = 0

COMPASS_USE = 0

COMPASS_USE2 = 0

COMPASS_USE3 = 0

SERIAL5_BAUD = 921 (the serial port used to connect to Raspberry Pi)

SERIAL5_PROTOCOL = 1

SYSID_MYGCS = 1 (to accept control from mavros)

下面这几个是APM官方手册里面少了的,我决定把这些也改改。

我忽然发现这个是修改波特率的,它现在的是57  对应波特率是57600,正是我之前用的,现在要修改成921,对应波特率是921600,这也是苍穹四轴让我改成的波特率!!!!那我MVROS节点启动时命令里面的波特率也得改改了!!!!其实57600的波特率之前通信也OK呀。

我又暂时改回来了,因为我发现还是波特率卫57600时数据能正常传给飞控,地面站上看得到。

这个我很好奇要改为1么?似乎都没有1的选项?算了先改吧,不行再改回来。

似乎修改完后pixhawk可能需要重启才能生效,因为我刚刚直接运行起树莓派,MVAROS通信发现还是波特率57600飞控收到消息,921600飞控反而没有显示有消息,说明波特率没有改过来,那我重启试试

可是目前解锁依旧是报compass not healthy的错误。

当然至少是跑通的,再截图记录一下。

自己反复弄几次之后tmux也渐渐用得熟练了,真的是反复折腾,反复跑起来。用多了,就非常熟练,这也让我想起, 你记不住一个东西很可能是用得不多,你反复做题也是一种用,就是一种东西倒逼你反复输出,你就自然非常熟练了。英语说多了。无人机反复组装多了,用一个东西用多了,C++用多了。反复用反复用。 就想OZO你反复组装起来,反复拆,真的自然熟练了。一些

东西倒逼着你反复去用,你自然非常熟练了。你做了很多题,那种方法用了很多次,自然非常熟练了。你写代码写了很多次,也可以非常熟练。可惜你用得不多啊。反复的次数不够。

这样学东西就自然有感觉,就像恋词反复听了很多次一样。

你明显感觉到自己学到了东西自己在进步,不能单纯就靠看书理解,还需要反复。真的!!!!!倒逼自己反复输出。

对一个东西不光是会,而且要达到十分熟练,这种感觉就很不错,十分熟练的感觉很不错。

我想开启一个compass试试,也就是飞控自带的那个,看看是否还不能解锁。

https://discuss.ardupilot.org/t/integration-of-ardupilot-and-vio-tracking-camera-part-5-camera-position-offsets-compensation-scale-calibration-and-compass-north-alignment-beta/44984

但是参数表里面没有COMPASS_ENABILE,我看了下之前修改的一个是MAG_ENALBIE

那我就先把这个改回为1

这里设置好后这里也有显示,它会自动给你打勾。

重启飞控后它会提醒你罗盘没有校准

可以 看到calibration就是校准的意思。

校准罗盘后重启飞控连接地面站就没有报罗盘相关错误了,我现在再开启树莓派试试。

今天一次性起来了

还有我今天启动MAVROS节点的时候看到了这两个消息,终端打印出来了,红色的,很亮眼,而且地面站

语音也会报这两个!!!!!!

不过解锁报这样的错误。High GPS hdop

但我刚刚切到定高模式解锁成功!!!!!!!

真的和以前相比应该就是多开了一个compass,避免compass的报错,这样可以解锁!!!!!!(有一些和APM官方手册不一样的地方,一个是波特率是57600,一个是开一个COMPASS。

High GPS hdop这个的报错似乎还好,而且好像现在没报了,我调到定高模式就没报这个错误了。调回定点模式就会报这个错误。

http://bbs.5imx.com/forum.php?mod=viewthread&tid=913949&_dsign=17c805fb&_dsign=f5f4b01b

我感觉我是不是可以先定高模式解锁再切回定点模式起飞?

定高模式下,包括定高模式解锁,飞控上的那个大的指示灯都是在蓝灯慢闪,我定高模式解锁后切到定点模式,依旧是蓝灯慢闪。

看来high GPS HDOP  是在说我水平精度不够。小心你强行定点起飞结果实际还是定高。

https://www.moz8.com/forum.php?mod=viewthread&tid=141139

我估计HDOP是飞控里面有个值可以自己设定,搜了下果然是的,是不是可以自己设低一点。好让它可以解锁定点飞,而且它报的是精度低,又不是没信号。

http://bbs.5imx.com/forum.php?mod=viewthread&tid=913949&_dsign=17c805fb&_dsign=f5f4b01b

那我现在来尝试修改一下这个HDOP的值,看看能不能定点模式下解锁。

我先改为250 试试。

我改到900 都还是解锁不了,而且最大只能900,目前是900

我还擅自把AHRS_GPS_USE从1改为0了

http://www.paopaola.com/m/news/notice/3571899352.html

似乎可以关掉GPS自检

https://tieba.baidu.com/p/3770694012?red_tag=2331738892

https://www.moz8.com/forum.php?mod=viewthread&tid=60516

地面站搜了下确实是有的,可以设置自检项目,我这里默认是设置的全部检查。其实感觉这里我也可以把compass关了。不过没有罗盘怎么维持方向?

你要修改的话它会让你选择,你就不用自己手动加了。我忽然想起来之前装光流模块似乎也要选这些。

确实关掉GPS自检后,定点模式下就可以解锁了!!!!!!而且我现在可以确认,上面这修改的就是我装光流时权盛让我修改的地方,看来他们也是得关掉一些自检才行,我关掉GPS的自检应该是可以的,那里显示GPS精度不够我感觉应该和我T265输出的位置数据无关,应该是它自检GPS发现GPS的数据有问题报的。

那我把上面修改的一些GPS的东西改回去,应该只需要关掉GPS自检就可以了。

HDOP的值改回140

擅自改的AHRS_GPS_USE重新改回1

现在可以确认,这两个参数改回去之后,无人机依旧可以定点解锁,所以关键还是关掉那个GPS自检,所以他们那种有的先定高解锁,再切回定点起飞是有道理的,和我这本质一样,绕过一个自检罢了。没必要卡在自检那里。

我把家里wifi断电,开我那个小路由器wifi,树莓派会自动连上我那个小wifi

我想我手机wifi开的话它应该也会自动连,如果没有其他wifi

看来我不需要插一根网线。
插网线有时候还没有地址,没有连上。

看来现在树莓派已经很棒了,有wifi模块而且和普通电脑一样自动搜索连接wifi。

幸亏我实际看了下T265的图像,因为树莓派Ubuntu上的realsense viewer它识别不到T265,所以我是在windows的realsense viewer查看的,还可以发现,T265和小觅还有Opencv一样都是用的黑白图像!

T265的广角还是很厉害的,球面摄像头,都几乎快180度了,我之前还想把摄像头往里好固定一点,你稍微往里挪一点它上面的板子都能拍到!!!!!!就算我挪

到板子边缘它依旧是可以拍到防护栏的。这也正常它的视野几乎达到180度。不知防护栏那里会不会对它造成干扰。

这里可以看到我稍微往里挪一点这上面的板子都能拍到,它的视野几乎180度!!!!!!!!!

我感觉T265是可以再往前装一下,我可以把那个板子竖着放是对的。就先

不要追求什么美观了。

我现在清楚猛禽360的挂载板为什么那么设计了,那么多空条可能就是能够匹配不同间距的螺丝固定,我感觉阿木那个T265的架子搞不好有可能在它这上面固定住。

还有装T265的时候倾角有影响么,怎么判断位置坐标变化是对的,而不是负的。对了,开compass是不是有个好处就是不用像小觅那样每次起飞机头只能朝一个方向?

我T265的固定要么就和APM官方手册教程的图里面一样应该没错吧?

这是朝向的什么方向?机头方向么?我觉得应该是机头,朝其他方向说不过去啊。

首先从这个图片判断要么是机头要么是机尾,因为它和pixhawk的朝向一样嘛,

我现在知道为什么在PX4的官方手册里面,T265默认是朝下安装的,因为T265的坐标系,Z轴是摄像头背面那个方向,摄像头朝下放,就正好Z轴朝上了。

https://discuss.ardupilot.org/t/integration-of-ardupilot-and-vio-tracking-camera-part-2-complete-installation-and-indoor-non-gps-flights/43405

我关心的问题这里有说,vision_to_mavros的默认参数是设置给摄像头朝前放的情况。如果摄像头不这么放需要调整里面的参数。

似乎也说了摄像头朝下时需要注意的,好像时让你有一定倾角?

https://discuss.ardupilot.org/t/integration-of-ardupilot-and-vio-tracking-camera-part-2-complete-installation-and-indoor-non-gps-flights/43405

我的地面站也是显示的30Hz

https://discuss.ardupilot.org/t/integration-of-ardupilot-and-vio-tracking-camera-part-2-complete-installation-and-indoor-non-gps-flights/43405

我发现在地面站设置set EKF home是有用的 ,APM手册参考教程里面的地面站测试有用,我们不需要真的去飞,就拿着无人机走,看地面站上的轨迹是不是和真实的轨迹一样,就要应该至少可以判断出比如坐标系转换对不对等等的

vehicle是交通工具的意思,应该就是指无人机,标蓝色的那句意思就是拿起无人机,移动然后观看地面站上的无人机轨迹。我觉得这步是非常有必要的。这个轨迹至少可以看出X,Y的方向对不对,X,Y的方向对了,Z的应该也错不了,一个确定了XY,这个坐标系就定了。对于NED而言。

ZN无人机第一期课程里面有判断方法,不过那好像是PX4固件,QGC地面站,MP地面站似乎没找到图形的表示的方法。MP上这种直接看轨迹感觉也可以。

我现在可以明确肯定它的地面站测试也就是ground test就是叫你拿着无人机走看地面站的轨迹,不是叫你无人机飞,我今天仔细看了下无人机官方手册,就是这个意思!!!!!!!!所以先弄地面站测试,再去飞。

https://ardupilot.org/dev/docs/ros-vio-tracking-camera.html#ros-vio-tracking-camera

看地面站下面这个的数据,我实际无人机往机头方向移,x变大,往左方向移动y变大,往下移动z变大,符合NED坐标系。上北下南左西右东,北东地就是前左下,正确

我找到了新的T265的固定方式,我之前买的铜柱起到了作用,也是无意中想到的,当然本身正好桌子上也放着一包铜柱

然后3M胶这里很好得起到了固定铜柱并且减震的作用,用的3毫米厚的3M胶,我在T265和板子之间也隔了一层3M胶,以方便是怕无人机震动时把T265背面刮花了,另一个,也正好能粘一下T265,怕T265松动往外。我用到的这些工具都是最基础的工具,板子也是F330的下层板。

可能我太急于想快点飞起来了,而阿木的那个T265 的固定件我现在没有太好的方法固定到机架上,没想到想出了这么个办法。

 

刚刚又弄了一遍,做地面站测试,感觉整个启动流程很快很顺畅了。感觉你先把那两个会报错的节点,一个先sudo su,另一个先给那个文件赋予权限,不让这些节点运行中报错,最近这两次,这些节点都是一次性运行起来,然后没有任何卡死什么的,然后地面站数据都是直接读取了,直接就通了,我都不需要去检查什么/tf消息什么的,整个流程很快了。

下面时地面站测试情况,也是OK的,我先右键点一个地方设置EKF home点,然后去移动无人机,我先朝机头方向移动一段距离再移动回来,然后把无人机往左一段距离再移动回来,地面站显示的轨迹是如此,我机头是朝北方向的,那跟

黑线就是北,可能因为我再房间里有点偏差,但是根据这个是可以判断出哪个是机头,这样看的话我的轨迹方向是正确的。

现在是8月21日下午,真的是每天都有一些新进展。

是的,我也感觉,要弄一个东西,就得真正实际动手弄,而不是完完全全把所有原理都弄清楚了才开始动手,就是在实践中边弄懂这样,比较好,这样才是理论和实际结合起来。你实际做会发现官方教程也还不够,出了一些Bug你也得自己实际去找解决办法。在边做中总结提升,就像玩无人机,你连无人机都没有真正飞起来过,这样说不过去,虽然你似乎无人机控制原理看了很多书。考研也是,不要光在那看书不看考研真题。准备找工作也是,不要光在那看书不去真正找真正面试。需要在实践中打磨提升。那样你才能真正做成一个东西,同时也学到了东西。而不是学了东西,却没有做成事情,没做出东西。这也应该是考研给你的一个非常大的教训,你还前期看一大堆哲学,你要考研就真正去做去考。你要找工作就真正去找。考研就是在告诉你要唯物地做成事情。不要做梦,不要想当然。

我发现y有时候有比较大的跳变,有时候又很正常,注意起飞前观察下,xyz的值比较稳定了再起飞。
这是比较稳定的时候,我上电后就没动,所以应该是在0附近。

经过我的实际移动无人机可以发现,这xyz的数据单位是米,那么之前y在跳变时是几米几米地跳变,甚至7,8米,我开始还以为是几厘米,现在发现这数据单位数米,这显然不正常了,注意了,起飞前一定检查下,跳变大宁可重启重开。(后来知道你只需要转动一下无人机就好)

还有我发现很不错的一点,我把无人机的机头转90度后再移动,它的XYZ的坐标系不变的,不是跟着你机头变的!!!,原来我向前是X变大,我现在机头顺时针转90度,那我无人机往左移是X变大,而不是往机头方向移动,这个它判断地出来你转向了,不知是靠的摄像头还是靠的罗盘,反正感觉很棒。

确实只能用450来弄,你用330,放不下那么多东西,空间很有限,你还得把线收起来不让桨叶打到。

之前USB线连飞控,地面站这里波特率是115200

现在通过数传连飞控,这里波特率要改为57600,本身数传接飞控是telem1端口,我树莓派接telem2口波特率也是57600

刚刚试飞了下,刚起来就往一边飘(左边),不知是不是我初始位置就没有摆平?因为我那个地面就是有点向左倾斜。还有就是现在脚架高了之后降落很不稳,非常不稳。

刚开始实践受挫我感觉很正常,要是第一次飞就飞得很好我反而可能还奇怪,就算pixhawk你第一次不也是飞得不行么。再多飞几次应该能看出规律进而解决问题。

事情真正去做确实没有那么容易。

值得欣慰的是经过刚才这么剧烈的翻车,我的T265依旧完好无损,固定的看来还可以。

我感觉找工作也得早点去找,我估计刚开始也是会很严重碰壁。

初次试飞一定要去空旷的地方飞,这样它飘一飘叶无所谓,你也不急于去控制,其实我细看视频,第一次飞,起来还是很稳的,后来翻是因为我让它往后飞的时候脚碰到了地面而已,正常情况下应该不会,你飞高一点也应该不会。

放几张室外的照片。

 

刚开启的时候可能从地面站看到位置数据XYZ跳变比较大,可能几米地跳变,把无人机转九十度再转回来就好了。位置信息就比较稳定了。这也正常啊,刚开始单靠双目,你动一下无人机后融合IMU,自然这个深度或者距离信息准确些。怪不得ZN无人机用小觅刚开始的时候也是要用手晃一晃,完成初始化。

自己亲自做的,根据现象总结出来的,就知其所以然,之前ZN无人机课程之际而告诉你要晃一晃,你就不知道为什么,只知道死记。
这样自己一步步做出来,而不是直接买别人现成的,感觉挺好。我也一直有一个遗憾没有自己亲自做个无人机,从软件上自己调,这确实是不自己做不行的。

怪不得阿木用数据线连着,怪不得,我这现象很明显,数传连,几hz或者没有数据,立马换usb还是同一个系统,,那个vision pose立马恢复成30hz了。这不是系统问题,就是传输,我之前以为数传插telem1口有影响,现在我插着telem1口用usb线传30hz没影响,用数传本应该再地面站看到30Hz的位置数据,结果实际只有0.几Hz甚至0hz,而且刚连上地面站的时候传输飞控数据给地面站也很慢,就那个连接过程也很慢。可能真的无线传输太水了,能传的数据量有限,单位时间内。像那个30HZ的位置数据它就传不过来了,你本身传不过来,那边又30Hz地发,可能就这样卡住了,没传的数据越堆越多。我问了苍穹四轴他也承认数传要慢些。

怪不得已经多次看到阿木室外飞的时候无人机连着线,之前阿木那个靠激光雷达定位的室外飞的视频也是连着线的

https://amovlab.com/videos/SQfRYHGW.html

我刚刚看阿木的wiki,发现他们用wifi数传,是不是这样就会好些?

https://amov-wiki.readthedocs.io/zh_CN/latest/docs/%E8%87%AA%E4%B8%BB%E9%A3%9E%E8%A1%8C%E4%B9%8B%E5%85%A5%E9%97%A8.html#id2

今天飞了三次,一次室外,两次室内。确实

不能在室内飞

它每次起飞都是往左边飞,我怀疑它没有定点,而是定高。

而且每次降落都有问题。高脚架确实降落不稳。总之实际飞很多问题。

可以把无人机底盘弄大点,用更长的棍子,或者把那么重得电池放下面,重心下移。


看着别人都飞得很稳,真正自己去做真的不容易。

明天去外面飞,去空旷的地点飞,然后记得看得情况不对劲立马切定高。这个你一直不记得。

我要不要把compass也关了。同时自检也跳过compass,它本身不是报错compass冲突么。我明白它之前为什么报compass nor healthy了,你把compass都禁用了,但是自检项目里还有,肯定这样报啊,gps的报错不是一个道理么。本身官方教程里就是关掉compass的

我先把这两个值改回去。至少APM官方文档是让关掉compass的

然后,我把检查自检项目的compass去掉了。

之前它的值是4086,我忘记截图了。

上面的我修改完之后重启飞控,发现还是会报compass not healthy的错误,尽管我已经关掉了compass的自检

不对我重新查参数表发现这项没有改成,我可能当时忘记点写入参数了..

真正看有没有修改成功可以看这里。

我现在把compass的自检关了,而且还特意把飞控重启了,发现依旧报这个错误,定高,定点都不能解锁,看来compass是必须的啊。

那我现在再改回来

设置回来后又校准一遍罗盘。

改回来之后定高定点都能直接解锁了。

那我大体总结一下APM需要改的地方,标红的地方是和官方教程里不同或者官方教程里没有的,我自己折腾出来了,确实有用的。

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

用了猛禽360的挂载板之后,把阿木的T265的架子固定上去了

我感觉猛禽360 的这个挂载板设计的真的好!

T265的线需要绑好,免得线的抖动引起T265的抖动,而且千万不要把线绑在机臂上,机臂是无人机震动最大的地方!!!!!本身电机,浆是无人机震动的来源,这个再起飞的时候看得很明显,机臂很快地震动,所以不要把T265的线绑在机臂上,然后主语T265的线虽然很硬,但是它像金属一样有可塑性,你可以用力把它折成一个形状它不会变形。所以不要怕不敢对线用力。

8月23日下午一点多

今天飞成了简直太牛逼了,首先我选在空旷地,我也把阿木的减震放上去了,后期还是定得很好的!虽然最开始有点转圈。

定点模式起飞的。罗盘开着,用飞控自带罗盘。

我今天无人机的浆还有两个是昨天摔的又点瑕疵的浆,因为浆的数量不够换的。

注意一定要在地面站看它数据稳了再开始起飞,本来飞机拿起来转一下机OK,今天可以放在太阳底下,拿起来转一下,XY的数据稳定了,但是Z的还在跳动,于是我又把无人机拿高一下再放下,这样XYZ的数据就都稳下来了,没有发生很大的跳变。

可能刚开始是会有点飘是正常的,只是我昨天选的场地选小了。它飘一点你就立马去控制,选择场地大点的,先飘飘没事。其实昨天几次飞刚起飞是挺稳的,说明T265 的数据是有效的。

从16号开始做到今天23号真正飞成,一个星期。昨天还在感叹很难。

放上第一次成功飞完刚拍的照片!!!!!!功臣机!!!!!!

飞完后我在那连喊,太牛逼了,真的太牛逼了,确实昨天炸那么多次,我都不太相信它今天能不摔。真的真正亲眼看见它定起来,拿着感觉,真的,说不上震撼但也是Impressive,接连感叹太牛逼了。

看来就算视野里有防护栏等等也没问题。下次等它定住了,试试人在它前面走如何。

刚刚拧螺丝的时候发现,飞了一次之后,T265后面的两个螺丝确实会松一点,所以每次飞之前记得把T265的螺丝再拧一拧。

有一次解锁蹦出一下错误,本身第一次定点解锁成了的,第二次就蹦出这个错误解锁不了了,没有断电,一样的系统,就第二次拨遥控器。

https://bbs.amovlab.com/forum.php?mod=viewthread&tid=541

实在不行我就把自检选项里的log选项去掉

我把SD卡重新拔插一遍,无人机重启一遍,OK了。

今天下午第二次飞,可以感受到转圈一直在继续,然后落地后浆还会转一会,容易不稳。我需要加大底盘。

有一点干扰就转圈,有风时更明显。

甚至现在想手动调整回定点都不容易调(而且你调整幅度大了搞不好还起副作用),是的,最好还是它一开始能保持住定点最好。我下午试了两次都没有很好地调整它定点。要不要控制不住地时候先切定高,定好了再切回定点?这样试试,如果它转圈你控制不住了,你就先切回定高,这样好控制些,定高稳下来再切回定点,或者先定高起飞,空中飞稳了,再切成定点。

或者以后降落时先切成定高再降落?

看来没有那么顺利的事情,还得多磨磨。

它转圈从很小到越来越大,是不是因为误差积累?

我觉得转圈是不是因为无人机响应速度过慢了,有些参数需要调调,控制参数。当初改参数的时候有没有改控制参数。

我感觉可能起飞有一点点干扰它先开始是晃一下,然后就发散了可能,视频里看得很清楚,最开始是晃了一下,晃了一下之后就是可能幅度变大,然后就是转圈。有一点干扰可能就会被慢慢放大,除非晃动幅度在一定范围内它可以定得很好。超过一定幅度它可能就控制不过来了,就出现了螺旋线。发散了。也可能是T265在大晃动下,那个图像处理不过来,位置信息处理不过来?导致控制不过来?
或者震动导致T265的数据发散?

是的,它要是控制得回来就应该定点,主要是它开始绕圈后想回到定点回去了!!!!它一直想回去但能做的只是绕圈

正常定点,你必须再很小的偏移就做出调整,改变姿态什么的,顶多再那个点摇晃,你超过那个度,就回不去那个点了,而你又是定点模式,你那时所能做得最好的,估计就是绕圈了

现在比较好理解它的这个飞行的情况了,他一直没有控制住在一点点发散,首先是一点点的晃动进而转到更大的晃动,晃动大到回不去那个点的时候就不得不开始转圈了,

你需要手动先把无人机控制在一个合理的幅度,然后再让它自己定住。主要是倾斜幅度和晃动幅度,一个是倾斜变小,一个是晃动变小。单倾斜不晃动就是转圈嘛,这也是为什么它转圈后难以调回来的原因,你不管怎么调它都有一定的幅度。你不可能靠它自己主动稳定,只能自己先把土壤及跳到一个稳定的范围它才能自己主动稳定。超过那个范围,无人机也在自己调,但是调不过来,误差越来越大,幅度超过了它能调节的能力范围。但是我看阿木他们挺稳的啊,大机动都没事。

明天它再转圈你就切回定高,本身APM官方手册也说了,随时切回定高或者自稳。

https://ardupilot.org/dev/docs/ros-vio-tracking-camera.html#ros-vio-tracking-camera

这里面明确说了让你先定高模式起飞,觉得OK,再切到定点(应该是飞行过程当中),并随时准备切回定高或者自稳,真正定点起飞是最最后说你觉得很自信了,再定点起飞,前面说的是先定高起飞。

https://discuss.ardupilot.org/t/integration-of-ardupilot-and-vio-tracking-camera-part-2-complete-installation-and-indoor-non-gps-flights/43405

然后就是明天要不要离墙近一点,特征点明显一些?
 


 

大概飞一分多钟两分钟就从4.05v的点电到3.8几伏了,耗电比单纯的无人机要狠一些。

我这种算刷锅么?是因为罗盘的原因?

我这可能不算刷锅,刷锅似乎机头应该对着圆心。而我机头方向没有变。

无人机在转圈说明它清楚它的位置清楚圆心。为什么在转圈而没有定点,而且圈越来越大,是因为响应速度慢了么?

https://www.zhihu.com/question/304145791/answer/550457680

https://zhidao.baidu.com/question/1950055383270556068.html

8月25日

我树莓派上面又加了一层板子,防止它翻车,砸到树莓派

今天切定高试了下发现定高模式也不稳,只不过说不转圈了,定高模式也容易上下串,稳不下来,那种想先切定高再切回定点我觉得不太可取。

今天有进步得一点就是我发现把无人机移动得离墙近一点再起飞,起飞起来就稳得多,就算后面又转圈也好控制些,可以可能离控制得比较稳,墙近些特征点明显一些。是的,今天最后两次飞确实比以前要好些,当然除开第一次。

是的,我之前为了追求平点得地面所以把它移到院子重心,远离了墙,其实还好,那点倾斜度没什么。

因为估计它摄像头是球面的,估计天空都拍的到,是搞不好得离墙近一点。

今天飞得最好的一次的视频我放到B站上,我是我一次尝试把无人机放到离墙近一点的。

https://www.bilibili.com/video/BV1o54y1e77o

还有降落依旧会可能不稳,我强烈建议加大底盘。

8月28日

我把电池下移,然后换个那个电机,也就是左下角那个

换了电机之后没有出现以起飞就翻车说明前两次翻车是因为那个电机的问题。而不是电调等等什么的

meybe电池下移比以前稳一点,但是可能没有根本解决问题,但总体确实是比以前稳些。

最后我怀疑是电不够了,电机力气不够,导致感觉有两个电机没有力气,最后摔了,那时已经飞了四分多钟了,因为我这无人机可能已经比较重了,可能接近电机的极限了。我看电池它那个时候是3.8V左右,有的是3.7几V

我在想也没有必要换拉力更强的电机。或者直接买阿木的动力套装是否好点?

电机转速是和电压相关的

用MP查看这种用T265飞的飞行日志的时候,注意底下这个 use time不要勾,否者数据都被压成一条直线了,可能因为没有连GPS所以飞控是不知道时间的!!!

有没有能从地面站看到定点时拉力达到百分之多少的方法。

至少有一点,就是它转圈厚我用遥控器调回来比以前好调一些,以前它转圈后你想把它调得定下来似乎是不容易的,不过好像我之前把无人机移动得离墙近一点后调起来也好调。但是确实调整电池位置之后,相比于之前还是好稳一些,机械设计也很重要,阿木的无人机机架那么设计应该是合理的。确实有必要把重心拉低。

还有这次我很欣慰一点就是,有风,它出现比较大的摆动,但是位置没变,说明这回控制住了,而没有说发散圈子螺旋线转圈。

说明确实比以前有进步的。

还有我是不是有必要给无人机减重,说明路由器就别放上去了。我感觉搞不好真的是我动力系统的问题,不是什么软件的问题,我那电机转速可能都逼近极限了,调整姿态都不好调整或者调不过来,因为再增加转速可能很难,调不过来,所以就发散螺旋线转圈,搞不好真的是电机问题。动力配置问题。或者是PID参数需要调调?让它反应调节速度加快?是的,要么我先试试调节参数。去学学怎么调参的,APM。

我之前真的是什么都往无人机上堆,觉得这点重量没什么,没想到真的可能已经超过了它的最大起飞重量。看来无人机减重真的很重要。

不要在旁晚的时候飞,哪怕看着天还亮,但是没有中午那么亮了。

做SLAM无人机可以深深感受到,很多东西说着容易,做起来真不容易,你得真正做出来,唯物地实现。从这个标准看,真的不容易,虽然网上有些教程,别人也有实现的视频,自己真正做,各种问题都有。当初做异常检测可能也是这种感觉,论文一堆,但是真正能落地的很少, 我估计找工作也实际不容易,没你想的那么轻松和简单,做好准备,实际做起来确实不容易。

我现在还没加TX2呢,加TX2更重,所以目前的动力配置肯定不行。要么买阿木的机架,或者我看看猛禽360是否可行。

GAAS用的电机是这种,阿木似乎也是这个牌子的电机。阿木的是 T MOTOR AIR 450,似乎更强。

还有这种电机是自锁浆,你不用再每次拧那些浆拧得手疼。

北力电子得那个SLAM无人机也是用的T MOTOR,而且似乎就是用的猛禽360的套装

大家基本都用的T MOTOR电机

https://blog.csdn.net/sinat_16643223/article/details/106978550

这种最大起飞重量可以达到两千克。

8月29日

买的称到了

看来我的无人机这样就有1.8公斤了,这还是我去掉了路由器等等的。确实对于最大起飞重量而言超重了

确实放在床上称只有1.2,一放到硬地板上就变成1.7

我把包装所料拿掉并放置于完全水平地面,1.8

现在可以很明确我这无人机肯定过载了,很危险了,已经超出电机极限了,我需要更换电机了。
 

我原本F450这个电机配置最大起飞重量苍穹四轴告诉我是1.5千克,我这已经超过很多了!!!!!!

我应该去买他们最大起飞重量是2kg的电机了。

现在想想也怪不得有一个电机起飞时起不来,估计不堪重负了,也怪不得第二次定得很好的时候电机似乎没力了整个很快摔下来,几乎是掉下来这样。

今天买的塑料棒到了,一米长,绑在无人机脚架上,确实成功止住了无人机降落时落地的时候可能的侧翻!!!!!

 

8月31日 

我装上了权盛最大起飞重量2kg的电机,实际飞的情况来看,并没有改善,似乎还飘得更快更厉害了 ,遥控器都不好控制了,说明可能不是这个原因,不是电机的原因。我现在倒是想用acfly去做了,至少ACFLY不会炸机安全些。

视频我放在B站了。

再飞还是一样的,是不是电机震动变大了,导致的。
我感觉也可能是因为桨叶震动变大导致的。它这桨叶更软。是不是换成硬点的桨叶会好些。

是的,这样变坏了是不是反过来就会变好?

我已经被折腾得没力了,之前飞进臭水沟现在飞进地沟油
 

我现在真的有点想放弃了,付出投入那么多,没有什么结果。

连原因也分析不出,你不会看日志,不会仿真,只能任由它摔。

用别人的教程是很爽,但是出了问题也解决不了。

是不是现在这个电机起飞时不抖了?

实际做出来是真的不容易。

似乎有了新的思路

是不是因为我摄像头偏了一点,我摄像头确实是往一个方向偏了些,就不是向着正前方,朝向右边有一定倾角。你看无人机它每次飘都是先往左边飘然后开始转圈,没错,找找这个问题,为什么是先由左边。

是否就是摄像头的IMU和飞控的IMU有一定倾角造成的!!!!!是否摄像头也会输出你转了多少角度!!!!!对!!!!yaw就是偏航,摄像头输出到飞控的数据里就包括偏航!!!!!!!!!!!不光

包括偏航角,三个角度都包含!!!!!!!讲道理无人机不用罗盘也可以确定方向。是可以不启动罗盘的!!!!!可能就是阿木的那种设计有影响。可能还不如我之前那种T265的固定方式。

也就造成T265的坐标系和飞控坐标系有一定偏角,那它坐标系转换肯定会造成误差,这种误差积累造成转圈。阿木的那种减震设计可能帮倒忙,你看ZN无人机第一期用小觅,哪里减震,APM官方手册参考教程T265的固定方式哪里有减震,还有TB上一些做T265无人机的,他们也没有看到减震啊 。

对,我想起来了,我应该按照NED,这样来,东北天,北东地,ENU   NED  摄像头的坐标系是东北天,X轴应该指向东,你本身罗盘又开着,

那程序转换都是一个标准,我觉得而起飞朝向应该是定下来的,不能随便摆!!!!!不然乱了!!!!!无人机有没有朝北你应该看地面站。

举个例子,你每次无人机朝西起飞的,无人机实际往左边(南边)偏了1cm,经过坐标变换后,到无人机的坐标系上就是往西边偏了一厘米,那么无人机做控制发出指令就要无人机往东边飞,那无人机实际就是往东南方向飞了。果然,转圈开始了!!!!!!你用遥控器把它调稳可能只是偶然,它转圈是必然!!!!!!它经常就是稳在转圈。

https://www.bilibili.com/video/BV15K411M7Po

我们接着分析,如果无人机往东边偏了一厘米,坐标系变换到飞控上就是往南边飞了一厘米,做出控制就是往北飞,所以实际是东北飞,果然又是转圈!!!!!!

你下次飞无人机摄像头就朝北边,看它还转圈不!!!

我可以推测,如果你无人机朝南边起飞,可能真的就是失控了,转圈都不会,你实际往北边偏了1厘米,转换成飞控坐标系里面就是飞控认为你往南边飞了一厘米。那就控制无人机往北飞,那就是加速往北啊!!!!!!!我怀疑我的无人机出现快速往一个方向猛冲可能就是这个原因。

而且可以推测无人机飞的过程中不能改变机头方向,不然也可能失控(应该只需要上电的时候摄像头朝向北就可以了,后面再转动无人机摄像头它可以判断出你转动了,只要你上电时摄像头朝向是正北后面转动无人机再移动无人机我看了坐标系解析是对的,应该是T265它自己也判断得出你的转动)

无人机往左边飞可能实际是无人机坐标系往

没错,就是这个意思,智能无人机课程里说的,这个,应该就是我上面理解的我也说了,他们的坐标系转换已经固定死了,你不可能说每次起飞朝向都不一样,还有这个可以确定一点就是ZN无人机课程里面应该也是用了罗盘的!!!!没有禁用罗盘!!!!!!!!!和我现在一样,所以无人机的坐标系是和真实世界坐标系一样的!!!!,北就是北,东就是东。APM官方教程里应该是禁用了罗盘所以可以任意方向起飞,至少它文档里没有说你必须朝北起飞。

智能无人机课程里说没有做罗盘融合,不是他懒,其实不光他没做,APM官方文档都没做,坐标系变换都是固定死了的

https://blog.csdn.net/sinat_16643223/article/details/107752662

还有你之前不是在地面站做过那个移动无人机看地面站轨迹,你发现方向都是对的,那时因为你平时在你房间放无人机的时候方向就是朝北的!!!!!!!你一直那么放的!!!!!!,这样当然错不了!!!!!!你下次朝西边放再去移动无人机你看看地面站轨迹,是不是就错了!!!!!!!

解锁报compass variase的错误搞不好是有道理的。

https://discuss.ardupilot.org/t/integration-of-ardupilot-and-vio-tracking-camera-part-5-camera-position-offsets-compensation-scale-calibration-and-compass-north-alignment-beta/44984

我来做个测试记录,无人机朝西上电,这样我往东边移动无人机,地面站看到的位置数据X变小为负,应该是y变大才是,无人机往北移动,y变大为,应该是x变大才是,Z没错,向上为负这样似,也就是xy乱了。无人机北东地坐标系。

也就造成本来无人机往南边飞,地面站的数据会是y变小,无人机会理解成向西飞。都顺着转90度了,你上电摄像头朝向和北边逆时针转了九十度,那么你实际往南飞,南顺时针转九十度就是西边!!!!!!后面所有的都差90这样子!!!!!

我改为朝北上电启动之后就OK了,是的,我向东移动无人机,地面站上看到是y变大,往南移动无人机,地面站上看到是x变小,为负,符合北东地坐标系。

还有我发现你上电后再转动无人机移动是没有关系的,关键是上电那一瞬间的方向,t265能够判断出你的转动,你后面再把无人机朝其他方向,往东移动无人机依旧会是y变大
 

果然朝北上电之后,我于2020年9月1日下午实现了APMT265定点!!!!!!!!!!

飞的视频我放到B站上了

https://www.bilibili.com/video/BV15D4y1m7VV/

本来昨天还撞到地沟油去,下层板都断了让人心灰意冷,但是不甘心啊,厚着脸皮问了怒飞垂云,不然我可能还以为是机架动力问题,因为电机动力太强了,还甚至准备买阿木的,其实你就算买阿木的,方向没对准,一样转圈啊。真的有高人指点很重要。

现在我有胆子在室内飞了!!

APM默认控制参数就能飞得不错。

还有我需要多说一下我之前亲自测试过,桨的转动对T265的定位信息没有影响。

我这次无人机的动力配置是用的权盛自己的2216电机和配套的1047的桨,最大起飞重量他的这可以达到2kg,他的这个桨比较软,打到地面也不会断。

pixhawk也是后来从权盛买的pixhawk2.4.8

树莓派是3B+

电池是苍穹四轴配的,其他部件都是苍穹四轴配的F450的,当然脚架是我自己买的,我喜欢这种脚架。

固定T265用到了猛禽360的扩展板,这是个好东西。还有阿木的T265的固定支架。

附上无人机现在的照片,确实实现挺不容易的,还可以看到我用猛禽360的扩展板去固定昨天撞断的F450下层板。

先这样通过地面站确认好无人机机头,摄像头是朝北的,看地面站上的偏航。在0度或者359度左右。

本来昨天还撞到地沟油去,下层板都断了让人心灰意冷,但是不甘心啊,厚着脸皮问了怒飞垂云,不然我可能还以为是机架动力问题,因为电机动力太强了,还甚至准备买阿木的,其实你就算买阿木的,方向没对准,一样转圈啊。真的有高人指点很重要。
我是差点想放弃,想去弄acfly算了,但acfly确实也不是一时半会弄得出来,关键可能就是坚持不放弃吧,你真的想做出那个东西的话。
我终于在去北京前夕实现了,不容易啊。也算这阵子的付出没有白费。我也确实想真正做出一个东西,而不是像以前做平衡车那样,实际没有真正实现。当然中途不断地解决问题也学到了不少东西。也感谢TB上那些人卖那么贵,让我决心自己做!
 

我真的是先用了一个月差不多把pixhawk APM飞成(最后是靠换个pixhawk解决的),然后过了一个月把APM T265飞成。有些东西可能看着简单,做起来可能....
 

说明买智能无人机的课还是有用的,那里面就让你意识到了方向。其实我最开始无人机是朝北的,后来没有朝北了可能想面向近一点的墙特征点明显一些。当初如果真正朝北起来飞一次可能就好了。


我也一直坚持没买阿木的机架。坚持用F450的机架做。



还有个问题我发现偏航角最开始会一直在变这是为什么。

我现在对这个问题作回答,刚刚我做了个实验

偏航角最开始确实可能是比较快在递减或者递增,可以等一两分钟(或者更长时间),它会渐渐在一个值附近稳定下来。

这个稳定的值我发现和我手机指南针的值差不多,基本一样
 

注意

手机不要离无人机太久,不然手机的指南针可能会受到干扰,大概放在无人机边上,和无人机一个方向就行。

我还发现今天无人机朝的北方好像就是真正的北方,确实是那个斜地朝向,你第一次摆的方向朝向那个楼其实不是正北方向,所以起飞后它开始有转圈的趋势也是合理的(你仔细看第一次飞的视频会发现)。那个方向和正北差了30度。

真的只要你等的时间足够长,它会慢慢返回到那个值,哪怕最开始是20度,然后一直涨,涨到好像有76度还是什么的,过一段时间再看,它又慢慢回落到71度了,这就和手机的值一样了,它最终还是会回来,可能需要时间,meybe刚才有十分钟?

所以是不是也提醒我们无人机不要上电就立马起飞,先等它罗盘稳定下来。要是无人机飞的时候罗盘的数值是这样一直在变.....搞不好我之前有时候飞机头会发生小幅度改变就是因为这个?

还是之前什么离墙近点其实也还好,我今天飞得离墙不近,关键还是那个上电时摄像头方向。

看视频有一点点轻微得转圈,这和昨天那比起来已经好太多太多,说明关键就是角度,如果角度再准一点,应该轻微的转圈也会没有。有没有办法让无人机不用罗盘?

来一张无人机的合影

我对树莓派的镜像做了备份,我以前不知道树莓派镜像可以备份的,得感谢TB上那个人(他做了个pihawk  T265定点的),我说买软件,他说于镜像,现在明白了,树莓派可以整个镜像备份。也得亏他后来弄得贵,我没买,自己折腾出来了。

树莓派备份镜像后,我又把无人机系统跑了一遍,OK,看来备份镜像对树莓派镜像应该没有影响

具体操作见这篇博文:
https://blog.csdn.net/sinat_16643223/article/details/108346538

我已经把树莓派上当前的镜像备份了,并且上传到百度网盘了,有15G左右,我估计下次恢复需要至少16G的SD卡。

链接:https://pan.baidu.com/s/1p6SiVi3NzBHHcxAqzT6reQ
提取码:u2qe

其实想想提供镜像免得你去下载这种做法GAAS就这么弄过了,说明这么弄是可行的,免去自己再配置一遍,直接镜像烧录好几个命令就可以跑起来了。

讲道理我现在再做一个APMT265树莓派的无人机,应该可以很快,首先直接烧录我那个树莓派镜像,然后APM参数设置(这个我上面也专门总结了),然后运行那几个命令就OK了应该,我现在可以写个傻瓜式操作教程。

我在想我要改成PX4上跑,是不是直接改下MAVROS的启动命令,PX4的波特率好像也是57600,不对,PX4不是还要通过命令开启offboard模式么?

roslaunch mavros apm.launch  fcu_url:=/dev/ttyUSB0:57600

改为:roslaunch mavros px4.launch  fcu_url:=/dev/ttyUSB0:57600

https://blog.csdn.net/sinat_16643223/article/details/107875576

然后把PX4固件的那几个参数改一下就好了,PX4要改的参数比APM少得多

https://blog.csdn.net/fcts1230/article/details/107958708

我要换成up squared的板子应该只用改动一小部分就可以了,可能就是librealsense的安装有点改动,其他的应该基本不需要改。

9月3日,今天连着飞了两次,都OK,还尝试遥控器遥控它前后左右,最后都定下来了。

今天还是在太阳底下飞的,我最开始还怕太阳会有干扰,其实还好。

在有风的情况下也飞得可以。

我这次飞还是在我下层板有两次断裂地情况飞的,当然我有一定的固定方式,不过我的无人机确实已经比较惨了。今天感觉是会有一点小飘的,在室内我感觉还是有点危险,单纯定点还好,如果遥控操作的话,室内可能还是需要注意一下。你遥控它飞之后你方向杆停下来,它可能需要飘一个会儿才定下来。

直接让无人机朝向现实中的正北就可以。

飞的视频我放到B站上了。https://www.bilibili.com/video/BV1Bk4y127a8/

MD有些地方没拍好,特别是遥控器控制无人机后我想看无人机它有多飘,MD这块没怎么拍好,但可以确定的是无人机飘一下之后会自己定下来。

但是我看有的人的视频,他们遥控器控制后是可以很快定下来的。

今天可能定得比前天稳一些?meybe转圈没前天那么大?可能今天朝北朝得准一些?今天是对着手机朝的,前天是对着地面站朝的,因为我后来认识到它稳定下来的偏航和现实中是一样的,和手机的是一样的,就直接根据手机的指南针朝北放就好。

下层板有两处断裂。

我感觉我这个无人机已经不能再飞了。 下层板确实断得厉害。

其实室内这么大的风,APM定得比acfly稳,可能acfly用的光流么,对还不知道下面的床单飘动对无人机有没有影响。

装箱之前拍几张照片

9月3日,我今天室外飞了两次,室内飞了两次,都OK。只要无人机摄像头朝正北上电就好

对准正北差个几度没关系
 

室内没有任何转圈,是不是因为离墙近特征点明显?还是说我正北摆得正?你仔细看视频,室内确实没有任何转圈,哪怕那么大的风。
 

猜你喜欢

转载自blog.csdn.net/sinat_16643223/article/details/108032651