r3live运行步骤及时间同步,以及遇到的问题

录制bag包:

先source和运行下livox和相机驱动

source ./devel/setup.bash
roslaunch usb_cam usb_cam_test.launch
roslaunch livox_ros_driver livox_lidar_msg.launch

再livox和相机时间同步系统的:

sudo ptpd -M -i eth3 -C (我的机器上eth2是velodyne的,eth3是livox的,具体是什么需要看自己的机器对应是什么网口)

输出 Now in state: PTP_MASTER, Best master说明同步成功。          

注意:

r3live++运行使用的livox数据类型是livox_ros_driver/msg,不是plountclound2类型。所以录制bag时要启动

roslaunch livox_ros_driver livox_lidar_msg.launch

而录制外参时需要的是plountclound2类型,所以启动这个

roslaunch livox_ros_driver livox_lidar.launch

参考:https://blog.csdn.net/qq_41921826/article/details/132605462?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522169906408916800182158438%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=169906408916800182158438&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-2-132605462-null-null.nonecase&utm_term=R3LIVE%E9%A1%B9%E7%9B%AE%E5%AE%9E%E6%88%98&spm=1018.2226.3001.4450

工程(十三)——从零用自己数据跑R3LIVE-CSDN博客


运行流程:

source ~/code/diver/ws_livox/devel/setup.bash
catkin_make
source ./devel/setup.bash
roslaunch r3live r3live_bag.launch

步骤记录:

1、标定相机内参

相机内参标定:Matlab 使用 Camera Calibrator工具箱------相机标定_matlab camera calibrator_笑着灬up的博客-CSDN博客

使用的棋盘格:棋盘格文件及标定矫正程序(链接直接下载,CAD文件可修改)_标定棋盘格pdf下载-CSDN博客

结果:

右上角是重建平均误差,只要平均误差小于0.5,就可以认为这是相机标定的结果是可靠的。

一般来说RadialDistortion和TangentialDistortion还有K就是我们所需要的数据。

2、标定livox和相机外参

        单目相机+livox的联合标定,并在R3live下建图过程记录_livox相机有目标标定-CSDN博客

注意:外参录制的bag是plountcloud2类型,要启动roslaunch livox_ros_driver livox_lidar.launch(与r3live的类型不一样)

3、livox和相机同步

见 录制bag包

4、在yaml文件中修改livox相机外参 和 相机内参

修改livox相机外参:

        前面标定得出的extrin 矩阵求逆。

        在线矩阵求逆 在线矩阵求逆

       把求得的逆放入如下路径的文件里。(左上角3X3放在 camera_ext_R,第四列1X4的前三行放在camera_ext_t)

修改相机内参camera_intrinsic和畸变参数camera_dist_coeffs:

修改r3live_bag.launch的话题:

报错:

1、fatal error: visualization_msgs/Marker.h: 没有那个文件或目录

        解决:sudo apt-get install ros-melodic-rviz

2、c++ error:unrecognized command line option ‘-msse’

这种情况是因为在arm平台上不存在SSE指令集的,在X86平台才会有,因此需要在CMakLists文件中把有关-msse3字样的都注释掉

# arm and intel cpu configurations
#IF(DEFINED ENV{ARM_ARCHITECTURE})
#  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mfpu=neon -march=armv7-a")
#ELSE()
# SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse -msse2 -march=native")
#ENDIF()

### 使用 R3Live 运行 KITTI 数据集 为了使用R3Live运行KITTI数据集,需先创建适当的工作环境并安装必要的依赖项。创建工作空间`demo01_ws/src`,并通过命令完成基本设置[^1]。 #### 安装依赖包 确保已安装ROS以及相关工具链。对于特定于R3Live的需求,还需额外配置: ```bash sudo apt-get update sudo apt-get install ros-noetic-rviz ros-noetic-tf ros-noetic-cmake-modules libpcl-dev python-catkin-tools ``` #### 获取R3Live源码 通过Git获取项目仓库,并编译源代码: ```bash cd ~/catkin_ws/src git clone https://github.com/RobustFieldAutonomyLab/R3Live.git cd .. catkin_make source devel/setup.bash ``` #### 准备KITTI数据集 下载所需版本的KITTI数据集至本地存储位置。通常情况下,这些资源可以从官方网页获得。解压后确认文件结构符合预期标准。 #### 配置启动参数 编辑launch文件来适应个人计算机上的路径差异。这一步骤至关重要,因为默认设定可能并不匹配用户的实际文件布局。修改后的配置应指向正确的传感器输入地址。 ```xml <param name="velodyne_cloud_topic" value="/kitti/velo/pointcloud"/> <param name="image_left_color_topic" value="/kitti/camera_gray/left/image_rect"/> <!-- 更多参数依据实际情况调整 --> ``` #### 启动程序 一切准备就绪之后,在终端内执行如下指令以加载场景并与RVIZ一同展示效果: ```bash roslaunch r3live r3live_kitti.launch ``` 此时应该可以在图形界面中观察到由KITTI提供的激光雷达点云图像以及其他同步采集的数据流。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值