【泡泡读者来搞】ROS、Simulink、Carsim的互联与规划、控制算法的验证

2019 年 5 月 1 日 泡泡机器人SLAM

简介


在进行无人车的规划、控制算法调试时,直接在实车上进行不仅危险且效率低下,一个好的运动学仿真平台将会加速开发进度。Carsim非常适合进行车辆动力学仿真,但是只能运行在Windows系统上,好在它可以连接Simulink。而无人车的规划、控制算法通常运行在Linux系统上,各个模块通常使用ROS进行连接。本篇文章提供一种方法,将ROS 、 Simulink、Carsim进行互联,完成规划、控制算法的动力学仿真。


准备工作


a、硬件基础:PC1和PC2使用路由器连接在同一局域网

b、PC1为Ubuntu系统,运行规划、控制算法,各模块使用ROS进行通信

c、PC2为Windows系统,运行Simulink和Carsim



1、PC1上的ROS节点建立

建立两个ROS节点,一个为 Talker 负责发送车辆的转向、油门、刹车指令,一个为 Listener接收车辆的位姿信息,(此处msgs仅为示例,需结合具体的工程项目建立相应的node和topic)


Talker节点代码

https://github.com/xiaoyuyang0901/Simulation-platform/blob/master/ROS-Simulink-Carsim/talker.cpp


Listener节点代码

https://github.com/xiaoyuyang0901/Simulation-platform/blob/master/ROS-Simulink-Carsim/talker.cpp


进入主文件夹,使用从Ctrl + H快捷键显示隐藏的文件

双击 .bashrc文件,在末尾加入两行代码

192.168.0.101为PC1的IP地址


2、Carsim的通道设置

输入通道分别为油门开度、方向盘扭矩、刹车压力

输出通道分别为X、Y、Yaw、速度、方向盘转角


3、PC2上的Simulink模型的搭建


Simulink模型

模型下载链接

https://github.com/xiaoyuyang0901/Simulation-platform/tree/master/ROS-Simulink-Carsim


接收节点

进入simulink library browser中的ROS工具箱,添加subscribe工具箱,并双击,将弹出如下的窗口

a、选择topic的来源

b、 编辑topic的名称,输入/control,与ROS的talker节点里的topic对应

c、选择msg的类型,与talker节点里的topic的msg对应


总线选择器的设置

添加总线选择器模块bus selector,以subscribe的msg引脚作为它的输入,并双击进行参数设置

使用select按钮进行bus selector输出引脚的定义


发送节点的定义

从Simulink library browser中的ROS工具箱添加空白消息模块blank message,该模块用于创建ROS消息,并双击进行参数设置

Message类型与ROS中的listener节点中的消息类型一致

从Simulink library browser中添加bus assignment模块,并双击打开如下窗口,使用select按钮进行输出通道设置

从Simulink library browser中的ROS工具箱添加publish模块,并双击进行参数设置

Topic为/simulink_pose,与ROS中的listener节点的话题名字对应 Message的类型与listener节点的消息类型对应


4、PC2的IP设置

选择Simulink菜单栏中的tools项,如下图所示进入到Configure Network Address项


上述操作将弹出以下窗口

红色圈为PC1的IP地址


5、启动

a、首先启动PC1上的ROS收发节点

b、PC2:在MATLAB的命令窗口输入以下指令,启动Simulink中的节点

其中192.168.0.101为PC1的IP地址,192.168.0.100为PC2的IP地址


参考资料

https://ww2.mathworks.cn/help/robotics/examples/get-started-with-ros-in-simulink.html


欢迎来到泡泡论坛,这里有大牛为你解答关于SLAM的任何疑惑。

有想问的问题,或者想刷帖回答问题,泡泡论坛欢迎你!

泡泡网站:www.paopaorobot.org

泡泡论坛:http://paopaorobot.org/bbs/


泡泡机器人SLAM的原创内容均由泡泡机器人的成员花费大量心血制作而成,希望大家珍惜我们的劳动成果,转载请务必注明出自【泡泡机器人SLAM】微信公众号,否则侵权必究!同时,我们也欢迎各位转载到自己的朋友圈,让更多的人能进入到SLAM这个领域中,让我们共同为推进中国的SLAM事业而努力!

商业合作及转载请联系liufuqiang_robot@hotmail.com

登录查看更多
14

相关内容

最新《自动微分手册》77页pdf
专知会员服务
100+阅读 · 2020年6月6日
专知会员服务
86+阅读 · 2019年12月13日
【白皮书】“物联网+区块链”应用与发展白皮书-2019
专知会员服务
93+阅读 · 2019年11月13日
MIT新书《强化学习与最优控制》
专知会员服务
275+阅读 · 2019年10月9日
无人驾驶仿真软件
智能交通技术
21+阅读 · 2019年5月9日
基于 Carsim 2016 和 Simulink的无人车运动控制联合仿真(四)
基于 Carsim 2016 和 Simulink的无人车运动控制联合仿真(三)
IMU 标定 | 工业界和学术界有什么不同?
计算机视觉life
13+阅读 · 2019年1月8日
【机器人】机器人PID控制
产业智能官
10+阅读 · 2018年11月25日
【紫冬分享】移动机器人视觉里程计综述
中国科学院自动化研究所
11+阅读 · 2018年10月31日
Arxiv
24+阅读 · 2020年3月11日
Image Segmentation Using Deep Learning: A Survey
Arxiv
44+阅读 · 2020年1月15日
Arxiv
4+阅读 · 2018年2月13日
Arxiv
3+阅读 · 2017年8月15日
VIP会员
相关资讯
无人驾驶仿真软件
智能交通技术
21+阅读 · 2019年5月9日
基于 Carsim 2016 和 Simulink的无人车运动控制联合仿真(四)
基于 Carsim 2016 和 Simulink的无人车运动控制联合仿真(三)
IMU 标定 | 工业界和学术界有什么不同?
计算机视觉life
13+阅读 · 2019年1月8日
【机器人】机器人PID控制
产业智能官
10+阅读 · 2018年11月25日
【紫冬分享】移动机器人视觉里程计综述
中国科学院自动化研究所
11+阅读 · 2018年10月31日
Top
微信扫码咨询专知VIP会员