- 博客(11)
- 收藏
- 关注
原创 移动机器人路径规划(4)——贝塞尔、b样条曲线
下面用下图这个实例来进行说明,共n+1=5个控制点,n=4,节点规定为m+1=10个,m=9,即t0,t1,⋯ ,t9,该节点将要生成的目标曲线分为了9份,这里的t取值一般为0-1的一系列非递减数。该图表表示的是在t取值在[t2,t3]范围时,求得的5个控制点对应的权重Bj,4(基函数),最终结果B0,4,B1,4,B2,4都为非0值,且是关于t的四次函数,B3,4,B4,4为0。目的就是获取最终样条曲线,根据前述,也即是获得任意点的坐标值,即t∈[0,1]时,获得一系列的点,这些点最终组成了目标曲线。
2025-03-20 10:50:52
726
原创 移动机器人路径规划(3)——Minimum snap
到此以多项式为基础推导出了代价函数的具体形式,如果直接对上式进行优化求解得到其最小值,看似确实完成了的目标,但是其中忽略了一个问题,那就是可能优化出来的结果是,航迹点之间的速度或者加速度不连续,显然这是可能的,因为没有限制航迹点在前后两端轨迹中的状态是否一致,也就没有限制要连续。因为要对Jerk进行积分,那么多项式在求导3次之后必须要连续,所以要确保0阶、1阶、2阶导数都是光滑的,也就是保证求导到加速度函数依然是光滑的,这一点就体现了多项式轨迹的优势,它天然就是一个高阶光滑的函数。也是可以事先给定的。
2025-03-11 10:28:43
696
原创 移动机器人路径规划(2)——Hybrid_Astar
最左边为普通Astar的扩展,每个点落在九宫格中间,一一对应图像格式的PGM地图中的每个图像像素点,最右边则是HybridAstar的扩展方式,其落点随机,无法通过将点的位置转换为对应的图像像素点,这也就意味着HybridAstar的搜索,必然是直接在世界坐标系下的搜索。在倒车的情况下,处理类似,但还增加了倒车的惩罚因子。总体来说,根据移动方向和转向变化情况,结合不同的惩罚系数,计算出实际的行进代价,从而在搜索过程中选择更合适的路径,避免不必要的转向和倒车,使生成的路径更符合实际车辆的操控需求。
2025-03-05 12:59:58
992
原创 移动机器人路径规划(1)——搭建平台
写在最后:我也不知道是什么原因,点云地图虽然能打开了,但是持续时间不是很久就会消失,我怀疑和我的虚拟机有关,但是我还没证据可以证明。Ps:后面发现原因了,在Allmap里的Topic记得改成/random_complex/global_map。打开之后显示如下画面,此时因为还未运行程序,所以地图没有初始化,看不到点云三维地。Ctrl+alt+t,打开终端,复制并逐条运行以下命令。ctrl+shift+t,打开新一页终端,执行以下命令。ctrl+shift+t,打开新一页终端,执行以下命令。
2025-02-28 17:00:38
569
原创 C++贪吃蛇游戏
其实这个代码的逻辑并不算很复杂,主要目的还是练习从c转到c++的写法上的区别。同时,这个代码中并没有涉及到面向对象的编程,下一步将找一个面向对象编程的项目进行实战。
2025-02-28 16:58:40
489
原创 自动驾驶决策规划(四)——二次规划
动态规划:决策规划(三)——动态规划_规划算法中为什么动态规划开辟出凸空间-优快云博客重决策是根据人给定的规则判断,综合考虑与障碍物的距离,相对速度,周围环境等信息给出决策,是由人事先写好的,表明场景与决策之间的映射关系。重决策优点:重决策缺点:轻决策是没有特定的先验规则,而是将所在空间进行离散化,设计相应的代价函数cost function,同时利用动态规划算法求解离散空间的最优路径,通过开辟的凸空间,用二次规划设定出最优路径。轻决策优点:轻决策缺点:假设已经通过动态规划,开辟出了一个凸空间,并且已经将
2024-12-13 16:11:18
2211
原创 自动驾驶决策规划(一)——搭建仿真平台报错解决
解决:请打开X:\Program Files (x86)\CarSim2019.1_Prog\Programs(X默认为C盘),运行HostID.exe,查看你电脑的HostID,以BIA开头,一共有两个,选择一个即可,在用记事本打开破解文件MSCLIC_SSQ.dat 查找此文件的HOST ID= BIAXXXXXX,把BIAXXXXXX替换成你自己电脑的HostID,因为要替换的HostID不止一处,所以要选择全部替换,即可解决。解决:在引入simfile.sim文件路径时,把路径的双引号去掉。
2024-11-21 21:36:42
293
原创 ROS系统复现差速机器人编队控制
注意的是,运行第一个多机器人仿真环境指令以后,即运行多机器人仿真环境(gazebo与rviz):roslaunch mydiffcar_gazebo multi_diffcar_gazebo.launch ,需要单开一个命令窗口,cd multi_diffcar_ws进入该工作空间,在source ./devel/setup.bash 刷新环境,不然可能会报错,最后roslaunch nmpc_ctr test_formation.launch。然后在rviz中,使用鼠标就可以设定轨迹运行了。
2024-11-09 14:44:49
355
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人