在ros环境下的RealsenceT265标定以及Vins mono运行

简介: 在ros环境下的RealsenceT265标定以及Vins mono运行

相机标定


作为t265而言,虽然官方提供了标定的出厂内参rs-enumerate-devices -c可以获得,但是我们在vins和orbslam中仍然有可能需要自己标定数据,这里给出教程。


首先我们要明确适用的模型,一般普通相机小孔模型即可,而鱼眼镜头则是适用KB4(Kannala-Brandt Camera Model)或者Mei模型


目前可以用kalibr或者vins-fusion里面的camera-calibration 也可以用basalt。首先我们需要明确basalt必须使用AprilTag,而kalibr则是可以使用AprilTag、Checkerboard、Crilegrid这三种标定板


下面我们将从kalibr 和 basalt来实现标定操作


kalibr


首先安装依赖库


sudo apt-get install python-setuptools
sudo apt-get install python-setuptools python-rosinstall ipython libeigen3-dev libboost-all-dev doxygen
sudo apt-get install ros-kinetic-vision-opencv ros-kinetic-image-transport-plugins ros-kinetic-cmake-modules python-software-properties software-properties-common libpoco-dev python-matplotlib python-scipy python-git python-pip ipython libtbb-dev libblas-dev liblapack-dev python-catkin-tools libv4l-dev


接下来安装kalibr


cd ~/catkin_ws/src
git clone https://github.com/ethz-asl/Kalibr.git
cd ..
catkin_make
source ~/catkin_ws/devel/setup.bash


在看其他博客时发现可能会出现python相关的问题,我用的是ubuntu16.04自带的Python 2.7.12版本,在安装过程中没有出现问题。


下载官方给的**april_6x6_80x80cm_A0.pdf**或者其它标定文件。打印或者在屏幕显示,测量实际的尺寸后,在你之前新建的文件夹中新建apriltags.yaml,我的文件内容如下:


target_type: 'aprilgrid' #gridtype
tagCols: 6               #number of apriltags
tagRows: 6               #number of apriltags
tagSize: 0.16           #size of apriltag, edge to edge [m]
tagSpacing: 0.3125         #ratio of space between tags to tagSize
                         #example: tagSize=2m, spacing=0.5m --> tagSpacing=0.25[-]


之后,在你新建的文件夹中打开终端,开启realsenseT265


roslaunch realsense2_camera rs_t265.launch


修改话题发布频率


rosrun topic_tools throttle messages /camera/fisheye2/image_raw 10.0 /fisheye2
rosrun topic_tools throttle messages /camera/fisheye1/image_raw 10.0 /fisheye1


录制文件,注意录制过程中要缓慢移动相机,使其能看到完整清晰的标定文件(可以先在录制前打开rviz,调用image的话题进行观察,判断移动的位置)


rosbag record -O cameras_calibration /fisheye1 /fisheye2


在录制好后使用下面的指令输出


kalibr_calibrate_cameras --target ~/cal/apriltags.yaml --bag  ~/cal/cameras_calibration.bag --models omni-radtan omni-radtan --topics /fisheye1 /fisheye2
basalt_calibrate --dataset-path ~/cal/cameras_calibration.bag --dataset-type bag --aprilgrid ~/cal/apriltags.json --result-path ~/cal/ --cam-types ds ds ds ds


此外可以参考(https://blog.csdn.net/lemonxiaoxiao/article/details/109369181https://blog.csdn.net/HUST_lc/article/details/96144499)这两篇文章。


IMU标定,以及联合标定


相关实践学习
Docker镜像管理快速入门
本教程将介绍如何使用Docker构建镜像,并通过阿里云镜像服务分发到ECS服务器,运行该镜像。
阿里云资源编排ROS使用教程
资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/
相关文章
|
8月前
|
弹性计算 数据安全/隐私保护 计算机视觉
|
数据采集 数据可视化 Ubuntu
相机和livox激光雷达外参标定:ROS功能包---livox_camera_lidar_calibration 使用方法
该功能包提供了一个手动校准Livox雷达和相机之间外参的方法,已经在Mid-40,Horizon和Tele-15上进行了验证。其中包含了计算相机内参,获得标定数据,优化计算外参和雷达相机融合应用相关的代码。本方案中使用了标定板角点作为标定目标物,由于Livox雷达非重复性扫描的特点,点云的密度较大,比较易于找到雷达点云中角点的准确位置。相机雷达的标定和融合也可以得到不错的结果。
相机和livox激光雷达外参标定:ROS功能包---livox_camera_lidar_calibration 使用方法
|
8月前
|
弹性计算 数据安全/隐私保护 计算机视觉
|
7月前
|
Linux
linux如何让ros文件在任何终端中运行:三行代码搞定
linux如何让ros文件在任何终端中运行:三行代码搞定
|
8月前
|
弹性计算 关系型数据库 MySQL
基于ROS快速部署LNMP环境(CentOS 7)
本教程提供在阿里云云服务器ECS上基于CentOS 7.9操作系统搭建LNMP环境的指引。LNMP是应用广泛的网站服务系统,由四种免费的开源软件Linux、Nginx、MySQL和PHP组成。搭建好LNMP环境后,您可以在该ECS实例上搭建网站、访问网站
417 0
|
8月前
|
弹性计算 数据安全/隐私保护 计算机视觉
|
8月前
|
弹性计算 Ubuntu 数据安全/隐私保护
Gazebo环境下基于ROS的阿克曼小车键盘控制
键盘控制Gazebo中的小车行驶
192 0
|
8月前
|
弹性计算 数据安全/隐私保护 计算机视觉
|
8月前
|
弹性计算 数据安全/隐私保护 计算机视觉
|
Shell
奥比中光ROS启动节点运行异常退出:[camera/driver-2] process has finished cleanly
奥比中光ROS启动节点运行异常退出:[camera/driver-2] process has finished cleanly
355 0
奥比中光ROS启动节点运行异常退出:[camera/driver-2] process has finished cleanly

推荐镜像

更多