- 博客(64)
- 收藏
- 关注
原创 【C++】面向对象高级开发 | C++11 新特性与 C++ 中的引用
在 C++11 之前,如果想要编写可以接收不定数量参数的模板函数,往往需要通过一些复杂的模板技巧(如递归继承、或者...可变参数宏等)来实现。C++11 引入了可变参数模板(Variadic Templates),使得编写此类函数模板更加简洁、灵活。// ...:这里的Types...就是模板参数包(parameter pack),表示它可以匹配任意数量的类型参数。:函数形参同样是一个函数参数包(function parameter pack),对应了不定数量的形参。引用的本质。
2025-03-24 08:00:00
691
1
原创 【C++】面向对象高级开发 | 深入C++模板编程:从基础到高级应用
C++模板编程是C++语言中一项强大且灵活的特性,能够显著提升代码的复用性和可扩展性。本文从基础入手,详细解析了类模板、函数模板、成员模板、模板特化、模板偏特化以及模板模板参数等核心概念。通过清晰的代码示例和深入的理论分析,帮助读者理解如何利用模板实现泛型编程,如何通过模板特化和偏特化为特定类型提供优化实现,以及如何通过模板模板参数实现更高层次的抽象。此外,文章还探讨了成员模板在智能指针中的应用,展示了模板编程在实际开发中的强大功能。
2025-03-21 08:30:00
527
原创 【C++】面向对象高级开发 | 内联函数、深拷贝、类型转换及更多特性解析
本文深入探讨了C++编程中的多个高级特性,包括内联函数、深拷贝、类型转换、智能指针、迭代器和仿函数等。通过这些特性的详细解析和代码示例,读者可以更好地理解和应用这些概念,提升C++编程技能。
2025-03-20 22:10:17
578
原创 【MySQL】数据库 Navicat 可视化工具与 MySQL 命令行基本操作
本篇博客介绍了 MySQL 作为广泛使用的开源关系型数据库管理系统,以及基于 SQL 进行数据管理的基本概念。学习了如何通过命令行工具 mysql 访问 MySQL 数据库服务器,并使用 root 账户进行登录。 接着,探讨了 Navicat 可视化工具,这是一款功能强大的数据库管理工具,支持多种数据库系统。详细介绍了如何使用 Navicat 创建新数据库、设计数据表以及进行数据的录入和基本操作。 此外,还学习了如何使用 SQL 语句执行数据库的基本操作,如删除数据表等。
2024-11-25 08:00:00
19220
175
原创 【运动规划】移动机器人运动规划与轨迹优化全解析 | 经典算法总结
本篇博客系统地介绍了移动机器人运动规划的经典方法,从自主机器人的定义和组成出发,深入探讨了基于搜索、基于采样和基于运动学的路径搜索算法,以及轨迹优化方法。 文章涵盖了多种路径规划算法,包括基于深度优先和广度优先的搜索算法、 A * 搜索算法、 JPS 跳点算法、 PRM 、 RRT 、 RRT * 以及基于运动学的路径搜索算法。 此外,文章还介绍了轨迹优化中的基本最小间隙硬约束和软约束,旨在帮助读者全面理解移动机器人运动规划的基本原理和方法。
2024-11-21 08:00:00
3802
160
原创 【数字孪生】Carla 自动驾驶仿真平台全攻略指南 | 学习资料汇总大全
本篇博客是博主在学习 Carla 仿真平台的过程中参考过的学习资料,这些资源不仅质量高,而且实用性强,亲身体验后觉得非常有效。因此,博主整理了这些资料,希望与大家分享,共同学习和进步。 本篇博客汇总了 Carla 的安装过程、与 ROS 的集成以及如何导入自建地图和车辆模型等学习资料,分享给大家共同学习,帮助大家快速上手 Carla 。
2024-11-04 08:00:00
4640
270
原创 【前端开发】一文带你快速入门JavaScript(下)Web 前端必备程序语言 | 条件语句与循环结构
本篇博客介绍了 JavaScript 中的条件语句和循环语句的基本用法,适合初学者或需要复习基础知识的开发者。首先,通过详细示例讲解了 if 语句、双等号与三等号的区别、 if - else 和 else - if 语句的用法,并演示了逻辑运算符的使用。 此外,还介绍了三目运算符的简洁表达方式,并详细解释了 switch 语句的结构与用法。接着,深入剖析了 for 和 while 循环的基本结构,展示了如何利用循环遍历数组,最后引入了 for … of 循环。
2024-10-25 08:00:00
8950
245
原创 【前端开发】一文带你快速入门JavaScript(中)Web 前端必备程序语言 | 基本数据类型与 JSON
本篇博客深入探讨了 JavaScript 中的基本数据类型,包括字符串、数组和对象。通过示例代码,展示了如何使用模板字符串简化字符串连接,以及字符串的常用内置方法,如获取长度、大小写转换和分割。 此外,介绍了数组的创建、访问和常用操作,如添加和删除元素,以及如何判断变量是否为数组。最后,分析了对象的创建、属性访问和解构赋值,并探讨了对象数组与 JSON 格式之间的关系。 掌握这些基本数据类型及其方法,对于编写高效的 JavaScript 代码至关重要。
2024-10-23 08:00:00
16476
137
原创 【前端开发】一文带你快速入门 JavaScript(上)Web 前端必备程序语言 | 环境搭建与基础知识
JavaScript 作为当今最流行的编程语言之一,应用广泛,功能强大。本文从 JavaScript 的基础知识入手,逐步讲解了如何在浏览器和 Node.js 环境中运行代码。 学习了如何在浏览器的开发者控制台中编写和执行简单的 JavaScript 代码,并搭建了开发环境,安装了 VS Code 和 Node.js 。 讨论了变量和常量的区别与使用,并详细介绍了 JavaScript 的原生数据类型。本文还强调了代码结构化和“关注点分离”的原则。
2024-10-22 08:00:00
4117
61
原创 【控制系统】深入理解反步控制(Backstepping) | 反步法控制器原理与应用实例解析(附Matlab/Simulink仿真实现)
在本篇博客中,通过一个非线性弹簧系统实例,深入探讨了控制理论的应用。首先描述了系统的动态方程,并提出了控制目标:通过改变输入力𝐹,使小滑块按照指定轨迹移动。接着引入误差函数,并利用李雅普诺夫函数设计了反步控制器,通过反馈线性化将非线性系统转化为线性系统,并分析了系统的稳定性。 在 Simulink 仿真环节,构建了系统模型,并进行了动态方程的实现。通过设定不同的期望值,观察了系统对单目标值、多目标值以及波动和振荡效果的追踪能力。仿真结果显示,系统具有良好的追踪效果和稳定性。
2024-10-21 09:00:00
7625
164
原创 【RoadRunner】自动驾驶模拟3D场景构建 | 自定义交叉口工具详解
本篇博客详细介绍了 RoadRunner 软件中自定义交叉口工具的强大功能。该工具不仅可以帮助我们创建不重叠的交叉口,还能实现自动交叉口与锁定交叉口的相互转换,以及交叉口的各种管理与调整操作。 掌握这一工具,对于在自动驾驶模拟场景构建中实现精确、多样化的交叉口设计具有重要意义。在实际应用中,可以根据不同的场景需求,灵活运用自定义交叉口工具,提高自动驾驶系统的适应性和可靠性。
2024-10-21 08:00:00
2770
90
原创 【RoadRunner】自动驾驶模拟3D场景构建 | 软件简介与视角控制
在使用 RoadRunner 进行场景编辑时,视角控制是一个重要的功能,能够帮助用户高效地导航和操控复杂的 3𝐷 环境。通过上述方法,用户可以轻松地旋转、放大、缩小以及移动视角,从而准确定位和调整场景元素。掌握如何将视角框定在选定对象上以及根据光标位置调整视角,有助于提升工作效率。此外,用户可以根据需要切换透视和正交投影,以实现不同的视觉效果和精确度。 通过快捷键和鼠标操作的结合,用户能够灵活地设置视图方向,确保以最佳的角度进行场景设计。
2024-10-18 08:00:00
4472
180
原创 【机器人数值优化】数值优化基础(一)从理论到实战全方位指南 | 解锁机器人技术的核心技能
本系列博客《机器人数值优化》专栏的核心是通过理论与实践相结合,帮助读者快速掌握机器人领域的数值优化技术。无论是无约束优化、约束优化、凸优化还是非凸优化,每一个部分都有其独特的应用和解决方法。同时,所提及的数值优化算法和工具在机器人学中的广泛应用,如同步定位与地图构建( SLAM )、轨迹规划、点云配置等,展示了这些技术的实际价值和重要性。 通过该系列的学习,读者不仅可以掌握基本的数值优化理论,还可以应用这些优化技术来解决实际机器人中的各种复杂问题。为机器人的智能设计、路径规划和控制系统提供强大的理论支撑
2024-10-14 08:00:00
2019
144
原创 【机器视觉】Apriltag 算法提高检测频率 | 从4Hz提升至25Hz的秘诀
在本篇博客中,博主详细记录了如何提高Apriltag识别算法的检测频率,从最初的4Hz提升至满足与50Hz UWB定位数据融合处理需求的20Hz。文章首先介绍了问题背景,即在使用usb_cam驱动运行Apriltag算法时,采集得到的数据频率太低,无法与UWB定位数据融合处理。接着,博主通过查看相机帧率和算法检测频率,确定了问题所在,并开始寻找解决方案。文章详细描述了博主如何通过修改Apriltag算法的配置文件settings.yaml,调整降采样率参数tag_decimate和检测时使用的线程数。
2024-10-11 08:00:00
4949
158
原创 【自动驾驶】控制算法(十二)横纵向综合控制 | 从理论到实战全面解析
本文是自动驾驶控制算法系列的第十二节,也是本系列的收官之作。这一节综合运用了前十一节的知识,详细讲解了如何实现横向和纵向控制,并介绍了规划接口的重要性。首先,文章介绍了轨迹规划的定义和重要性,强调了规划轨迹与路径规划的区别,以及其在自动驾驶中的关键作用。接着,通过直角坐标系下的轨迹规划示例,详细解释了如何设计满足特定条件的轨迹。文章随后深入探讨了横向控制和规划接口,包括匹配点的更新、规划点与时间的关系,以及如何通过横向控制和规划接口实现车辆的横向运动控制。在纵向控制部分,文章详细解释了横向误差的计算方法
2024-10-09 08:00:00
4352
121
原创 【自动驾驶】控制算法(十一)深度解析车辆纵向控制 | 纵向双 PID 控制算法
本篇博客详细介绍了自动驾驶控制算法中的纵向控制,从软件设置到标定表的应用,再到PID控制器的整定和实际模型运行,我们共同学习并探讨了如何实现平稳、无振荡的车辆运动。通过调整PID控制器中的比例、积分和微分参数,我们能够精确控制车辆的速度,实现与期望速度相匹配的加速度策略。同时,我们理解到,为了实现更好的控制效果,需要对PID参数进行适当的整定,平衡系统的响应速度和稳定性。最后,我们还探讨了如何将控制算法应用于实际的自动驾驶场景中,以及未来学习计划。
2024-09-30 08:00:00
2778
117
原创 【自动驾驶】基于车辆几何模型的横向控制算法 | Stanley 算法详解与编程实现
Stanley 算法是一种基于几何模型的轨迹追踪控制器,其设计理念是将参考点设置在前轮中心,而非传统的重心、质心或后轮重心。这种设计方式使得该算法能够在路径追踪过程中实现全局收敛,并且误差衰减速率不随车辆速度变化而改变,从而保证车辆最终收敛到参考轨迹上,并且在不同速度下保持良好的稳定性。 Stanley 算法的优势在于控制直观,易于理解和调节,但同时也存在一些局限性,例如转弯过冲、高速误差较大以及对特定场景过度调节可能导致其他场景下性能下降等问题。
2024-09-25 08:00:00
2253
68
原创 【自动驾驶】基于车辆几何模型的横向控制算法 | Pure Pursuit 纯跟踪算法详解与编程实现
在自动驾驶领域,Pure Pursuit纯跟踪算法作为一种高效的车道保持技术,备受关注。本文将带您深入解析Autoware开源项目中Pure Pursuit算法的实现细节,揭秘自动驾驶车辆如何精确追踪参考轨迹。通过讲解算法原理、实现步骤及优化策略,探索这一关键技术的精髓。
2024-09-24 08:00:00
2411
74
原创 【自动驾驶】决策规划算法(二)参考线模块Ⅰ| 平滑算法与二次规划
在自动驾驶决策规划算法中,参考线是解决导航路径过长且不平滑问题的关键。通过截取全局路径中的一段较短路径并进行平滑处理,简化了障碍物投影和匹配点的确定,使得规划算法能够在较小的范围内搜索最优路径。参考线的优点在于,较短的参考线投影更容易确定,且经过平滑处理后,路径更加平滑。参考线平滑算法通过代价函数来优化,代价函数包含了与原路径点相似代价、平滑代价和紧凑代价。通过将代价函数写成二次规划的形式,可以求解出最优的参考线点。在实际应用中,参考线平滑算法面临着许多挑战,特别是在算法的执行速度上。
2024-09-23 08:00:00
1227
44
原创 【自动驾驶】控制算法(十)深度解析车辆纵向控制 | Carsim 油门刹车标定表的制作
在完成了 Carsim 模型中的油门和刹车标定后,能够更精确地控制车辆的加速和减速过程。通过采集不同油门和刹车条件下的速度和加速度数据,并使用这些数据建立标定表,我们能够在Simulink模型中实现更精确的速度和加速度控制。油门标定表的建立使得我们能够根据期望的速度和加速度,通过查表的方式得到相应的油门开度,从而实现速度控制。 通过油门和刹车标定,能够实现更精确的车辆控制,提高行驶的安全性和舒适性。同时,还要注意速度和加速度之间的匹配,以确保控制效果达到预期。
2024-09-23 07:00:00
1843
17
原创 【自动驾驶】控制算法(九)深度解析车辆纵向控制 | 从算法基础到 Carsim 仿真实践
本篇博客是一篇于电动汽车纵向控制的深度文章。文章首先介绍了纵向控制与横向控制的区别,指出纵向控制难度较低,需要补充汽车动力系统的相关知识。然后,文章详细讲解了油门与刹车的控制逻辑,以及发动机功率、扭矩和转速之间的关系。接着,文章对比了发动机与电机的性能,并阐述了电机在电动汽车中的优势。最后,文章通过实验标定,介绍了基于实验标定的纵向控制算法,并在Carsim中进行了实际设置,展示了仿真实践的过程。整篇文章深入浅出,系统全面地介绍了电动汽车纵向控制的基础知识和仿真实践,适合对电动汽车控制感兴趣的读者阅读。
2024-09-20 07:00:00
2208
22
原创 【AprilTag】视觉定位实战 | 使用 ROS 驱动的 USB 摄像头进行相机标定与 AprilTag 识别
本教程介绍了如何使用 ROS 进行相机标定和 Apriltag 识别。首先,安装了 usb_cam 驱动和 camera_calibration 功能包,并准备了一个 6x9 的棋盘格标定板和一个单目 USB 摄像头。然后,启动了摄像头驱动节点,并调整了摄像头视频设备 ID,以正确地接收摄像头图像。接下来,运行了相机标定节点,通过在摄像机周围移动标定板,完成了标定过程,并得到了相机的内参矩阵和畸变系数矩阵。最后,安装了 Apriltag_ros 功能包,并修改了配置文件以匹配摄像头。
2024-09-19 07:00:00
2342
26
原创 【自动驾驶】决策规划算法(一)决策规划仿真平台搭建 | Matlab + Prescan + Carsim 联合仿真基本操作
本篇博客详细介绍了自动驾驶决策规划算法的仿真平台搭建过程,包括软件安装与配置、Prescan与Carsim联合仿真设置、Matlab与Prescan联合仿真操作、适配算法与仿真平台搭建等步骤。此外,还对各模块算法进行了概述,包括定位模块、决策规划模块和控制模块。在仿真结果与分析部分,通过运行模型算法、设置摄像头视角、轨迹跟踪效果分析等步骤,展示了控制算法对规划轨迹的跟踪效果。最后,对速度与加速度跟踪进行了讨论,提出了调控制参数以达到满意结果的方法。
2024-09-18 07:00:00
3204
37
原创 【自动驾驶】决策规划算法 | 数学基础(三)直角坐标与自然坐标转换Ⅱ
本篇博客主要介绍了自然坐标系与直角坐标系之间的转换,以及如何计算自动驾驶中的投影点、路径长度、车辆位矢、速度向量、加速度向量和曲率等关键参数。首先,我们讲解了如何通过计算自然坐标系下离散点与车辆的距离,找到匹配点,进而计算出投影点的近似位矢。其次,详细讲解了如何通过累加离散点的直线距离来近似计算路径长度,并分析了这种算法的合理性和稳定性。然后,介绍了如何根据自然坐标系下的Frenet坐标和离散点信息,计算出直角坐标系下的车辆位矢、速度向量、加速度向量和曲率。最后,总结了数学基础部分的所有内容。
2024-09-17 21:28:52
1765
26
原创 【控制理论】深入理解鲁棒控制 | 高增益与高频率鲁棒控制器的设计与分析
本篇博客详细介绍了三种鲁棒控制器的设计原理及其稳定性分析。首先,针对系统在目标轨迹跟踪问题中,提出了误差动态响应的公式。然后,分别介绍了滑模控制、高增益鲁棒控制器和高频率鲁棒控制器的设计方法。通过数学推导,证明了这三种控制器在不确定性影响下,均能实现误差的有界控制。最后,对这三种控制器进行了总结,并指出了它们在实际应用中的优缺点。本文为控制系统设计提供了理论依据,对工程实践具有一定的指导意义。
2024-09-17 20:09:55
734
7
原创 【自动驾驶】控制算法(八)横向控制Ⅳ | 调试与优化——让车辆行驶更平稳!
本篇博客讲解了横向控制算法的优化,重点关注了进阶横向控制与基础横向控制之间的差异,以及如何通过卡尔曼滤波等方法解决实际问题。总结了道路坡度、风阻、识别问题和车辆质量变化对横向控制的影响,并探讨了如何使用样条曲线插值和调整LQR参数来改善转角平滑度和减少突变现象。 通过这些改进,我们发现即使在规划点稀疏的情况下,算法性能依然可以保持,也强调了规划点不能过于稀疏的重要性,因为过于稀疏的规划会导致车辆偏离预定轨迹,甚至出现异常行为。
2024-09-16 08:00:00
1756
23
原创 【人工智能】AI创业的前沿思考 | 从垂直领域到通用智能模型AGI的崛起
本篇博客探讨了人工智能领域的最新趋势和发展。 首先,人工智能技术正从专门针对特定任务的垂直领域发展,转向训练能够执行多种任务的通用智能模型。通用模型的出现得益于互联网的发展、算法的创新和浮点数算力的进步。通用模型的优势在于能够跨多个领域和任务应用,极大提高了生产力。 然而,通用智能的发展面临三个层面的挑战:规模化定律、数据墙和多模态处理能力。未来,通用智能将重点解决长时间跨度的复杂任务,实现不同模态之间的转换,并具备专家级的推理能力。训练效率的提升,文本模型能力的增强和多模态模型的应用。
2024-09-16 07:00:00
895
5
原创 【Ubuntu】虚拟机安装USB摄像头ROS驱动 usb_cam(最新方法)
在Ubuntu18.04上安装USB摄像头驱动usb_cam的方法主要有两种:源码安装和软件包安装。源码安装方法需要从GitHub下载usb_cam源码,切换到支持ROS1的master分支,并通过添加FFmpeg库路径到LD_LIBRARY_PATH来解决编译错误。软件包安装方法通过使用sudo apt-get命令安装ROS Melodic版本的usb_cam、camera-calibration和uvc-camera功能包,然后运行usb_cam-test.launch文件来启动摄像头节点。
2024-09-13 21:13:37
3132
6
原创 【控制理论】深入理解鲁棒控制 | 滑模控制原理与应用实例解析
本篇博客主要探讨了鲁棒控制中的滑模控制原理及其应用。介绍了鲁棒控制的英文含义及其重要性,以及其在面对有界误差时的性能和稳定性。通过一个自适应控制器的例子,我们展示了在鲁棒控制中如何处理未知常数和误差。讨论了控制器设计的一般形式,并详细介绍了如何设计一个鲁棒控制器。我们引入了李亚普诺夫稳定性分析,通过数学证明展示了控制器设计如何使系统稳定。深入探讨了滑模控制原理,并给出了一个具体的例子来解释控制器如何引导系统状态滑到特定的线上。
2024-09-13 12:38:53
2732
1
原创 【自动驾驶】决策规划算法 | 数学基础(三)直角坐标与自然坐标转换Ⅰ
本篇博客讲数学基础部分中 Frenet 坐标系和笛卡坐标系之间的坐标转换,即直角坐标和自然坐标的转换。 本节内容如果只应用,难度其实还好,但如果想真彻底理解它是怎么来,难度非常高。需要非常熟悉微积分以及向量微积分。
2024-09-09 07:00:00
1095
2
原创 【自动驾驶】控制算法(八)横向控制Ⅲ | 代码与模型
本节博客详细介绍了自动驾驶控制算法的建模过程,涵盖了从Carsim设置到模型搭建的各个方面。通过配置Carsim软件,获取整车参数并计算侧偏刚度,为后续的控制算法提供基础数据。 通过编写路径规划代码,生成所需的轨迹信息。在Matlab中,搭建了控制模型的各个模块,包括预测模块、误差和曲率计算模块、AB模块和LQR模块、前馈控制模块等。 最后,将模型整合并进行了仿真测试,展示了控制算法对规划轨迹的跟踪效果。 大家不妨在这一节照着思路把模型搭好,在下一节就会告诉各位怎么调模型,使其更平顺。
2024-09-08 09:39:33
1591
2
原创 【自动驾驶】控制算法(八)横向控制Ⅱ | Carsim 与 Matlab 联合仿真基本操作
本篇博客详细介绍了如何使用Carsim和Matlab进行联合仿真。首先,确保Carsim的安装路径和数据库路径正确设置,这对于后续操作至关重要。在Carsim中,可以选择不同的车辆模型,并查看其基本信息和性能参数,例如质量、惯量等。在Carsim中,还可以调整车辆的轮胎类型,这会影响轮胎的侧偏刚度。轮胎的侧偏刚度是通过侧偏力和侧偏角的关系曲线来计算的,其中侧偏刚度是曲线在小侧偏角下的斜率,且应为负值。
2024-09-07 21:36:07
2441
2
原创 【OpenMV】AprilTag 机器视觉定位技术详解
本篇博客深入探讨了OpenMV与AprilTag视觉定位技术。AprilTag是一种高精度的视觉基准标记系统,通过其在摄像机视野中的位置、距离和坐标,能够实现精确的3D定位。AprilTag有多种家族,如TAG16H5和TAG36H11,它们在识别距离、精度等方面有所不同。OpenMV作为一个微控制器,可以直接在IDE中生成AprilTag标签,并将其应用于各种视觉定位任务。 通过简单的示例代码,我们了解了如何使用OpenMV的image库来识别AprilTag,并获取其相对于摄像机的坐标和旋转角度。
2024-09-07 07:00:00
2510
6
原创 【读研感悟】研究生读研期间需要知晓的20条法则
在研究生阶段,学位论文是衡量学业成就的重要标准,需要我们付出持续的努力和专注。本篇博客分享20条研究生在读期间应该遵循的法则,包括如何与导师合作、如何进行科学研究、如何处理学术分歧、如何保证论文质量、如何提升科研产出等。这些法则旨在帮助研究生们更好地适应学术生活,提高科研能力,最终实现个人和导师的共同成就。希望这些法则能对即将或已经在读研的同学们有所帮助。
2024-09-05 22:53:19
1275
3
原创 【自动驾驶】控制算法(八)横向控制Ⅰ | 算法与流程
本篇博客是 自动驾驶控制算法 系列的第八节第Ⅰ部分。内容整理自 B站知名up主 忠厚老实的老王 的视频,作为博主的学习笔记,分享给大家共同学习。 本节内容是整个横向控制的核心,要把前七节所有内容都用在第八节上。第八节分四小节,本小节讲解具体算法,下一小节讲解模型搭建和代码编程,再下一小节讲解代码优化、注意事项以及仿真结果。 算法这一讲可以说是整个第八节的核心所在。写代码、做仿真的来源是算法,有了具体算法后,无论用什么平台仿真,用什么语言编写程序,都是水到渠成的事情。只要照着算法编程逻辑是十分清晰
2024-09-04 23:20:57
1805
11
原创 【自动驾驶】控制算法(七)离散规划轨迹的误差计算
本篇博客是 自动驾驶控制算法 系列的第七节。内容整理自 B站知名up主 忠厚老实的老王 的视频,作为博主的学习笔记,分享给大家共同学习。 本节博客讲解离散轨迹的误差计算,是理论部分中的最后一节,如果看完了前七节,可以自己尝试搭建横向控制模型,因为横向控制所需要的知识和理论,以及存在的障碍,都讲明白了,大家可以自己尝试搭建相关理论模型,编写代码。
2024-09-04 12:45:17
1628
5
原创 【项目实战】智能机械臂协同视觉辅助仓储物流管控平台
本博客详细介绍了基于STM32的智能物流仓储管理系统的项目实战过程。文章从项目原型、思路、参考、方案、硬件结构、技术路线到实施计划,全面展示了如何利用STM32G431RBT6开发板构建一个集机械臂控制、温湿度监测、视觉识别于一体的智能仓储系统。通过图文并茂的方式,博主分享了项目过程中的关键步骤和心得体会,为读者提供了一个从理论到实践的完整学习路径,助力大家在嵌入式开发领域取得进步。跟随本专栏,一起探索智能仓储管理的奥秘!
2024-09-03 23:50:14
1261
1
原创 【自动驾驶】控制算法(六)前馈控制与航向误差
本篇博客是 自动驾驶控制算法 系列的第六节。内容整理自 B站知名up主 忠厚老实的老王 的视频,作为博主的学习笔记,分享给大家共同学习。 各位小伙伴们大家好,本节博客讲解前馈控制与航向误差。在上一节介绍了离散 LQR 以及连续 LQR,分别对应离散系统和连续系统。 LQR 的核心就是求黎卡提方程的 P,求出来之后就可以算出最优控制 u=−kx。
2024-08-27 23:03:33
2216
2
原创 【自动驾驶】决策规划算法 | 数学基础(二)凸优化与非凸优化
各位小伙伴们大家好,本篇博客是自动驾驶决策规划算法数学基础的第二节,内容整理自 B站知名up主 忠厚老实的老王 的视频,作为博主的学习笔记,分享给大家共同学习。 凸优化是比二次规划更宽泛的概念。本篇博客的讲解不像数学系讲得那么细,比如凸优化的来源、凸优化的定义、怎么求解凸优化问题、KKT 条件之类的问题不会讲。对于做自动驾驶的人来说,凸优化就是调包,把数据结构弄好,然后喂到包里面去,算结果就可以了。
2024-08-27 20:48:15
1352
原创 【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解
本篇博客深入探讨了自动驾驶决策规划算法中的一个关键数学概念——五次多项式。内容整理自 B站知名up主 忠厚老实的老王的视频。在车辆的决策规划中,舒适性的衡量标准是跃度(Jerk),它与加速度的三阶导数相关。为了使Jerk的绝对值最小,我们需要找到一种函数形式,使得加速度的变化尽可能平缓。这引出了最小化Jerk平方积分的数学问题。接着,探讨了二次或二次以下函数在最小化Jerk平方积分中的作用,以及实际情况下需要考虑的边界条件。
2024-08-26 23:56:03
1403
1
基于STM32的智能物流仓储管理系统
2024-08-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人