通过Speed And Angle Given模块,给定小车运动的速度和舵机打角,并输送给Control signals Management C模块,通过Keyboard Control模块输出键盘控制系数和可控信号口,并输送给Control signals Management C模块,并使用Constant模块设定Control signals Management C模块所需的其他参数,对于参数key为了使用方便再为其添加一个Slider Switch模块,这样就可以在仿真过程中对key的值进行修改了,将Control signals Management C模块模块的输出值送给Publish Ackermann Sport Information C模块来输送给ROS,到这里控制部分就完成了。
使用Subscribe Ackermann Location Information C模块订阅ROS中发布的小车的位置信息,并输送给Drawing Trajectories模块,将小车实时的位置绘制出来,本实验中并没有用到目标点位置和完整轨迹,所以可将目标点位置也赋值为小车当前位置,完整轨迹可使用constant模块赋值0
二、轨迹跟踪控制实例程序搭建思路
1、需要完成的任务:
(1)回顾实验一,发布运动控制信息至ROS、订阅ROS中小车的位置信息并绘制轨迹图、键盘控制等内容
(2)订阅IMU传感器的数据,并计算出机器人的姿态(方法自选,如:欧拉角、卡尔曼滤波、互补滤波等)
(3)回顾坐标系变换相关知识,推导纯跟踪算法
(4)实现目标点停车功能
(5)编写纯跟踪算法控制器,并调试参数实现目标点跟踪
(6)实现轨迹跟踪,调试参数,观察效果
2、参考结构图如下
3、程序搭建思路
通过Eight Letter Track Given C模块,给定小车当前时刻的目标点坐标以及完整的轨迹信息,并输送给Drawing Trajectories模块,进行绘制图像,同时当前时刻的目标点坐标也要输送给Pure Tracking Controller C模块,进行舵机打角控制。此外需要使用constant模块为Eight Letter Track Given C模块指定参数key,为其再添加一个Slider Switch模块,这样就可以在仿真过程中对key的值进行修改了