Android相机及IMU标定

1. 数据采集

1.1 采集IMU数据

采集APK:IMU标定使用开源库https://github.com/sunset768541/mobile-ar-sensor-logger所提供的APK进行数据采集。

采集⽅法:将手机静止于桌面,采集至少2小时数据。

存储路径:数据存储于手机/sdcard/Android/data/edu.osu.pcv.marslogger/files/data/目录下,可使

用adb pull命令将数据拷贝至电脑。

1.2 采集相机+IMU数据

相机+IMU的标定使用开源库https://github.com/DavidGillsjo/VideoIMUCapture-Android所提供的APK进行数据采集。

2. IMU标定

2.1 数据预处理

将1.1节所采集到gyro_accel.csv⽂件重命名为imu0.csv,并将表头重写为timestamp, omega_x, omega_y, omega_z, alpha_x, alpha_y, alpha_z

2.2 数据打包⽣成.bag⽂件

我们使用1.2节所clone的工程进行imu数据打包。在该工程calibration目录下打开终端,启动docker容

器:

SUDO=1 DATA=<imu-data-path> ./run_dockerhub.sh

imu-data-path为电脑端imu0.csv文件所在目录

在容器中打包imu数据:

cd /data
kalibr_bagcreater --folder /data --output-bag imu0.bag

查看打包数据信息:

rosbag info imu0.bag

退出容器:

exit

2.3 创建.launch文件

我们在imu-data-path目录下创建android.launch文件,并填入如下内容:

<launch>
	<node pkg="imu_utils" type="imu_an" name="imu_an" output="screen">
		<param name="imu_topic" type="string" value= "/imu0"/>
		<param name="imu_name" type="string" value= "iQOO_8_Pro"/>
		<param name="data_save_path" type="string" value= "$(find imu_utils)/data/"/>
		<param name="max_time_min" type="int" value= "27"/>
		<param name="max_cluster" type="int" value= "100"/>
	</node>
</launch>

max_time_min:表示.bag数据的最大时长,单位为分钟,程序会在最大时长内截断读取数据,此部分根据.bag数据实际情况填写。

imu_name:表示imu设备名称,此部分可随意填写,最终标定所生成的文件名会带有此标识。

2.4 数据标定

启动容器:

sudo docker run --name imu_utils -v <imu-data-path>:/data -it chelmx/imu_utils:melodic-desktop-full

在容器启动标定程序:

source /imu-calibration/devel/setup.sh
cp /data/android.launch /imu-calibration/src/imu_utils/launch/
roslaunch imu_utils android.launch

程序运行一段时间后,会出现“wait for imu data.”字样,此时需要新建一个终端重新进⼊容器:

sudo docker exec -it imu_utils bash

之后,在第二个终端中推送imu数据:

source /imu-calibration/devel/setup.sh
nohup roscore &
rosbag play -r 200 /data/imu0.bag

第一个终端接收到数据后会继续运行标定程序,等待一段时间后会出现“done”字样,表明标定结束。

标定结果被保存至/imu-calibration/src/imu_utils/data目录,命名为<imu_name>_imu_param.yaml,拷贝出容器即可。

3. 相机+IMU标定

请参考博文:https://www.jianshu.com/p/f715ce9937d9。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值