webots自学笔记(四)传感器API使用、查看官方文档
来源:互联网 发布:电商销售记录数据 编辑:程序博客网 时间:2024/06/05 16:50
官方参考文档地址https://www.cyberbotics.com/doc/reference/index,其实也是可以离线查看的,但是离线是英文,本人的英文水平也不咋地,所以就投机取巧了,浏览器是有在线翻译的功能的。
既然说的是传感器的API使用,那就选惯性测量单元 (IMU)吧,在节点和API函数下选择(惯性单元 )InertialUnit,就出现了关于这个传感器的描述和使用方法。
在webots中有许多传感器,包括GPS、Gyro(陀螺仪)、touchSensor(接触传感器)、Receiver(接收器)、Pen(笔)、Emitter(发射器)、Compass(指南针)、DistanceSensor(距离传感器)、Camane(照相机)等等。
----------------------------------------------以下部分来自webots官方reference------------------------------------
Webots参考手册
惯性单位
派生自设备。
InertialUnit { MFVec3f lookupTable [ ] # interpolation SFBool xAxis TRUE # compute roll SFBool zAxis TRUE # compute pitch SFBool yAxis TRUE # compute yaw SFFloat resolution -1}
描述
该InertialUnit节点模拟一个惯性测量单元 (IMU)。的InertialUnit计算并返回它的辊, 俯仰和偏航相角在限定的全局坐标系和WorldInfo节点。如果要测量加速度或角速度,请改用加速度计或 陀螺仪节点。该InertialUnit节点必须被放置在机器人使得其点¯x在方向a轴分机器人的向前运动(纵轴)。 正z轴必须指向机器人的右侧,例如右臂,右翼(横向轴)。正y轴必须指向 机器人的上/上方向。如果惯性单元具有该取向,则滚动,俯仰和偏航角对应于通常的汽车,航空或空间意义。更精确地, 惯性单元测量沿x轴(滚动),z轴(俯仰)和y轴(偏航)的Tait-Bryan角。这个惯例通常称为xzy外部序列; 它对应于由YZX表示的元素旋转的组成。参考框架由给出北方向的单位向量,与归一化重力向量和它们的叉积(cross-product)相反的单位向量组成(参见WorldInfo以定制该框架)。
注意:在万向节锁定情况下,即当俯仰为-π/ 2或π/ 2时,侧倾和偏航设置为NaN(不是数字)。
字段摘要
lookupTable
:该字段可选地指定查找表,其可以用于将角度值[rad]改变为设备特定输出值,或者例如将单位改变为度数。使用查找表,还可以定义最小和最大输出值,并将噪声添加到输出值。默认情况下,查找表为空,因此返回的角度值以弧度表示,不添加噪声。xAxis, yAxis, zAxis
:每个布尔字段指定是否应为指定轴启用或禁用计算。该xAxis
字段定义是否应计算滚转角。该yAxis
字段定义是否应该计算偏航角。该zAxis
字段定义是否 应该计算俯仰角。如果这些字段之一设置为FALSE,则不会计算相应的角度元素,并且它将返回NaN (不是数字)。例如,如果zAxis
为FALSE,则wb_inertial_unit_get_values()[2]
返回NaN。默认值是所有三个轴都被启用(TRUE)。
resolution
:此字段允许定义传感器的分辨率,分辨率是其能够测量的最小变化。将此字段设置为-1(默认)意味着传感器具有“无限”分辨率(可以测量任何无限小的变化)。此字段接受间隔(0.0,inf)中的任何值。
惯性单位函数
名称
wb_inertial_unit_enable,wb_inertial_unit_disable,wb_inertial_unit_get_sampling_period,wb_inertial_unit_get_roll_pitch_yaw - 启用,禁用和读取惯性单元的输出值
{ C ++ },{ Java },{ Python },{ Matlab },{ ROS }
#include <webots/inertial_unit.h>void wb_inertial_unit_enable(WbDeviceTag tag, int sampling_period);void wb_inertial_unit_disable(WbDeviceTag tag);int wb_inertial_unit_get_sampling_period(WbDeviceTag tag);const double *wb_inertial_unit_get_roll_pitch_yaw(WbDeviceTag tag);
描述
该wb_inertial_unit_enable()
功能打开角度测量。该sampling_period
参数指定传感器的采样周期并以毫秒表示。注意,第一次测量仅在第一个采样周期过去后才可用。
该wb_inertial_unit_disable()
函数关闭 InertialUnit设备。
该wb_inertial_unit_get_sampling_period()
函数返回给定的周期wb_inertial_unit_enable()
,如果设备被禁用,则返回0。
该wb_inertial_unit_get_roll_pitch_yaw()
函数返回InertialUnit的当前滚动, 俯仰和偏航角。值作为3个组件的数组返回,因此只有索引0,1和2对访问返回的数组有效。注意,索引0,1和2分别返回滚转,俯仰和偏航角。
的辊角度指示单元的旋转角度绕其点¯x轴,在间隔[-π,π]。的滚角为零时 InertialUnit是水平的,即,当其ÿ轴具有重力相反的方向(和WorldInfo定义 gravity
向量)。
该桨距角表示本装置的旋转角度大约是ž轴,在间隔[-π/ 2,π/ 2]。该桨距角为零时 InertialUnit是水平的,即,当其ÿ轴具有重力的方向相反。如果惯性单元以标准方向放置在机器人上,则 当机器人向下时,俯仰角为负,当机器人向上时,俯仰角为正。
的偏航角指示单元取向,在间隔[-π,π],相对于和WorldInfo。northDirection
。在偏航角为零时InertialUnit的点¯x轴与正北方向对齐,它为π时的零件是向东/ 2,和-π/ 2时的单元被向西定向。的偏航角可以用作一个罗盘。
注意 [C,C ++]:返回的向量是指向由Webots管理的内部值的指针,因此释放此指针是非法的。此外,请注意,指向的值只有在下一次调用
wb_robot_step()
或 时才有效Robot::step()
。如果这些值需要较长时间,则必须复制它们。
注意 [Python]:
getRollPitchYaw()
以包含三个浮点的列表的形式返回角度。
- webots自学笔记(四)传感器API使用、查看官方文档
- webots自学笔记(五)使用物理插件ODE建立铰链
- webots自学笔记(二)节点与机器人建模
- webots自学笔记(三)控制器与电机控制
- webots自学笔记(六)实用控制器函数补充
- webots自学笔记(九)弹簧与阻尼添加
- [Unity3d自学笔记001]-如何查看Unity API文档
- 查看google官方的API文档
- webots自学笔记(七)通过定义顶点构件3D形状(IndexedFaceSet节点)
- webots自学笔记(一)软件界面和简单模型仿真
- webots自学笔记(一)软件界面和简单模型仿真
- webots自学笔记(一)软件界面和简单模型仿真
- webots自学笔记(一)软件界面和简单模型仿真
- webots自学笔记(一)软件界面和简单模型仿真
- webots自学笔记(一)软件界面和简单模型仿真
- webots自学笔记(一)软件界面和简单模型仿真
- webots自学笔记(八)麦克纳母轮移动机器人平台,可控制摄像头视角
- django1.5 官方文档阅读笔记(四)
- 极大似然估计(MLE)和最大后验估计(MAP)
- linux中用到的一些思想
- Mintty(Cygwin)快速定位当前目录
- OpenStack Horizon源代码分析-用户登录全过程
- UVALive 3516 Exploring Pyramids——递推
- webots自学笔记(四)传感器API使用、查看官方文档
- Ajax前台姓名和身份证号正则验证
- Python3 对网页进行简单爬虫操作
- Vue.js解析(三)【从Vue.js源码角度再看数据绑定】
- 【实例讲解】TensorFlow中TFRecord关键点
- 深入理解javascript原型和闭包(8)——简述【执行上下文】上
- SpringMVC中使用Swagger2整合
- 2017CPSE安博会高端访谈—专访千视通副总李宁、产品总监王景辉
- 透过源码学习集合框架之ArrayList