跳转到内容

传感器同步器相关接口

传感器同步器相关的接口由如下类实现。您可以在 c++\include\sensor 目录下找到对应的头文件以获取完整 API。

头文件类名说明
sensor_synchronizer.hSyncDataPackage同步数据包类,包含同一时间戳附近的多个传感器数据。
SensorSynchronizer传感器同步器类,实现多传感器数据的软同步。
  • 方法原型:

    std::chrono::system_clock::time_point get_timestamp() const
  • 返回值:

    时间戳。

  • 方法原型:

    void add_sensor_data(
    const std::string& sensor_name,
    std::shared_ptr<SensorData> data)
  • 参数说明:

    参数名称类型说明
    sensor_name输入参数传感器名称。
    data输入参数传感器数据,指向 SensorData 类型的共享智能指针。
  • 返回值:

    无。

  • 方法原型:

    void add_arm_state(
    const std::string& arm_name,
    std::shared_ptr<AbcArmRealtimeState> data)
  • 参数说明:

    参数名称类型说明
    arm_name输入参数机械臂名称。
    data输入参数机械臂实时状态数据,指向 AbcArmRealtimeState 类型的共享智能指针。
  • 返回值:

    无。

  • 方法原型:

    std::shared_ptr<SensorData> get_sensor_data(
    const std::string& sensor_name) const
  • 参数说明:

    参数名称类型说明
    sensor_name输入参数传感器名称
  • 返回值:

    指向 SensorData 类型的共享智能指针。

  • 方法原型:

    std::shared_ptr<AbcArmRealtimeState> get_arm_data(
    const std::string& arm_name) const
  • 参数说明:

    参数名称类型说明
    arm_name输入参数机械臂名称
  • 返回值:

    指向 AbcArmRealtimeState 类型的共享智能指针。

  • 方法原型:

    const std::map<std::string, std::shared_ptr<SensorData>>&
    get_all_sensor_data() const
  • 返回值:

    传感器数据映射表。

  • 方法原型:

    const std::map<std::string, std::shared_ptr<AbcArmRealtimeState>>&
    get_all_arm_data() const
  • 返回值:

    机械臂实时状态数据映射表。

检查是否包含指定传感器的数据

Section titled “检查是否包含指定传感器的数据”
  • 方法原型:

    bool has_sensor_data(const std::string& sensor_name) const
  • 参数说明:

    参数名称类型说明
    sensor_name输入参数传感器名称
  • 返回值:

    true 表示包含,false 表示不包含。

  • 方法原型:

    size_t get_sensor_count() const
  • 返回值:

    传感器数量。

  • 方法原型:

    size_t get_arm_count() const
  • 返回值:

    机械臂数量。

  • 方法原型:

    SensorSynchronizer(
    SyncPolicy sync_policy = SyncPolicy::NEAREST,
    int time_tolerance_ms = 10)
  • 参数说明:

    参数名称类型说明
    sync_policy输入参数(可缺省)同步策略,具体参见 SyncPolicy
    time_tolerance_ms输入参数(可缺省)时间容差,单位为毫秒。
  • 方法原型:

    AbcErrorCode add_sensor(
    const std::string& name,
    std::shared_ptr<SensorInterface> sensor)
  • 参数说明:

    参数名称类型说明
    name输入参数传感器名称
    sensor输入参数指向 SensorInterface 类型的共享智能指针
  • 返回值:

    AbcErrorCode::SUCCESS 表示成功;其他错误码,请参见 AbcErrorCode

  • 方法原型:

    AbcErrorCode add_arm(
    const std::string& name,
    std::shared_ptr<ArmInterface> arm)
  • 参数说明:

    参数名称类型说明
    name输入参数机械臂名称
    arm输入参数指向 ArmInterface 类型的共享智能指针
  • 返回值:

    AbcErrorCode::SUCCESS 表示成功;其他错误码,请参见 AbcErrorCode

  • 方法原型:

    AbcErrorCode remove_sensor(const std::string& name)
  • 参数说明:

    参数名称类型说明
    name输入参数传感器名称
  • 返回值:

    AbcErrorCode::SUCCESS 表示成功;其他错误码,请参见 AbcErrorCode

  • 方法原型:

    AbcErrorCode remove_arm(const std::string& name)
  • 参数说明:

    参数名称类型说明
    name输入参数机械臂名称
  • 返回值:

    AbcErrorCode::SUCCESS 表示成功;其他错误码,请参见 AbcErrorCode

  • 方法原型:

    std::shared_ptr<SensorInterface> get_sensor(
    const std::string& name) const
  • 参数说明:

    参数名称类型说明
    name输入参数传感器名称
  • 返回值:

    指向 SensorInterface 类型的共享智能指针。

  • 方法原型:

    AbcErrorCode start()
  • 返回值:

    AbcErrorCode::SUCCESS 表示成功;其他错误码,请参见 AbcErrorCode

  • 方法原型:

    AbcErrorCode stop()
  • 返回值:

    AbcErrorCode::SUCCESS 表示成功;其他错误码,请参见 AbcErrorCode

  • 方法原型:

    void set_sync_data_callback(const SyncDataCallback& callback)
  • 参数说明:

    参数名称类型说明
    callback输入参数当传感器数据或机械臂状态数据更新时,系统会自动调用此回调函数。SyncDataCallback 为函数指针类型。其数据类型,请参见 SyncDataCallback
  • 返回值:

    无。

  • 方法原型:

    void set_sync_policy(SyncPolicy policy)
  • 参数说明:

    参数名称类型说明
    policy输入参数同步策略,具体参见 SyncPolicy
  • 返回值:

    无。

  • 方法原型:

    SyncPolicy get_sync_policy() const
  • 返回值:

    同步策略,具体参见 SyncPolicy

  • 方法原型:

    void set_time_tolerance(int tolerance_ms)
  • 参数说明:

    参数名称类型说明
    tolerance_ms输入参数时间容差,单位为毫秒。
  • 返回值:

    无。

  • 方法原型:

    int get_time_tolerance() const
  • 返回值:

    时间容差,单位为毫秒。

  • 方法原型:

    void set_sync_mode(SyncMode mode)
  • 参数说明:

    参数名称类型说明
    mode输入参数同步模式,具体参见 SyncMode
  • 返回值:

    无。

  • 方法原型:

    SyncMode get_sync_mode() const
  • 返回值:

    同步模式,具体参见 SyncMode

  • 方法原型:

    void set_reference_sensor(const std::string& sensor_name)
  • 参数说明:

    参数名称类型说明
    sensor_name输入参数传感器名称
  • 返回值:

    无。

  • 方法原型:

    std::string get_reference_sensor() const
  • 返回值:

    参考传感器名称。

  • 方法原型:

    bool is_syncing() const
  • 返回值:

    true 表示正在同步,false 表示未同步。