主要内容

wheelEncoderOdometryAckermann

计算阿克曼车辆里程数使用车轮编码器蜱和转向角度

描述

wheelEncoderOdometryAckermann系统对象™计算Ackermann车辆里程使用车轮编码器滴答和车辆的转向角度。

计算Ackermann车辆里程表:

  1. 创建wheelEncoderOdometryAckermann对象并设置其属性。

  2. 使用参数调用对象,就像调用函数一样。

有关系统对象如何工作的详细信息,请参见什么是系统对象?

创建

描述

例子

whlEncOdom= wheelEncoderOdometryAckermann创建一个wheelEncoderOdometryAckermann具有默认属性值的系统对象。

whlEncOdom= wheelEncoderOdometryAckermann (编码器创建一个wheelEncoderOdometryAckermann使用指定的wheelEncoderAckermann系统对象,编码器,设置属性。

whlEncOdom= wheelEncoderOdometryAckermann (名称,值属性使用一个或多个名称-值对。未指定的属性有默认值。将每个属性名用引号括起来。

例如,whlEncOdom = wheelEncoderOdometryAckermann('SampleRate',100)设置传感器的采样率为100hz。

属性

全部展开

除非另有说明,属性为nontunable,这意味着在调用对象后不能更改它们的值。对象在调用时锁定,而释放功能解锁它们。

如果属性为可调,您可以随时更改其值。

有关更改属性值的详细信息,请参见使用系统对象的MATLAB系统设计

传感器的采样率,指定为正标量,单位为赫兹。

例子:“SampleRate”,100年

数据类型:

编码器每轮转的刻度数,指定为正整数或正整数的两元向量。

当将此值指定为两个元素向量时,第一个元素对应于左后轮,第二个元素对应于右后轮。

例子:“TicksPerRevolution”,(2048 2048)

数据类型:

车轮半径,指定为正标量或以米为单位的两元素正数向量。

当将此值指定为两个元素向量时,第一个元素对应于左后轮,第二个元素对应于右后轮。

例子:“WheelRadius”,(0.35 - 0.35)

数据类型:

轴上车轮之间的距离,用正标量表示,单位为米。

例子:“TrackWidth”,1.572

数据类型:

前轴和后轴之间的距离,以米为单位指定为正标量。

例子:轴距,2.818

数据类型:

车辆的初始姿态,指定为形式为[XY偏航]。X而且Y以米为单位指定车辆位置。偏航以弧度为单位指定车辆方向。所有值都在本地导航坐标系统中。

例子:'InitialPose',[0 0 0 0]

数据类型:

使用

描述

构成= whlEncOdom (蜱虫引导使用指定的车轮编码器嘀嗒计算阿克曼车辆的里程数蜱虫转向角度引导,并返回车辆在局部导航坐标系中的位置和方向。

例子

构成速度= whlEncOdom(蜱虫引导另外,返回车辆在局部导航坐标系中的线速度和角速度。

输入参数

全部展开

轮编码器刻度数,指定为n2矩阵。n是当前帧中的样本数。

矩阵的每一行以[]形式指定车轮编码器刻度。ticksBackLeftticksBackRight),ticksBackLeft而且ticksBackRight分别指定左后轮和右后轮的刻度数。

例子:(5 5;2 2]

数据类型:|

车辆的转向角度,用n-以弧度为单位的element列向量。n是当前帧中的样本数。

例子:(0.2;0.2)

数据类型:|

输出参数

全部展开

车辆的位置和方向,作为n3矩阵。n是当前帧中的样本数。矩阵的每一行都指定样本在[]形式中的位置和方向。XY偏航]。X而且Y以米为单位指定车辆位置。偏航以弧度为单位指定车辆方向。所有值都在本地导航坐标系统中。

数据类型:|

车辆的线速度和角速度,返回为n3矩阵。n是当前帧中的样本数。矩阵的每一行指定样本的线速度和角速度,形式为[velX比较yawRate]。velX而且比较指定物体的线速度,单位为米/秒。yawRate指定飞行器的角速度,单位为弧度/秒。所有值都在本地导航坐标系统中。

数据类型:|

对象的功能

要使用对象函数,请将System对象指定为第一个输入参数。例如,释放system对象的系统资源obj,使用这种语法:

发行版(obj)

全部展开

克隆 创建重复的系统对象
一步 运行系统对象算法
释放 释放资源并允许更改系统对象属性值和输入特征
重置 重置的内部状态系统对象
isLocked 确定系统对象正在使用中

例子

全部折叠

创建一个wheelEncoderOdometryAckermann系统对象。

whlEncOdom = wheelEncoderOdometryAckermann;

指定车轮编码器滴答数和转向角度。

蜱= [5 5;2 2];转向= [0.2;0.2);

计算阿克曼车辆里程。

[pose,vel] = whlEncOdom(ticks,steer)
提出了=2×30.0053689 1.0368e-06 0.00038621 0.0075165 2.0321e-06 0.00054069
韦尔=2×30.53689 0.00020735 0.038621 0.21476 0.00011612 0.015448

扩展功能

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

R2020b中介绍