- 博客(61)
- 收藏
- 关注

原创 ros驱动insta360 oneR运动相机遇到的坑
问题1:直接使用ros下usb_cam工具, roslaunch usb_cam-test.launch图像出现如下花屏:查了一下说将摄像头的默认像素格式由原来的yuyv改为mjpeg格式:进入功能包:roscd uvc_camera进入lanch文件夹,改:<launch> <node name="usb_cam" pkg="usb_cam" type="usb_cam_node" output="screen" > <param name="
2022-04-24 12:20:04
4552
4

原创 Livox雷达驱动程序发布点云格式CustomMsg、PointCloud2、pcl::PointXYZI、pcl::PointXYZINormal解析
Livox雷达驱动程序发布点云格式CustomMsg、PointCloud2,pcl::PointXYZI、pcl::PointXYZINormal解析
2022-01-05 11:48:20
15778
2

原创 R3LIVE(升级R2LIVE):编译与运行
之前港科大的hku-mars火星实验室在R2LIVE的基础上提出了“R3Live”,论文和视频很早就发出来了,但是代码一直没有开源(作者一直强调会开源), 在一众slamer的千呼万唤之下, 在2021年的年尾, 终于,能够在github下载了。......
2022-01-01 22:46:09
20883
43
原创 2023届-SLAM算法校招面经
23年6月初终于尘埃落定,今年受大环境影响,这一路可以说是步履维艰,我的投递的行业主要面向机器人和自动驾驶,投递岗位大部分是算法工程师,其中也包括C++开发和少量的测试岗,在面试过程中加深了对车企、自动驾驶、扫地机、测绘等的认识,现在关于这几个领域的话题也能侃侃两句。
2023-06-03 11:44:58
4565
2
原创 程序执行到一半报错“`malloc(): mismatching next->prev_size (unsorted)`”死掉
报错的原因是:当前栈空间不足。程序执行到一半报错“先检查当前栈空间大小。
2023-05-20 10:57:38
2281
原创 mloam
如果没有先验外参,对于每个激光雷达,trackCloud以获得每帧的相对位移与绝对位姿,同每个激光雷达单独计算里程计。feature_buf_报错了当前4个激光雷达的特征和时间戳,以队列+pair形式。给每个激光雷达的三维点赋⼀个0-1值,为这个点的时间戳相对于这⼀帧点云的相对时。将上⾯得到的每个激光雷达的相对位姿加⼊到待优化队列中。对于每⼀个激光雷达,标定其到主激光雷达的外参的旋转。⽣成⼀个与上述图同样⼤的label_mat。成功则标定其到主激光雷达的外参的平移。读取4个激光雷达数据,input。
2023-03-22 12:37:37
512
原创 conda相关
conda remove -n your_env_name(虚拟环境名称) --all。#查看当前存在哪些虚拟环境。添加 python 模块。#检查更新当前conda。临时使用外部源pip安装。#更新anaconda。
2023-03-22 12:36:59
147
原创 复盘一下slam中常用的几种点云类型
使用livox雷达常涉及至少3种点云格式,一个是livox官方定义的custom格式,另外两个就是激光、视觉常用的pcl类型和ros类型。之前总结过,现在再来复盘一下、
2023-01-12 22:30:56
1065
原创 搞SLAM装完一个新的ubuntu系统后需要的环境配置
1.换源2.安装ubuntu的显卡驱动3.安装ros4.安装slam常用库4.1安装eigen库4.2安装PCL库4.3安装ceres库4.4安装OpenCV库4.5 Sophus库4.6 Pangolin4.7 g2o4.8 DBoW34.9 安装gtsam5 安装配置vscode6 安装vim7 安装indicator-sysmonitor8 安装indicator-sysmonitor9 与windows出现时间冲突
2022-10-18 21:19:12
592
原创 gitpush出现remote: Support for password authentication was removed on August 13, 2021.
创建个人访问令牌(personal access token)。
2022-10-05 11:08:47
297
转载 SC-Lego-LOAM解析(中)
上回说到经过连续帧间匹配,激光odo给出来一个位姿估计,但是是存在不断的误差的积累的,需要与绝对的参考(地图)进行匹配,以及进行回环检测和全局位姿优化。这也是正是mapOptmization这个node所做的事情。
2022-09-02 15:37:36
996
转载 SC-Lego-LOAM解析(上)
SC-Lego-LOAM实际上应该并不对应某一篇特定的论文,而是韩国KAIST在github开源的代码,其实质上是融合了ScanContext和Lego LOAM两篇论文
2022-09-02 15:29:10
1473
原创 paddlepaddle
飞桨的GPU分布式训练使用的是基于NCCL2的通信方式,相比PRC通信方式,使用NCCL2(Collective通信方式)进行分布式训练,不需要启动Parameter server进程,每个Trainer进程保存一份完整的模型参数,在完成梯度计算之后通过Trainer之间的相互通信,Reduce梯度数据到所有节点的所有设备,然后每个节点在各自完成参数更新。如果模型的损失或者评估指标表现异常,通常需要打印模型每一层的输入和输出来定位问题,以及每层网络的参数,分析每一层的内容来获取错误的原因。......
2022-08-31 15:01:06
1118
原创 大疆livox定制的格式CustomMsg格式转换pointcloud2
注意这个包是要先订阅CustomMsg的话题/livox/lidar,然后发布PointCloud2格式的"/livox_pcl0"话题,所以不论是实时驱动livox-driver还是通过bag包发布/livox/lidar,都需要确保有/livox/lidar才能有转换结果。官方livox_driver驱动livox雷达发出的点云topic有两种,一种是大疆览沃定制的格式CustomMsg格式,另一种是将CustomMsg格式。FixedFrame设置为livox,点云设置为/livox_pcl0。...
2022-07-25 16:31:20
6869
26
原创 Livox SLAM(带LIO+闭环检测优化)
LIO-Livox用于里程计部分,ScanContext用于闭环部分和interactive_slam用于地图编辑部分。
2022-07-21 09:27:00
2631
1
原创 C++编译报错`XXX‘被多次定义总结;未定义的引用等等
C++编译报错`XXX’被多次定义总结诸如类似的报错都是因为可能在两个或者多个.cpp文件/.h文件定义该全局变量,属于重复定义问题在VScode全局搜索该变量,只能有一处是正常全部变量定义,其他的都定义成extern外部变量。去每一个文件里改掉重新编译就好可以把所有的全局变量放入一个头文件 global.h (名字随意起,但要加条件编译)中,每一个变量前面加extern,声明一下这些变量将在其它文件中定义。 然后建立一个和头文件名字对应的.c / .cpp文件 如global.c。在里面声明所有的全局变
2022-06-14 18:12:11
2423
原创 ros读取GPS模块数据,并发布到topic
今天拿到一个GPS模块,店家说linux可以用,那就是可以试试1 检查设备连接Ubuntu输入: ls /dev/tty*查看是否有USB设备接入,正常情况如下:然后可以直接看设备原始数据: sudo cat /dev/ttyACM0如图:连接正确2 串口助手读取数据sudo apt install cutecomsudo cutecom 设置 串口和波特率可以看到数据3 接入rosmea_navsat_driver 包用于解析 NMEA 字符串并发布非常简单的 GP
2022-05-06 17:07:27
4357
4
原创 R3live笔记:从代码看lio线程
/ cos(170度) jump_down_limit = cos(jump_down_limit / 180 * M_PI);// cos(8度) cos160 = cos(cos160 / 180 * M_PI);// cos(160度) smallp_intersect = cos(smallp_intersect / 180 * M_PI);// cos(172.5度)
2022-04-18 14:17:50
2313
原创 R3live笔记:r3live的几个线程分析
今天在r3live类的构造函数里看到这样一行代码: m_thread_pool_ptr = std::make_shared<Common_tools::ThreadPool>(6, true, false); // At least 5 threads are needs, here we allocate 6 threads.大意是初始化一个包含6个线程的线程池子,然后作者注释// At least 5 threads are needs, here we alloca
2022-04-12 22:27:18
1697
3
原创 r3live:从r2live进行公式解读
总述r2live提出的框架由基于滤波方法的里程计模块和基于因子图的优化模块组成。系统框图:基于滤波器的里程计利用LiDAR、相机和惯性传感器的测量值,在误差状态迭代卡尔曼滤波器框架内估计状态;为了进一步改善视觉测量,利用因子图优化来优化局部滑动窗口内的视觉路标点;r2live框架的运动方程由IMU传播建立,观测方程由相机和雷达建立,迭代卡尔曼滤波得到的值其实就是MAP的结果,十四讲介绍过MAP就是最小化噪声的二次型,也就是马氏距离;噪声包括三项:运动方程lidar观测方程camer观测
2022-04-02 18:08:06
2035
1
原创 r3live:修改topic的frame_id
livox官方的驱动包下,录的/livox/lidar话题的frame_id为livox_frame,对于已经录好的bag,可以使用srv_tools工具修改frame_idsrv_tools下载地址:https://github.com/srv/srv_tools主要参考代码:PKG = 'bag_tools' # this package nameimport roslib; roslib.load_manifest(PKG)import rospyimport rosbag.
2022-03-15 12:57:02
1470
原创 几种排序方法复杂度记忆
选 n2 不稳泡 n2 稳插 n2 稳快 nlog2n 不稳归 nlog2n 稳堆 nlog2n 不稳希 n1.3 不稳桶 n+k 稳计 n+k 稳基 n*k 稳
2022-03-02 10:29:09
263
原创 R3live笔记:(图像处理)视觉-惯性里程计VIO部分
1. IMAGE_topic订阅: sub_img = m_ros_node_handle.subscribe(IMAGE_topic.c_str(), 1000000, &R3LIVE::image_callback, this, ros::TransportHints().tcpNoDelay());图像topic数据传入的时候,回调函数image_callback:void R3LIVE::image_callback( const sensor_msgs::Image
2022-02-11 15:15:26
3471
原创 ros报错:Could not find a package configuration file provided by “move_base“
CMake Error at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):Could not find a package configuration file provided by "move_base" with any of the following names:move_baseConfig.cmakemove_base-config.cmakeAdd the installation
2022-02-10 10:50:12
2117
原创 写一个脚本,启动多个终端
今天运行一个程序,需要启动两个launch文件,于是想写一个脚本来使他变得简单以一点,以我这个运行livox_mapping的脚本为例:#!/bin/bashcd /home/qjf/slam/laser_SLAM/PJLab-ADGsource /home/qjf/slam/laser_SLAM/PJLab-ADG/devel/setup.bash {gnome-terminal -t "livox_odometry" -x bash -c "roslaunch livox_odometry l
2022-01-11 14:54:24
1069
1
原创 ros分布式网络配置
ros分布式网络配置两台计算机,本地端aaa和远程端(工控机)bbb本地执行sudo vi /etc/hosts在最下面添加xxx.xxx.xxx.xxx aaa同样,在远端终端执行sudo vi /etc/hosts在最下面添加xxx.xxx.xxx.xxx aaa本地端执行export ROS_MASTER_URL=http://bbb:11311export ROS_HOSTNAME=aaa注意:这个只在当前终端有效,全局的话要写进.bashrc3. 重启生
2022-01-11 11:58:52
453
原创 PCL报错:PCL requires C++14 or above
/usr/include/pcl-1.10/pcl/pcl_config.h:7:4:error: #error PCL requires C++14 or above7 | #error PCL requires C++14 or above| ^~~~~In file included from /usr/include/pcl-1.10/pcl/console/print.h:44,from /usr/include/pcl-1.10/pcl/conversions.h:53,f
2022-01-10 22:57:02
10424
7
原创 Ubuntu用gparted给/空间和home空间扩容
今天拷贝资料,Ubuntu提醒home空间不足,用df -h 命令查看电脑发现当时装系统的时候,给home分配了371G然后现在已经用了98%了,而给/分配了275G,才用了30G,于是决定把/目录多余的空间分一点给home目录。1 安装gparted安装完后输入可以看到这几个分区都是带锁的,所以需要用到Ubuntu启动盘2 解锁使用启动盘进入Ubuntu live 系统,在live系统下禁用swap,然后会发现锁没了3 扩容
2022-01-09 09:42:31
13116
7
原创 运行代码报错:Failed to load module “canberra-gtk-module“
记录一个问题:Gtk-Message: 09:56:49.670: Failed to load module "canberra-gtk-module"解决:sudo apt-get install libcanberra-gtk-module
2022-01-07 10:35:01
564
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人