从零开始学习自动驾驶
英雄小摔哥
怕什么真理无穷,进一寸有一寸的欢喜
展开
-
ros学习笔记——保存slam里程计数据用于评估
看了好多开源代码都没有保存最后的里程计信息,导致好多小伙伴无法用于评估代码的好坏或者适合哪种场景使用,所以使用ros写了一个保存轨迹数据的代码》》》使用之前先建立好对应文件夹保存轨迹信息。...原创 2021-10-16 22:03:03 · 770 阅读 · 3 评论 -
从零开始学自动驾驶(10)——基于地图的定位
对应任佬代码tag14.0一、概述:1、由于地图比较大,所以加载地图之后需要做一个滤波2、由于匹配需要初始位置,所以要做初始化3、地图比较大,直接匹配比较耗时,只要匹配附近的点云就可以,所以需要从大地图中分割出一个小地图4、每次移动都要分割出小地图,所以小地图适当做的大一些,当车辆快要离开小地图时在重新分割。1、数据的接收与发布:std::shared_ptr<MatchingFlow> matching_flow_ptr = std::make_shared<原创 2021-07-05 10:34:21 · 486 阅读 · 1 评论 -
从零开始学自动驾驶(6)——点云畸变补偿
对应任佬代码tag8.0问题概述:(1)旋转畸变:雷达扫描一周时,如果雷达自身与雷达旋转方向相反,会导致雷达激光旋转角比真实小一些。(2)直行畸变:雷达发射光束在接受时,如果雷达向前位移,会导致激光测得的距离比真实小一些。解决方案:计算雷达自身角速度与线速度,尽量还原激光真实情况,完成畸变补偿。点云畸变补偿在激光里程计更新中实现去畸变操作TransformCoordinate函数将imu测的角速度线速度信息转换到lidar坐标系下SetMotionInfo函数.原创 2021-06-24 18:23:57 · 1007 阅读 · 1 评论 -
从零开始学自动驾驶(3)——前端里程计之代码优化
任佬代码tag5.0在上一节的front_end_node节点中,代码依旧很长,回顾一下,大致是这个样子emmmmm其实也还好,下面是,简化后的节点代码:把各个部分进行封装,使整个代码看起来更加清晰和简洁,也更有利于我们对各个模块进行扩展和替换对比。。保存地图模块(待处理)//接受存储地图信息ros::ServiceServer service = nh.advertiseService("save_map", save_map_callback);回调函数bool save_map_c原创 2021-06-22 17:11:37 · 895 阅读 · 0 评论 -
从零开始学自动驾驶(9)——前端里程计扩展
从零开始学自动驾驶——前端里程计扩展原创 2021-06-19 17:53:27 · 172 阅读 · 0 评论 -
从零开始做自动驾驶(8)——闭环修正
从零开始做自动驾驶——闭环修正原创 2021-06-19 17:52:06 · 422 阅读 · 0 评论 -
从零开始学自动驾驶(7)——后端优化
从零开始学自动驾驶——后端优化原创 2021-06-19 17:51:01 · 550 阅读 · 0 评论 -
从零开始学自动驾驶(5)——里程计精度评价
从零开始学自动驾驶——里程计精度评价原创 2021-06-19 17:49:34 · 1007 阅读 · 0 评论 -
从零开始学自动驾驶(4)——传感器时间同步
从零开始学自动驾驶——传感器时间同步原创 2021-06-19 17:48:16 · 2617 阅读 · 0 评论 -
从零开始学自动驾驶(2)——前端里程计
从零开始学自动驾驶——前端里程计原创 2021-06-19 17:46:33 · 983 阅读 · 5 评论 -
从零开始学自动驾驶(1)——软件框架篇
cmake_minimum_required(VERSION 2.8.3)project(lidar_localization)#Release:发布版本进行优化 Debug:调试版本不进行优化SET(CMAKE_BUILD_TYPE "Release")SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall")#使用C++11#为当前路径和下层路径的目标增加编译器命令行选项add_compile_options(-std=c++11).原创 2021-06-19 08:42:28 · 1912 阅读 · 3 评论