4 Star 18 Fork 6

HuYunhao / ros_simulink

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

更新日志

2021/03/10 增加后轮反馈控制算法rear wheel feedback control

2021/03/12 新增的后轮反馈算法调试效果较差,等待以后改进

2021/03/15 修改了ros_stanley节点的软件架构,去掉了Eigen/Dense包,代码可读性更好

2021/03/16 给stanley算法计算的车论转角增加一阶低通滤波模块,使得转角的输出曲线更为平滑

2021/05/18 新增ros_mpc节点,里面添加了MPC控制算法

2021/05/19 修改了ros_mpc节点的cmakelist.txt,增加了matplotlib-cpp绘图库

2021/09/17 修改了stanley的代码结构和readme

使用说明

0分支说明

master分支:运行在ros端的控制算法,包括stanley,mpc。

PreScan分支:包含了prescan工程的压缩文件,解压后需要在matlab中添加自定义的ros msg,也就是src/nodes/msgs

配合控制程序,可以直接进行prescan-ros仿真。

1环境说明

PC1:装win10系统;运行prescan2019.2和matlab2019b;ip = 172.16.6.248

PC2:Ubuntu18.04,ros melodic;ip = 172.16.6.70

p.s. PC1和PC2应该处于同一网段下

2PC2(ubuntu18.04)操作说明

clone master分支的代码后

2.1修改PC2的.bashrc文件,向其中添加PC2的ip地址
sudo gedit ~/.bashrc	#打开bashrc
#在bashrc文件的末尾添加如下两行
export ROS_IP=172.16.6.70	#根据自己的电脑ip做相应的改变  
export ROS_MASTER_URI=http://172.16.6.70:11311
2.2运行ros master节点和ros_stanley节点
#运行ros master节点
roscore 
#进入ros的工作空间
source devel/setup.bash
rosrun ros_stanley n_stanley_controller	#运行ros_stanley节点

3PC1(win10)操作说明

clone PreScan分支后,解压,用PreScan启动matlab,然后在matlab命令行中输入

setenv('ROS_MASTER_URI', 'http://172.16.6.70:11311')	%pc2的ip
setenv('ROS_IP','172.16.6.248')		%PC1 win10的ip
rosinit('172.16.6.70')	%pc2的ip

4控制算法测试效果

4.1Stanley算法
4.1.1仿真效果动图

stanley_simulation

4.1.2仿真场景

stanley_scene

4.1.3规划轨迹和实际行驶轨迹偏差
  1. 偏差总览

    stanley_track_deviation

  2. 横向偏差

    lateral_deviation

4.1.4方向盘转角随时间变化图

steering_wheel_angle

4.2MPC算法
4.2.1直线工况[N=25,dt=0.05,迭代60次]

mpc_simulation

空文件

简介

采用PreScan、ROS、Simulink进行自动驾驶控制算法仿真 横向控制采用的是stanley,MPC算法 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
C++
1
https://gitee.com/longfei1995/ros_simulink.git
git@gitee.com:longfei1995/ros_simulink.git
longfei1995
ros_simulink
ros_simulink
master

搜索帮助