主要内容

differentialDriveKinematics

差动式驱动车辆模型

描述

differentialDriveKinematics创建一个差动驱动车辆模型来模拟简化的车辆动力学。这个模型近似一辆车辆有一个固定的轴和车轮,由指定的轨道宽度分开。车轮可以独立驱动。车辆的速度和方向是从车轴中心定义的。车辆的状态被定义为一个三元素矢量,(x yθ),具有全球xy-位置,以米为单位,以及车辆的航向,θ,以弧度表示。要计算模型的时间导数状态,使用导数功能与输入命令和当前的机器人状态。

创建

描述

例子

kinematicModel= differentialDriveKinematics创建具有默认属性值的差动驱动器运动学模型对象。

kinematicModel= differentialDriveKinematics(名称,值)将对象的属性设置为指定的值。您可以以任何顺序指定多个属性。

属性

全部展开

车辆的车轮半径,以米为单位。

车辆速度范围是一个二元向量,它提供了最小和最大的车辆速度,[MinSpeed MaxSpeed,单位为米每秒。

车辆轨道宽度是指车轮之间的距离,或轴的长度,以米为单位。

VehicleInputs属性指定使用时模型输入命令的格式导数函数。Options被指定为以下字符串之一:

  • “WheelSpeeds”-每个车轮的角速度,以弧度/秒指定。

  • “VehicleSpeedHeadingRate”-车辆速度和方向角速度,分别为米/秒和弧度/秒。

对象的功能

导数 车辆状态的时间导数

例子

全部折叠

创建一个机器人

定义一个机器人,设置初始的起始位置和方向。

kinematicModel = differentialDriveKinematics;初始状态= [0 0 0];

模拟机器人运动

设置模拟的时间跨度为1秒,时间步长为0.05 s,输入命令为2m /s,左转。用。模拟机器人的运动数值解算器的导数函数。

tspan = 0:0.05:1;input = [50 40];左轮转快了[t、y] =数值(@ (t, y)导数(kinematicModel y输入),tspan, initialState);

图的路径

图绘制(y y (: 1), (2):,)

图中包含一个坐标轴。轴包含一个线型对象。

参考文献

林奇、凯文·M和弗兰克·c·帕克。现代机器人技术:机械、计划和控制第1版,马萨诸塞州剑桥:剑桥大学出版社,2017。

扩展功能

C / c++代码生成
使用MATLAB®Coder™生成C和c++代码。

介绍了R2019b