自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 资源 (16)
  • 收藏
  • 关注

原创 qpoases解MPC控制-Condensed Format(仅仅与输出量有关)

【代码】qpoases解MPC控制。

2023-09-09 13:06:31 389

原创 navigation2导航包(ROS2)说明-Smac Planner

SmacPlanner 是 Nav2 Planner 的插件

2023-05-13 14:32:02 2307 1

转载 ROS安装rosdep update出错,亲测目前最方便最有效的解决办法,不需要更改任何文件

一键安装:nodejs开发环境(通过nodejs可以预览小鱼官网噢 贡献@小鱼。一键配置:ROS环境(快速更新ROS环境设置,自动生成环境选择) 贡献@小鱼。一键安装:ROS(支持ROS和ROS2,树莓派Jetson) 贡献@小鱼。一键安装:github桌面版(小鱼常用的github客户端) 贡献@小鱼。一键配置:rosdep(小鱼的rosdepc,又快又好用) 贡献@小鱼。一键安装:VsCode(支持amd64和arm64) 贡献@小鱼。一键安装:微信客户端 贡献@小鱼。一键安装ROS也非常方便!

2023-05-04 20:59:07 586

原创 window10下运行ROS2,直接一个脚本启动运行环境

window10下运行ROS2,直接一个脚本启动运行环境

2023-04-11 23:19:00 299

转载 Boost::circular_buffer——循环缓冲区

.Circular_buffer维护了一块连续内存块作为缓存区,当缓存区内的数据存满时,继续存入数据就覆盖掉旧的数据。

2023-04-06 00:20:19 552

原创 规划算法-TEB

The teb_local_planner package allows the user to set parameters in order to customize the behavior. These parameters are grouped into several categories: robot configuration, goal tolerance, trajectory configuration, obstacles, optimization, planning in di

2023-03-23 22:12:24 535

原创 Matplotlib-cpp在linux中C++代码中调用画图

Matplotlib-cpp是一个使用C++实现的调用Matplotlib接口进行绘图的库

2022-11-04 22:50:31 1461 2

原创 关于前面介绍过的MPCC控制改为使用Yalmip解算器解以及MPC控制的一点想法

关于前面介绍过的MPCC控制改为使用Yalmip解算器解以及MPC控制的一点想法

2022-07-04 23:57:05 1261 1

原创 MATLAB中使用IPOPT去解NLP问题的接口:AMPL 工具

AMPL 是一种建模语言工具,它允许用户以类似于数学方式编写问题的语法编写优化问题。一旦在 AMPL 中制定了问题,就可以使用(已编译的)Ipopt AMPL 求解器可执行文件 ipopt 轻松解决问题。通过直接链接代码来连接您的问题需要花费点时间来编写,但对于大型问题可能更有效......

2022-06-30 12:50:30 3299 1

原创 matlab中生成.p文件保护代码并不安全

matlab中经常为了保护代码,就直接用pcode指令把.m文件生成.p文件,一般情况下,是不能查看.p文件中的代码。但是这样并不安全,很容易反编译破解。

2022-06-24 00:35:40 1799

原创 连续状态方程离散化与凸包表示形式

关于状态离散化的方法

2022-06-08 18:03:48 3838 1

原创 Learning MPC (LMPC)相关资料

关于Learning MPC (LMPC)算法资料,MPC可扩展的内容挺多,这个值得探索。

2022-06-07 17:23:03 2590

原创 LQR、LQR-MPC、GP-MPC控制倒立摆

LQR、LQR-MPC、GP-MPC控制倒立摆

2022-06-05 23:36:16 2248

原创 Modeling and Control Design for Competitive Car Racing(2021 ICRA Full-Day Workshop

这些文章与方向还是值得学习的:Contributed Papers[Paper #1] Chanyoung Jung, Seungwook Lee, Hyunki Seong, Andrea Finazzi and David Hyunchul Shim,Game-Theoretic Model Predictive Control with Data-Driven Identification of Vehicle Model for Head-to-Head Autonomous Rac.

2022-05-28 21:12:57 323

原创 实现ROS有订阅话题才发布的功能

C++ Publisher::getNumSubscribers方法代码示例本文整理汇总了C++中ros::Publisher::getNumSubscribers方法的典型用法代码示例。如果您正苦于以下问题:C++ Publisher::getNumSubscribers方法的具体用法?C++ Publisher::getNumSubscribers怎么用?C++ Publisher::getNumSubscribers使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一

2022-05-26 14:59:01 1016

原创 非常好用的Linux下代码运行CPU使用率过高排查方法

直接使用工具:perf如下例子:1.首先使用top查出占用cpu高进程:如我的右图下角进程,我要查进程2418的cpu使用情况。2.sudo perf top -p 2418右下角就会出现函数占用多少,非常方便。关于perf工具安装:ubuntu:~$ perf程序“perf”尚未安装。 您可以使用以下命令安装:sudo apt install linux-tools-commonubuntu:~$ sudo apt install linux-tool.

2022-05-10 11:58:27 667

原创 手把手教做无人驾驶算法(二十八)--Tube MPC与MPC区别

一般的MPC算法并没有保障鲁棒性。常规MPC算法求解一般都是保证可行解在边界附件,想象一下如果这个时候加一个扰动,这个解很容易出现在边界外面,从而这个优化解也不是可行解。这里就引入了Tube MPC。...

2022-05-08 22:20:37 3394

原创 手把手教做无人驾驶算法(二十七)--关于MPC扰动不变集的分析

Disturbance invariant setI think one may get stuck at computation of what paper [1] called "disturbance invariant set". The disturbance invariant set is an infiniteMinkowski additionZ = W ⨁ Ak*W ⨁ Ak^2*W..., where ⨁ denotes Minkowski addition. Obtaini...

2022-05-08 18:00:30 1299 1

原创 手把手教做无人驾驶算法(二十六)--基于终端约束的MPC 控制

关于MPC终端约束问题,其实就是稳定性与可行性的分析,欢迎感兴趣的一起交流探讨。基于终端约束的MPC控制,理论部分可以参考资料:【Linear MPC入门】Model Predictive Control Algorithm, Feasibility and Stability - 知乎这里,终端约束数据可以用数据驱动来代替,这样就可以把MPC与数据驱动相结合起来,但是好处不仅仅是为了与数据驱动联合,终端约束有什么好处呢?上面的参考资料也给出了参考。对于一般MPC而言,相当于零点为终点,不过

2022-04-20 12:58:49 3610 1

原创 手把手教用matlab做无人驾驶(二十五)--基于控制障碍函数的MPC(MPC-CBF)

这边博客主要完成论文的内容:Safety-Critical Model Predictive Control with Discrete-Time Control Barrier Function,论文地址:[2007.11718] Safety-Critical Model Predictive Control with Discrete-Time Control Barrier Function (arxiv.org)https://arxiv.org/abs/2007.11718文章参考地址:.

2022-04-18 22:26:20 4234 7

原创 手把手教用matlab做无人驾驶(二十四)--关于MPC与数据驱动相结合的方法架构

随着计算机的能力不断提升,优化方法现在应用也比较多,最近一直在看优化方法,典型的就是MPC,关于MPC与数据驱动相结合的论文现在也很多:各自优缺点:MPC方法的性能(Performance)非常依赖于物理模型的精度。为了提高控制性能,通常的做法是搭建更加复杂的物理模型,或者使用非线性的优化求解器。这些做法面临几大挑战,一是难以通过物理学方法(例如牛顿力学)对越来越复杂的工程系统(例如自动驾驶)进行足够精确的建模,特别是当被控对象的运行环境存在较大不确定性;另一方面,过于复杂的物理模型和非线性

2022-04-18 11:32:37 2296

原创 手把手教用matlab做无人驾驶(二十三)--LMPC

In the condensed QP formulation, the input sequence vector u are the onlyoptimization variables. The state variables are eliminated by applying theso-called Lagrange equations:=A=Bz  }|  {}|z A dx 1B d00 x 2   A 2 d  A d B dB d0

2022-04-16 22:28:54 1323

原创 手把手教用matlab做无人驾驶(二十二)--常见局部路径规划算法

常见的局部路径规划算法,先列出来,后面对算法做补充:1.动态窗口法(DWA)2.Time Elastic Band(Teb)3.Eband方法(eband_local_planner)4.lattcie planner5.Vector Field Histogram(VFH及其改进的算法VFH+,VFH*)6.混合A*算法(同时也有一些RRT*算法,各种与RS曲线或Dubins曲线相结合)7.Reciprocal Collision Avoidance(RVO以及各种变种)8

2021-06-30 18:47:58 3325 2

原创 手把手教用matlab做无人驾驶(二十一)--非参数轨迹优化算法

在做路径规划时,常常会遇到全局路径找到的轨迹给规划算法往往是不能直接用的,这里一般会用插值的方式,但是插值对噪声的特别敏感,很容易产生车不可达的轨迹,所以这里需要轨迹优化算法去得到一条平滑的...

2021-06-11 22:49:23 1520

原创 手把手教用matlab做无人驾驶(二十)--matlab/simulink与ROS联合开发

这里只是介绍一个github上面的开源代码,代码地址:https://github.com/abhishekrs0001/ROS_MATLAB_ROStoolbox,运行这个代码可以很好的理解simulink与ROS联合开发过程:当然配置环境你可以用matlab/simulink控制ROS中的小乌龟的例子试试手。运行roslaunch ros_robotics diff_wheeled_gazebo_full.launch可以得到结果:这里只要修改发布的话题就可以运行,发布话题修改为c.

2021-05-03 17:17:30 1198

原创 手把手教你使用Autoware做无人驾驶(二)--数据导入

使用在线Codingground(https://www.tutorialspoint.com/compile_cpp_online.php)运行如下代码进行熟悉Autoware中的参数是怎么导入的,这是从代码中移植过来的。#include <iostream>#include <vector>#include <sstream>#include <algorithm>#include <fstream>using...

2021-04-06 21:21:19 1924

原创 关于osqp(MPC)库的交叉编译移植过程

Apollo MPC算法之前使用qpOASES Solver, 现在替换为OSQP,OSQP库主要是解优化问题的库。我现在想移植到自己的嵌入式开发环境中,QSQP具体教程可以参考地址:https://osqp.org/docs/get_started/sources.html#build-from-sources。这里给出怎么解决移植问题,下面是我的移植过程:1.下载osqp源码,这个在上面地址里面就可以下载,也可以通过git下载,指令如下。git clone --recursive https:

2021-01-08 14:57:49 1754

原创 手把手教你使用Autoware做无人驾驶(一)--环境安装

最近又太忙了,嗨,每次换工作开始都要忙上一段时间,博客好久没更新了,用matlab做的混合A星泊车程序与行人轨迹预测、强化学习DQN控制交通灯的代码一直没时间放出来,忙完这段时间抽个时间写个说明文档一起放出来,现在就来记录一下Autoware的过程。1.显卡驱动安装:建议旧电脑的显卡驱动采用这种方式安装,因为在官网下载新的驱动安装会报:verifying archive integrity... Error in check sums xxxxxxxx xxxxxxxx,安装不成功。这种解决

2020-12-16 22:26:19 3449 1

原创 手把手教用matlab做无人驾驶(十九)--机器人局部避障的动态窗口法(DynamicWindowApproach)

这个方法很简单,网上资料也很多,这里就不介绍了,具体参考论文为Mobile robot motion planning sample with Dynamic Window Approach,我使用Matlab复现了该方法,该代码可在我的github上下载,下载地址见:https://github.com/caokaifa/Matlab-planningMatlab仿真实现效果:机器人局部避障的动态窗口法...

2020-08-16 21:17:36 2279 1

原创 手把手教用matlab做无人驾驶(十八)--Optimal Trajectory Generation for Dynamic Street Scenarios in a Frenet Frame

Frenet坐标下动态街道场景的最优轨迹生成 目录 Frenet坐标下动态街道场景的最优轨迹生成 1.摘要(Abstract)2.论文主要内容3.Matlab代码实现与仿真...

2020-08-15 16:23:31 6020 1

原创 手把手教用matlab做无人驾驶(十七)--arc-length 重参数化

这里的内容请参考:https://www.zhihu.com/search?type=content&q=Arc-Length%20Parameterized%20Spline%20Curves在Matlab中的仿真程序与效果:clcclearR=5;x1=[];y1=[];x2=[];y2=[];for t=0:0.1:sqrt(2*pi) x1=[x1 R*cos(t*t)] y1=[y1 R*sin(t*t)]endfor t1...

2020-08-14 22:13:05 682

原创 手把手教用matlab做无人驾驶(十六)--Reeds-Shepp 曲线

先了解Reeds-Shepp 曲线,对接下来的设计Hybrid A*算法做准备,对于Reeds-Shepp 曲线,这里不过多介绍,直接放上matlab代码与效果图:先建立RSPath.m,内容如下:classdef RSPath properties (Constant) Types = [ 'L', 'R', 'L', 'N', 'N' ; %1 'R', 'L', 'R', 'N', 'N' ;...

2020-07-11 19:37:53 4867 3

原创 强化学习(二)--让你轻松玩转生成对抗网络(GAN)与生成对抗模仿学习(GAIL)

GAN的基本结构GAN的主要结构包括一个生成器G(Generator)和一个判别器D(Discriminator)

2020-05-31 15:47:10 5182 6

原创 强化学习(一)-DQN控制倒立摆

这里,使用gym环境实现仿真,从小车倒立摆的环境模型中,我们不难看到,小车倒立摆的状态空间为共四个,动作空间为为两个,当动作为1时,施加正向的力10N;当动作为0时,施加负向的力-10N。在码中使用了env.step()函数来对每一步进行仿真,在gym中,env.step()会返回 4 个参数(observation, reward, done, info)。 代码如下:# -...

2020-05-03 20:25:26 4662 2

原创 车路协同-使用SUMO软件实现智能交通灯控制(一)

这里,SUMO的软件安装就贴教程了,其实网上有很多教程,简单的说一下:sudo add-apt-repository ppa:sumo/stablesudo apt-get updatesudo apt-get install sumo sumo-tools sumo-doc使用上面三行即可安装好SUMO,特别是使用深度学习环境的同学,安装完这个就可以跑代码了,是不是很快。如果运行S...

2020-04-06 00:31:47 3863 4

原创 注意Pytorch中GPU与CPU的使用

其实在Pytorch中并不是在任何情况下把数据放到GPU下就能训练效率,减少训练时间。下面举个例子:import torchimport timeprint(torch.cuda.is_available())print(torch.cuda.current_device())###CPUstart_time = time.time()a = torch.ones(...

2020-03-31 00:25:49 3679

原创 关于实现无人驾驶行人轨迹预测的感想

行人轨迹预测的难点总体而言,行人轨迹预测的难点主要有两个:第一,行人运动主观、灵活,预测难度大。本身精确预测未来的运动轨迹是一个几乎不可能完成的任务,但是通过观察某个障碍物历史时刻的运动轨迹,可以根据一些算法来大致估计出未来的运动轨迹(最简单的是常速度模型,但是人突然转向就不管用了)。在实际中,相比于自行车、汽车等模型,行人运动更加主观、灵活,很难对行人建立合理的动力学模型(因为行人可以随...

2020-01-10 23:00:18 3714 12

原创 手把手教你用tensorflow做无人驾驶(二)-LSTM应用实战

通过这篇博客,你可学到怎么在tensorflow环境下搭建LSTM网络(这里包括单层与多层),同时使用matplotlib模块画图,通过训练完以后,把网络保存下来,以后再次打开网络就不需要再次训练网络,直接用即可。这里我会演示保存下来的网络怎么恢复以及使用保存下来的网络进行测试,就不要训练了。首先建立一个LSTM.py,代码如下:from __future__ import print_fu...

2019-10-06 21:17:11 1071 1

原创 手把手教你用tensorflow做无人驾驶(一)

这个是产生大小为28*50的-1到1的随机数矩阵,这个embedding_mat是变量使用tf.Variable定义的,在TensorFlow的世界里,变量的定义和初始化是分开,想要将所有图变量进行集体初始化时应该使用tf.global_variables_initializer()来初始化,所有关于图变量的赋值和计算都要通过tf.Session的run来进行。例子如下:import tens...

2019-09-27 21:52:16 1295

原创 手把手教用matlab做无人驾驶(十六)--matlab/simulink 高级应用

1.首先,介绍一下matlab/simulink中把模块封装为库函数通过以下建立Library如下是我的库内容,保存库名字为mathlib:然后建立一个模型,打开mathlib.slx模块,把这个模块加入模型中,建立如下模型,仿真即可。如果想改这个模型,打开拖动会出现:Attempt to modify link 'untitled1/Subsystem'. ...

2019-08-21 22:54:54 7101

MALTAB中AMPL调用Ipopt去解NLP问题

MATLAB AMPL 是一种建模语言工具,它允许用户以类似于数学方式编写问题的语法编写优化问题。一旦在 AMPL 中制定了问题,就可以使用(已编译的)Ipopt AMPL 求解器可执行文件 ipopt 轻松解决问题。通过直接链接代码来连接您的问题需要花费点时间来编写,但对于大型问题可能更有效。具体参考:https://blog.csdn.net/caokaifa/article/details/125535963?spm=1001.2014.3001.5501

2022-06-30

Ipopt优化控制求解器

matlab 高版本Ipopt求解器,解压两个文件,并把这个两个文件加入到matlab路径中即可调用Ipopt

2022-04-18

Optimal-Trajectory-generation-for-Lane-Changing-in-Frenet-Frame-master.zip

Matlab实现Optimal Trajectory Generation for Dynamic Street Scenarios in a Frenet Frame论文的方法,具体网站https://blog.csdn.net/caokaifa/article/details/108015374

2020-08-15

hello.tar.gz

入门SUMO,搭建智能交通仿真环境,压缩文件在linux系统下压缩,详细内容见https://mp.csdn.net/console/editor/html/105336573

2020-04-06

matlab/simulink 代码在VS平台实现

这个代码主要是验证matlab/simulink产生的代码,然后把代码放在VS平台验证,里面matlab文件夹是matlab/simulink搭建的一个简单模型,然后生成的代码。VS文件夹就是matlab生成的代码放到VS下验证的

2019-08-18

stateflow-light.zip

这是一个matlab/stateflow简单的例子教程,主要是模拟控制灯的代码,参考我的博客:https://blog.csdn.net/caokaifa/article/details/97420794

2019-07-27

Rear wheel feedback.zip

这是基于一篇关于Rear wheel feedback control论文的算法实现代码,具体可看我博客:https://blog.csdn.net/caokaifa/article/details/92429676

2019-06-16

MPC-test.zip

这个MPC模块主要是基于matlab/simulink中的lane keeping assist system搭建的,具体详见博客https://blog.csdn.net/caokaifa/article/details/92378387

2019-06-16

pure control.zip

这个代码是做了一个pure control demo,具体的文档见我的博客https://blog.csdn.net/caokaifa/article/details/91376997

2019-06-10

里程计odom

模拟odom里程计,订阅和发布里程计信息,https://mp.csdn.net/postedit/84663980

2018-11-30

无迹kalman滤波

这个关于怎么实现UKF的代码,关于实现步骤及实现过程可看我的博客: https://blog.csdn.net/caokaifa/article/details/83041371

2018-10-13

extended_kalman_filter

KF的假设之一就是高斯分布的xx预测后仍服从高斯分布,高斯分布的xx变换到测量空间后仍服从高斯分布。可是,假如F、H是非线性变换,那么上述条件则不成立,详细见我的博客https://blog.csdn.net/caokaifa/article/details/82874211

2018-09-27

路径规划算法RRT

这是关于路径规划算法RRT用于2D环境下的算法,具体文档见我博客https://blog.csdn.net/caokaifa/article/details/82793708

2018-09-20

机器人路径规划A*算法

这个是机器人轨迹规划A*算法代码,它是由matlab编写的,文档见我的博客: https://blog.csdn.net/caokaifa/article/details/82314809

2018-09-02

汽车路径跟踪matlab程序

This entry contains the Simulink model for the "Path Planning and Navigation for Autonomous Robots" video. The demonstration walks through how to simulate a self-parking car with just three components: a path, a vehicle model, and a path following algorithm. The vehicle model is implemented based on the kinematic equations of the bicycle model and the path following algorithm uses the built-in Pure Pursuit block from Robotics System Toolbox.

2018-07-31

Team_Hector_MappingBox_RoboCup_2011_Rescue_Arena.bag

数据包:Team_Hector_MappingBox_RoboCup_2011_Rescue_Arena.bag

2017-11-23

空空如也

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

TA关注的人

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