自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 UTC时间、GMT时间、本地时间、Unix时间戳的区别

UTC时间、GMT时间、本地时间、Unix时间戳的区别

2022-10-11 11:13:03 4736 1

原创 PointClout2数据格式解析

解析速腾聚创16线雷达产生的/rs_lidar消息格式

2022-09-20 17:27:16 949

原创 Eigen::internal::plain_array<T, Size, MatrixOrArrayOptions, 32>::plain_array() [with T = double;

igen::internal::plain_array::plain_array() [with T = double; int Size = 4; int MatrixOrArrayOptions = 0]

2022-08-17 12:23:10 1265

转载 ROS常用命令合集

一、创建 ROS 工作空间1、启动 ROS $ roscore2、创建工作环境$ mkdir -p ~/catkin_ws/src$ cd ~/catkin_ws/src$ catkin_init_workspace3、编译 ROS 程序$ cd ~/catkin_ws$ catkin_make4、添加程序包到全局路径$ echo "source catkin_ws/devel/setup.bash" >&gt...

2021-12-16 15:52:40 3735

原创 速腾聚创rs_lidar_16(Robosense)使用gmapping建图

1、配置速腾聚创 rs_lidar_16雷达驱动参考下面教程的第一步,Robosense16线雷达驱动安装速腾聚创rs_lidar_16使用cartographer配置教程2、使用pointcloud_to_laserscan包实现三维转二维参考下面教程使用pointcloud_to_laserscan包实现三维转二维3、安装gmapping3.1 安装依赖项sudo apt-get install libsdl1.2-devsudo apt install libsdl

2021-11-26 11:32:00 3548

原创 激光SLAM面试合集

先把问题简单记一下,最近两天慢慢填回答某机器人公司:先自我介绍1、轮式里程计标变方法,标定的参数,为什么标定、基于模型法标定,假设激光位于车体的正中心,将里程计积分值与激光雷达的匹配值构建线性方程;轮子半径,两轮间距;虽然出厂会给出参数,但也不是十分标准,类似相机一样需要标定一下;2、图优化流程、图优化的前提、什么场景下不能使用基本思想是将机器人不同时刻的位姿抽象为点(pose),机器人在不同位置上的观测所产生的约束被抽象为点之间的边,或者叫约束(constraint);为了让解唯一,必须加

2021-07-20 11:23:10 2397 1

原创 激光SLAM之图优化理论

1.常用的两种优化方法介绍 SLAM问题的处理方法主要分为滤波和图优化两类。滤波的方法中常见的是扩展卡尔曼滤波、粒子滤波、信息滤波等,熟悉滤波思想的同学应该容易知道这类SLAM问题是递增的、实时的处理数据并矫正机器人位姿。比如基于粒子滤波的SLAM的处理思路是:假设机器人知道当前时刻的位姿,利用编码器或者IMU之类的惯性导航又能够计算下一时刻的位姿,然而这类传感器有累计误差,所以再将每个粒子的激光传感器数据或者图像特征对比当前建立好的地图中的特征,挑选和地图特征匹配最好的粒子的位姿当做当前位姿...

2021-07-15 13:55:28 5231 3

原创 占用概率栅格地图(Occupancy Grid Map)

1. 机器人地图的分类1)尺度地图每一个地点都可以用坐标来表示,比如北京在东经116°23′17'',北纬39°54′27''。2)拓扑地图每一个地点用一个点来表示,用边来连接相邻的点,即图论中的图(Graph),比如铁路线图。3)语义地图将每一个地点和道路都会用标签的集合来表示。在机器人领域,尺度地图常用于定位于地图构建(Mapping)、定位(Localization),拓扑地图常用于路径规划(Path Planning),而语义地图常用于人机交互(Human Robot I

2021-07-14 13:11:43 1427

原创 激光SLAM理论与实践 第四次作业(帧间匹配算法,imls-icp和csm)

首先,第四章的作业之间编译会报错,是应为cmakelist未添加nabo库,添加即可。报错如下:CMakeFiles/imlsMatcher_node.dir/src/imls_icp.cpp.o:在函数‘IMLSICPMatcher::setTargetPointCloud(std::vector<Eigen::Matrix<double, 2, 1, 0, 2, 1>, std::allocator<Eigen::Matrix<double, 2, 1, 0, 2

2021-07-12 20:58:24 1874 1

原创 对ICP、PL-ICP、NICP、IMLS-ICP匹配算法的解析

1.ICP(Iterative Closest Point)ICP方法是用来求解两个点云集合转换关系的最通用的方法数学描述:如下图所示,我们需要求解出R,t,使得两个点云集合匹配度达到大(理想效果是两个点云完全重合),即E(R,t)最小。对于已知两个点云的对应点,一次迭代即可求出R,t。...

2021-07-08 10:28:56 3811 5

原创 ROS Navigation之map_server功能包分析

1.mapserver提供了一个ROS节点,该节点通过一个ROS Service来提供地图数据 调用形式:<node pkg="map_server" name="map_server" type="map_server" args="$(arg map_file)"/>2.同时提供了一个命令行程序来动态地将生成的地图保存到文件中调用形式:map_saver [-f ] [ROS remapping args]",比如想将hector中生成的地图保存下来,可以:rosr.

2021-06-25 15:02:22 718

原创 安装libnabo库及libpointmatcher库

libnabo 是在低维空间进行快速最近邻搜索库。它提供了一个干净的,传统的无标量类型无关的C ++模板APIlibnabo库安装首先进入到安装的文件夹内,我是安装在install文件夹内,文件夹可自己创建。然后依次执行如下命令:git clone https://github.com.cnpmjs.org/ethz-asl/libnabo.gitcd libnaboSRC_DIR=`pwd` //记录当前路径BUILD_DIR=${SRC_DIR}/build //声明编.

2021-06-24 15:15:20 1242

原创 Hector SLAM 原理详解、算法解析

个人理解Hector整体算法很直接,就是将激光点与已有的地图“对齐”。存在的问题:1、其中对于双线性差值,在理论上存在不连续的可能,Pm可能在计算的时候迭代的过程中跑出P00->P11围成的正方形。这个问题也被google的cartographer改进为三线性差值。https://github.com/googlecartographer/cartographer。2、没有对地图的修正能力,一旦地图出错,之后的匹配也都会出现问题。...

2021-06-23 15:06:57 8726 2

原创 sensor_msgs::LaserScan& scan数据类型

Raw Message Definition# Single scan from a planar laser range-finder## If you have another ranging device with different behavior (e.g. a sonar# array), please find or create a different message, since applications# will make fairly laser-specific as.

2021-06-22 22:09:25 548

原创 git 拉取远程分支到本地

步骤:1.chua

2021-06-16 15:10:38 1004

原创 激光SLAM流程

1.激光数据处理激光运动畸变; 里程计的标定; 多传感器时间同步;

2021-06-01 12:03:38 1987

原创 使用pointcloud_to_laserscan包实现三维转二维

有效解决catkin_make报错,roslaunch找不到包的问题1,安装pointcloud_to_laserscan包cd ~/catkin_ws/srcgit clone https://github.com/BluewhaleRobot/pointcloud_to_laserscan.gitcd ~/catkin_wscatkin_make2,创建launch文件cd ~/catkin_ws/src/pointcloud_to_laserscan/launchgedi

2021-05-11 22:11:55 2132 3

原创 linux下给特定USB串口或特定设备绑定自定义设备符

1. 串口信息查询查看有哪些串口python -m serial.tools.list_ports2.查看usb设备详细信息udevadm info /dev/ttyUSB0

2021-05-10 20:13:18 402

原创 catkin_make出错

安装好ros后,catkin_make出现如下报错:CMake Error at CMakeLists.txt:65 (message): find_package(catkin) failed. catkin was neither found in the workspace nor in the CMAKE_PREFIX_PATH. One reason may be that no ROS setup.sh was sourced before.-- Configurin

2021-05-10 13:33:27 1975

原创 定位注意事项

建图后,定位需要:需要修改/cartographer_ros/cartographer_ros/occupancy_grid_node_main.cc 的源码,在main函数上面3行作用,注释掉下面这句。原因是因为他会发布新的地图覆盖原来的地图,建图的时候请记得打开奥。occupancy_grid_publisher_.publish(*msg_ptr);然后catkin_make下或者独立安装的catkin_make_isolated --install --use-ninja.然后需要

2021-04-02 10:08:30 152 1

原创 ROS基础—Nodehandle句柄

句柄可以让你通过构造函数指定命名空间 ros::init(argc, argv, "node_name");(1)ros::NodeHandle nodel_handle; ros::Publisher map_publisher_ = node_handle_.advertise<nav_msgs::OccupancyGrid>("map", 1, true); 上例子会发布节点<node_name>的话题/map   话题形...

2021-03-18 11:00:45 3895

原创 Invalid roslaunch XML syntax: not well-formed (invalid token): line 11, column 10 The traceback for

报错:Invalid roslaunch XML syntax: not well-formed (invalid token): line 11, column 10 The traceback for the exception was written to the log file我的ros版本kinetic,安装了cartograther 准备用我的激光雷达构图,需要修改/cartographer_ros/myself_backpack_2d_localization.launch文

2021-01-20 10:04:42 11034 1

原创 速腾聚创robosense16线在cartographer下进行2D建图

1.前提:安装好rslidar相关驱动,安装好point_to_laseerscan将点云数据转换成单线激光。2.修改cartographer下的文件,2.1 修改catkin_w/src/cartographer_ros/cartographer_ros/configuration_files/revo_lds.lua,主要修改以下两行:tracking_frame = "rslidar",published_frame = "rslidar",里面的"horizontal_las.

2021-01-18 20:41:04 1822 6

原创 ROS运行错误:无法连接到ROS master,ERROR: unable to contact ROS master at [http://11311]

https://blog.csdn.net/xiaodingqq/article/details/87690563错误出在运行节点时, 出现原因待定,但是这个错误是本地的会还地址出错了,所以当你发布话题再去接收时,就会收不到错误提示:ERROR: unable to contact ROS master at [11311]The traceback for the exception was written to the log file解决办法:在终端上,输入以下命令:.

2021-01-13 13:13:48 10309 1

原创 cartographer-保存.pbstream地图

打开一个新终端,停止接收数据:rosservice call /finish_trajectory 0生成pbstream文件:rosservice call /write_state /home/zzr/carto_ws/map.pbstream //自己的路径或者rosservice call /write_state "filename: 'map.pbstream' "地图保存在目录 ~/.ros(小知识:在文件目录下ctrl+H可以切换隐藏文件夹的显示与

2021-01-11 17:01:47 1478

原创 Cartographer的安装与测试

Ros版本:ROS-Kinect工作目录:~/carto_ws1.RoboSense 16线雷达驱动安装安装依赖项sudo apt-get install libpcap-dev下载源码到工作目录的src/文件夹下 cd ~/carto_ws/srcgit clone https://github.com/RoboSense-LiDAR/ros_rslidar修改文件权限cd ~/carto_ws/src/ros_rslidar/rslidar_drvier.

2021-01-05 21:18:05 1257

原创 Linux下PCL的安装与卸载

PCL安装1.首先,要先安装一大堆依赖库 sudo apt-get update sudo apt-get install git build-essential linux-libc-dev sudo apt-get install cmake cmake-gui sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-dev sudo apt-get install mpi-defaul

2020-12-22 18:20:19 8273 3

原创 CMakeLists文件语法规则随笔

1.指定CMake的版本cmake_minimum_required(VERSION 3.0)声明当前使用CMake支持的最低版本,也可以不写这句话。2.设置当前项目的名称project(example)强烈建议大家加上这句话,添加后,CMake会自动生成两个预定义变量example_BINARY_DIR和exampl_SOURCE_DIR,...

2020-08-16 17:22:01 128

空空如也

空空如也

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

TA关注的人

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