本周任务
1.完成TX2刷机
2.使用ZED运行ORBSLAM2和LearnVIORB
任务一:
TX2的刷机部分完成,刷机较为顺利,遇到的问题较少。
error:
Finished Flashing OS
Determining the IP address of target ...
网上的教程使用的是虚拟机,没有使用TX2遇到这个错误的。
“主要原因是虚拟机的网络适配器模式选择了NAT模式共享主机IP地址,一定要改为桥接模式,复制物理网络连接模式,将网络适配器中的网络连接改为桥接模式,并勾选复制物理网络连接状态”
但是我使用的不是虚拟机,所以这样解决的:
首先Ctrl C退出Error页面,重新运行./JetPack-L4T-3.3-linux-x64_b39.run
在下图界面,将Flash OS的Action选项改为no action,之后一直按Next
之后会出现一个界面,需要输入TX2的IP地址:
在TX2的终端输入ifconfig,将Inet Address输入IP Address,User name 和Password默认都是nvidia。
漫长的安装时间后,TX2刷机成功。
使用TX2相机完成zed自带的程序:位姿跟踪和构建稠密点云,发现效果并没有很好。
下图为ZED相机的位姿跟踪程序,可以得到实时ZED的位置和方向,精确度没有验证,估计的方向和实际方向大致一样。可以看拍摄的参考视频。
在将摄像头捂住后,马上出现了很大的偏差,都不知道摄像头跑到哪里去了,可以看出该程序只使用了摄像头进行定位,没有使用IMU数据
第二个程序是稠密点云构建,构建的效果并不是很好,可以看拍摄的视频。
任务二:
使用ZED相机运行ORBSLAM2
由于使用ZED运行ORBSLALM2的文章还挺多,所以有问题的时候能够比较快的解决。
运行过程中,主要就是ROS的发布和订阅写错了,导致运行后出现了没有摄像头画面的情况,最后解决了。
实验中发现,使用ORBSLAM2需要速度非常的慢,一旦速度加快,马上就跟丢了。而且当特征点较少时,很容易跟丢,再次回到之前的位置很难重定位。
下图为ORBSLAM2较为成功的实验得到的点云、运动轨迹和关键帧。
任务三:
使用ZED相机运行LearnVIORB,编译过程中遇到的错误较多,有一些是之前没有遇到过的,所以用时较多。
在github中找到了使用小觅相机运行LearnVIORB的程序,下载下来后发现和原本的LearnVIORB几乎一样,并没有修改什么。使用的http://myntvio.cc和原本的http://ros_vio.cc一样,所以只需要修改ros的订阅和发布代码即可。
由于加入了IMU数据,所以订阅和发布的话题包含了imutopic和imagetopic。需要解决以下两个问题:1.imu数据如何输入2.topic如何修改。这一部分内容还在进行中。