自定义博客皮肤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)
  • 收藏
  • 关注

原创 【机器人】无人车-运动规划-Apollo7.0-planning模块代码框架梳理(四)--LatticePlanner

上一篇:Hua Zhu:【机器人】无人车-运动规划-Apollo7.0-planning模块代码框架梳理(三)–OnLanePlanningLatticePlanner是一种栅格化的规划器,间接继承自Planner,是Apollo中众多规划器中的一个LatticePlanner路径:modules\planning\planner\lattice\lattice_planner.h目前Apollo中的默认规划器不是Lattice,可在modules/planning/conf/planning_conf

2022-07-14 12:59:21 402

原创 【机器人】无人车-运动规划-Apollo7.0-planning模块代码框架梳理(三)--OnLanePlanning

上一篇:Hua Zhu:【机器人】无人车-运动规划-Apollo6.0-planning模块代码框架梳理(二)–PlanningComponent说明: 本文撰写时,apollo已经发布了7.0版本,遂改用Apollo7.0标题,但相关功能未发生明显变化,与6.0保持一直。OnlanePlanning的所在文件路径为:modules\planning\on_lane_planning.h该类继承自PlanningBase类(路径:modules\planning\planning_base.h)由Pl

2022-07-14 11:47:24 494

原创 【机器人】无人车-运动规划-Apollo6.0-planning模块代码框架梳理(二)--PlanningComponent

Apollo6.0 planning模块代码框架梳理(二)–PlanningComponent简介本文主要针对Apollo6.0代码库的planning模块进行更为细致的介绍,想了解更为宽泛的介绍参考上一篇文章【机器人】无人车-运动规划-Apollo6.0-planning模块代码框架梳理(一)为了便于后续简化表述,此处做一些不太严谨的名词约束:planning包:表示apollo/modules/planning文件夹下的内容planning组件:表示apollo/modules/planni

2022-01-15 20:40:32 833

原创 【机器人】无人车-运动规划-Apollo6.0-planning模块代码框架梳理(一)--整体结构

Apollo6.0 planning模块代码框架梳理文章目录Apollo6.0 planning模块代码框架梳理简介代码库结构介绍代码库地址代码库结构简图代码库结构简单介绍第一级第二级第三级planning模块启动Planning主流程梳理Planning主流程示意图四大类CyberPlanningComponentOnLanePlanningLatticePlanner两大流程初始化流程消息响应流程(运动规划)结语简介本文是基于Apollo6.0的planning模块代码进行的框架梳理plann

2022-01-09 19:49:13 1018 2

原创 【机器人】无人车-运动规划-高阶多项式曲线方程求解

高阶多项式曲线拟合方程求解文章目录高阶多项式曲线拟合方程求解已知参数(2个位置点)起点状态(3组已知值)终点状态(3组已知值)n阶多项式曲线(n+1个未知参数)基本形式基本特性高阶曲线拟合示意图3阶多项式曲线(4个未知参数)曲线方程导数方程构建方程组系数求解4阶多项式曲线(5个未知参数)曲线方程导数方程构建方程组系数求解1系数求解2更多解法5阶多项式曲线(6个未知参数)曲线方程导数方程构建方程组系数求解工程实现(Apollo)基本情况核心实现基类Curve1d子类 PolynomialCurve1d3阶

2021-12-31 16:15:20 939

原创 【机器人】无人车-运动规划-参考线Frenet框架下横纵分离关系推导

机器人/无人车-运动规划–车辆运动状态在参考线上的纵横分离推导文章目录机器人/无人车-运动规划--车辆运动状态在参考线上的纵横分离推导背景简介初始条件车辆(Ego)运动状态(xe,ye,ve,ae,θe,ke)(x_e,y_e,v_e,a_e,\theta_e,k_e)(xe​,ye​,ve​,ae​,θe​,ke​)参考线(referenceline)上的坐标点(sr,xr,yr,θr,kr,kr′)(s_r, x_r, y_r, \theta_r,k_r,k_r')(sr​,xr​,yr​,θr​,k

2021-12-21 00:05:22 759

原创 【机器人】 D*算法-动态路径规划

D*算法-动态路径/运动规划目录D*算法-动态路径/运动规划1 前言1.1 命名由来1.2 使用场合2 算法逻辑2.1 主流程2.2 核心函数3 要点探讨3.1 D* 主要特点3.2 D* 和Dijkstra、A* 到底什么关系4 实例5 参考资料5.1 原文5.2 其他参考1 前言1.1 命名由来原话:The name of the algorithm, D*, was chosen because it resembles A*

2021-07-18 21:45:44 3732 2

原创 【ROS】Ubuntu18 + ROS Melodic 中 rosdep init、rosdep update 失败

Ubuntu18 + ROS Melodic 中 rosdep init、rosdep update 失败基础环境配置:Ubuntu18 + ROS Melodic典型症状:<urlopen error timed out>问题说明:主要是网络故障导致的,可能是DNS服务异常或者污染,改用google域名服务一般可以解决## 打开网络配文件sudo vim /etc/resolv.conf## 添加新的域名服务并保存nameserver 8.8.8.8 *#g..

2021-03-31 16:40:54 169

原创 【Docker】Ubuntu16部署Docker实用教程

Ubuntu16部署Docker简易教程文章目录Ubuntu16部署Docker简易教程1 安装Docker1.1.1 准备工具1.1.2 准备源1.2.1 安装Docker CE(直接安装)1.2.2 安装Docker CE(脚本安装)1.3 启动Docker CE1.4 创建docker用户组1.5 测试Docker是否正常2 配置Docker2.1 查看Docker系统配置信息2.2.1 配置daemon.json2.2.2 重启服务2.2.3 其他功能3 使用Docker3.1 登录远程仓库3.2

2020-10-20 11:56:49 396

原创 【SWIG】C程序到python模块的swig转换流程

C程序到python模块的转换流程程序参考:http://www.swig.org/Doc3.0/SWIGDocumentation.html#Introduction_nn41、编辑待转C程序 example.c/* File : example.c */double My_variable = 3.0;/* Compute factorial of n */int fact(int n) { if (n <= 1) return 1; else

2020-05-28 18:03:12 490

原创 【matplotlib】matplotlib.pyplot绘图基础结构分析

matplotlib.pyplot 绘图基础结构分析官方文档IImatplotlib基础可实现基础配置,下例是后端配置,主要是渲染方案相关matplotlib.use(backend, warn=False, force=True)# Select the backend used for rendering and GUI integration. backend ...

2019-07-15 18:02:41 1830

原创 【numpy】ndarray 多维数组的维数和轴号分析总结

numpy中ndarray定义了多维数组,但是维数和轴号(axis)特别容易混淆,因此作了以下分析总结。维数的判断(2种方法)1、数左方括号“ [ ”的个数,如下图就是4维数组(有四个左括号,是4维)2、查看shape属性的输出元组元素个数(有四个元素,也是4维)轴号的判断(从左向右依次是0,1,2...)轴号可以数左括号“[”的顺序得到,从左到右依次是0,1,2... ,...

2019-06-07 17:36:08 2072

原创 【数据分析】图解python数据分析常用库的关系

图解python数据分析常用库的关系numpy:核心数据组织 ndarray,常用统计函数pandas:数据二维报表风格管理,index,columns, valuescipy:常用科学计算库:傅里叶变化,优化算法等matplotlib:数据可视化基础包,提供基础绘图功能seaborn:数据可视化高级包,提供数据统计分析专业函数以及绘图方法。...

2019-06-04 16:51:52 491

原创 【机器学习】 特征值分解、奇异值分解与PCA的原理

1、PCA的原理 设n维随机变量X, 其对应的协方差矩阵是C 基于正交矩阵P,对随机变量X做正交变换,得到变量Y,对应协方差矩阵为R,如下所示。 C是X的协方差矩阵,R是Y的协方差矩阵,二者都是一个对称矩阵 协方差矩阵的对角线以外的值都是n维变量各分量之间的相关性的度量值,当值为0时表示两个分量无关,即相互独立,此时我们得到的变量具有很好的统计特性,便于处理,即我们的目标是...............

2019-05-21 11:47:32 1020

原创 【数学】期望、方差、协方差、协方差矩阵

期望、方差、协方差、协方差矩阵1 期望(数学期望、均值)在概率论和统计学中,数学期望(mean)(或均值,亦简称期望)是试验中每次可能结果的概率乘以其结果的总和,是最基本的数学特征之一。它反映随机变量平均取值的大小。 需要注意的是,期望值并不一定等同于常识中的“期望”——“期望值”也许与每一个结果都不相等。期望值是该变量输出值的平均数。期望值并不一定包含于变量的输出值集合里。 大数定律...

2019-05-21 11:39:20 9420

原创 【docker】Docker入门到实践 笔记

Docker入门到实践 笔记基本概念镜像(Image) 容器(Container) 仓库(Repository)镜像特殊的文件系统 不包含任何动态的数据 采用Union FS技术,设计分层架构容器镜像和容器就像“类”和“实例”的区别 容器的实质是进程 容器也是分层结构,存在容器存储层,为容器运行时读写而准备,生命周期和容器同步仓库Docker Registry...

2019-03-17 19:01:08 220

原创 【自动驾驶】运动控制自行车模型运动规律图解

自行车模型运动规律图解参数说明:前轮中心f后轮中心r后轮中心速度v前后轮轴距为L车身横摆角(朝向)θ前轮转向角α转向中心O后轮转向半径R模拟方式:1、车辆沿车身方向行走一个非常小的距离2、即以后轮中心r为原点,以半径L画圆,此时与前轮朝向延长线交点即为前轮中心f的位置。3、重复上述1-2步,经过一定时间,对后轮中心、前轮中心走过的位置进行拟合变得...

2019-01-16 14:24:57 6402 10

原创 【算法】图解A* 搜索算法

A* 算法是启发式搜索算法,是根据Dijkstra算法改进而来。问题引入如下图所示,S为起始(start)节点,G为目标(goal)节点。节点之间连线是两点的路径长度,如A到E的路径长度c(A,E) = 9。 节点旁的h值时当前节点到达目标节点(G)的预估值,如h(A)=15, 表示从当前点A到达目标点G的估计路径长度为15,此处h(x)即为启发函数,启发函数的设计有很多方法,具体可......

2019-01-11 00:57:25 29548 18

原创 【matplotlib】 图解pyplot figure、subplot、axes、axis的区别

图解matplotlib.pyplot figure、subplot、axes、axis的区别基本概念用matplotlib.pyplot绘图需要知道以下几个概念:画图板/画布:这是一个基础载体,类似实际的画图板,用pyplot.figure()函数创建,程序中允许创建多个画图板,具体操作的画板遵循就近原则(操作是在最近一次调用的画图板上实现),缺省条件下内部默认调用pyplot.fi...

2019-01-05 18:12:43 13988 1

原创 【强化学习】深度强化学习:DQN(深度Q学习)、经验回放、固定Q目标迭代流程。

以下是深度强化学习:深度Q网络DQN的迭代流程、其中增加了经验回放、固定Q目标等处理技巧。流程的关键点是:1、该流程是一个横向展开流程,从左向右是时间轴上的逐步迭代。2、流程中动作值函数的逼近方法使用的是神经网络模型(图中含NET的步骤,具体根据需要设计)。3、除初始化环节,每个迭代循环分为两大步操作,以随机缓存区为分界,上部为采样环节(sample,提供新的数据),下部为学习环节...

2019-01-03 10:02:51 7428

原创 【强化学习】强化学习:时间差分学习算法、SARSAmax算法、Q学习算法与神经网络模型结合迭代流程

以下是强化学习-时间差分学习算法、SARSAmax算法、Q学习算法与神经网络模型相结合的迭代流程图(深度Q学习)流程的关键点是:1、流程中动作值函数的逼近方法使用的是神经网络模型(图中含NET的步骤,具体根据需要设计)。2、流程中需要先利用网络完成所有动作空间的动作值估算,然后根据max策略选取一个动作值作为动作估计值,再结合折扣系数、直接奖励估算真值。3、每一次迭代中,都会使用两...

2019-01-02 23:09:59 609

原创 【强化学习】强化学习:时间差分学习算法、SARSA(0)算法与神经网络模型结合迭代流程

以下是强化学习-时间差分学习算法(SARSA(0)算法)与神经网络模型相结合的迭代流程图流程的关键点是:1、流程中动作值函数的逼近方法使用的是神经网络模型(图中含NET的步骤,具体根据需要设计)。2、模型中使用的动作值的真值是用神经网络模型(使用NET步骤)进行估算后乘于折扣率加上当前奖励得到的。3、每一次迭代中,用来训练模型的状态值S、动作值A都是上一步迭代所得(on-line策...

2019-01-02 18:17:02 569

原创 【机器学习】机器学习知识图谱:传统学习、神经网络、深度学习、强化学习、对抗学习等

注:以下为个人总结机器学习知识图谱,来源参考《机器学习》西瓜书、《深度学习》Udacity、《机器学习》Coursera等。

2019-01-01 15:59:25 2166 1

原创 【tensorflow】tensorflow 常见问题记录

问题1: libcublas.so.9.0: cannot open shared object file: No such file or directory解决方案:tensorflow 版本与cuda版本不兼容问题,正确版本映射关系如下:tensorflow-gpu版本 cuda版本 tensorflow 1.6/1.5 cuda9.0 tensorflow 1....

2018-12-29 16:18:50 241

原创 【python】python中not的用法总结

not 作为逻辑运算符使用 exp 对应逻辑强转结果 not exp逻辑运算结果 None(无) false true False false true 0 false ...

2018-12-22 13:16:56 5850

原创 【ES】ElasticSearch 集群

ES(ElasticSearch)集群基础知识02集群结构节点:一个运行中的 Elasticsearch 实例称为一个 节点 集群:是由一个或者多个拥有相同 cluster.name 配置的节点组成, 它们共同承担数据和负载的压力。当有节点加入集群中或者从集群中移除节点时,集群将会重新平均分布所有的数据。 单节点集群:仅启动一个单独的节点,构成一个单节点集群...

2018-11-28 17:59:03 304

原创 【快捷键】iTerm2 常用快捷键

iTerm2 常用快捷键 分组 功能 组合1 组合2 分屏       垂直分屏 command + d           水平分屏 command + shift + ...

2018-11-27 14:41:38 273

原创 【ES】ElasticSearch 基础

ES (ElasticSearch) 基础入门01资料在线手册工具组合ES(检索后台)+ kibana(交互前端)部署参考官网部署启动启动ES./bin/elasticsearch#浏览器访问IP:9200启动kibana./bin/kibana#浏览器访问IP:5601/app/kibana入门操作基本操作方式标准方式...

2018-11-25 17:34:18 251

原创 【conda】Anaconda 部署相关问题汇总

anaconda 部署相关问题汇总001 Ubuntu原生Python被Anaconda更改方案1 修改PATH顺序vim ~/.bashrc export PATH="/home/user-name/anaconda3/bin:$PATH" 修改为 export PATH="$PATH:/home/user-name/anaconda3/bin" 打开新的窗口或重启系统 ...

2018-11-24 20:43:39 313

原创 【conda】Anaconda 命令快速上手

conda命令快速上手环境管理创建环境conda create -n env_name list of packages进入环境# linux likesource activate env_name# windowsactivate env_name进入标志(env_name)~ $退出环境# linux likesource deactivat...

2018-11-24 20:23:02 297

原创 【jupyter】jupyter notbook 安装与配置

jupyter 安装与配置安装pip3 install jupyter启动jupyter notebook #启动并自动打开浏览器jupyter notebook --no-browser #启动但不开启浏览器配置文件(远程访问)生成配置文件jupyter notebook --generate-config#生成后文件为~/....

2018-11-24 19:06:14 435

原创 【samba】Ubuntu samba的安装及使用方法

Ubuntu samba的安装及使用方法说明本文仅在Ubuntu系统上进行了安装,centOS系统等存在一定差异,读者可参考其他资源进行分析安装sudo apt-get updatesudo apt-get install samba配置指定账号的访问选择一个共享路径,假设为/home/work/sharedir,不存在的情况下可以自己创建sudo mkd...

2018-11-24 15:44:42 1039

原创 【ROS】ros消息文件msg和服务文件srv

ros消息文件msg和服务文件srv参考(http://wiki.ros.org/ROS/Tutorials/CreatingMsgAndSrv#Creating_a_srv)1简介1.1 msg消息文件,示例Header headerstring child_frame_idgeometry_msgs/PoseWithCovariance posegeometry_m...

2018-11-18 14:33:42 747

原创 【ROS】rospy 服务端和客户端(Service and Client)

rospy L2: Service and Client参考(http://wiki.ros.org/rospy_tutorials/Tutorials/WritingServiceClient)1环境准备基础路径同rospy L1: Publisher and Subscriber,软件包为beginner_tutorials2 服务文件 srv参考(http://wik...

2018-11-18 14:32:02 956

原创 【ROS】rospy 发布器和订阅器(Publisher and Subscriber)

rospy L1: Publisher and Subscriber参考(http://wiki.ros.org/rospy_tutorials/Tutorials/WritingPublisherSubscriber)1 准备开发环境1.1 创建功能包beginner_tutorialscatkin_create_pkg beginner_tutorials std_msgs ...

2018-11-18 14:30:17 2258

原创 【ROS】创建ROS功能包(ROS package)

创建功能包(ROS package)参考(http://wiki.ros.org/ROS/Tutorials/CreatingPackage)1 常用工具roscreate-pkg catkin推荐使用catkin (参考: http://wiki.ros.org/catkin/conceptual_overview)2 catkin package组成命名规则 ...

2018-11-18 14:27:14 822

原创 【cuda】gtx1080 显卡 cuda9.0 cuDNN7.1 tensorflow 安装教程

背景机器:dell xps8920系统:Ubuntu16.04(amd64)显卡:gtx1080python版本:python3.6安装CUDA9.0旧版本清理sudo apt-get remove cuda sudo apt-get autocleansudo apt-get remove cuda*cd /usr/local/sudo rm -r c...

2018-11-18 14:17:20 779

原创 【nvidia】ubuntu 16.04 安装 gtx1080显卡驱动

安装gtx1080显卡驱动注意:nvidia显卡有个热插拔无法识别问题,如果发现无法显示dell logo可能是线路问题(当前采用的是HDMI转VGA的方式)处理方法是关机-&gt;拔电源-&gt;重新插拔HDMI连接线-&gt;插电源-&gt;重启尝试处理如果发现卡住了或者短时黑屏,耐心等待2分钟 方法1:apt-get在线安装环境清理(如果曾经安装过nvidia驱动)s...

2018-11-18 13:57:14 1679

原创 【ubuntu】xps8920 安装 ubuntu 16.04系统

Ubuntu16.04 (x64)接口图 方法1 Legacy - 失败 系统类型 16.06_x64 U盘类型 3.0 快捷键 F2:Setup    F12:Boot SATA Operation AHCI(not RAI...

2018-11-18 13:50:43 485

原创 【基础】计算机内存分配-堆-栈等概念的区别

说明在数据结构范畴内,堆是一种排序的方式,栈是一种“先进后出”的数据结构。 在内存分配的范畴内,堆是一种存储区间,该区间通过链表的方式进行组织;栈也是一种存储区间,该区间的操作类似数据结构中栈的操作方式--“先进后出”。内存分配静态存储区 栈区 堆区 代码存储区 常量存储区对比说明表分区 存放内容 申请与释放 特别说明 静态存储区 全局变量、静...

2018-09-30 17:52:31 744

空空如也

空空如也

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

TA关注的人

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