自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++学习实践(三)c++11新特性常见问题(附详细答案)

文章目录1、auto类型推导2、右值引用、完美转发1、auto类型推导(1)auto的使⽤必须⻢上初始化,否则⽆法推导出类型(2)auto在⼀⾏定义多个变量时,各个变量的推导不能产⽣⼆义性,否则编译失败。(3)auto不能⽤作函数参数(4)在类中auto不能⽤作⾮静态成员变量(5)auto不能定义数组,可以定义指针(6)auto⽆法推导出模板参数(7)在不声明为引⽤或指针时,auto会忽略等号右边的引⽤类型和cv限定。(8)在声明为引⽤或者指针时,auto会保留等号右边的引⽤和cv属性。c

2024-01-01 20:59:08 526

原创 C++学习实践(一)高频面试问题总结(附详细答案)

c++高频面经附详细答案

2023-12-25 15:03:05 777

原创 Apollo规划模块代码学习(2): 轨迹规划流程理论基础详解(lane follow场景为例)

本文以具体场景Lane follow为例梳理具体的轨迹规划算法流程。详细介绍轨迹规划重要基础:Frenet坐标系列、路径规划速度规划、轨迹平滑算法原理。

2023-02-23 22:15:39 3032 2

原创 Apollo规划模块代码学习(1): 算法架构原理、运行机制一文详解

Apollo 规划模块功能的实现是基于多个场景(scenario-based)实现的,不同的场景分成多个阶段(stage),每一阶段执行多个任务(task)来完成轨迹规划。其功能是规划出实时的轨迹,并保证轨迹的安全、避障、遵守交通规则、舒适度等。规划模块代码架构如下,输入包括Routing信息、感知预测信息(障碍物、交通灯)以及车辆地盘信息、高精地图和定位信息。输出带有时间和速度信息的轨迹点。

2023-02-22 21:16:43 2587

原创 自动驾驶算法/规划决策控制算法面经汇总、学习路线、面经心得

自动驾驶秋招准备、自动驾驶算法学习路线。

2023-02-16 13:57:04 8447 4

原创 规划控制决策算法面经链接汇总

自动驾驶面经链接汇总,不定期持续更新~

2023-02-16 13:53:48 708

原创 Apollo规划模块:基于二次规划(QP)的车辆路径规划(论文研读)

对于自动驾驶车辆,路径规划不仅需要计算安全,而且要计算舒适路径,即几何特性发生合适变化的路径,也必须满足车辆的非完整约束。在城市驾驶环境中,车辆经常需要在狭窄的通道中穿梭。这些因素使得自动驾驶车辆的路径规划成为一个挑战性问题。解决问题道路被两侧的许多车辆/障碍物堵塞,为生成符合车辆运动学且平滑的路径,避免在复杂环境中发生碰撞,提出了一种新的二次规划方法,该方法生成完全避免碰撞能力的最优路径。

2023-02-15 14:26:32 2793

原创 规控算法技能之路径规划算法

规控算法工程师中常见的路径规划算法原理、流程、应用场景。

2022-10-25 15:26:09 1696

原创 ACM模式处理输入输出大全(多组数据、数组、链表、二叉树链接整理)

ACM模式处理输入输出(数组、矩阵、链表、二叉树)

2022-07-27 13:45:15 2726

原创 论文分享:基于深度强化学习的无人机三维导航

提出了一种新的基于深度强化学习的无人机三维mapless导航系统。没有使用基于图像的传感方法,提出了一个简单的学习系统仅使用来自距离传感器的少量稀疏范围数据来训练学习代理。基于两种最先进的双批评家深度RL模型双延迟深度确定性策略梯度(TD3)和软参与者批评家(SAC)。两种方法优于基于深度确定性策略梯度(DDPG)技术和BUG2算法的方法。此外基于递归神经网络(RNN)的新深度RL结构优于当前用于执行移动机器人mapless导航的结构。......

2022-07-25 22:15:28 1905

原创 局部规划算法:DWA算法原理

DWA算法(dynamicwindowapproach)是移动机器人在运动模型下推算(v,w)对应的轨迹,确定速度采样空间或者说是动态窗口(三种限制);在速度空间(v,w)中采样多组速度,并模拟这些速度在一定时间内的运动轨迹,通过一个评价函数对这些轨迹打分,选取最优的轨迹来驱动机器人运动。...

2022-07-18 20:35:29 16568

原创 Apollo规划模块:Em Planner算法原理解析(论文研读)

EM planner是基于百度Apollo(开源)的实时运动规划系统。旨在解决工业4级运动规划问题。该规划器以多车道、路径速度迭代、交通规则和决策组合设计的安全性和乘坐体验为目标。系统分层覆盖了多车道和单车道自动驾驶。...

2022-07-13 22:45:03 7077

原创 Apollo规划模块:lattice算法原理解析

Apollo规划模块以预测模块、routing模块、高精地图和定位的结果作为输入,输出一条平稳、舒适、安全的轨迹,下游交给控制模块去执行,由控制器完成对局部轨迹的跟踪控制。Lattice算法属于规划模块,是一种局部轨迹规划器,输出是一条光滑无碰撞满足车辆运动学约束和速度约束的平稳安全的局部轨迹。输入端主要由三部分组成,感知及障碍物信息、参考线信息及定位信息。(预测模块、routing模块、高精地图和定位的结果)输出是带有位置、速度信息的一系列轨迹点组成的平稳、舒适、安全的轨迹。Lattice规划算法是一

2022-07-10 17:45:17 4970

原创 路径规划:基于kinodynamic的路径搜索

文章目录一、介绍1、概念2、车辆模型二、 State Lattice Planner1、基本思想2、边界值问题(Boundary Value Problem, BVP)三、 Kinodynamic RRT*四、 Hybrid A*1、基本思想:2、启发函数设计:3、Analytic Expansions一、介绍1、概念kinodynamic规划问题是综合机器人的运动,同时受到运动学约束(如避开障碍物)和动力学约束(如速度、加速度和力的模量边界)。它的解是从时间到广义力或加速度的映射。传统的路径规划包

2022-06-27 16:10:47 2302

原创 路径规划:基于搜索的算法hybrid A*

文章目录一、hybrid A*算法1、算法原理及流程2、算法特点两者比较3、其他注意四、项目应用一、hybrid A*算法1、算法原理及流程2、算法特点两者比较3、其他注意2、hybrid A*参考文献整理:https://blog.csdn.net/luohuiwu/article/details/103181609/算法解析:https://blog.csdn.net/shuang_yu_/article/details/109051885ros平台c++中实现:https://gi

2022-05-10 21:42:29 1597 1

原创 路径规划:基于搜索的算法A*

文章目录一、A*算法1、算法原理2、算法流程3、算法特点参考链接一、A*算法1、算法原理2、算法流程3、算法特点4、两者比较代码实现项目应用一、A*算法A*(A-Star)算法是一种静态路网中求解最短路径最有效的直接搜索方法,算法中的距离估算值与实际值越接近,最终搜索速度越快。它是一种启发式搜索基于搜索的全局路径规划方法1、算法原理2、算法流程伪代码如下:流程理解:3、算法特点参考链接一、A*算法1、算法原理2、算法流程3、算法特点4、两者比较代码实现项目应用...

2022-05-06 14:41:20 1865

原创 力扣刷题c++位运算总结

文章目录1、位运算基础2、位运算性质3、位运算应用问题1、位运算基础(1)概述:原码:补码:反码:反码等于补码减1;按位与(&)、按位或(| )、按位异或(^)、取反(~)、左移(<<)、右移(>>),只能用于整型操作数,即用于带符号或无符号的 char、short、int 与 long 类型。(2)按位与0&0=0; 0&1=0; 1&0=0; 1&1=1,负数按补码形式参加按位与运算;都真为1应用例子:判断奇偶:

2022-04-29 11:03:20 1428 1

原创 Apollo控制模块:Apollo控制模块基础及控制算法介绍。

文章目录一、控制理论基础1、概述2、控制基础二、PID控制器1、基本知识三、进阶控制器设计四、MATLAB控制工具箱五、APLLO控制模块代码一、控制理论基础1、概述(1) 输入:轨迹线Reference、定位信息、地图信息、车辆反馈信息 。输出:油门、刹车、方向盘。CANBUS:车辆底盘交互协议底盘、速度、四轮转速、健康状况、地盘报错、自动驾驶状态。运动学模型:刚体运动动力学模型:力学分析(2)控制任务的目的:让车辆在既定轨迹上平稳运行。接收Planning的轨迹信息、不同环境下的轨迹

2022-04-28 16:19:31 3421

原创 Docker入门教程和常用命令

文章目录一、初始docker一、初始docker**1、**开发环境、测试环境、生产环境;**2、**开源应用容器引擎;开发者打包应用以及依赖包到一个轻量级、可移植的容器中,避免软件跨环境迁移问题。容器使用沙箱机制,相互隔离;容器性能开销极低。3、安装docker(CE为社区版,EE为企业版)菜鸟教程官网:https://www.docker.com4、docker架构客户端 守护进程 本机 远程容器 : 镜像是静态的定义,镜像运行的实体,类似于类和对象的定义。容器可以被创建、启

2022-04-26 21:05:05 1895 1

原创 路径规划:基于搜索的算法Dijkstra

文章目录1、概述2、算法原理及流程(1)伪代码(2)流程理解3、代码实现1、概述Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。通常有两种表示方式,一种用永久和临时标号方式,一种是用OPEN, CLOSE表的方式。该算法要求图中不存在负权边。2、算法原理及流程(1)伪代码深蓝视频课程(2)流程理解采用贪心策略,即扩展/访问累计成本最低的节点g(n), g(n)表示从开始状态到节点

2021-12-16 20:20:01 427

原创 路径规划:基于采样的算法RRT

文章目录一、概述1、算法概述2、一些概念二、算法原理及流程1、算法原理伪代码如下:三、代码实现一、概述1、算法概述基于快速扩展随机树(RRT / rapidly exploring random tree)的路径规划算法,通过对状态空间中的采样点进行碰撞检测,避免了对空间的建模,能够有效地解决高维空间和复杂约束的路径规划问题。特点是能够快速有效地搜索高维空间,通过状态空间的随机采样点,把搜索导向空白区域,从而寻找到一条从起始点到目标点的规划路径。适合解决多自由度机器人在复杂环境下和动态环境中的路径

2021-12-14 21:47:07 1081

原创 路径规划:基于搜索的算法D*

文章目录一、基本知识1、概述2、符号定义二、算法流程1、主要流程:2、伪代码:3、流程理解:三、代码实现一、基本知识1、概述A*在静态路网非常有效,但不适用在动态路网,环境如权重等不断变化的动态环境下。D*是一种启发式的路径搜索算法,是火星探测器采用的寻路算法,适合面对周围环境未知或者周围环境存在动态变化的场景。2、符号定义(1) D *维护要评估的节点列表,称为“OPEN list”。G表示终点,两个点的记号中会省略。c(X,Y): x和y的cost。(2) t(x)表示x的状态,包括:

2021-12-14 19:42:24 1129

原创 mujoco强化学习环境配置,常见OSError: __glewBindBuffer错误解决方案

文章目录一、mujoco强化学习安装二、遇到错误 __glewBindBuffer一、mujoco强化学习安装参考链接1ubantu18参考链接注意的是,现在mujoco开源了,直接官网下载Activation key这个文件,直接按照参考链接1中安装步骤进行,省去了以前注册的步骤。二、遇到错误 __glewBindBuffer1、测试安装mujoco和mojoco_py都成功后,如果使用mujoco环境时候出现OSError: /home/*/.mujoco/mujoco200/bin/lib

2021-11-29 21:04:40 787

原创 pytorch中使用Dataset、DataLoader读取自定义数据集

文章目录1、读取数据和标签2、转换成 tensor3、定义init()和getitem() 和len() 函数4、初始化类5、将类实例传给 DataLoader首先需要导入库文件from torch.utils.data import Dataset, DataLoader1、读取数据和标签将数据和标签分别进行读入。2、转换成 tensorpytorch处理tensor,对于其他类型数据需要进行转换,如将numpy.ndarray转换为tensor类型可用函数:torch.from_numpy函

2021-07-27 17:11:10 961

转载 二分查找算法

文章目录二分查找算法一、二分查找的框架二、寻找一个数(基本的二分搜索)三、寻找左侧边界的二分搜索四、寻找右侧边界的二分查找五、最后总结二分查找算法本文就来探究几个最常用的二分查找场景:寻找一个数、寻找左侧边界、寻找右侧边界。而且,我们就是要深入细节,比如while循环中的不等号是否应该带等号,mid 是否应该加一等等。分析这些细节的差异以及出现这些差异的原因,保证你能灵活准确地写出正确的二分查找算法。一、二分查找的框架int binarySearch(int[] nums, int target)

2021-05-30 15:50:28 283

原创 自动驾驶/slam常用数据集链接

The EuRoC MAV Datasetslam常用数据集数据集笔记参考

2021-05-19 20:48:11 295

原创 ubantu18.04安装运行VINSmono

文章目录一、安装相关库1、安装ros2、安装其他库3、安装opencv库一、安装相关库1、安装ros(1)首先安好 ros melodic。参考官网。参考博客1参考博客2(2)接着配置ros(运行VINS需要)sudo apt-get install ros-melodic-cv-bridge ros-melodic-tf ros-melodic-message-filters ros-melodic-image-transport解释:cv-bridge在ROS图像消息和OpenCV

2021-05-17 22:41:02 2011 5

原创 DBoW3库的编译与安装

文章目录一、DBoW3库介绍二、DBoW3库的编译和安装一、DBoW3库介绍1、DBoW3是DBoW2的增强版,这是一个开源的C++库,用于给图像特征排序,并将图像转化成视觉词袋表示。它采用层级树状结构将相近的图像特征在物理存储上聚集在一起,创建一个视觉词典。DBoW3还生成一个图像数据库,带有顺序索引和逆序索引,可以使图像特征的检索和对比非常快。2、DBoW3有两个主要的类:Vocabulary和Database。视觉词典将图像转化成视觉词袋向量,图像数据库对图像进行索引。二、DBoW3库的编译

2021-04-20 20:21:16 2014 1

原创 VINS论文代码资料整理

1、开源代码VINS-Mono源码PC版: https://github.com/HKUST-Aerial-Robotics/VINS-MonoVINS-Mono源码ios版: https://github.com/HKUST-Aerial-Robotics/VINS-Mobile2、论文:1.VINS-Mono A Robust and Versatile Monocular Visual-Inertial State Estimator3、论文翻译链接1链接24、学习链接推荐资料较全

2021-04-07 20:32:31 99

原创 ubantu18.04安装ceres库,出现E: Unable to locate package libcxsparse3.1.2解决方案

文章目录1、下载地址:https://github.com/ceres-solver/ceres-solver1、下载地址:https://github.com/ceres-solver/ceres-solver2、安装依赖sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3.1.2 libgflags-dev libgoogle-glog-dev会报错,ubantu18.04改为sudo apt-get i

2021-03-29 19:25:12 1744 3

原创 slam十四讲第五讲代码出错,提示在pose.txt目录下运行。

解决办法1:将make生成的build/joinMap文件复制到pose.txt文件下,在运行./joinMap。解决办法2:在joinMap.cpp中:将ifstream fin("./pose.txt");改为ifstream fin("…/pose.txt");将boost::format fmt( “./%s/%d.%s” ); 改为boost::format fmt( “…/%s/%d.%s” );之后保存,重新编译运行即可。运行结果:点赞关注,好运多多~...

2021-03-27 20:14:40 837 2

原创 ubuntu18下载编译Sophus库出错,跑通十四讲李代数代码。

文章目录一、安装编译Sophus库1、下载非模板类的Sophus。2、编译CMake工程。3、编译过程解决方案一、安装编译Sophus库1、下载非模板类的Sophus。git clone https://github.com/strasdat/Sophus.git cd Sophusgit checkout a621ff2、编译CMake工程。mkdir buildcd buildcmake …make3、编译过程解决方案make时出现如下错误:解决方案:解决方法如下:so

2021-03-26 21:19:41 567

原创 在ubantu18.04上跑通ORBSLAM2, 附ORBSLAM资料大全。

文章目录1、使用配置环境介绍2、安装相关库3、安装编译ORBSLAM4、运行实例1、使用配置环境介绍系统:ubantu18.04ROS版本:ROS melodic电脑戴尔iopencv:python:2.72、安装相关库(1)、安装Eigensudo apt-get install libeigen3-dev3、安装编译ORBSLAMcd ~/catkin_ws/src/git clone https://github.com/raulmur/ORB_SLAM2.git ORB_S

2021-03-17 21:33:27 290

原创 2、ROS创建工作空间、功能包,编译示例程序。

古月-机器人操作系统ROS理论与实践学习笔记文章目录1、创建工作空间2、ROS通信编程3、实现分布式通信4、ROS中的关键组件1、创建工作空间(1)工作空间:存放工程开发相关的文件夹。src: 代码空间,存放功能包源码。build: 编译空间,存放编译产生的中间文件。devel: 开发空间,存放编译后的可执行文件,环境变量 配置的脚本等。install: 安装空间,和devel作用基本一致,一般使用install命令将可执行文件等安装到这个文件夹。(2)创建工作空间过程解释

2021-03-06 20:25:50 644

原创 Windows10下安装配置Anaconda(64位)

一、window10下安装Anaconda1、从这里进入官网,最下面选择安装自己电脑对应的Anaconda版本,这里选择安装Window下64位的版本。2、点击安装,选择保存在路径为英文的空目录下,点击Next,当初出现下图时可以选择手动添加配置环境变量。如果你在安装过程中勾选了Add PATH 那个选项,那么你不需要额外配置环境变量。安装完成便可使用。3、但是如果你没有勾选(默认是不勾选的),那么安装后,需要去配置环境变量:打开控制面板主页>高级系统设置>环境变量>找到系统变量

2021-01-20 16:04:08 757 1

原创 ROS学习笔记1:核心知识、安装、简单例子介绍。

古月-机器人操作系统ROS理论与实践学习笔记1、ROS是什么?开源的机器人操作系统,为了提高软件复用性,提供了很多优秀的工具和库。ROS=通讯机制+开发工具+应用功能+生态系统。2、ROS的特点?(1)点对点设计:节点单元、分布式网络、RPC+TCP/UDP通信系统、适合多机协同。(2)多语言支持:语言无关的接口定义、支持Python、c++、java等。(3)架构精简、集成度高:每个节点可以单独编译、集成众多开源项目、接口统一、提高软件复用性。(4)组件化工具包丰富:3D可视化工具-rvi

2020-11-02 20:29:34 925 2

原创 视觉SLAM十四讲学习笔记:第三讲

第三讲学习总结SLAM十四讲是高翔博士写的非常经典的视觉slam书籍,记录下学习心得,与大家分享学习。一、知识总结1、内积:描述向量间的投影关系2、外积:外积的方向垂直a、b两个向量,大小为它是两个向量张成的四边形的有向面积。外积只对三维向量存在定义,可以表示旋转^表示反对称符号,外积公式:3、欧氏变换:同一个向量在各个坐标系下的长度和夹角都不会发生变换,称为欧氏变换。4、旋转矩阵:描述了旋转本身。它是行列式为1的正交矩阵。SO表示特殊正交群,集合定义如下:5、世界坐标系下向量a经过旋转

2020-10-14 16:32:59 422

原创 视觉slam十四讲学习笔记:第一、二讲。

一、二讲学习总结SLAM十四讲是高翔博士写的非常经典的视觉slam书籍,记录下学习心得,与大家分享学习。一、知识总结1、slam英文为Simultaneous Localization and Mapping,意思是同时定位与建图。它指搭建特定的传感器的主体,在没有环境先验信息的情况下,在运动过程中建立环境的模型,同时估计自己的运动。当传感器主要为相机时,可称为‘视觉slam’。2、slam技术应用在机器人定位导航,AR/VR、三维重建等领域。3、相机主要分为单目(Monocular)、双目(St

2020-10-13 16:34:42 283

原创 win10电脑+ubantu双系统下如何卸载ubantu。

1、首先下载esayuefi卸载掉ubuntu,右边红色减号就是删除按钮(或者自己百度搜索下载最新版本亦可)ps:开机进入grub界面问题,也可用这个软件解决。将window设置为第一启动项,通过选中window boot manager,点击绿色箭头,让它到最上面。)2、删除ubantu所在的硬盘分区,我的电脑,右键管理,磁盘管理。当时安装的位置和内存大小判断位置。选中分区,右键删除卷。或者直接按Delete键。注意别把windows的系统错删了。其中EFI系统分区的不能直接再磁盘管理中删除,这是

2020-09-20 23:38:33 768

原创 ROS的gazebo仿真出现Unable to find uri[model://ISCAS_groundplane]等模型加载错误。

解决办法:1、检查网络是否正常,加载模型过程较慢,若保存在本地,可以断开网络加载。无线网络尝试有线网络。2、可以在gazebo界面通过insert加载出models。ps:以上两条是百度的,大家可以试试看。3、(我遇到的问题解决办法)在home的目录下,按Ctrl+H显示隐藏文件,在. gazebo文件的models下检查是否有工程中src下的models里相应的文件。如果没有把src下的models里相应的文件复制到. gazebo的models下,重新启动即可。...

2020-09-13 10:43:21 3114

空空如也

空空如也

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

TA关注的人

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