5.1.5 灵创动作

灵创动作接口用于获取机器人上已部署的灵创动作资源列表,并触发播放指定的动作。

接口说明

服务名称

数据类型

描述

/aimdk_5Fmsgs/srv/GetRobotResources

GetRobotResources

获取机器人上的资源列表

/aimdk_5Fmsgs/srv/ExecuteActionResource

ExecuteActionResource

播放指定的灵创动作资源

  • GetRobotResources ros2-srv @ app_proxy/srv/GetRobotResources.srv

    # 获取机器人上资源列表
    # 服务名称: /aimdk_5Fmsgs/srv/GetRobotResources
    
    # 请求
    CommonRequest header         # 请求头
    
    ---
    
    # 响应
    CommonResponse header        # 响应头
    RobotResource[] robot_resources  # 机上资源信息列表
    
    • RobotResource ros2-msg @ app_proxy/msg/RobotResource.msg

      string resource_key            # 资源唯一标识
      CurrentVersion current_version    # 当前版本信息
      
      • CurrentVersion ros2-msg @ app_proxy/msg/CurrentVersion.msg

        string version               # 版本号
        string name                  # 资源名称
        string[] files               # 资源文件列表
        uint64 download_timestamp_seconds         # 资源下载时间
        
  • ExecuteActionResource ros2-srv @ app_proxy/srv/ExecuteActionResource.srv

    # 播放灵创动作
    # 服务名称: /aimdk_5Fmsgs/srv/ExecuteActionResource
    
    # 请求
    CommonRequest header         # 请求头
    string resource_key          # 资源唯一标识(从 GetRobotResources 获取)
    string resource_version      # 资源版本号
    SlaveDevice[] slaves         # 从设备列表(可为空)
    string meta                  # JSON 格式的扩展参数
    
    ---
    
    CommonResponse header        # 响应头,header.header.code == 0 表示成功
    

    meta 字段格式:

    动作类型

    meta 值

    全身动作(onnx)

    {"resource_type": "BODY_MONTION"}

    手臂动作

    {"resource_type": "ARM_MONTION"}

    resource_key 中包含 onnx 时为全身动作,否则为手臂动作。

编程示例

详细的编程示例和代码说明请参考:

小心

ROS的服务(service)机制在跨板通信时存在一些待优化问题, 二次开发时请参考例程添加异常处理、快速重试等保护机制