自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 C++修改lvi-sam代码遇到的错误

分享一下修改别人代码的时候遇到的错误。错误一:‘A’ has no member named ‘b’例如下图所示:这种错误指的就是对应的.h头文件中没有b成员。解决办法:在对应的.h文件中的A函数中定义b成员。错误二:对‘…'未定义的引用例如下图所示:这种错误有两种可能,一种是CmakeLists.txt文件中没有添加并链接对应的库,另一种是未定义引用对应的函数没有实现。解决办法:首先查看CmakeLists.txt文件中有没有添加并链接对应的库,然后再检查对应的函数是否有具体的实现,这种实

2022-04-25 22:38:47 962 2

原创 ROS仿真之多个turtlebot2导航

ROS仿真之多个turtlebot导航多个机器人导航仿真主要分为两个部分,一个是gazbo中加载多机器人,另一个是在rviz中显示多机器人并可以控制。1.gazebo加载多机器人打开终端输入:source devel/setup.bash export TURTLEBOT3_MODEL=waffleroslaunch turtlebot3_gazebo m_turtlebot3_world.launch 最主要的就是修改启动launch文件,具体内容如下:原turtlebot3的lau

2022-04-25 10:30:30 2403 11

原创 ROS实战之多个turtlebot2导航

ROS实战之多机器人导航多机器人的主从机配置可以参考我的上一个博客,接下来实现多机器人在同一地图下的导航。1.配置launch文件不同机器人应具有不同的命名空间,这样使得发布话题不会紊乱,就比如两个turtlebot发布的一样,到底控制哪个呢?因此命名空间的配置在多机器人建图和导航的过程中非常重要,具体配置可以参考上一个博客。多机器人导航的launch文件(multi_navigation.launch)如下:<launch> <!-- Arguments -->

2022-04-19 20:40:34 1711 3

原创 ROS实战之多个turtlebot2建图

ROS实战之多个turtlebot2建图首先在远程主机和turtlebot的上位机配置好turtlebot2的各启动文件。具体可以参考创客智造。1.远程控制多turtlebot(1)在各个turtlebot主机上配置网络:sudo gedit ~/.bashrc将export ROS_HOSTNAME={turtlebot的ip}export ROS_MASTER_URI=http://{主机的ip}:11311写入bashrc文件的最后。(2)在远程控制的PC端配置网络:sudo

2022-04-19 20:16:31 1761

原创 ROS创建自定义消息

创建工作空间mkdir -p ~/ros_msg/src创建packagecd ~/ros_msg/srccatkin_create_pkg ros_msg roscpp nav_msgs std_msgs geometry_msgs message_generation创建msg目录cd ros_msgmkdir msg将写好的.msg文件放到msg目录下例如odom2tum.msg:float32 xfloat32 yfloat32 zfloat32 q_xfloat3

2021-12-20 20:04:57 970

原创 用自己的雷达和IMU运行cartographer

用自己的雷达和IMU运行cartographer

2021-12-06 17:16:09 6204 14

原创 编译depthimage_to_laserscan遇到的问题

编译depthimage_to_laserscan遇到的问题CMake Error at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package): Could not find a package configuration file provided by "image_geometry" with any of the following names: image_geometryConfig.

2021-10-09 17:15:18 587

原创 联合标定2D激光雷达与相机

autoware标定原理此次标定使用到的工具是autoware。其原理是选取不同时刻的激光雷达扫描点云以及对应最为接近的相机点云进行匹配得出相机和雷达之间的外参。选取的点云数量越多,计算的精度就越高。标定过程首先,录制联合标定用的数据包,根据原理,让激光雷达和相机同时观测到标定板,且选取点云的时候位置要尽量不同,因此,录制数据包的过程中让标定板左左转、右转,俯仰,下仰。然后,录制结束后,打开autoware标定工具,选择点云进行匹配,完成标定。最后保存,得到参数文件(此次标定用到的是A2思岚激光雷达与

2021-06-26 14:36:04 2770 9

原创 SLAM前端线特征匹配

此次线特征匹配的代码来源于: https://github.com/drozdvadym/opencv_line_descriptor.执行代码前,需要注意,opencv版本必须是2.4.9的,经验证opencv3在编译的过程中不仅会报错,而且无法生成可执行文件。尽管要求opencv2.4.9,但仍然还是会报错,错误如下:目前还没有解决该错误,不过没有影响,还是会在build下面生成可执行文件的。执行线特征匹配过程如下:首先从上面的网址下载好zip文件,然后解压,在加压后的文件里输入:mkdir

2021-06-23 16:48:10 922 1

转载 C++之移除元素

给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。解题思路及代码(双指针):class Solution {public: int removeElement(vector<int>& nums, int val) { int n=nums.size(

2021-06-22 11:20:56 299

转载 C++之删除有序数组中的重复项

如题:给定一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例1:输入:nums = [1,1,2]输出:2, nums = [1,2]解释:函数应该返回新的长度 2 ,并且原数组 nums 的前两个元素被修改为 1, 2 。不需要考虑数组中超出新长度后面的元素。示例2:输入:nums = [0,0,1,1,1,2,2,3,3,4]输

2021-06-21 14:51:16 1505

原创 C++之回文数

C++之回文数如题题目来自leetcode。给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。解题思路将数字本身反转,且反转后的数不能大于int Max,意思就是不能溢出。因此,考虑只将数字反转一半,因为反转的后半部分和前半部分是一样的,例如1221。考虑一些情况:(1)-123反转后321-,显然不行,返回false。(2)除了0以外,个位数字是0

2021-06-08 10:46:00 2618

原创 编译时遇到CMake Error at /usr/lib/x86_64-linux-gnu/cmake/pcl/PCLConfig.cmake:45 (message):common is re

编译PCL时遇到CMake Error at /usr/lib/x86_64-linux-gnu/cmake/pcl/PCLConfig.cmake:45 (message):common is required but boost was not found解决办法昨天修改代码,编译的时候遇到/usr/bin/ld: 找不到 -lopencv_xphoto/usr/lib/x86_64-linux-gnu/libboost_system.so collect2: error: ld returned 1

2021-05-24 19:03:39 5921 2

原创 安装LVI-SAM出现GTSAM was built against a different version of Eigen解决办法

在catkin_make时出现/usr/local/include/gtsam/base/Vector.h:72:1: error: static assertion failed: Error: GTSAM was built against a different version of Eigen,如下图:刚开始在GTSAM的eigen部分加上:set(GTSAM_USE_SYSTEM_EIGEN ON)重新编译GTSAM然后编译LVI-SAM还是会出错,于是看到这个博客: https://blo

2021-04-25 12:28:15 1003 5

原创 ROS中的消息通信机制

  打个比方,我们通常在网上视频学习的时候,通常先去搜索我们要学习的内容,然后逐个筛选并找到想要的视频。而发布视频的作者首先要在网络上创建账户,通过网络发布视频,也可以通过网络学习其他人的视频,我们通过他的账户,可以告诉他我们接下来想学习的视频并期望他能够接下来发出这类的视频。  这就相当于ROS中消息的通信过程,网上发布视频的作者相当于publisher;他发布视频相当于发布topic提供我们观看,而我们就是subscriber,订阅学习他的视频。当然这其中的网络其实就是Master,作者的账户就是UR

2021-04-24 14:29:45 331 1

原创 xsens在进行catkin_make时出现/usr/bin/ld: cannot find -lxscontroller -lxscommon -lxstypes的解决办法

在yz_robot小车上安装xsens传感器驱动时遇到的问题及解决。由于之前在笔记本上配置过xsens的驱动。大致流程是先从官网下载安装包,然后解压安装包并对解压后的安装包进行./mt****.sh编译,编译结束后在usr/local/xsens下面找到xsens_ros_mti_driver复制后移动到自己创建的工作区间catkin/src下,最后编译下就ok了。但是这次在小车的ubuntu系统下编译的时候出现:...

2021-04-19 09:41:51 481

原创 运行Velodyne遇到的问题

最近在做一个小项目,需要用Velodyne16线激光雷达配合IMU去录制数据包,当然需要对其标定,标定的过程在我之前的博客里。因为需要在室外录制数据包,因此激光雷达需要接移动电源。因为买的时候只有固定电源,因此在网上买了个USB转接电源线配上电源。于是开心的去室外录制了。但是刚一启动激光雷达,就遇到下面这个问题:...

2021-04-07 19:50:47 668 1

原创 安装pointcloud_to_laserscan遇到的问题及解决

安装pointcloud_to_laserscan遇到的问题及解决首先在github下载软件包,然后进行编译,在编译的时候遇到下面的错误。 This workspace contains non-catkin packages in it, and catkin cannot build a non-homogeneous workspace without isolation. Try the 'catkin_make_isolated' command instead.Call Stac

2021-04-06 21:57:36 1928 2

原创 实时运行VINS踩坑记录

VINS的运行主要有两种方式一、可以先录制数据包,然后回放数据包发布节点(IMU、camera),最后启动VINS订阅节点。二、也可以实时运行,首先启动相机发布节点信息,然后启动VINS订阅节点。以realsense D435i为例:roslaunch realsense2_camera rs_rgbd.launchroslaunch vins_estimator realsense_color.launchroslaunch vins_estimator vins_rviz.launch

2021-04-03 19:36:13 973

原创 编译ORBSLAM2遇到Tracking.cc:39:33: fatal error: cv_bridge/cv_bridge.h: No such file or directory

解决办法在CMakeLists.txt文件中加上这一句话:include_directories( ${PROJECT_SOURCE_DIR} ${PROJECT_SOURCE_DIR}/include ${EIGEN3_INCLUDE_DIR} ${Pangolin_INCLUDE_DIRS} /opt/ros/kinetic/include )参考链接:链接: https://ask.csdn.net/questions/4269956?ops_request_misc=%257B%2522r

2021-04-01 17:01:34 1785

原创 激光雷达和IMU联合标定并运行LIOSAM

标定激光雷达和IMU并运行LIOSAM激光雷达和IMU(我用的是Velodyne和xsense传感器)标定这块我尝试了许多方法,钻研了好几天包括:(1)浙江大学开源的方案。(2)通过我之前对激光雷达和相机联合标定得到的变换矩阵和相机与IMU联合标定得到的变换矩阵相乘(3)lidar-align(里面代码需要自己改写)但是最后还是通过lidar-align标定成功了,并且将获得参数用到LIOSAM中(通过自己录制数据集跑出效果)。下面我一一介绍我标定过程中遇到的问题,希望对你有帮助。1.浙江大学开

2021-03-27 17:16:02 23939 177

原创 3D激光雷达IMU联合标定

Velodyne与ZED2自带IMU外参标定由于之前我的文章中介绍了velodyne与zed2相机通过autoware联合标定,而且之前的文章也有zed2相机和IMU联合标定。接下来实现激光雷达和IMU联合标定就很简单了,我们的目的肯定是获取它俩之间的外参。因此直接把激光雷达到相机的外参和相机到IMU的外参相乘就可以了。代码如下:#include<Eigen/Core>#include<Eigen/Dense>#include<opencv2/opencv.hpp&

2021-03-22 14:34:01 2314 2

原创 运行LIO-SAM

LIO-SAM运行官网数据集1.安装LIO-SAM并下载数据集首先根据github官网链接: https://github.com/TixiaoShan/LIO-SAM#prepare-lidar-data安装好LIO-SAM,并下载好官网提供的数据集2.修改参数文件运行前需要先修改param.yaml文件里的参数。修改如下:lio_sam: # Topics pointCloudTopic: "points_raw" # Point cloud data

2021-03-22 14:22:19 2075 4

转载 编译LIO-SAM遇到Error: GTSAM was built against a different version of Eigen

Error: GTSAM was built against a different version of Eigen这个问题是GTSAM自带的eigen库和之前安装的eigen库的版本不同导致的。解决办法:修改gtsam下的CMakeLists.txt文件中的内容,在if(GTSAM_USE_SYSTEM_EIGEN)前面加上set(GTSAM_USE_SYSTEM_EIGEN ON),使得gtsam使用自己安装的eigen而不是它自带的eigen。然后重新编译gtsam,之后再编译LIO-S

2021-03-19 10:36:34 1481

原创 C++中的构造函数

类对象中的构造函数可分为默认构造函数(无参构造函数)、有参构造函数、拷贝构造函数。在类中如果声明了默认构造函数,拷贝构造函数可以不用声明且在主函数中可以调用。如果声明了有参构造函数,拷贝构造函数可以不用声明且在主函数中可以调用。但不能使用默认构造函数,这时候主函数调用默认构造函数会出错。如果声明了拷贝构造函数,其他两个构造函数均不能使用,这时候调用这两个构造函数会出错。...

2021-02-14 22:59:23 93

原创 C++中::的作用

C++中::的作用: :专用于类函数名后面,代表成员函数的意思,用于和全局函数区别开。

2021-02-13 22:41:25 653

转载 ROS安装

ros安装安装过程参考链接:链接: https://blog.csdn.net/weixin_43159148/article/details/83375218.rosdep init问题:参考链接链接1: https://www.cnblogs.com/xuhaoforwards/p/9399744.html.链接2: https://www.guyuehome.com/12640.

2021-01-16 13:04:55 133

原创 cartographer安装出现的问题及解决!!

cartographer安装出现的问题及解决首先要吐槽一下,这个东西安装太困难了,真的是很搞人心态。相信很多人都会集中在下面我讲的几个问题1.rosdep问题参考网上及官网的安装过程中安装完proto后会进行sudo rosdep init以及rosdep update我去!就这一步卡了我一下午加半个上午的时间。肯定会出现这个错误:ERROR: cannot download default sources list from:https://raw.githubuserconten

2021-01-05 11:18:05 2916 11

原创 xsens系列MTI-670使用时出现的问题

xsens系列MTI-670使用时出现的问题刚开始在标定MTI-670传感器的时候,最后标定的文件中的参数都是0。后来运行rostopic echo /imu/data后发现不管怎么转动MTI-670(imu)都没有加速度和旋转的这些参数(都为0)。网上查找了相关的解决方案,说是需要下载mtmanager,通过在mtmanager里进行设置可以手动将imu的加速度这些信息加进去于是跟着安装了。安装完之后./mtmanager后又出现问题了:然后又次上网查了一下,说是看一下自己有没有这两个版本,于

2020-12-30 10:29:40 996 3

原创 激光雷达在线运行loam_velodyne

激光雷达在线运行loam_velodyne1.配置激光雷达参考链接: https://blog.csdn.net/zbr794866300/article/details/99305864?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-5.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCom

2020-12-25 16:17:38 435 2

原创 ORB-SLAM3与ORB-SLAM2对比

ORB-SLAM2运行遇到段错误解决:将Cmakelist.txt里的 -march=native去掉即可

2020-12-10 18:21:20 7644 17

原创 运行Intel realsense L515相机

运行Intel realsense L515相机首先去官: https://www.intelrealsense.com/sdk-2/,按照上面的提示安装各种文件,然后输入realsense-viewer出现可视化窗口。

2020-12-03 21:52:17 4947 9

原创 如何解决unity无法显示obj等文件的颜色信息

如何解决unity无法显示obj等文件的颜色信息最近开始做了些SLAM建图应用到VR方面的工作。想让SLAM建图生成的ply文件的点云信息放入到VR里面,于是安装了unity以及meshlab,后面还安装了和mshlab功能差不多的Deep Exploration软件,他们两个都能够将ply格式的文件转换为unity可用的obj,fbx等格式的文件。刚开始以为只要转换成其中一种就能够在unity里面正确显示了,然而试了才知道根本不行!放进去都没有颜色信息,于是又上网查了好久好久,都没有准确地答案。最后还

2020-12-02 20:56:48 4040 4

转载 Velodyne VLP16激光雷达的使用

转自链接: https://blog.csdn.net/zbr794866300/article/details/99305864#commentBox.

2020-11-24 22:48:39 258

原创 ROS运行ORB_SLAM3遇到的问题以及解决

ROS运行ORB_SLAM3遇到的问题以及解决1.首先是在对应的ORB_SLAM3的文件夹下进行./build_ros.sh编译的时候出现:– Configuring incomplete, errors occurred!See also “/home/cuiyunxuan/ORB_SLAM3/Examples/ROS/ORB_SLAM3/build/CMakeFiles/CMakeOutput.log”.make: *** 没有指明目标并且找不到 makefile。 停止。解决办法如下:

2020-11-24 19:28:30 7205 6

转载 ZED2、IMU联合标定

一、标定IMU上一次标定了ZED2相机,链接: https://editor.csdn.net/md/?articleId=109696090接下来标定IMU。同样,先录制数据包。 rosbag record -O imu_cyx_calibration /zed2/zed_node/imu/data_raw将imu_utils文件夹下的A3.launch改写为ZED2的启动文件ZED2_calibration.launch。同时要看下是否修改时间max_time_min。这里我将其设定为2小时

2020-11-20 18:52:01 1519 3

原创 标定ZED2相机

标定ZED2相机1.安装kalibr参考:https://github.com/ethz-asl/kalibr/wiki/installation.2.配置ros source devel/setup.bash3.标定ZED2打开终端,启动ZED2摄像头。 roslaunch zed_wrapper zed2.launch再打开一个终端,启动左右摄像头可视化功能,以确保将标定板保持在相机范围内。 rosrun image_view image_view image:=/ze

2020-11-14 21:22:42 2149 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除