主要内容

differentialDriveKinematics

差动式驱动车辆模型

自从R2019b

描述

differentialDriveKinematics创建一个差动传动车辆模型来模拟简化车辆动力学。这个模型接近车辆用一个固定轴和车轮由指定的宽度。车轮可以独立驱动。车辆速度和航向轴中心的定义。车辆的状态被定义为一个三元素向量,(x yθ),全球xy中指定-安置,米,一辆车,θ中指定,弧度。计算的时间导数状态模型,使用导数函数与输入命令和当前机器人状态。

创建

描述

例子

kinematicModel= differentialDriveKinematics创建一个差动传动运动学模型对象的默认属性值。

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

属性

全部展开

指定的车辆,车轮半径米。

车辆速度范围是一个双元素向量提供了最小和最大车辆速度,(MinSpeed MaxSpeed中指定),米每秒。

车辆跟踪指的是轮子之间的距离,宽度或轴的长度,米中指定。

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

  • “WheelSpeeds”——角速度为每个车轮,指定的弧度每秒。

  • “VehicleSpeedHeadingRate”——车辆速度和航向角速度,指定分别米每秒和弧度每秒。

对象的功能

导数 车辆状态的时间导数

例子

全部折叠

创建一个机器人

定义一个机器人和设置起始位置和姿态。

kinematicModel = differentialDriveKinematics;initialState = (0 0 0);

模拟机器人运动

设置仿真的时间间隔1年代0.05时间步长和输入命令50左车轮和rad / s40rad / s的轮导致右转。模拟机器人使用的运动数值解算器的导数函数。

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

图的路径

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

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象。

引用

[1](merrill Lynch)、凯文·M。,和弗兰克·c·公园。现代机器人:力学、规划和控制第1版。剑桥,麻州:剑桥大学出版社,2017年。

扩展功能

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

版本历史

介绍了R2019b