webots controller API(C++)

webots/Accelerometer.hpp

Accelerometer Node可用于模拟加速计设备,如那些常见的广泛应用于移动电子、机器人和游戏输入设备。加速计节点测量1、2或3轴上的加速度和重力引起的反作用力。它可以是用于检测跌落、上/下方向等。

#include <webots/Accelerometer.hpp>
class Accelerometer : public Device {
   
virtual void enable(int ms);//函数允许用户启用每毫秒的加速度测量
virtual void disable();//关闭加速度计,节省计算时间。
int getSamplingPeriod();//返回wbaccelerometer-enable()函数中给出的周期,如果设备被禁用,则返回0。
const double *getValues() const;
};
#include<webots/accelerometer.h>
void wb_accelerometer_enable (WbDeviceTag tag, int ms); 
void wb_accelerometer_disable (WbDeviceTag tag); 
int wb_accelerometer_get_sampling_period (WbDeviceTag tag); const double * wb_accelerometer_get_values (WbDeviceTag tag);

get_values()函数返回加速度计测量的当前值。这些值是以3D向量的形式返回的,因此只有指数0,1和2是访问矢量的有效参数。矢量的每个元素都代表沿加速计节点相应轴的加速度,用米/秒的平方表示[m/s2]。第一个元素对应x轴,第二个元素对应y轴,依此类推。
加速计在地球重力的静止状态下,将沿着垂直轴显示1 g (9.81 m/s2)。注意,重力可以在 WorldInfo 节点的重力场中指定。要获得仅由运动引起的加速度,必须减去这个偏移量。当没有减去偏移量时,设备在自由落体期间的输出将为零。

Camera.hpp

namespace webots {
   
  typedef WbCameraRecognitionObject CameraRecognitionObject;

  class Camera : public Device {
   
  public:
    explicit Camera(const std::string &name) : Device(name) {
   }  // Use Robot::getCamera() instead
    virtual ~Camera() {
   }
    virtual void enable(int samplingPeriod); //允许用户启用摄像机每毫秒更新一次。
    virtual void disable();//可以关闭摄像机,节省计算时间。
    int getSamplingPeriod() const;//函数返回wb-camera-enable()函数中给出的周期,如果设备被禁用,则返回0。
    const unsigned char *getImage() const;//读取相机抓取的最后一张图像。图像被编码为三个字节的序列,分别代表像素的红、绿、蓝三个级别。
    int getWidth() const;//返回摄像机图像的宽度
    int getHeight() const;//返回摄像机图像的高度
    double getFov() const;//允许控制器获取摄像机的视场角(fov,field of view)值。
    double getMaxFov() const;
    double getMinFov() const;
    virtual void setFov(double fov);//允许控制器设置摄像机的视场角,只有当摄像机设备的zoom field定义了 CameraZoom 节点时才有可能
    double getFocalLength() const;//允许控制器获取和设置聚焦参数。
//请注意,如果摄像机设备在其聚焦场中没有定义Focus节点,则无法调用wb_camera_set_focal_distance函数,其他函数将返回0。
    double getFocalDistance() const;
    double getMaxFocalDistance() const;
    double getMinFocalDistance() const;
    virtual void setFocalDistance(double focalDistance);
    double getNear() const;//返回摄像机设备的附近参数
    int saveImage(const std::string &filename, int quality) const;
    /*允许用户保存之前用wb-camera get-image()函数获得的标签图像。
    图像被保存在一个PNG或JPEG格式的文件中。图像格式由 filename 参数指定。
    如果文件名以. png结尾,则图像格式为PNG。如果文件名以 jpg 或 jpeg 结尾,则图像格式为 JPEG。不支持其他图像格式。
    质量参数只对JPEG图像有用。它定义了保存图像的JPEG质量。质量参数应该在1(最差质量)到100(最佳质量)的范围内。
低质量的JPEG文件将使用较少的磁盘空间。对于PNG图像,质量参数被忽略。
如果成功的话,wb came ra-save-image()的返回值为0。如果失败(无法打开指定的文件或无法识别图像文件扩展名),则返回值为-1。*/
    bool hasRecognition() const;
    void recognitionEnable(int samplingPeriod);
    void recognitionDisable(<
  • 6
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值