- 博客(12)
- 收藏
- 关注
原创 直线车道保持动力学分析 (Lane Keeping)
自动驾驶车辆总是在对应的高精地图车道里面去行驶的, 因此我们在建立动力学的时候需要增添状态变量考虑车辆相对于车道的位置, 首先我们考虑直线的情况上图中sss为车辆沿着路径行驶的距离, 横向误差eee为车辆质心到车道的距离, 航向角度误差ΔΨ\Delta \PsiΔΨ为车辆纵向中线与车道之间的夹角, 下面的分析都需要基于线性轮胎模型(linear tire model)和自行车模型, 此外我们需...
2020-05-06 22:07:06
1928
1
原创 MPC自行车模型
对于车辆横向模型预测控制来说, 建立一个合适的车辆模型是非常重要的, 尤其对于高速情况下的自动驾驶, 如果我们不使用基于模型的控制(Model-free lateral Control)或者预测模型不够准确的话, 车辆对于目标航向角度会特别敏感, 车辆特别容易来回正弦抖动.自行车运动学模型(Kinematic Bicycle Model)运动学模型不考虑车辆的受力情况, 运动学模型只根据系统的...
2020-05-06 16:38:50
2983
原创 线性模型预测控制二次规划(Quadratic Programming)的不同构造形式
KaTeX parse error: Expected 'EOF', got '&' at position 4: &̲\arg \min_{} …x⏞\overbrace{x}x
2020-03-30 13:55:07
2535
3
原创 Apollo模型参考自适应控制MRAC (三)-MRAC代码分析
Apollo横向和纵向控制器都属于high level controller, 我们在设计控制器的过程中一直都是假设车辆的执行器是可以完美的执行我们控制算法算出来的控制命令, 然后现实是车辆执行器的延迟是非常验证的, 建议一下大家可以可以记录一下log对比一下时间戳, 然后你就可以发现车辆的执行器跟踪的有多差劲. 我在实际测试的过程中就发现了发现方向盘的超调和震荡就非常严重, 延迟也很严重. ...
2020-03-19 15:18:47
10633
22
原创 Hybrid A* 算法基本流程
openset = PriorityQueue() // pop out node with least totoal cost (heuriscost + trajcost)openset.push(start, 0)closedset = {}trajcost[start] = 0while not openset.empty(): current = openset.t...
2020-03-15 15:21:59
4841
3
原创 模型预测控制Paolo Falcone 博士面试 (二) - MPC控制的稳定性
第二篇博文推了太久,时间都用来学数据结构和算法,刷LeetCode题目了,控制专业最大的问题在于很多人只会使用Matlab/Simulink, 不懂数据结构和算法不会写代码,幸亏我认清形式比较早,希望学控制的同学们多写代码,什么时候能用C/C++写出各种数值优化算法的代码才好在互联网大厂工作啊,想我两年前在慕尼黑面试宝马自动驾驶软件工程师的时候也是死于LeetCode Hard 啊,所以这一年多大...
2020-03-10 00:39:28
8290
5
原创 A * 算法C++实现
/************************************************************************* > File Name: grid_a_star.cpp > Author: Yongyu Chen > Mail: yongyu.chen@tum.de *********************************...
2020-01-21 15:20:57
687
原创 桶排序C++
void bucketSort(int a[], int size) { // 计算最大数值和最小数值 int mx = INT_MIN; int mn = INT_MAX; for (int i = 0; i < size; i++) { mx = std::max(mx, a[i]); mn = std::min(mn, ...
2020-01-20 23:30:25
179
原创 Apollo模型参考自适应控制MRAC (二)-MRAC例题
Model reference adaptive controllers can guarantee both stability and performance over a wide range of slowly varying parameter changes as long as several conditions are met.下面的例子是我硕士自适应控制课的三个关于Model...
2020-01-19 13:28:30
6308
9
原创 字典树模板
class TrieNode {public:bool isEndOfWord;TrieNode* children[26];TrieNode():isEndOfWord(false) { for (int i = 0; i < 26; i++) { children[i] = NULL; }}};class Trie {public: ...
2020-01-05 21:38:47
158
原创 模型预测控制Paolo Falcone 博士面试 (一)
一直做自动驾驶模型预测控制, 几个月前申请了Paolo Falcone教授的博士职位5G based Traffic Junction Control of Connected Autonomous Vehicles 并且成功拿到Offer, 估计做车辆模型预测控制的都看过他在这个领域的开山之做。面试一共两个教授,另一个是Marion Zanon, 他之前是开发qpOASES和Acado Too...
2020-01-01 13:51:34
3288
5
原创 Apollo MPC OSQP Solver
Apollo MPC OSQP Solver 新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片Solver代码生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入Apollo MPC算...
2019-11-02 15:08:54
14177
30
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人