问题反馈

ROS接口迁移指南(从2.0.2及以下版本到2.3.4及以上版本)

您正在查看最新版本(V2.4.1)的文档。如果您想查阅其他版本的文档,可以点击页面右上角“切换版本”按钮进行切换。

■ 如果您不确定当前使用的产品是哪个版本,请随时联系梅卡曼德技术支持。

最新ROS接口仅与Mech-Eye SDK 2.3.4或以上版本互相兼容。如安装最新版Mech-Eye SDK后希望继续使用已有的ROS程序,请根据本章修改ROS程序。

话题

Mech-Eye SDK 2.3.4及以上版本中,ROS接口的话题发生以下变更:

  • 深度图:

    2.0.2及以下 2.3.4及以上
    /mechmind/depth_image
    ros
    /mechmind/depth_map
    ros
  • 纹理点云:

    2.0.2及以下 2.3.4及以上
    /mechmind/color_point_cloud
    ros
    /mechmind/textured_point_cloud
    ros

服务

Mech-Eye SDK 2.3.4及以上版本中,ROS接口的服务发生以下变更:

数据采集

  • 采集2D图:

    2.0.2及以下 2.3.4及以上
    rosservice call /capture_color_map
    ros
    rosservice call /capture_color_image
    ros
  • 采集纹理点云:

    2.0.2及以下 2.3.4及以上
    rosservice call /capture_color_point_cloud
    ros
    rosservice call /capture_textured_point_cloud
    ros

调节相机参数

  • 获取Scan2DExpectedGrayValue的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /get_2d_expected_gray_value
    ros
    rosservice call /get_int_parameter "{name: Scan2DExpectedGrayValue}"
    ros
  • 设置Scan2DExpectedGrayValue的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /set_2d_expected_gray_value "{value: 20}"
    ros
    rosservice call /set_int_parameter "{name: Scan2DExpectedGrayValue, value:20}"
    ros
  • 获取Scan2DExposureMode的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /get_2d_exposure_mode
    ros
    rosservice call /get_enum_parameter "{name: Scan2DExposureMode}"
    ros
  • 设置Scan2DExposureMode的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /set_2d_exposure_mode "{value: HDR}"
    ros
    rosservice call /set_enum_parameter "{name: Scan2DExposureMode, value: HDR}"
    ros
  • 获取Scan2DHDRExposureSequence的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /get_2d_exposure_sequence
    ros
    rosservice call /get_float_array_parameter "{name: Scan2DHDRExposureSequence}"
    ros
  • 设置Scan2DHDRExposureSequence的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /set_2d_exposure_sequence "{sequence: [30.0,35.5,40.0]}"
    ros
    rosservice call /set_float_array_parameter "{name: Scan2DHDRExposureSequence, array: [30.0, 35.5, 40.0]}"
    ros
  • 获取Scan2DExposureTime的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /get_2d_exposure_time
    ros
    rosservice call /get_float_parameter "{name: Scan2DExposureTime}"
    ros
  • 设置Scan2DExposureTime的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /set_2d_exposure_time "{value: 35.5}"
    ros
    rosservice call /set_float_parameter "{name: Scan2DExposureTime, value: 35.5}"
    ros
  • 获取Scan2DROI的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /get_2d_roi
    ros
    rosservice call /get_roi_parameter "{name: Scan2DROI}"
    ros
  • 设置Scan2DROI的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /set_2d_roi "{x: 20, y: 20, width: 600, height: 800}"
    ros
    rosservice call /set_roi_parameter "{name: Scan2DROI, x: 20, y: 20, width: 600, height: 800}"
    ros
  • 获取Scan2DSharpenFactor的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /get_2d_sharpen_factor
    ros
    rosservice call /get_float_parameter "{name: Scan2DSharpenFactor}"
    ros
  • 设置Scan2DSharpenFactor的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /set_2d_sharpen_factor "{value: 0.5}"
    ros
    rosservice call /set_float_parameter "{name: Scan2DSharpenFactor, value: 0.5}"
    ros
  • 获取Scan2DToneMappingEnable的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /get_2d_tone_mapping
    ros
    rosservice call /get_bool_parameter "{name: Scan2DToneMappingEnable}"
    ros
  • 设置Scan2DToneMappingEnable的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /set_2d_tone_mapping "{value: True}"
    ros
    rosservice call /set_bool_parameter "{name: Scan2DToneMappingEnable, value: True}"
    ros
  • 获取Scan3DExposureSequence的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /get_3d_exposure
    ros
    rosservice call /get_float_array_parameter "{name: Scan3DExposureSequence}"
    ros
  • 设置Scan3DExposureSequence的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /set_3d_exposure "{sequence: [30.0,35.5,40.0]}"
    ros
    rosservice call /set_float_array_parameter "{name: Scan3DExposureSequence, array: [30.0, 35.5, 40.0]}"
    ros
  • 获取Scan3DGain的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /get_3d_gain
    ros
    rosservice call /get_float_parameter "{name: Scan3DGain}"
    ros
  • 设置Scan3DGain的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /set_3d_gain "{value: 2.5}"
    ros
    rosservice call /set_float_parameter "{name: Scan3DGain, value: 2.5}"
    ros
  • 获取Scan3DROI的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /get_3d_roi
    ros
    rosservice call /get_roi_parameter "{name: Scan3DROI}"
    ros
  • 设置Scan3DROI的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /set_3d_roi "{x: 20, y: 20, width: 600, height: 800}"
    ros
    rosservice call /set_roi_parameter "{name: Scan3DROI, x: 20, y: 20, width: 600, height: 800}"
    ros
  • 获取PointCloudOutlierRemoval的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /get_cloud_outlier_filter_mode
    ros
    rosservice call /get_enum_parameter "{name: PointCloudOutlierRemoval}"
    ros
  • 设置PointCloudOutlierRemoval的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /set_cloud_outlier_filter_mode '!!str Off'
    ros
    rosservice call /set_enum_parameter "{name: PointCloudOutlierRemoval, value: 'Off'}"
    ros
    Off选项需置于单引号中。
  • 获取PointCloudSurfaceSmoothing的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /get_cloud_smooth_mode
    ros
    rosservice call /get_enum_parameter "{name: PointCloudSurfaceSmoothing}"
    ros
  • 设置PointCloudSurfaceSmoothing的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /set_cloud_smooth_mode '!!str Off'
    ros
    rosservice call /set_enum_parameter "{name: PointCloudSurfaceSmoothing, value: 'Off'}"
    ros
    Off选项需置于单引号中。
  • 获取DepthRange的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /get_depth_range
    ros
    rosservice call /get_range_parameter "{name: DepthRange}"
    ros
  • 设置DepthRange的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /set_depth_range "{lower: 300, upper: 1000}"
    ros
    rosservice call /set_range_parameter "{name: DepthRange, lower: 300, upper: 1000}"
    ros
  • 获取FringeContrastThreshold的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /get_fringe_contrast_threshold
    ros
    rosservice call /get_int_parameter "{name: FringeContrastThreshold}"
    ros
  • 设置FringeContrastThreshold的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /set_fringe_contrast_threshold "{value: 3}"
    ros
    rosservice call /set_int_parameter "{name: FringeContrastThreshold, value: 3}"
    ros
  • 获取FringeMinThreshold的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /get_fringe_min_threshold
    ros
    rosservice call /get_int_parameter "{name: FringeMinThreshold}"
    ros
  • 设置FringeMinThreshold的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /set_fringe_min_threshold "{value: 3}"
    ros
    rosservice call /set_int_parameter "{name: FringeMinThreshold, value: 3}"
    ros
  • 获取LaserPowerLevel的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /get_laser_settings
    ros
    该服务获取激光分组下所有参数的值。
    rosservice call /get_int_parameter "{name: LaserPowerLevel}"
    ros
  • 设置LaserPowerLevel的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /set_laser_settings "{fringe_coding_mode: Fast, frame_range_start: 20, frame_range_end: 80, frame_partition_count: 2, power_level: 60}"
    ros
    该服务设置激光分组下所有参数的值。
    rosservice call /set_int_parameter "{name: LaserPowerLevel, value: 60}"
    ros
  • 获取LaserFringeCodingMode的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /get_laser_settings
    ros
    该服务获取激光分组下所有参数的值。
    rosservice call /get_enum_parameter "{name: LaserFringeCodingMode}"
    ros
  • 设置LaserFringeCodingMode的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /set_laser_settings "{fringe_coding_mode: Fast, frame_range_start: 20, frame_range_end: 80, frame_partition_count: 2, power_level: 60}"
    ros
    该服务设置激光分组下所有参数的值。
    rosservice call /set_enum_parameter "{name: LaserFringeCodingMode, value: Fast}"
    ros
  • 获取LaserFrameRange的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /get_laser_settings
    ros
    该服务获取激光分组下所有参数的值。
    rosservice call /get_range_parameter "{name: LaserFrameRange}"
    ros
  • 设置LaserFrameRange的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /set_laser_settings "{fringe_coding_mode: Fast, frame_range_start: 20, frame_range_end: 80, frame_partition_count: 2, power_level: 60}"
    ros
    该服务设置激光分组下所有参数的值。
    rosservice call /set_range_parameter "{name: LaserFrameRange, lower: 20, upper: 80}"
    ros
  • 获取LaserFramePartitionCount的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /get_laser_settings
    ros
    该服务获取激光分组下所有参数的值。
    rosservice call /get_int_parameter "{name: LaserFramePartitionCount}"
    ros
  • 设置LaserFramePartitionCount的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /set_laser_settings "{fringe_coding_mode: Fast, frame_range_start: 20, frame_range_end: 80, frame_partition_count: 2, power_level: 60}"
    ros
    该服务设置激光分组下所有参数的值。
    rosservice call /set_int_parameter "{name: LaserFramePartitionCount, value: 2}"
    ros
  • 获取AntiFlickerMode的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /get_projector_anti_flicker_mode
    ros
    rosservice call /get_enum_parameter "{name: AntiFlickerMode}"
    ros
  • 设置AntiFlickerMode的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /set_projector_anti_flicker_mode '!!str Off'
    ros
    rosservice call /set_enum_parameter "{name: AntiFlickerMode, value: 'Off'}"
    ros
    Off选项需置于单引号中。
  • 获取ProjectorFringeCodingMode的值:

    2.0.2及以下 2.3.4及以上
    • UHP-140以外的型号:

    rosservice call /get_projector_fringe_coding_mode
    ros
    • UHP-140:

    rosservice call /get_uhp_fringe_coding_mode
    ros
    rosservice call /get_enum_parameter "{name: ProjectorFringeCodingMode}"
    ros
  • 设置ProjectorFringeCodingMode的值:

    2.0.2及以下 2.3.4及以上
    • UHP-140以外的型号:

    rosservice call /set_projector_fringe_coding_mode "{value: Accurate}"
    ros
    • UHP-140:

    rosservice call /set_uhp_fringe_coding_mode "{value: Accurate}"
    ros
    rosservice call /set_enum_parameter "{name: ProjectorFringeCodingMode, value: Accurate}"
    ros
  • 获取ProjectorPowerLevel的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /get_projector_power_level
    ros
    rosservice call /get_enum_parameter "{name: ProjectorPowerLevel}"
    ros
  • 设置ProjectorPowerLevel的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /set_projector_power_level "{value: High}"
    ros
    rosservice call /set_enum_parameter "{name: ProjectorPowerLevel, value: High}"
    ros
  • 获取UhpCaptureMode的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /get_uhp_capture_mode
    ros
    rosservice call /get_enum_parameter "{name: UhpCaptureMode}"
    ros
  • 设置UhpCaptureMode的值:

    2.0.2及以下 2.3.4及以上
    rosservice call /set_uhp_capture_mode "{capture_mode: Merge}"
    ros
    rosservice call /set_enum_parameter "{name: UhpCaptureMode, value: Merge}"
    ros

我们重视您的隐私

我们使用 cookie 为您在我们的网站上提供最佳体验。继续使用该网站即表示您同意使用 cookie。如果您拒绝,将使用一个单独的 cookie 来确保您在访问本网站时不会被跟踪或记住。