实习日志

179 阅读3分钟

2023.9.11

今天收到的任务是要运行shuoyang的代码github.com/ShuoYangRob… 并且评估它的效果

1.准确度(局部定位的精度) 2.运行效率(CPU占用,实时性等)

这个代码主要关于开源足式机器人多传感器融合里程计,其主要结构如图

为了运行代码,首先需要docker,这部分的学习内容在我的另一篇文章里,Docker

2023.9.18

这两天忙了很多东西,首先选择矩池云的服务器替代本机,然后修改Dockerfile前面添加https://ghproxy.com/

然后对需要子模块的库,我直接fork到自己的库,然后修改.submoudle文件,在链接前面继续加前缀,层层深入全部fork到我的github里,这样就下载结束了。

编译的时候cmake版本不足就查看之前的版本有没有cmake要求低的,当然后续的也要适配,git clone指定tag的命令

git clone -b tag link

或者先git clone到本地,github创建新的库,然后添加远程分支然后push

生成镜像之后,就把镜像上传到docker hub里,需要三步

首先要登录

docker login

docker tag localimage:tag remoteimage:tag(eg. docker tag cerberus:v1 zy12347/cerberus:v1)

docker push remoteiamge:tag

docker run 运行镜像的时候,可以挂载,挂载命令为

docker run -v local:remote -it dockerimage

docker运行时的文件可在主机上运行cp

docker cp dockerid:remotefile local file

bag转txt

rostopic echo -b file_name.bag -p /topic_name > Txt_name.txt

Txt_name.txt要先修改权限

需要下载带有groundtruth的dataset

要分析准确度时要用到evo

详细使用情况在这篇文章中 www.guyuehome.com/18717

截止到现在,我有的是一个编译好的image,在这个image的基础上呢,我需要做的是

挂载运行 docker run

sudo catkin build编译

source devel/setup.bach激活vilo库

roslaunch运行指定命令保留需要的数据

rosbag echo保留实际值与预测值

docker cp id:path localpath 导出来

使用evo预测准确度

或者可以先尝试rosbag echo能不能直接全输出来

2023.9.19

今天借了实验室的一台电脑,果然好多了,只要稍微该一下其中两个包的版本及子模块的版本就好了,build很顺利,让我想起来前几天瞎忙真的难崩

build之后就尝试运行,先sudo catkin build,然后source /devel/setup.bash 最后roslaunch很顺利就运行了。

可是!!!

运行完后output file里没有任何东西,跑了一遍又一遍就是没有,逐渐怀疑人生。

昨天晚上就是陷入无脑的重复,虽然熬到很晚但其实没有任何意义。最后的结果就是也没跑出来

今天早上起床后,认真看代码找文件之间的关系,尝试输出变量。最后想到会不会是权限的问题。

在Cerberus挂载目录下创建时要用sudo权限,果然是你!

结果sudo roslaunch的时候找不到roslaunch的命令,于是想激活权限或者直接用绝对路径运行roslaunch,结果都不可以。

转变思路:在Cerberus目录外创建文件夹再次尝试运行,终于成功了!!!

现在只是输出了bag里面的数据,还要分析准确度与运行效率之类的东西,任重道远,接着干!

难崩,查了半天格式,需要tum格式,具体为 timestamp,pos_x,pos_y,pos_z,qua_x,qua_y,qua_z,qua_w 修改了main.cpp函数输出想要的数据,然后编写python文件更改格式,最重要的是timestamp默认单位是s,最后格式为1.02e+9这种,所以需要注意转换一下

关于evo命令如下

evo_ape tum fr2_desk_groundtruth.txt  fr2_desk_ORB.txt -va --plot --plot_mode xz --save_results results/ORB_fr2_desk.zip
evo_traj kitti KITTI_00_ORB.txt KITTI_00_SPTAM.txt --ref=KITTI_00_gt.txt -p --plot_mode=xz

其中tum和kitti为格式,可替换

今天稍微写点代码计算时间段内平均的相对误差

又改了一版,已经在github里面保存