<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[IHTY_NUI的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/IHTY_NUI</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; IHTY_NUI]]></copyright><item><title><![CDATA[自动驾驶之轨迹规划8——Apollo参考线和轨迹]]></title><link>https://blog.youkuaiyun.com/IHTY_NUI/article/details/114438575</link><guid>https://blog.youkuaiyun.com/IHTY_NUI/article/details/114438575</guid><author>IHTY_NUI</author><pubDate>Thu, 27 Jul 2023 15:49:42 +0800</pubDate><description><![CDATA[概述
本文主要讲解决策规划模块中是如何生成参考线和行车轨迹供车辆行驶的，参考线和轨迹直接影响了自动驾驶车辆对于方向和速度的控制。

reference line怎么生成出来的？和rounting啥关系？

Apollo是使用A star算法。route模块里A*算法的实现：节点定义在modules/routing/graph/topo_node.h文件,graph目录下还有计算用到的边和图的定义。主要算法实现在modules/routing/strategy/a_star_strategy.cc文件。
re]]></description><category></category></item><item><title><![CDATA[Python读取和处理mf4]]></title><link>https://blog.youkuaiyun.com/IHTY_NUI/article/details/125053403</link><guid>https://blog.youkuaiyun.com/IHTY_NUI/article/details/125053403</guid><author>IHTY_NUI</author><pubDate>Mon, 30 May 2022 20:29:57 +0800</pubDate><description><![CDATA[Python读取和处理mf4
# 处理mf4数据
# 20220530 Fang qifei

# 引入库文件
from asammdf import MDF     # 用于处理MDF文件
import os       # 用于获取文件路径
import numpy as np      # 用于数学处理
import matplotlib.pyplot as plt     # 用于绘图

# 读取mf4
path = 'C:/1_Project/2_DF/G59/6_VehicleTest/G59_]]></description><category></category></item><item><title><![CDATA[控制算法简析8——被控系统 differential equation 分析]]></title><link>https://blog.youkuaiyun.com/IHTY_NUI/article/details/123030508</link><guid>https://blog.youkuaiyun.com/IHTY_NUI/article/details/123030508</guid><author>IHTY_NUI</author><pubDate>Sun, 20 Feb 2022 14:21:32 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[C++理论梳理10——部分Apollo代码关键字]]></title><link>https://blog.youkuaiyun.com/IHTY_NUI/article/details/121227345</link><guid>https://blog.youkuaiyun.com/IHTY_NUI/article/details/121227345</guid><author>IHTY_NUI</author><pubDate>Tue, 09 Nov 2021 14:48:09 +0800</pubDate><description><![CDATA[final
C++11引入了关键字final，按官方的标准是该关键字是用来标识虚函数不能在子类中被覆盖(override)，或一个类不能被继承。用法如下：
struct Base
{
    virtual void foo();
};

struct A : Base
{
    void foo() final; // Base::foo 被覆盖而 A::foo 是最终覆盖函数
    void bar() final; // 错误：非虚函数不能被覆盖或是 final
};

struct B fina]]></description><category></category></item><item><title><![CDATA[C++理论梳理9——类之间的关系]]></title><link>https://blog.youkuaiyun.com/IHTY_NUI/article/details/121226564</link><guid>https://blog.youkuaiyun.com/IHTY_NUI/article/details/121226564</guid><author>IHTY_NUI</author><pubDate>Tue, 09 Nov 2021 14:13:56 +0800</pubDate><description><![CDATA[概述
类间关系是面向对象精华内容的基础，常见的类间关系分为六种：

泛化 (generalization)
实现 (Implementation)
依赖 (Dependence)
关联 (Association)
聚合 (Aggregation)
组合 (Composite)

继承（泛化）
泛化这个关系，说的通俗点就是继承。继承是面向对象的三大特征之一，是一种最能体现面向对象代码复用的类关系，对于继承，可以使用"is a"来表示，比如，小轿车(类B)"is a"车(类A)，是对车(类A)的进一步刻画，那么]]></description><category></category></item><item><title><![CDATA[控制算法简析8——被控系统的稳定性分析]]></title><link>https://blog.youkuaiyun.com/IHTY_NUI/article/details/121078650</link><guid>https://blog.youkuaiyun.com/IHTY_NUI/article/details/121078650</guid><author>IHTY_NUI</author><pubDate>Mon, 01 Nov 2021 14:34:17 +0800</pubDate><description><![CDATA[概述
本系列前几篇文章前面说了这么多关于控制工程的东西，还引入了ACC的被控系统分析，接下来想要针对得到的被控系统，分析一个很重要的问题：如何判定该被控系统是否稳定？该系统是发散还是收敛？
什么叫稳定性
稳定性是系统在收到扰动后回到正常状态的能力，这里扰动和响应都是有界的，因此也被称作 Bounded-input-bounded-output stability。稳定具体可分为三类：稳定，临界稳定和不稳定。下图就很好的解释了稳定、临界稳定和不稳定系统的区别。

实际上，稳定是针对整个系统而言的，我们可以加入]]></description><category></category></item><item><title><![CDATA[控制算法简析7——ACC被控系统分析]]></title><link>https://blog.youkuaiyun.com/IHTY_NUI/article/details/120529168</link><guid>https://blog.youkuaiyun.com/IHTY_NUI/article/details/120529168</guid><author>IHTY_NUI</author><pubDate>Tue, 28 Sep 2021 15:19:06 +0800</pubDate><description><![CDATA[物理模型建立
在现代车辆的反馈控制系统中，自动巡航控制一个典型的例子。巡航控制系统的目的是在不受外界干扰(如风或坡度变化)的情况下保持恒定的车速。可以通过测量测速，将其与期望速度或参考速度进行比较，并根据控制规律自动调节油门刹车来实现。

这里我们考虑一个简单的车辆动力学模型，如上面的受力分析图。质量为m的车辆收到驱动力F的作用，阻力则为在道路阻力、坡度阻力、轮胎阻力和风阻等，对于这个简化的模型，我们将假定我们可以直接控制该力，而忽略产生该力的动力总成，轮胎等影响。假定由于滚动摩擦和风阻而产生的阻力随车速线]]></description><category></category></item><item><title><![CDATA[控制算法简析6——PID的控制工程原理]]></title><link>https://blog.youkuaiyun.com/IHTY_NUI/article/details/120510412</link><guid>https://blog.youkuaiyun.com/IHTY_NUI/article/details/120510412</guid><author>IHTY_NUI</author><pubDate>Tue, 28 Sep 2021 13:26:24 +0800</pubDate><description><![CDATA[承接上一篇(控制算法简析5——被控系统分析)，也和《控制算法简析1——PID和负反馈的数学原理》有呼应关系。
介绍完系统建模和基本的系统分析后，我们已经了解了被控对象的特性，这时，就需要用一个合理的控制器，让这个被控对象在该控制器下按照指定的给定来执行，最为广泛使用的那就是PID控制器了。
在本教程中，我们将介绍一个简单而通用的反馈补偿结构，比例积分微分(PID)控制器，PID控制器之所以被广泛采用，是因为它非常容易理解并且非常有效，工程师不需要太理解控制论，只需要理解积分和微分就可以实施控制系统。此外，即]]></description><category></category></item><item><title><![CDATA[控制算法简析5——被控系统分析]]></title><link>https://blog.youkuaiyun.com/IHTY_NUI/article/details/120486718</link><guid>https://blog.youkuaiyun.com/IHTY_NUI/article/details/120486718</guid><author>IHTY_NUI</author><pubDate>Mon, 27 Sep 2021 15:43:58 +0800</pubDate><description><![CDATA[承接上一篇(控制教程 —— 介绍篇：1.建模)。 一旦获得了系统的状态空间或传递函数形式的数学模型，我们便可以分析这些模型来预测系统在时域和频域中的动态响应。通常将控制系统设计为高稳定性，高响应速度，低稳态误差，以及减小振荡。也就是“稳准快”。在本节中，我们将展示如何从系统模型中确定...]]></description><category></category></item><item><title><![CDATA[控制算法简析4——物理世界与控制工程]]></title><link>https://blog.youkuaiyun.com/IHTY_NUI/article/details/120281645</link><guid>https://blog.youkuaiyun.com/IHTY_NUI/article/details/120281645</guid><author>IHTY_NUI</author><pubDate>Sun, 26 Sep 2021 12:36:40 +0800</pubDate><description><![CDATA[介绍
本文转自控制教程 —— 介绍篇：1.建模，框架主要是来自于密歇根大学的教程网站来，中间根据自己的理解做了增删补充。
正文
我们所要考察的系统是能够用外力作用来有目的地影响其运动行为的系统。这种系统叫做被控系统，或被控对象，简称对象。通常控制系统设计过程的第一步是要建立其数学模型，这些模型可以从物理定律或实验数据中得出。本节中，将用状态空间和传递函数来表示动态系统，并以一些机械和电气系统的例子来介绍建模的基本方法，并展示如何在MATLAB中生成这些模型来做进一步的分析。
本教程中使用的主要MATLAB命]]></description><category></category></item><item><title><![CDATA[自动驾驶之轨迹规划7——A Real-Time Motion Planner with Trajectory Optimization for Autonomous Vehicles文献阅读]]></title><link>https://blog.youkuaiyun.com/IHTY_NUI/article/details/118458682</link><guid>https://blog.youkuaiyun.com/IHTY_NUI/article/details/118458682</guid><author>IHTY_NUI</author><pubDate>Sun, 04 Jul 2021 17:19:47 +0800</pubDate><description><![CDATA[概述
最近找了一些EM Motion Planner相关的参考文献阅读了一下以便深刻理解。
1. A Real-Time Motion Planner with Trajectory Optimization for Autonomous Vehicles


Abstract
规划器首先把规划空间离散化，并根据一组代价函数搜索最优轨迹，然后对轨迹的path和speed进行迭代优化。文中提出了一种“post-optimization”的方法，可以弥补离散化难以求出最优解的问题（离散越密，越接近最优解），并可]]></description><category></category></item><item><title><![CDATA[C++理论梳理7——虚函数]]></title><link>https://blog.youkuaiyun.com/IHTY_NUI/article/details/118356544</link><guid>https://blog.youkuaiyun.com/IHTY_NUI/article/details/118356544</guid><author>IHTY_NUI</author><pubDate>Wed, 30 Jun 2021 10:56:58 +0800</pubDate><description><![CDATA[在学习C++的过程中我们经常会用到.和::和：和-&gt;，在此整理一下这些常用符号的区别。

A.B则A为对象或者结构体；
A-&gt;B则A为指针，-&gt;是成员提取，A-&gt;B是提取A中的成员B，A只能是指向类、结构、联合的指针；
::是作用域运算符，A::B表示作用域A中的名称B，A可以是名字空间、类、结构；
:一般用来表示继承。

转自：https://blog.youkuaiyun.com/k_koris/article/details/80469956

...]]></description><category></category></item><item><title><![CDATA[自动驾驶之轨迹规划6——Apollo EM Motion Planner]]></title><link>https://blog.youkuaiyun.com/IHTY_NUI/article/details/115977861</link><guid>https://blog.youkuaiyun.com/IHTY_NUI/article/details/115977861</guid><author>IHTY_NUI</author><pubDate>Sat, 26 Jun 2021 21:03:51 +0800</pubDate><description><![CDATA[1. 路径规划P73
1.1 路径搜索
DP（dynamic programming）又称动态规划，可以使指数级别的计算耗时转换成多项式级别的耗时。具体大家可以找网上关于DP原理的介绍，有很多的。这里简要说明一下，其基本思路是“
2. 速度规划

...]]></description><category></category></item><item><title><![CDATA[Simulink自动代码生成-附录1——通过编程快速管理Data Dictionary]]></title><link>https://blog.youkuaiyun.com/IHTY_NUI/article/details/118052516</link><guid>https://blog.youkuaiyun.com/IHTY_NUI/article/details/118052516</guid><author>IHTY_NUI</author><pubDate>Sat, 19 Jun 2021 22:44:14 +0800</pubDate><description><![CDATA[1. 概述
自动代码生成的其中一个重点就是数据管理，实际上就是针对于model中的数据对象（signal、state和parameter），配置其初始值、值范围、数据类型、可调性以及其他特征等。
2. 数据字典概述
这里先讲一下matlab的数据管理思想框架。我之前的文章说了，MBD开发实际是基于3块：model、data和config，其中data在matlab中基本分为3类：signal、state和parameter。
matlab中内置了一个包：Simulink，该包内定义了两个数据类，即 Simu]]></description><category></category></item><item><title><![CDATA[控制算法简析3——LKA中PID控制的error选取]]></title><link>https://blog.youkuaiyun.com/IHTY_NUI/article/details/114757685</link><guid>https://blog.youkuaiyun.com/IHTY_NUI/article/details/114757685</guid><author>IHTY_NUI</author><pubDate>Wed, 21 Apr 2021 20:22:22 +0800</pubDate><description><![CDATA[自动驾驶车辆总是在对应的高精地图车道里面去行驶的, 因此我们在建立动力学的时候需要增添状态变量考虑车辆相对于车道的位置, 首先我们考虑直线的情况
https://blog.youkuaiyun.com/weixin_42143018/article/details/105833290

...]]></description><category></category></item><item><title><![CDATA[自动驾驶之轨迹规划2——高速超车场景下轨迹规划的量产方案]]></title><link>https://blog.youkuaiyun.com/IHTY_NUI/article/details/115736362</link><guid>https://blog.youkuaiyun.com/IHTY_NUI/article/details/115736362</guid><author>IHTY_NUI</author><pubDate>Thu, 15 Apr 2021 19:39:38 +0800</pubDate><description><![CDATA[最近工作太忙了，导致好久没有更新，计划尽量本周更新，本篇整理德企大厂量产状态的高速超车场景下轨迹规划方案。

]]></description><category></category></item><item><title><![CDATA[Simulink模型测试1——基于模型的设计的测试概述]]></title><link>https://blog.youkuaiyun.com/IHTY_NUI/article/details/115284615</link><guid>https://blog.youkuaiyun.com/IHTY_NUI/article/details/115284615</guid><author>IHTY_NUI</author><pubDate>Sun, 28 Mar 2021 18:32:25 +0800</pubDate><description><![CDATA[概述
本系列整理simulink的单元测试，基本内容如下：

基于模型的设计的测试概述
开发测试用例
分析测试结果
建立test suites

本篇先整理第一个：基于模型的设计的测试概述。
模型测试的类型
simulink模型测试分为两种：simulation-based testing和formal verification。

simulation-based testing需要test case，验证模型的输出结果是否符合预期，一般用于认可测试。
formal verification无需test ]]></description><category></category></item><item><title><![CDATA[自动驾驶之轨迹规划5——Apollo规划中的离散点曲线平滑数学原理]]></title><link>https://blog.youkuaiyun.com/IHTY_NUI/article/details/114709744</link><guid>https://blog.youkuaiyun.com/IHTY_NUI/article/details/114709744</guid><author>IHTY_NUI</author><pubDate>Sat, 13 Mar 2021 10:37:48 +0800</pubDate><description><![CDATA[1. 前言
本文详细讲解Apollo的曲线平滑的数学原理，原文在《开发者说丨离散点曲线平滑原理》，参考Apollo代码在此，以下为整理内容。

2. 离散点曲线平滑的数学原理
如下图所示，P0P_0P0​，P1P_1P1​，P2P_2P2​，P3P_3P3​，…，PnP_nPn​， 一共n+1n+1n+1个离散点组成原始参考线。本节介绍一种方法通过对原始参考线上离散点的有限偏移对原始参考线进行平滑。


2.1. 优化变量
优化变量：离散点坐标(xi,yi)(x_i,y_i)(xi​,yi​)

2.2. ]]></description><category></category></item><item><title><![CDATA[自动驾驶之轨迹规划4——Apollo规划模块算法解析_20201219直播讲解]]></title><link>https://blog.youkuaiyun.com/IHTY_NUI/article/details/114647237</link><guid>https://blog.youkuaiyun.com/IHTY_NUI/article/details/114647237</guid><author>IHTY_NUI</author><pubDate>Thu, 11 Mar 2021 00:22:42 +0800</pubDate><description><![CDATA[前言
本课程由Apollo平台fuyiqun主讲，视频链接如下：现场录屏，另外有官方解析文章：直播回顾丨Apollo自动驾驶论坛①规划模块算法解析（本篇另增问答整理），视频官方PPT在此（可免费下载）。下面是随堂记录。
Apollo规划模块算法解析


本文将为大家介绍Apollo规划模块（Planning）的算法解析，主要内容包括：

功能：基于预测的结果、路由模块（routing）的全局路线指引和地图信息，生成安全舒适的驾驶轨迹。

首先输入来自3个模块，包括Prediction、Chassis、Loc]]></description><category></category></item><item><title><![CDATA[自动驾驶之轨迹规划3——Apollo ROS公开课]]></title><link>https://blog.youkuaiyun.com/IHTY_NUI/article/details/114435193</link><guid>https://blog.youkuaiyun.com/IHTY_NUI/article/details/114435193</guid><author>IHTY_NUI</author><pubDate>Sat, 06 Mar 2021 12:48:40 +0800</pubDate><description><![CDATA[前言
本课程由Apollo资深工程师是夏黎明主讲，一共是7堂课，属于框架性讲解，需课后自行补充理论知识。下面是随堂记录。
Apollo_ROS背景介绍

课程目录

背景

为了应对这么复杂的系统，因此选择了ROS：它是一种基于消息传递的分布式多进程框架。


ROS概述

本节课程目录


ROS比较明显的几个特征：点对点通信，支持分布式，跨语言（有专门的订阅接口），轻量级，开源。
ROS的安装：

ROS的master

节点的启动没有先后关系（但ROScore要在所有节点之前启动），如percepti]]></description><category></category></item></channel></rss>