slam
音十一
这个作者很懒,什么都没留下…
展开
-
2小时c++与ros教学
编写该教程的目的是希望实验室新生能够快速利用C++进行ros编程,目的是快速实现功能,因此本身并不严谨,后续会不断进行补充,配套代码会在之后建立git库进行发布。1. 新建ros工作空间, 并且添加到环境变量1.1 新建工作空间mkdir -p ~/catkin_ws/srccd ~/catkin_ws/srccatkin_init_workspacecd ~/catkin_ws/catkin_make1.2 添加环境变量sudo gedit ~/.bashrc在文件最后,原创 2021-03-14 15:53:45 · 727 阅读 · 0 评论 -
voxblox建图教程
之前一直在摸索港科大的vins + fiest做定位和建图,但是实际上由于标定等多种原因,vins mono和vins fusion定位效果都不太好,然后orbslam系列对于快速运动也经常会跑丢。最近我在实验使用realsense的t265做定位,然后用d455做深度估计,然后使用voxblox来进行见图,效果好得一批,这篇博客对这个进行记录。1. 定位和深度估计将t265和d455同时连接到计算机,然后启用同时工作的节点roslaunch realsense2_camera rs_d400原创 2021-01-07 14:46:09 · 2279 阅读 · 4 评论 -
ESDF建图库voxblox的安装编译过程
1. 新建一个工作空间,因为下载的东西比较多,建议新建一个工作空间mkdir -p ~/catkin_ws/srccd ~/catkin_wscatkin initcatkin config --extend /opt/ros/kineticcatkin config --cmake-args -DCMAKE_BUILD_TYPE=Releasecatkin config --merge-devel2. 下载voxblox源码,这个和官方教程有一点不一样,它的git@github.com原创 2021-01-06 20:04:05 · 1506 阅读 · 0 评论 -
VINS System::ProcessBackEnd()
vins 通过IMU和Image的两个线程处理,将imu数据存储到imu_buf中,image数据存储到image_buf中原创 2020-12-31 00:04:58 · 216 阅读 · 0 评论 -
VIO Estimator::processIMU 函数
如果获取了一帧IMU数据,就会通过这一帧IMU数据去对位置、速度、加速度等完成积分,并且计算方差等的传递,这些功能就在processIMU函数中完成,本章对该函数进行讲解。 if (!first_imu) { first_imu = true; acc_0 = linear_acceleration; gyr_0 = angular_velocity; } if (!pre_integrations[frame_count]原创 2020-12-31 16:48:25 · 383 阅读 · 0 评论 -
Vins中的FeatureTracker::readImage(const cv::Mat &_img, double _cur_time)函数
该函数读取图像Mat以及当前世界_cur_time,并对其进行处理,这一段判断是否对图像利用opencv进行处理,从而消除其明暗变化,并且将传入的时间记录为当前时间。 cv::Mat img; TicToc t_r; cur_time = _cur_time; if (EQUALIZE) { cv::Ptr<cv::CLAHE> clahe = cv::createCLAHE(3.0, cv::Size(8, 8));原创 2020-12-30 22:16:31 · 465 阅读 · 0 评论 -
VINS简化版本 梳理
VINS-Course是深蓝学院VIO课程中开源的一个vins-mono的简化版本,但vins系统本身较为复杂,因此对该套代码进行简单梳理,用作记录。本文章主要解释其euroc数据示例,也就是run_euroc.cpp相关的部分1.run_euro.cpp启动在run_euroc.cpp函数中开了四个线程,分别对应四个函数,处理线程,对应 System::ProcessBackEnd,用作对imu数据以及image数据的后台处理优化,PubImuData线程,对应PubImuData函数,用于IMU原创 2020-12-30 20:46:14 · 359 阅读 · 0 评论 -
BAL数据集与BA优化
1. BAL数据集说明第一行:16 22106 8371816个相机,22106个点,共进行83718次相机对点的观测第2行到83719行:6 18595 3.775000e+01 4.703003e+01第6个相机观测18595个点,得到的相机的观测数据为3.775000e+01 4.703003e+01第83720行到83720+16*9=83864共16个相机的9纬参数:-R(3维),t(3维),f(焦距),k1,k2畸变参数第83864到83864+3*2...原创 2020-12-20 21:47:08 · 880 阅读 · 1 评论 -
cv_bridge 调用ros自带的opencv版本的解决
在一个项目中,使用ros 订阅图像图像,然后使用opencv来提取特征点,其中需要使用cv_bridge 来实现ros图像到opencv图像的转换。但是,进行特征的提取时,发生报错,不引入cv_bridge则报错不存在,查阅资料后,确定是cv_bridge使用的是opencv3.2导致,因此需要修改cv_bridge的配置文件/opt/ros/melodic/share/cv_bridge/cmake/cv_bridgeConfig.cmakeset(libraries "cv_bridge;/usr/原创 2020-12-10 22:52:53 · 910 阅读 · 1 评论 -
ros单目相机标定
记录一下使用ros进行单目相机标定的过程。1. 运行usb_cam(需下载功能包,进行编译才可以使用)roslaunch usb_cam usb_cam-test.launch2.安装ros的标定功能包sudo apt-get install ros-melodic-camera-calibration*3.运行ros标定功能包0.0375是指单个网格的大小,我的棋盘是3.75cm,/usb_cam/image_raw是订阅的图像,/usb_cam是相机的功能包名称rosr原创 2020-12-05 11:48:09 · 377 阅读 · 0 评论 -
Mac 使用Eigen库
1.使用brew安装brew install eigen2.将eigen链接到系统文件夹brew link --overwrite eigen3.在cmakelist包含目录include_directories( "/usr/local/include/eigen3" )原创 2020-12-04 21:46:40 · 1532 阅读 · 0 评论 -
realsense d435i 跑 vins-fusion
1.ros 下的d435i 相关驱动以及ros包的安装sudo apt-get install rod-melodic-realsense2-camera2.realsense ros 包的修改原始的launch文件一是没打开imu数目,二是没有打开左右两端的摄像头,因此需要对launch文件进行修改,在/opt/ros/melodic/share/realsense2_camera中,找到rs_camera.launch,修改以下几项目:enable_infra 设置为trueena原创 2020-10-14 16:41:43 · 1168 阅读 · 0 评论 -
Realsense D435i 运行 Vins-fusion
无人机控制和规划都需要定位信息,飞控输出的位置信息一是精度低,二是室内环境无法使用,三是本身有漂移。港科大高飞博士在其最近的路径规划文章中均使用d435i跑vins来提供位置和姿态信息,本文记录整个调试过程与遇到的问题。...原创 2020-09-19 19:45:58 · 918 阅读 · 0 评论