主要内容

wheelEncoderOdometryUnicycle

计算独轮车里程计使用车轮编码器滴答和角速度

自从R2020b

描述

wheelEncoderOdometryUnicycleSystem object™使用车轮编码器刻度和角速度计算独轮车里程计。

计算独轮车里程计:

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

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

要了解有关System对象如何工作的更多信息,请参见什么是系统对象?

创建

描述

例子

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

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

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

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

属性

全部展开

除非另有说明,否则属性是nontunable,这意味着在调用对象之后不能更改它们的值。对象在调用时被锁定,而释放函数将它们解锁。

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

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

传感器的采样率,以赫兹为单位的正标量表示。

例子:“SampleRate”,100年

数据类型:

每轮旋转的编码器滴答数,指定为正整数。

例子:“TicksPerRevolution”,2048年

数据类型:

车轮半径,以正标量表示,单位为米。

例子:“WheelRadius”,0.35

数据类型:

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

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

可调:没有

数据类型:

使用

描述

构成= whlEncOdom (蜱虫angVel使用指定的车轮编码器刻度计算独轮车的里程数蜱虫角速度angVel,并返回车辆在本地导航坐标系中的位置和方向。

例子

构成速度= whlEncOdom()蜱虫angVel另外返回车辆在本地导航坐标系中的线速度和角速度。

输入参数

全部展开

轮编码器刻度的数目,指定为一个n-元素列向量。n是当前帧中的采样数。

例子:[5;2]

数据类型:|

车辆在车身坐标系中的角速度,用an表示n-元素列向量,单位为弧度每秒。n是当前帧中的采样数。

例子:(0.2;0.2)

数据类型:|

输出参数

全部展开

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

数据类型:|

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

数据类型:|

对象的功能

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

发行版(obj)

全部展开

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

例子

全部折叠

创建一个wheelEncoderOdometryUnicycle系统对象。

whlEncOdom = wheelEncoderOdometryUnicycle;

指定车轮编码器刻度和角速度的数量。

Ticks = [5;2);angVel = [0.2;0.2);

计算独轮车里程计。

[pose,vel] = whlEncOdom(ticks,angVel)
提出了=2×30.0054 0.00000 0.0020 0.0075 0.00000 0.0040
韦尔=2×30.5369 0.0011 0.2000 0.2148 0.0009 0.2000

扩展功能

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

版本历史

在R2020b中引入