安卓手机跑 vins slam (1)

我是迪卡魏曼依奇,一直是用手机拍照,将图片导出到电脑,然后使用RealityCapture三维重建。

RealityCapture是靠特征点去把拍摄的多个图像进行对齐的。需要拍摄的足够多,且有特征才能对齐,要不然很多图像会找不到公共点,或仅有两三张互相找到了公共点,导致本是一个物体生成多个组件。而且重建的三维模型有尺度问题,自动重建的模型会倾斜...

不像用无人机拍的图像有GPS信息,可以通过GPS信息来进行尺度恢复和海拔高度恢复。

后来就一直想做一个手机定位装置,可以记录下手机拍摄图像时的位姿信息,将带有位姿信息的图像再导入RealityCapture,就可以大大提高图像匹配的成功率。

后来epic出了手机app,RealityScan,但这个是手机拍摄的图像,直接上传到epic服务器做的空三计算。而且限制最大照片数量为200张,没办法拍更多。

后来从RealityScan的data目录找到了拍摄的照片,还发现每个照片都有位姿信息,可以直接导入RC跑计算,而且参考位姿的输入极大的提高了图像配对效果,拍卧室和客厅能直接合成一个组件。

这个位姿信息就是靠手机的imu+摄像头组成的vio系统获取来的,其实就是手机实现的slam,能用,但是想拍大场景很容易跑飞,比如我拍卧室拍的好好的,再来到客厅,,再去卫生间, 拍完卫生间再回卧室,拍照点就全飞了,也矫正不回来.....

于是迪卡魏曼依奇就有了个念头,自己做个安卓手机的slam导航定位不好么,从网上搜了搜什么orb slam啥的,手机slam啥的,找到了vins,而且网上看着别人再手机上移植的vins跑的效果挺好的,那就开整。

本人对安卓开发没有深入接触过,仅仅把安卓端的开发环境的AIDE的例程跟着学过一遍,对里面的一些关键词有些了解。可笑的是,E4A倒是用的飞起,当然,也仅仅写一些简单用于调试设备或单片机的APP。同时slam更是没有接触过,opencv倒是编译过,也是几年前毕设用到的。C++功底还算可以。想着开发一个用于拍摄带有位姿图像的手机APP,这事应该能成!

先从github上搜vins android 能搜到几个2018 2019年的资料,看着哪个好,先下载下来几个。

从网上搜些别人写的参考。比如奔跑的蚂蚁写的手机上的SLAM。(这里就不加链接了,可以自行搜索)

他就是先装了个Android Studio,跑通了C++的hello world。

那么本节,我这也先装个Android Studio吧。

去官网看看,最新版2022.3.1.18,

就先下载这个吧。现在是2023年,距离上一次装Android Studio,还是七八年前。

先装上

 装完了,自动打开界面后,这个好像是个安装引导,一定要开启魔法,不然很多东西装不上,在那傻等。

 这里应该是安装各种包,去自定义看看都有啥

 好像是安卓SDK以及安卓虚拟机,SDK只有一个API34,有啥装啥吧,注意SDK的路径不能有空格啥的,调整一下位置,别啥都往C盘装,C盘太紧吧了。

 他说我的电脑支持虚拟机加速,内存搞大些,够用,我实际设置了4GB,他推荐是2GB。

 

注意啊,一定要有魔法,不然会各种卡顿报错,啥都装不成功。

看了下魔法还剩4GB了,应该够用。

 报了个错,....网上搜了搜,是因为我开了Hyper-V....还得关了,这里出错后不用担心,后面会有地方可以重新安装。

安装完毕后,编译APP,选择run,会再次提示这个虚拟机的问题,倒时候会自动安装。

我新建了个工程,里面的结构我咋就看不懂了,原来的那些java呢??都哪儿去了。

网上搜了搜,好像是google换了kt语言....全是新东西....这几年变化太快了。

使用AndroidStudio打开从github上下载的工程,都编译不了,各种各样问题。

奔跑的蚂蚁的试验结果一样。

按他说的原话,

“与其花大量时间适配这个老工程,还不如把SLAM相关代码,移植到新工程。干~~~”

注意新建工程编译过程会下载所需的东西,需要魔法。

建议AS安装完毕后,先创建一个新的空工程,编译运行;然后再创建一个C++工程,编译运行。

这样AS会自动下载所需的东西。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值