单车航点跟随仿真
本教程将会引导读者完成 单车航点跟随仿真 的演示。在使用此功能之前,确保已经完成了 仿真系统搭建
- 打开matlabR20021b,在命令行中输入
rosinit
,启动ROS Master节点
rosinit
此时将会弹出ROS master 的窗口,不要关闭。最小化即可。 如图1所示:
图1 rosinit
提示
在某些电脑环境中,即使按照仿真系统搭建步骤完成搭建,在运行
rosinit
时,可能会出现Cannot connect to ROS master at http://localhost:11311. Check the specified address or hostname
字样。解决的办法是,将
rosinit
命令改为,rosinit("ip",端口)
。如下图所示:解决办法
- 打开
kk-robot-swarm/src/matlab/pid_waypoint/b1_waypoint.slx
文件,如图2所示。
图2 b1_waypoint
- 点击菜单栏上的
ROS
--Deplay to Localhost
。如图3所示
图3 b1_waypoint ROS
- 接着点击菜单栏上的
仿真
--运行
。启动仿真
图4 b1_waypoint ROS
- 等待编译完成,系统将会运行仿真。如图4所示:
图5 仿真结果
程序的最后,小车将会原地转圈,表示功能已经结束。
二次开发参数说明
- 打开
b1_waypoint.slx
文件 - 在菜单栏上找到
建模
--模型设置
--模型属性
--回调
--InitFcn*
如图1所示:
图1 模型设置界面
在这个界面,可以看到一些模型的属性,从上往下依次为
- 采样时间
- 小车的物理属性(轮子宽度、车体半径。用于小车动力学建模)
- 虚拟雷达参数
- 初始位置(小车启动的初始位置)
- 航点信息
一键生成ROS代码
- 首先在
b1_waypoint.slx
文件中开发,完成想要的仿真效果,然后保存 - 删除
c1_waypoint.slx
文件全部内容 - 接着将
b1_waypoint.slx
文件内容全部复制到c1_waypoint.slx
文件中,
图1 要复制的内容
- 在
c1_waypoint.slx
文件中,删除 Dynamics 模块。如图9所示:
图2 删除Dynamics模块
注意
- 将
b1_waypoint.slx
文件复制到c1_waypoint.slx
的时候,注意查看复制后的模块的各个初始化条件是否正常。- 建议用户直接使用提供的模板
c1_waypoint.slx
进行二次开发- 有关matlab开发文件说明,详见matlab文件说明
- 在编译代码之前,确保启动了
rosinit
- 然后在菜单栏上的
ROS
--Deploy to Remote Device
。如图3所示
图3 生成ROS代码配置
- 然后点击菜单栏上的
ROS
--Build Model
--Build Model
一键生成ROS代码,如图10所示
图3 生成ROS代码
-
等待编译完成以后,将会看到生成的压缩包文件
-
将生成的 ROS 代码复制到Linux系统中,并解压至
kk-robot-swarm/src/swarm/
下,然后编译整个工作空间即可。