diff --git a/unilabos/registry/devices/camera.yaml b/unilabos/registry/devices/camera.yaml index 55f5246..788e714 100644 --- a/unilabos/registry/devices/camera.yaml +++ b/unilabos/registry/devices/camera.yaml @@ -8,7 +8,7 @@ camera: handles: [] result: {} schema: - description: destroy_node的参数schema + description: 用于安全地关闭摄像头设备,释放摄像头资源,停止视频采集和发布服务。调用此函数将清理OpenCV摄像头连接并销毁ROS2节点。 properties: feedback: {} goal: @@ -28,7 +28,7 @@ camera: handles: [] result: {} schema: - description: timer_callback的参数schema + description: 定时器回调函数的参数schema。此函数负责定期采集摄像头视频帧,将OpenCV格式的图像转换为ROS Image消息格式,并发布到指定的视频话题。默认以10Hz频率执行,确保视频流的连续性和实时性。 properties: feedback: {} goal: @@ -44,7 +44,7 @@ camera: module: unilabos.ros.nodes.presets.camera:VideoPublisher status_types: {} type: ros2 - description: '' + description: VideoPublisher摄像头设备节点,用于实时视频采集和流媒体发布。该设备通过OpenCV连接本地摄像头(如USB摄像头、内置摄像头等),定时采集视频帧并将其转换为ROS2的sensor_msgs/Image消息格式发布到视频话题。主要用于实验室自动化系统中的视觉监控、图像分析、实时观察等应用场景。支持可配置的摄像头索引、发布频率等参数。 handles: [] icon: '' init_param_schema: diff --git a/unilabos/registry/devices/characterization_optic.yaml b/unilabos/registry/devices/characterization_optic.yaml index a7fd543..a627c9e 100644 --- a/unilabos/registry/devices/characterization_optic.yaml +++ b/unilabos/registry/devices/characterization_optic.yaml @@ -8,7 +8,7 @@ hplc.agilent: handles: [] result: {} schema: - description: check_status的参数schema + description: 检查安捷伦HPLC设备状态的函数。用于监控设备的运行状态、连接状态、错误信息等关键指标。该函数定期查询设备状态,确保系统稳定运行,及时发现和报告设备异常。适用于自动化流程中的设备监控、故障诊断、系统维护等场景。 properties: feedback: {} goal: @@ -29,7 +29,7 @@ hplc.agilent: handles: [] result: {} schema: - description: extract_data_from_txt的参数schema + description: 从文本文件中提取分析数据的函数。用于解析安捷伦HPLC生成的结果文件,提取峰面积、保留时间、浓度等关键分析数据。支持多种文件格式的自动识别和数据结构化处理,为后续数据分析和报告生成提供标准化的数据格式。适用于批量数据处理、结果验证、质量控制等分析工作流程。 properties: feedback: {} goal: @@ -55,7 +55,7 @@ hplc.agilent: handles: [] result: {} schema: - description: start_sequence的参数schema + description: 启动安捷伦HPLC分析序列的函数。用于执行预定义的分析方法序列,包括样品进样、色谱分离、检测等完整的分析流程。支持参数配置、资源分配、工作流程管理等功能,实现全自动的样品分析。适用于批量样品处理、标准化分析、质量检测等需要连续自动分析的应用场景。 properties: feedback: {} goal: @@ -83,7 +83,7 @@ hplc.agilent: handles: [] result: {} schema: - description: try_close_sub_device的参数schema + description: 尝试关闭HPLC子设备的函数。用于安全地关闭泵、检测器、进样器等各个子模块,确保设备正常断开连接并保护硬件安全。该函数提供错误处理和状态确认机制,避免强制关闭可能造成的设备损坏。适用于设备维护、系统重启、紧急停机等需要安全关闭设备的场景。 properties: feedback: {} goal: @@ -106,7 +106,7 @@ hplc.agilent: handles: [] result: {} schema: - description: try_open_sub_device的参数schema + description: 尝试打开HPLC子设备的函数。用于初始化和连接泵、检测器、进样器等各个子模块,建立设备通信并进行自检。该函数提供连接验证和错误恢复机制,确保子设备正常启动并准备就绪。适用于设备初始化、系统启动、设备重连等需要建立设备连接的场景。 properties: feedback: {} goal: @@ -134,7 +134,6 @@ hplc.agilent: description: ROS Action SendCmd 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -143,7 +142,6 @@ hplc.agilent: title: SendCmd_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: command: type: string @@ -152,7 +150,6 @@ hplc.agilent: title: SendCmd_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -179,7 +176,7 @@ hplc.agilent: status_text: str success: bool type: python - description: HPLC device + description: 安捷伦高效液相色谱(HPLC)分析设备,用于复杂化合物的分离、检测和定量分析。该设备通过UI自动化技术控制安捷伦ChemStation软件,实现全自动的样品分析流程。具备序列启动、设备状态监控、数据文件提取、结果处理等功能。支持多样品批量处理和实时状态反馈,适用于药物分析、环境检测、食品安全、化学研究等需要高精度色谱分析的实验室应用。 handles: [] icon: '' init_param_schema: @@ -229,7 +226,7 @@ raman_home_made: handles: [] result: {} schema: - description: ccd_time的参数schema + description: 设置CCD检测器积分时间的函数。用于配置拉曼光谱仪的信号采集时间,控制光谱数据的质量和信噪比。较长的积分时间可获得更高的信号强度和更好的光谱质量,但会增加测量时间。该函数允许根据样品特性和测量要求动态调整检测参数,优化测量效果。 properties: feedback: {} goal: @@ -253,7 +250,7 @@ raman_home_made: handles: [] result: {} schema: - description: laser_on_power的参数schema + description: 设置激光器输出功率的函数。用于控制拉曼光谱仪激光器的功率输出,调节激光强度以适应不同样品的测量需求。适当的激光功率能够获得良好的拉曼信号同时避免样品损伤。该函数支持精确的功率控制,确保测量结果的稳定性和重现性。 properties: feedback: {} goal: @@ -269,30 +266,6 @@ raman_home_made: title: laser_on_power参数 type: object type: UniLabJsonCommand - auto-raman_cmd: - feedback: {} - goal: {} - goal_default: - command: null - handles: [] - result: {} - schema: - description: raman_cmd的参数schema - properties: - feedback: {} - goal: - properties: - command: - type: string - required: - - command - type: object - result: {} - required: - - goal - title: raman_cmd参数 - type: object - type: UniLabJsonCommand auto-raman_without_background: feedback: {} goal: {} @@ -302,7 +275,7 @@ raman_home_made: handles: [] result: {} schema: - description: raman_without_background的参数schema + description: 执行无背景扣除的拉曼光谱测量函数。用于直接采集样品的拉曼光谱信号,不进行背景校正处理。该函数配置积分时间和激光功率参数,获取原始光谱数据用于后续的数据处理分析。适用于对光谱数据质量要求较高或需要自定义背景处理流程的测量场景。 properties: feedback: {} goal: @@ -332,7 +305,7 @@ raman_home_made: handles: [] result: {} schema: - description: raman_without_background_average的参数schema + description: 执行多次平均的无背景拉曼光谱测量函数。通过多次测量取平均值来提高光谱数据的信噪比和测量精度,减少随机噪声影响。该函数支持自定义平均次数、积分时间、激光功率等参数,并可为样品指定名称便于数据管理。适用于对测量精度要求较高的定量分析和研究应用。 properties: feedback: {} goal: @@ -370,7 +343,6 @@ raman_home_made: description: ROS Action SendCmd 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -379,7 +351,6 @@ raman_home_made: title: SendCmd_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: command: type: string @@ -388,7 +359,6 @@ raman_home_made: title: SendCmd_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -407,7 +377,7 @@ raman_home_made: module: unilabos.devices.raman_uv.home_made_raman:RamanObj status_types: {} type: python - description: Raman spectroscopy device + description: 拉曼光谱分析设备,用于物质的分子结构和化学成分表征。该设备集成激光器和CCD检测器,通过串口通信控制激光功率和光谱采集。具备背景扣除、多次平均、自动数据处理等功能,支持高精度的拉曼光谱测量。适用于材料表征、化学分析、质量控制、研究开发等需要分子指纹识别和结构分析的实验应用。 handles: [] icon: '' init_param_schema: diff --git a/unilabos/registry/devices/hotel.yaml b/unilabos/registry/devices/hotel.yaml index e5cfc06..95d23bd 100644 --- a/unilabos/registry/devices/hotel.yaml +++ b/unilabos/registry/devices/hotel.yaml @@ -5,7 +5,7 @@ hotel.thermo_orbitor_rs2_hotel: status_types: rotation: String type: python - description: Thermo Orbitor RS2 Hotel + description: Thermo Orbitor RS2 Hotel容器设备,用于实验室样品的存储和管理。该设备通过HotelContainer类实现容器的旋转控制和状态监控,主要用于存储实验样品、试剂瓶或其他实验器具,支持旋转功能以便于样品的自动化存取。适用于需要有序存储和快速访问大量样品的实验室自动化场景。 handles: [] icon: '' init_param_schema: diff --git a/unilabos/registry/devices/laiyu_add_solid.yaml b/unilabos/registry/devices/laiyu_add_solid.yaml index 02b8014..5421a5f 100644 --- a/unilabos/registry/devices/laiyu_add_solid.yaml +++ b/unilabos/registry/devices/laiyu_add_solid.yaml @@ -15,16 +15,14 @@ laiyu_add_solid: result: actual_mass_mg: actual_mass_mg schema: - description: ROS Action SolidDispenseAddPowderTube 的 JSON Schema + description: 向目标粉筒位置添加固体粉末。该函数通过Modbus RTU协议与设备通信,控制粉末分装机将指定质量的粉末添加到目标粉筒位置。支持精确称量和批量处理,适用于实验室化学试剂的自动分装。 properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: SolidDispenseAddPowderTube_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: compound_mass: type: number @@ -41,7 +39,6 @@ laiyu_add_solid: title: SolidDispenseAddPowderTube_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: actual_mass_mg: type: number @@ -60,38 +57,6 @@ laiyu_add_solid: title: SolidDispenseAddPowderTube type: object type: SolidDispenseAddPowderTube - auto-add_powder_tube: - feedback: {} - goal: {} - goal_default: - compound_mass: null - powder_tube_number: null - target_tube_position: null - handles: [] - result: {} - schema: - description: add_powder_tube的参数schema - properties: - feedback: {} - goal: - properties: - compound_mass: - type: string - powder_tube_number: - type: string - target_tube_position: - type: string - required: - - powder_tube_number - - target_tube_position - - compound_mass - type: object - result: {} - required: - - goal - title: add_powder_tube参数 - type: object - type: UniLabJsonCommand auto-calculate_crc: feedback: {} goal: {} @@ -100,7 +65,7 @@ laiyu_add_solid: handles: [] result: {} schema: - description: calculate_crc的参数schema + description: Modbus CRC-16校验码计算函数。计算Modbus RTU通信协议所需的CRC-16校验码,确保数据传输的完整性和可靠性。该函数实现标准的CRC-16算法,用于构造完整的Modbus指令帧。 properties: feedback: {} goal: @@ -116,154 +81,6 @@ laiyu_add_solid: title: calculate_crc参数 type: object type: UniLabJsonCommand - auto-discharge: - feedback: {} - goal: {} - goal_default: - float_in: null - handles: [] - result: {} - schema: - description: discharge的参数schema - properties: - feedback: {} - goal: - properties: - float_in: - type: number - required: - - float_in - type: object - result: {} - required: - - goal - title: discharge参数 - type: object - type: UniLabJsonCommand - auto-move_to_plate: - feedback: {} - goal: {} - goal_default: - string: null - handles: [] - result: {} - schema: - description: move_to_plate的参数schema - properties: - feedback: {} - goal: - properties: - string: - type: string - required: - - string - type: object - result: {} - required: - - goal - title: move_to_plate参数 - type: object - type: UniLabJsonCommand - auto-move_to_xyz: - feedback: {} - goal: {} - goal_default: - x: null - y: null - z: null - handles: [] - result: {} - schema: - description: move_to_xyz的参数schema - properties: - feedback: {} - goal: - properties: - x: - type: number - y: - type: number - z: - type: number - required: - - x - - y - - z - type: object - result: {} - required: - - goal - title: move_to_xyz参数 - type: object - type: UniLabJsonCommand - auto-pick_powder_tube: - feedback: {} - goal: {} - goal_default: - int_input: null - handles: [] - result: {} - schema: - description: pick_powder_tube的参数schema - properties: - feedback: {} - goal: - properties: - int_input: - type: integer - required: - - int_input - type: object - result: {} - required: - - goal - title: pick_powder_tube参数 - type: object - type: UniLabJsonCommand - auto-put_powder_tube: - feedback: {} - goal: {} - goal_default: - int_input: null - handles: [] - result: {} - schema: - description: put_powder_tube的参数schema - properties: - feedback: {} - goal: - properties: - int_input: - type: integer - required: - - int_input - type: object - result: {} - required: - - goal - title: put_powder_tube参数 - type: object - type: UniLabJsonCommand - auto-reset: - feedback: {} - goal: {} - goal_default: {} - handles: [] - result: {} - schema: - description: reset的参数schema - properties: - feedback: {} - goal: - properties: {} - required: [] - type: object - result: {} - required: - - goal - title: reset参数 - type: object - type: UniLabJsonCommand auto-send_command: feedback: {} goal: {} @@ -272,7 +89,7 @@ laiyu_add_solid: handles: [] result: {} schema: - description: send_command的参数schema + description: Modbus指令发送函数。构造完整的Modbus RTU指令帧(包含CRC校验),发送给分装设备并等待响应。该函数处理底层通信协议,确保指令的正确传输和响应接收,支持最长3分钟的响应等待时间。 properties: feedback: {} goal: @@ -297,16 +114,14 @@ laiyu_add_solid: handles: [] result: {} schema: - description: ROS Action FloatSingleInput 的 JSON Schema + description: 执行出料操作,传入出料质量(单位0.1mg) properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: FloatSingleInput_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: float_in: type: number @@ -315,7 +130,6 @@ laiyu_add_solid: title: FloatSingleInput_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -340,16 +154,14 @@ laiyu_add_solid: handles: [] result: {} schema: - description: ROS Action StrSingleInput 的 JSON Schema + description: 移动到某个孔板位置。 properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: StrSingleInput_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: string: type: string @@ -358,7 +170,6 @@ laiyu_add_solid: title: StrSingleInput_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -387,16 +198,14 @@ laiyu_add_solid: handles: [] result: {} schema: - description: ROS Action Point3DSeparateInput 的 JSON Schema + description: 按照坐标移动,单位为0.1mm properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: Point3DSeparateInput_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: x: type: number @@ -411,7 +220,6 @@ laiyu_add_solid: title: Point3DSeparateInput_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -436,16 +244,14 @@ laiyu_add_solid: handles: [] result: {} schema: - description: ROS Action IntSingleInput 的 JSON Schema + description: 装载粉筒,传入粉筒编号 properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: IntSingleInput_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: int_input: maximum: 2147483647 @@ -456,7 +262,6 @@ laiyu_add_solid: title: IntSingleInput_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -481,16 +286,14 @@ laiyu_add_solid: handles: [] result: {} schema: - description: ROS Action IntSingleInput 的 JSON Schema + description: 放回粉筒 properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: IntSingleInput_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: int_input: maximum: 2147483647 @@ -501,7 +304,6 @@ laiyu_add_solid: title: IntSingleInput_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -524,22 +326,19 @@ laiyu_add_solid: handles: [] result: {} schema: - description: ROS Action EmptyIn 的 JSON Schema + description: 重置指令 properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: EmptyIn_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: {} required: [] title: EmptyIn_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -556,7 +355,7 @@ laiyu_add_solid: status_types: status: str type: python - description: Laiyu Add Solid + description: 来渝固体粉末自动分装设备,用于实验室化学试剂的精确称量和分装。该设备通过Modbus RTU协议与控制系统通信,集成了精密天平、三轴运动平台、粉筒管理系统等组件。支持多种粉末试剂的自动拿取、精确称量、定点分装和归位操作。具备高精度称量、位置控制和批量处理能力,适用于化学合成、药物研发、材料制备等需要精确固体试剂配制的实验室应用场景。 handles: [] icon: '' init_param_schema: diff --git a/unilabos/registry/devices/liquid_handler.yaml b/unilabos/registry/devices/liquid_handler.yaml index 8dfd600..8e56225 100644 --- a/unilabos/registry/devices/liquid_handler.yaml +++ b/unilabos/registry/devices/liquid_handler.yaml @@ -91,13 +91,11 @@ liquid_handler: description: ROS Action LiquidHandlerAdd 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: LiquidHandlerAdd_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: asp_vols: items: @@ -333,7 +331,6 @@ liquid_handler: title: LiquidHandlerAdd_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -403,13 +400,11 @@ liquid_handler: description: ROS Action LiquidHandlerAspirate 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: LiquidHandlerAspirate_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: blow_out_air_volume: items: @@ -538,7 +533,6 @@ liquid_handler: title: LiquidHandlerAspirate_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -554,84 +548,6 @@ liquid_handler: title: LiquidHandlerAspirate type: object type: LiquidHandlerAspirate - auto-add_liquid: - feedback: {} - goal: {} - goal_default: - asp_vols: null - blow_out_air_volume: null - delays: null - dis_vols: null - flow_rates: null - is_96_well: false - liquid_height: null - mix_liquid_height: null - mix_rate: null - mix_time: null - mix_vol: null - none_keys: [] - offsets: null - reagent_sources: null - spread: wide - targets: null - use_channels: null - handles: [] - result: {} - schema: - description: add_liquid的参数schema - properties: - feedback: {} - goal: - properties: - asp_vols: - type: string - blow_out_air_volume: - type: string - delays: - type: string - dis_vols: - type: string - flow_rates: - type: string - is_96_well: - default: false - type: boolean - liquid_height: - type: string - mix_liquid_height: - type: string - mix_rate: - type: string - mix_time: - type: string - mix_vol: - type: string - none_keys: - default: [] - type: string - offsets: - type: string - reagent_sources: - type: string - spread: - default: wide - type: string - targets: - type: string - use_channels: - type: string - required: - - asp_vols - - dis_vols - - reagent_sources - - targets - type: object - result: {} - required: - - goal - title: add_liquid参数 - type: object - type: UniLabJsonCommandAsync auto-create_protocol: feedback: {} goal: {} @@ -646,7 +562,7 @@ liquid_handler: handles: [] result: {} schema: - description: create_protocol的参数schema + description: 创建实验协议函数。用于建立新的液体处理实验协议,定义协议名称、描述、版本、作者、日期等基本信息。该函数支持协议模板化管理,便于实验流程的标准化和重复性。适用于实验设计、方法开发、标准操作程序建立等需要协议管理的应用场景。 properties: feedback: {} goal: @@ -689,7 +605,7 @@ liquid_handler: handles: [] result: {} schema: - description: custom_delay的参数schema + description: 自定义延时函数。在实验流程中插入可配置的等待时间,用于满足特定的反应时间、孵育时间或设备稳定时间要求。支持自定义延时消息和秒数设置,提供流程控制和时间管理功能。适用于酶反应等待、温度平衡、样品孵育等需要时间控制的实验步骤。 properties: feedback: {} goal: @@ -715,7 +631,7 @@ liquid_handler: handles: [] result: {} schema: - description: iter_tips的参数schema + description: 吸头迭代函数。用于自动管理和切换吸头架中的吸头,实现批量实验中的吸头自动分配和追踪。该函数监控吸头使用状态,自动切换到下一个可用吸头位置,确保实验流程的连续性。适用于高通量实验、批量处理、自动化流水线等需要大量吸头管理的应用场景。 properties: feedback: {} goal: @@ -731,81 +647,6 @@ liquid_handler: title: iter_tips参数 type: object type: UniLabJsonCommand - auto-mix: - feedback: {} - goal: {} - goal_default: - height_to_bottom: null - mix_rate: null - mix_time: null - mix_vol: null - none_keys: [] - offsets: null - targets: null - handles: [] - result: {} - schema: - description: mix的参数schema - properties: - feedback: {} - goal: - properties: - height_to_bottom: - type: string - mix_rate: - type: string - mix_time: - type: integer - mix_vol: - type: string - none_keys: - default: [] - type: string - offsets: - type: string - targets: - type: string - required: - - targets - type: object - result: {} - required: - - goal - title: mix参数 - type: object - type: UniLabJsonCommandAsync - auto-move_to: - feedback: {} - goal: {} - goal_default: - channel: 0 - dis_to_top: 0 - well: null - handles: [] - result: {} - schema: - description: move_to的参数schema - properties: - feedback: {} - goal: - properties: - channel: - default: 0 - type: integer - dis_to_top: - default: 0 - type: number - well: - type: string - required: - - well - type: object - result: {} - required: - - goal - title: move_to参数 - type: object - type: UniLabJsonCommandAsync auto-remove_liquid: feedback: {} goal: {} @@ -826,7 +667,7 @@ liquid_handler: handles: [] result: {} schema: - description: remove_liquid的参数schema + description: 液体移除操作函数。从指定容器位置移除液体并转移到废液容器中。支持多源位置批量操作、流速控制、液面高度检测、96孔板模式等功能。可配置延时、吹气体积、位置偏移等参数,确保液体完全移除和容器清洁。适用于样品清洗、废液处理、容器清空等实验清理操作。 properties: feedback: {} goal: @@ -878,7 +719,7 @@ liquid_handler: handles: [] result: {} schema: - description: set_tiprack的参数schema + description: 吸头架设置函数。用于配置和初始化液体处理系统的吸头架信息,包括吸头架位置、类型、容量等参数。该函数建立吸头资源管理系统,为后续的吸头选择和使用提供基础配置。适用于系统初始化、吸头架更换、实验配置等需要吸头资源管理的操作场景。 properties: feedback: {} goal: @@ -902,7 +743,7 @@ liquid_handler: handles: [] result: {} schema: - description: touch_tip的参数schema + description: 吸头碰触函数。控制移液器吸头轻触容器边缘或底部,用于去除吸头外壁附着的液滴,提高移液精度和减少污染。该函数支持多目标位置操作,可配置碰触参数和位置偏移。适用于精密移液、减少液体残留、防止交叉污染等需要提高移液质量的实验操作。 properties: feedback: {} goal: @@ -918,99 +759,6 @@ liquid_handler: title: touch_tip参数 type: object type: UniLabJsonCommandAsync - auto-transfer_liquid: - feedback: {} - goal: {} - goal_default: - asp_flow_rates: null - asp_vols: null - blow_out_air_volume: null - delays: null - dis_flow_rates: null - dis_vols: null - is_96_well: false - liquid_height: null - mix_liquid_height: null - mix_rate: null - mix_stage: none - mix_times: null - mix_vol: null - none_keys: [] - offsets: null - sources: null - spread: wide - targets: null - tip_racks: null - touch_tip: false - use_channels: null - handles: [] - result: {} - schema: - description: transfer_liquid的参数schema - properties: - feedback: {} - goal: - properties: - asp_flow_rates: - type: string - asp_vols: - type: string - blow_out_air_volume: - type: string - delays: - type: string - dis_flow_rates: - type: string - dis_vols: - type: string - is_96_well: - default: false - type: boolean - liquid_height: - type: string - mix_liquid_height: - type: string - mix_rate: - type: string - mix_stage: - default: none - type: string - mix_times: - type: string - mix_vol: - type: string - none_keys: - default: [] - type: string - offsets: - type: string - sources: - type: string - spread: - default: wide - type: string - targets: - type: string - tip_racks: - type: string - touch_tip: - default: false - type: boolean - use_channels: - type: string - required: - - sources - - targets - - tip_racks - - asp_vols - - dis_vols - type: object - result: {} - required: - - goal - title: transfer_liquid参数 - type: object - type: UniLabJsonCommandAsync discard_tips: feedback: {} goal: @@ -1025,13 +773,11 @@ liquid_handler: description: ROS Action LiquidHandlerDiscardTips 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: LiquidHandlerDiscardTips_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: use_channels: items: @@ -1044,7 +790,6 @@ liquid_handler: title: LiquidHandlerDiscardTips_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -1111,13 +856,11 @@ liquid_handler: description: ROS Action LiquidHandlerDispense 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: LiquidHandlerDispense_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: blow_out_air_volume: items: @@ -1243,7 +986,6 @@ liquid_handler: title: LiquidHandlerDispense_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -1301,13 +1043,11 @@ liquid_handler: description: ROS Action LiquidHandlerDropTips 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: LiquidHandlerDropTips_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: allow_nonzero_volume: type: boolean @@ -1416,7 +1156,6 @@ liquid_handler: title: LiquidHandlerDropTips_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -1471,13 +1210,11 @@ liquid_handler: description: ROS Action LiquidHandlerDropTips96 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: LiquidHandlerDropTips96_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: allow_nonzero_volume: type: boolean @@ -1575,7 +1312,6 @@ liquid_handler: title: LiquidHandlerDropTips96_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -1638,13 +1374,11 @@ liquid_handler: description: ROS Action LiquidHandlerMix 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: LiquidHandlerMix_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: height_to_bottom: type: number @@ -1764,7 +1498,6 @@ liquid_handler: title: LiquidHandlerMix_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -1858,13 +1591,11 @@ liquid_handler: description: ROS Action LiquidHandlerMoveLid 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: LiquidHandlerMoveLid_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: destination_offset: properties: @@ -2080,7 +1811,6 @@ liquid_handler: title: LiquidHandlerMoveLid_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -2178,13 +1908,11 @@ liquid_handler: description: ROS Action LiquidHandlerMovePlate 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: LiquidHandlerMovePlate_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: destination_offset: properties: @@ -2415,7 +2143,6 @@ liquid_handler: title: LiquidHandlerMovePlate_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -2493,13 +2220,11 @@ liquid_handler: description: ROS Action LiquidHandlerMoveResource 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: LiquidHandlerMoveResource_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: destination_offset: properties: @@ -2656,7 +2381,6 @@ liquid_handler: title: LiquidHandlerMoveResource_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -2707,13 +2431,11 @@ liquid_handler: description: ROS Action LiquidHandlerMoveTo 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: LiquidHandlerMoveTo_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: channel: maximum: 2147483647 @@ -2801,7 +2523,6 @@ liquid_handler: title: LiquidHandlerMoveTo_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -2857,13 +2578,11 @@ liquid_handler: description: ROS Action LiquidHandlerPickUpTips 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: LiquidHandlerPickUpTips_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: offsets: items: @@ -2969,7 +2688,6 @@ liquid_handler: title: LiquidHandlerPickUpTips_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -3022,13 +2740,11 @@ liquid_handler: description: ROS Action LiquidHandlerPickUpTips96 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: LiquidHandlerPickUpTips96_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: offset: properties: @@ -3123,7 +2839,6 @@ liquid_handler: title: LiquidHandlerPickUpTips96_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -3224,13 +2939,11 @@ liquid_handler: description: ROS Action LiquidHandlerRemove 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: LiquidHandlerRemove_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: blow_out_air_volume: items: @@ -3453,7 +3166,6 @@ liquid_handler: title: LiquidHandlerRemove_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -3485,13 +3197,11 @@ liquid_handler: description: ROS Action LiquidHandlerReturnTips 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: LiquidHandlerReturnTips_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: allow_nonzero_volume: type: boolean @@ -3507,7 +3217,6 @@ liquid_handler: title: LiquidHandlerReturnTips_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -3536,13 +3245,11 @@ liquid_handler: description: ROS Action LiquidHandlerReturnTips96 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: LiquidHandlerReturnTips96_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: allow_nonzero_volume: type: boolean @@ -3551,7 +3258,6 @@ liquid_handler: title: LiquidHandlerReturnTips96_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -3626,13 +3332,11 @@ liquid_handler: description: ROS Action LiquidHandlerStamp 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: LiquidHandlerStamp_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: aspiration_flow_rate: type: number @@ -3795,7 +3499,6 @@ liquid_handler: title: LiquidHandlerStamp_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -3917,13 +3620,11 @@ liquid_handler: description: ROS Action LiquidHandlerTransfer 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: LiquidHandlerTransfer_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: asp_flow_rates: items: @@ -4255,7 +3956,6 @@ liquid_handler: title: LiquidHandlerTransfer_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -4393,13 +4093,11 @@ liquid_handler: description: ROS Action LiquidHandlerTransfer 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: LiquidHandlerTransfer_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: asp_flow_rates: items: @@ -4731,7 +4429,6 @@ liquid_handler: title: LiquidHandlerTransfer_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -4785,54 +4482,6 @@ liquid_handler: liquid_handler.biomek: class: action_value_mappings: - auto-create_protocol: - feedback: {} - goal: {} - goal_default: - none_keys: [] - protocol_author: null - protocol_date: null - protocol_description: null - protocol_name: null - protocol_type: null - protocol_version: null - handles: [] - result: {} - schema: - description: create_protocol的参数schema - properties: - feedback: {} - goal: - properties: - none_keys: - default: [] - type: array - protocol_author: - type: string - protocol_date: - type: string - protocol_description: - type: string - protocol_name: - type: string - protocol_type: - type: string - protocol_version: - type: string - required: - - protocol_name - - protocol_description - - protocol_version - - protocol_author - - protocol_date - - protocol_type - type: object - result: {} - required: - - goal - title: create_protocol参数 - type: object - type: UniLabJsonCommand auto-create_resource: feedback: {} goal: {} @@ -4885,30 +4534,6 @@ liquid_handler.biomek: title: create_resource参数 type: object type: UniLabJsonCommand - auto-incubation_biomek: - feedback: {} - goal: {} - goal_default: - time: null - handles: [] - result: {} - schema: - description: incubation_biomek的参数schema - properties: - feedback: {} - goal: - properties: - time: - type: integer - required: - - time - type: object - result: {} - required: - - goal - title: incubation_biomek参数 - type: object - type: UniLabJsonCommand auto-instrument_setup_biomek: feedback: {} goal: {} @@ -4957,219 +4582,6 @@ liquid_handler.biomek: title: instrument_setup_biomek参数 type: object type: UniLabJsonCommand - auto-move_biomek: - feedback: {} - goal: {} - goal_default: - source: null - target: null - handles: [] - result: {} - schema: - description: move_biomek的参数schema - properties: - feedback: {} - goal: - properties: - source: - type: string - target: - type: string - required: - - source - - target - type: object - result: {} - required: - - goal - title: move_biomek参数 - type: object - type: UniLabJsonCommand - auto-oscillation_biomek: - feedback: {} - goal: {} - goal_default: - rpm: null - time: null - handles: [] - result: {} - schema: - description: oscillation_biomek的参数schema - properties: - feedback: {} - goal: - properties: - rpm: - type: integer - time: - type: integer - required: - - rpm - - time - type: object - result: {} - required: - - goal - title: oscillation_biomek参数 - type: object - type: UniLabJsonCommand - auto-run_protocol: - feedback: {} - goal: {} - goal_default: {} - handles: [] - result: {} - schema: - description: run_protocol的参数schema - properties: - feedback: {} - goal: - properties: {} - required: [] - type: object - result: {} - required: - - goal - title: run_protocol参数 - type: object - type: UniLabJsonCommand - auto-transfer_biomek: - feedback: {} - goal: {} - goal_default: - aspirate_techniques: null - dispense_techniques: null - source: null - target: null - tip_rack: null - volume: null - handles: [] - result: {} - schema: - description: transfer_biomek的参数schema - properties: - feedback: {} - goal: - properties: - aspirate_techniques: - type: string - dispense_techniques: - type: string - source: - type: string - target: - type: string - tip_rack: - type: string - volume: - type: number - required: - - source - - target - - tip_rack - - volume - - aspirate_techniques - - dispense_techniques - type: object - result: {} - required: - - goal - title: transfer_biomek参数 - type: object - type: UniLabJsonCommand - auto-transfer_liquid: - feedback: {} - goal: {} - goal_default: - asp_flow_rates: null - asp_vols: null - blow_out_air_volume: null - delays: null - dis_flow_rates: null - dis_vols: null - is_96_well: false - liquid_height: null - mix_liquid_height: null - mix_rate: null - mix_stage: none - mix_times: null - mix_vol: null - none_keys: [] - offsets: null - sources: null - spread: wide - targets: null - tip_racks: null - touch_tip: false - use_channels: null - handles: [] - result: {} - schema: - description: transfer_liquid的参数schema - properties: - feedback: {} - goal: - properties: - asp_flow_rates: - type: string - asp_vols: - type: string - blow_out_air_volume: - type: string - delays: - type: string - dis_flow_rates: - type: string - dis_vols: - type: string - is_96_well: - default: false - type: boolean - liquid_height: - type: string - mix_liquid_height: - type: string - mix_rate: - type: string - mix_stage: - default: none - type: string - mix_times: - type: string - mix_vol: - type: string - none_keys: - default: [] - type: array - offsets: - type: string - sources: - type: string - spread: - default: wide - type: string - targets: - type: string - tip_racks: - type: string - touch_tip: - default: false - type: boolean - use_channels: - type: string - required: - - sources - - targets - - tip_racks - - asp_vols - - dis_vols - type: object - result: {} - required: - - goal - title: transfer_liquid参数 - type: object - type: UniLabJsonCommand create_protocol: feedback: {} goal: @@ -5195,13 +4607,11 @@ liquid_handler.biomek: description: ROS Action LiquidHandlerProtocolCreation 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: LiquidHandlerProtocolCreation_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: none_keys: items: @@ -5230,7 +4640,6 @@ liquid_handler.biomek: title: LiquidHandlerProtocolCreation_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -5267,13 +4676,11 @@ liquid_handler.biomek: description: ROS Action LiquidHandlerIncubateBiomek 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: LiquidHandlerIncubateBiomek_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: time: maximum: 2147483647 @@ -5284,7 +4691,6 @@ liquid_handler.biomek: title: LiquidHandlerIncubateBiomek_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -5327,13 +4733,11 @@ liquid_handler.biomek: description: ROS Action LiquidHandlerMoveBiomek 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: LiquidHandlerMoveBiomek_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: sources: type: string @@ -5345,7 +4749,6 @@ liquid_handler.biomek: title: LiquidHandlerMoveBiomek_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -5387,13 +4790,11 @@ liquid_handler.biomek: description: ROS Action LiquidHandlerOscillateBiomek 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: LiquidHandlerOscillateBiomek_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: rpm: maximum: 2147483647 @@ -5409,7 +4810,6 @@ liquid_handler.biomek: title: LiquidHandlerOscillateBiomek_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -5435,19 +4835,16 @@ liquid_handler.biomek: description: ROS Action EmptyIn 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: EmptyIn_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: {} required: [] title: EmptyIn_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -5509,13 +4906,11 @@ liquid_handler.biomek: description: ROS Action LiquidHandlerTransferBiomek 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: LiquidHandlerTransferBiomek_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: aspirate_technique: type: string @@ -5539,7 +4934,6 @@ liquid_handler.biomek: title: LiquidHandlerTransferBiomek_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -5691,13 +5085,11 @@ liquid_handler.biomek: description: ROS Action LiquidHandlerTransfer 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: LiquidHandlerTransfer_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: asp_flow_rates: items: @@ -6029,7 +5421,6 @@ liquid_handler.biomek: title: LiquidHandlerTransfer_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -6120,13 +5511,11 @@ liquid_handler.prcxi: description: ROS Action LiquidHandlerAspirate 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: LiquidHandlerAspirate_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: blow_out_air_volume: items: @@ -6255,7 +5644,6 @@ liquid_handler.prcxi: title: LiquidHandlerAspirate_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -6349,53 +5737,6 @@ liquid_handler.prcxi: title: add_liquid参数 type: object type: UniLabJsonCommandAsync - auto-aspirate: - feedback: {} - goal: {} - goal_default: - blow_out_air_volume: null - flow_rates: null - liquid_height: null - offsets: null - resources: null - spread: wide - use_channels: null - vols: null - handles: [] - result: {} - schema: - description: aspirate的参数schema - properties: - feedback: {} - goal: - properties: - blow_out_air_volume: - type: string - flow_rates: - type: string - liquid_height: - type: string - offsets: - type: string - resources: - type: string - spread: - default: wide - type: string - use_channels: - type: string - vols: - type: array - required: - - resources - - vols - type: object - result: {} - required: - - goal - title: aspirate参数 - type: object - type: UniLabJsonCommandAsync auto-create_protocol: feedback: {} goal: {} @@ -6501,87 +5842,6 @@ liquid_handler.prcxi: title: discard_tips参数 type: object type: UniLabJsonCommandAsync - auto-dispense: - feedback: {} - goal: {} - goal_default: - blow_out_air_volume: null - flow_rates: null - liquid_height: null - offsets: null - resources: null - spread: wide - use_channels: null - vols: null - handles: [] - result: {} - schema: - description: dispense的参数schema - properties: - feedback: {} - goal: - properties: - blow_out_air_volume: - type: string - flow_rates: - type: string - liquid_height: - type: string - offsets: - type: string - resources: - type: string - spread: - default: wide - type: string - use_channels: - type: string - vols: - type: array - required: - - resources - - vols - type: object - result: {} - required: - - goal - title: dispense参数 - type: object - type: UniLabJsonCommandAsync - auto-drop_tips: - feedback: {} - goal: {} - goal_default: - allow_nonzero_volume: false - offsets: null - tip_spots: null - use_channels: null - handles: [] - result: {} - schema: - description: drop_tips的参数schema - properties: - feedback: {} - goal: - properties: - allow_nonzero_volume: - default: false - type: boolean - offsets: - type: string - tip_spots: - type: string - use_channels: - type: string - required: - - tip_spots - type: object - result: {} - required: - - goal - title: drop_tips参数 - type: object - type: UniLabJsonCommandAsync auto-iter_tips: feedback: {} goal: {} @@ -6606,49 +5866,6 @@ liquid_handler.prcxi: title: iter_tips参数 type: object type: UniLabJsonCommand - auto-mix: - feedback: {} - goal: {} - goal_default: - height_to_bottom: null - mix_rate: null - mix_time: null - mix_vol: null - none_keys: [] - offsets: null - targets: null - handles: [] - result: {} - schema: - description: mix的参数schema - properties: - feedback: {} - goal: - properties: - height_to_bottom: - type: string - mix_rate: - type: string - mix_time: - type: integer - mix_vol: - type: string - none_keys: - default: [] - type: array - offsets: - type: string - targets: - type: string - required: - - targets - type: object - result: {} - required: - - goal - title: mix参数 - type: object - type: UniLabJsonCommandAsync auto-move_to: feedback: {} goal: {} @@ -6681,36 +5898,6 @@ liquid_handler.prcxi: title: move_to参数 type: object type: UniLabJsonCommandAsync - auto-pick_up_tips: - feedback: {} - goal: {} - goal_default: - offsets: null - tip_spots: null - use_channels: null - handles: [] - result: {} - schema: - description: pick_up_tips的参数schema - properties: - feedback: {} - goal: - properties: - offsets: - type: string - tip_spots: - type: array - use_channels: - type: string - required: - - tip_spots - type: object - result: {} - required: - - goal - title: pick_up_tips参数 - type: object - type: UniLabJsonCommandAsync auto-remove_liquid: feedback: {} goal: {} @@ -6986,13 +6173,11 @@ liquid_handler.prcxi: description: ROS Action LiquidHandlerDispense 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: LiquidHandlerDispense_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: blow_out_air_volume: items: @@ -7118,7 +6303,6 @@ liquid_handler.prcxi: title: LiquidHandlerDispense_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -7171,13 +6355,11 @@ liquid_handler.prcxi: description: ROS Action LiquidHandlerDropTips 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: LiquidHandlerDropTips_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: allow_nonzero_volume: type: boolean @@ -7286,7 +6468,6 @@ liquid_handler.prcxi: title: LiquidHandlerDropTips_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -7349,13 +6530,11 @@ liquid_handler.prcxi: description: ROS Action LiquidHandlerMix 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: LiquidHandlerMix_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: height_to_bottom: type: number @@ -7475,7 +6654,6 @@ liquid_handler.prcxi: title: LiquidHandlerMix_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -7530,13 +6708,11 @@ liquid_handler.prcxi: description: ROS Action LiquidHandlerPickUpTips 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: LiquidHandlerPickUpTips_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: offsets: items: @@ -7642,7 +6818,6 @@ liquid_handler.prcxi: title: LiquidHandlerPickUpTips_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -7668,6 +6843,9 @@ liquid_handler.prcxi: init_param_schema: config: properties: + debug: + default: false + type: string deck: type: string host: @@ -7695,42 +6873,6 @@ liquid_handler.prcxi: liquid_handler.revvity: class: action_value_mappings: - auto-run: - feedback: {} - goal: {} - goal_default: - file_path: null - params: null - resource: - AichemecoHiwo: - id: AichemecoHiwo - handles: [] - result: {} - schema: - description: run的参数schema - properties: - feedback: {} - goal: - properties: - file_path: - type: string - params: - type: string - resource: - default: - AichemecoHiwo: - id: AichemecoHiwo - type: object - required: - - file_path - - params - type: object - result: {} - required: - - goal - title: run参数 - type: object - type: UniLabJsonCommand run: feedback: status: status @@ -7768,7 +6910,6 @@ liquid_handler.revvity: description: ROS Action WorkStationRun 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: gantt: type: string @@ -7780,7 +6921,6 @@ liquid_handler.revvity: title: WorkStationRun_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: params: type: string @@ -7866,7 +7006,6 @@ liquid_handler.revvity: title: WorkStationRun_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string diff --git a/unilabos/registry/devices/mock_devices.yaml b/unilabos/registry/devices/mock_devices.yaml index 4341434..be57ffa 100644 --- a/unilabos/registry/devices/mock_devices.yaml +++ b/unilabos/registry/devices/mock_devices.yaml @@ -1,82 +1,6 @@ mock_chiller: class: action_value_mappings: - auto-emergency_stop: - feedback: {} - goal: {} - goal_default: {} - handles: [] - result: {} - schema: - description: emergency_stop的参数schema - properties: - feedback: {} - goal: - properties: {} - required: [] - type: object - result: {} - required: - - goal - title: emergency_stop参数 - type: object - type: UniLabJsonCommand - auto-heat_chill_start: - feedback: {} - goal: {} - goal_default: - purpose: null - temp: null - vessel: null - handles: [] - result: {} - schema: - description: heat_chill_start的参数schema - properties: - feedback: {} - goal: - properties: - purpose: - type: string - temp: - type: number - vessel: - type: string - required: - - vessel - - temp - - purpose - type: object - result: {} - required: - - goal - title: heat_chill_start参数 - type: object - type: UniLabJsonCommand - auto-heat_chill_stop: - feedback: {} - goal: {} - goal_default: - vessel: null - handles: [] - result: {} - schema: - description: heat_chill_stop的参数schema - properties: - feedback: {} - goal: - properties: - vessel: - type: string - required: - - vessel - type: object - result: {} - required: - - goal - title: heat_chill_stop参数 - type: object - type: UniLabJsonCommand emergency_stop: feedback: {} goal: {} @@ -88,19 +12,16 @@ mock_chiller: description: ROS Action EmptyIn 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: EmptyIn_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: {} required: [] title: EmptyIn_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -131,7 +52,6 @@ mock_chiller: description: ROS Action HeatChillStart 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -140,7 +60,6 @@ mock_chiller: title: HeatChillStart_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: purpose: type: string @@ -155,7 +74,6 @@ mock_chiller: title: HeatChillStart_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -185,7 +103,6 @@ mock_chiller: description: ROS Action HeatChillStop 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -194,7 +111,6 @@ mock_chiller: title: HeatChillStop_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: vessel: type: string @@ -203,7 +119,6 @@ mock_chiller: title: HeatChillStop_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -292,94 +207,6 @@ mock_filter: title: emergency_stop参数 type: object type: UniLabJsonCommand - auto-filter: - feedback: {} - goal: {} - goal_default: - continue_heatchill: false - filtrate_vessel: null - stir: false - stir_speed: 0.0 - temp: 25.0 - vessel: null - volume: 0.0 - handles: [] - result: {} - schema: - description: filter的参数schema - properties: - feedback: {} - goal: - properties: - continue_heatchill: - default: false - type: boolean - filtrate_vessel: - type: string - stir: - default: false - type: boolean - stir_speed: - default: 0.0 - type: number - temp: - default: 25.0 - type: number - vessel: - type: string - volume: - default: 0.0 - type: number - required: - - vessel - - filtrate_vessel - type: object - result: {} - required: - - goal - title: filter参数 - type: object - type: UniLabJsonCommand - auto-replace_filter: - feedback: {} - goal: {} - goal_default: {} - handles: [] - result: {} - schema: - description: replace_filter的参数schema - properties: - feedback: {} - goal: - properties: {} - required: [] - type: object - result: {} - required: - - goal - title: replace_filter参数 - type: object - type: UniLabJsonCommand - auto-stop_filtering: - feedback: {} - goal: {} - goal_default: {} - handles: [] - result: {} - schema: - description: stop_filtering的参数schema - properties: - feedback: {} - goal: - properties: {} - required: [] - type: object - result: {} - required: - - goal - title: stop_filtering参数 - type: object - type: UniLabJsonCommand filter: feedback: current_status: current_status @@ -410,7 +237,6 @@ mock_filter: description: ROS Action Filter 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: current_status: type: string @@ -428,7 +254,6 @@ mock_filter: title: Filter_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: continue_heatchill: type: boolean @@ -455,7 +280,6 @@ mock_filter: title: Filter_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: message: type: string @@ -485,19 +309,16 @@ mock_filter: description: ROS Action EmptyIn 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: EmptyIn_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: {} required: [] title: EmptyIn_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -521,19 +342,16 @@ mock_filter: description: ROS Action EmptyIn 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: EmptyIn_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: {} required: [] title: EmptyIn_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -627,126 +445,6 @@ mock_filter: mock_heater: class: action_value_mappings: - auto-emergency_stop: - feedback: {} - goal: {} - goal_default: {} - handles: [] - result: {} - schema: - description: emergency_stop的参数schema - properties: - feedback: {} - goal: - properties: {} - required: [] - type: object - result: {} - required: - - goal - title: emergency_stop参数 - type: object - type: UniLabJsonCommand - auto-heat_chill: - feedback: {} - goal: {} - goal_default: - purpose: Unknown - stir: false - stir_speed: 0.0 - temp: null - time: null - vessel: null - handles: [] - result: {} - schema: - description: heat_chill的参数schema - properties: - feedback: {} - goal: - properties: - purpose: - default: Unknown - type: string - stir: - default: false - type: boolean - stir_speed: - default: 0.0 - type: number - temp: - type: number - time: - type: number - vessel: - type: string - required: - - vessel - - temp - - time - type: object - result: {} - required: - - goal - title: heat_chill参数 - type: object - type: UniLabJsonCommand - auto-heat_chill_start: - feedback: {} - goal: {} - goal_default: - purpose: null - temp: null - vessel: null - handles: [] - result: {} - schema: - description: heat_chill_start的参数schema - properties: - feedback: {} - goal: - properties: - purpose: - type: string - temp: - type: number - vessel: - type: string - required: - - vessel - - temp - - purpose - type: object - result: {} - required: - - goal - title: heat_chill_start参数 - type: object - type: UniLabJsonCommand - auto-heat_chill_stop: - feedback: {} - goal: {} - goal_default: - vessel: null - handles: [] - result: {} - schema: - description: heat_chill_stop的参数schema - properties: - feedback: {} - goal: - properties: - vessel: - type: string - required: - - vessel - type: object - result: {} - required: - - goal - title: heat_chill_stop参数 - type: object - type: UniLabJsonCommand auto-set_heating_power: feedback: {} goal: {} @@ -806,19 +504,16 @@ mock_heater: description: ROS Action EmptyIn 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: EmptyIn_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: {} required: [] title: EmptyIn_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -855,7 +550,6 @@ mock_heater: description: ROS Action HeatChill 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -864,7 +558,6 @@ mock_heater: title: HeatChill_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: purpose: type: string @@ -888,7 +581,6 @@ mock_heater: title: HeatChill_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -922,7 +614,6 @@ mock_heater: description: ROS Action HeatChillStart 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -931,7 +622,6 @@ mock_heater: title: HeatChillStart_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: purpose: type: string @@ -946,7 +636,6 @@ mock_heater: title: HeatChillStart_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -976,7 +665,6 @@ mock_heater: description: ROS Action HeatChillStop 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -985,7 +673,6 @@ mock_heater: title: HeatChillStop_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: vessel: type: string @@ -994,7 +681,6 @@ mock_heater: title: HeatChillStop_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -1095,126 +781,6 @@ mock_pump: title: emergency_stop参数 type: object type: UniLabJsonCommand - auto-pause_pump: - feedback: {} - goal: {} - goal_default: {} - handles: [] - result: {} - schema: - description: pause_pump的参数schema - properties: - feedback: {} - goal: - properties: {} - required: [] - type: object - result: {} - required: - - goal - title: pause_pump参数 - type: object - type: UniLabJsonCommand - auto-pump_transfer: - feedback: {} - goal: {} - goal_default: - amount: '' - from_vessel: null - rinsing_repeats: 0 - rinsing_solvent: '' - rinsing_volume: 0.0 - solid: false - time: 0.0 - to_vessel: null - viscous: false - volume: null - handles: [] - result: {} - schema: - description: pump_transfer的参数schema - properties: - feedback: {} - goal: - properties: - amount: - default: '' - type: string - from_vessel: - type: string - rinsing_repeats: - default: 0 - type: integer - rinsing_solvent: - default: '' - type: string - rinsing_volume: - default: 0.0 - type: number - solid: - default: false - type: boolean - time: - default: 0.0 - type: number - to_vessel: - type: string - viscous: - default: false - type: boolean - volume: - type: number - required: - - from_vessel - - to_vessel - - volume - type: object - result: {} - required: - - goal - title: pump_transfer参数 - type: object - type: UniLabJsonCommand - auto-reset_volume_counter: - feedback: {} - goal: {} - goal_default: {} - handles: [] - result: {} - schema: - description: reset_volume_counter的参数schema - properties: - feedback: {} - goal: - properties: {} - required: [] - type: object - result: {} - required: - - goal - title: reset_volume_counter参数 - type: object - type: UniLabJsonCommand - auto-resume_pump: - feedback: {} - goal: {} - goal_default: {} - handles: [] - result: {} - schema: - description: resume_pump的参数schema - properties: - feedback: {} - goal: - properties: {} - required: [] - type: object - result: {} - required: - - goal - title: resume_pump参数 - type: object - type: UniLabJsonCommand pause_pump: feedback: {} goal: {} @@ -1226,19 +792,16 @@ mock_pump: description: ROS Action EmptyIn 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: EmptyIn_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: {} required: [] title: EmptyIn_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -1286,7 +849,6 @@ mock_pump: description: ROS Action PumpTransfer 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: current_device: type: string @@ -1330,7 +892,6 @@ mock_pump: title: PumpTransfer_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: amount: type: string @@ -1368,7 +929,6 @@ mock_pump: title: PumpTransfer_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -1395,19 +955,16 @@ mock_pump: description: ROS Action EmptyIn 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: EmptyIn_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: {} required: [] title: EmptyIn_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -1431,19 +988,16 @@ mock_pump: description: ROS Action EmptyIn 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: EmptyIn_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: {} required: [] title: EmptyIn_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -1585,166 +1139,6 @@ mock_rotavap: title: emergency_stop参数 type: object type: UniLabJsonCommand - auto-set_pump_time: - feedback: {} - goal: {} - goal_default: - time_seconds: null - handles: [] - result: {} - schema: - description: set_pump_time的参数schema - properties: - feedback: {} - goal: - properties: - time_seconds: - type: number - required: - - time_seconds - type: object - result: {} - required: - - goal - title: set_pump_time参数 - type: object - type: UniLabJsonCommand - auto-set_rotate_speed: - feedback: {} - goal: {} - goal_default: - speed: null - handles: [] - result: {} - schema: - description: set_rotate_speed的参数schema - properties: - feedback: {} - goal: - properties: - speed: - type: number - required: - - speed - type: object - result: {} - required: - - goal - title: set_rotate_speed参数 - type: object - type: UniLabJsonCommand - auto-set_rotate_time: - feedback: {} - goal: {} - goal_default: - time_seconds: null - handles: [] - result: {} - schema: - description: set_rotate_time的参数schema - properties: - feedback: {} - goal: - properties: - time_seconds: - type: number - required: - - time_seconds - type: object - result: {} - required: - - goal - title: set_rotate_time参数 - type: object - type: UniLabJsonCommand - auto-set_temperature: - feedback: {} - goal: {} - goal_default: - temperature: null - handles: [] - result: {} - schema: - description: set_temperature的参数schema - properties: - feedback: {} - goal: - properties: - temperature: - type: number - required: - - temperature - type: object - result: {} - required: - - goal - title: set_temperature参数 - type: object - type: UniLabJsonCommand - auto-set_timer: - feedback: {} - goal: {} - goal_default: - command: null - handles: [] - result: {} - schema: - description: set_timer的参数schema - properties: - feedback: {} - goal: - properties: - command: - type: string - required: - - command - type: object - result: {} - required: - - goal - title: set_timer参数 - type: object - type: UniLabJsonCommand - auto-start_pump: - feedback: {} - goal: {} - goal_default: {} - handles: [] - result: {} - schema: - description: start_pump的参数schema - properties: - feedback: {} - goal: - properties: {} - required: [] - type: object - result: {} - required: - - goal - title: start_pump参数 - type: object - type: UniLabJsonCommand - auto-start_rotation: - feedback: {} - goal: {} - goal_default: {} - handles: [] - result: {} - schema: - description: start_rotation的参数schema - properties: - feedback: {} - goal: - properties: {} - required: [] - type: object - result: {} - required: - - goal - title: start_rotation参数 - type: object - type: UniLabJsonCommand auto-stop_all_operations: feedback: {} goal: {} @@ -1778,13 +1172,11 @@ mock_rotavap: description: ROS Action FloatSingleInput 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: FloatSingleInput_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: float_in: type: number @@ -1793,7 +1185,6 @@ mock_rotavap: title: FloatSingleInput_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -1822,13 +1213,11 @@ mock_rotavap: description: ROS Action FloatSingleInput 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: FloatSingleInput_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: float_in: type: number @@ -1837,7 +1226,6 @@ mock_rotavap: title: FloatSingleInput_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -1866,13 +1254,11 @@ mock_rotavap: description: ROS Action FloatSingleInput 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: FloatSingleInput_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: float_in: type: number @@ -1881,7 +1267,6 @@ mock_rotavap: title: FloatSingleInput_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -1910,13 +1295,11 @@ mock_rotavap: description: ROS Action FloatSingleInput 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: FloatSingleInput_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: float_in: type: number @@ -1925,7 +1308,6 @@ mock_rotavap: title: FloatSingleInput_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -1954,13 +1336,11 @@ mock_rotavap: description: ROS Action StrSingleInput 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: StrSingleInput_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: string: type: string @@ -1969,7 +1349,6 @@ mock_rotavap: title: StrSingleInput_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -1996,19 +1375,16 @@ mock_rotavap: description: ROS Action EmptyIn 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: EmptyIn_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: {} required: [] title: EmptyIn_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -2032,19 +1408,16 @@ mock_rotavap: description: ROS Action EmptyIn 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: EmptyIn_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: {} required: [] title: EmptyIn_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -2118,146 +1491,6 @@ mock_rotavap: mock_separator: class: action_value_mappings: - auto-separate: - feedback: {} - goal: {} - goal_default: - from_vessel: null - product_phase: null - purpose: null - repeats: 1 - separation_vessel: null - settling_time: 60.0 - solvent: '' - solvent_volume: 0.0 - stir_speed: 0.0 - stir_time: 0.0 - through: '' - to_vessel: null - waste_phase_to_vessel: '' - handles: [] - result: {} - schema: - description: separate的参数schema - properties: - feedback: {} - goal: - properties: - from_vessel: - type: string - product_phase: - type: string - purpose: - type: string - repeats: - default: 1 - type: integer - separation_vessel: - type: string - settling_time: - default: 60.0 - type: number - solvent: - default: '' - type: string - solvent_volume: - default: 0.0 - type: number - stir_speed: - default: 0.0 - type: number - stir_time: - default: 0.0 - type: number - through: - default: '' - type: string - to_vessel: - type: string - waste_phase_to_vessel: - default: '' - type: string - required: - - purpose - - product_phase - - from_vessel - - separation_vessel - - to_vessel - type: object - result: {} - required: - - goal - title: separate参数 - type: object - type: UniLabJsonCommand - auto-set_valve: - feedback: {} - goal: {} - goal_default: - command: null - handles: [] - result: {} - schema: - description: set_valve的参数schema - properties: - feedback: {} - goal: - properties: - command: - type: string - required: - - command - type: object - result: {} - required: - - goal - title: set_valve参数 - type: object - type: UniLabJsonCommand - auto-shake: - feedback: {} - goal: {} - goal_default: - shake_time: null - handles: [] - result: {} - schema: - description: shake的参数schema - properties: - feedback: {} - goal: - properties: - shake_time: - type: number - required: - - shake_time - type: object - result: {} - required: - - goal - title: shake参数 - type: object - type: UniLabJsonCommand - auto-stop_operations: - feedback: {} - goal: {} - goal_default: {} - handles: [] - result: {} - schema: - description: stop_operations的参数schema - properties: - feedback: {} - goal: - properties: {} - required: [] - type: object - result: {} - required: - - goal - title: stop_operations参数 - type: object - type: UniLabJsonCommand separate: feedback: current_device: current_device @@ -2299,7 +1532,6 @@ mock_separator: description: ROS Action Separate 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: current_device: type: string @@ -2343,7 +1575,6 @@ mock_separator: title: Separate_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: from_vessel: type: string @@ -2390,7 +1621,6 @@ mock_separator: title: Separate_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -2419,13 +1649,11 @@ mock_separator: description: ROS Action StrSingleInput 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: StrSingleInput_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: string: type: string @@ -2434,7 +1662,6 @@ mock_separator: title: StrSingleInput_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -2464,13 +1691,11 @@ mock_separator: description: ROS Action FloatSingleInput 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: FloatSingleInput_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: float_in: type: number @@ -2479,7 +1704,6 @@ mock_separator: title: FloatSingleInput_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -2506,19 +1730,16 @@ mock_separator: description: ROS Action EmptyIn 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: EmptyIn_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: {} required: [] title: EmptyIn_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -2636,26 +1857,6 @@ mock_separator: mock_solenoid_valve: class: action_value_mappings: - auto-close_valve: - feedback: {} - goal: {} - goal_default: {} - handles: [] - result: {} - schema: - description: close_valve的参数schema - properties: - feedback: {} - goal: - properties: {} - required: [] - type: object - result: {} - required: - - goal - title: close_valve参数 - type: object - type: UniLabJsonCommand auto-is_closed: feedback: {} goal: {} @@ -2696,50 +1897,6 @@ mock_solenoid_valve: title: is_open参数 type: object type: UniLabJsonCommand - auto-open_valve: - feedback: {} - goal: {} - goal_default: {} - handles: [] - result: {} - schema: - description: open_valve的参数schema - properties: - feedback: {} - goal: - properties: {} - required: [] - type: object - result: {} - required: - - goal - title: open_valve参数 - type: object - type: UniLabJsonCommand - auto-set_valve_status: - feedback: {} - goal: {} - goal_default: - status: null - handles: [] - result: {} - schema: - description: set_valve_status的参数schema - properties: - feedback: {} - goal: - properties: - status: - type: string - required: - - status - type: object - result: {} - required: - - goal - title: set_valve_status参数 - type: object - type: UniLabJsonCommand close_valve: feedback: {} goal: {} @@ -2751,19 +1908,16 @@ mock_solenoid_valve: description: ROS Action EmptyIn 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: EmptyIn_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: {} required: [] title: EmptyIn_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -2787,19 +1941,16 @@ mock_solenoid_valve: description: ROS Action EmptyIn 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: EmptyIn_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: {} required: [] title: EmptyIn_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -2825,13 +1976,11 @@ mock_solenoid_valve: description: ROS Action StrSingleInput 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: StrSingleInput_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: string: type: string @@ -2840,7 +1989,6 @@ mock_solenoid_valve: title: StrSingleInput_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -2905,98 +2053,6 @@ mock_stirrer: title: emergency_stop参数 type: object type: UniLabJsonCommand - auto-heating_control: - feedback: {} - goal: {} - goal_default: - heating_state: 'On' - handles: [] - result: {} - schema: - description: heating_control的参数schema - properties: - feedback: {} - goal: - properties: - heating_state: - default: 'On' - type: string - required: [] - type: object - result: {} - required: - - goal - title: heating_control参数 - type: object - type: UniLabJsonCommand - auto-set_stir_speed: - feedback: {} - goal: {} - goal_default: - speed: null - handles: [] - result: {} - schema: - description: set_stir_speed的参数schema - properties: - feedback: {} - goal: - properties: - speed: - type: number - required: - - speed - type: object - result: {} - required: - - goal - title: set_stir_speed参数 - type: object - type: UniLabJsonCommand - auto-set_temperature: - feedback: {} - goal: {} - goal_default: - temperature: null - handles: [] - result: {} - schema: - description: set_temperature的参数schema - properties: - feedback: {} - goal: - properties: - temperature: - type: number - required: - - temperature - type: object - result: {} - required: - - goal - title: set_temperature参数 - type: object - type: UniLabJsonCommand - auto-start_stirring: - feedback: {} - goal: {} - goal_default: {} - handles: [] - result: {} - schema: - description: start_stirring的参数schema - properties: - feedback: {} - goal: - properties: {} - required: [] - type: object - result: {} - required: - - goal - title: start_stirring参数 - type: object - type: UniLabJsonCommand auto-stop_all_operations: feedback: {} goal: {} @@ -3017,26 +2073,6 @@ mock_stirrer: title: stop_all_operations参数 type: object type: UniLabJsonCommand - auto-stop_stirring: - feedback: {} - goal: {} - goal_default: {} - handles: [] - result: {} - schema: - description: stop_stirring的参数schema - properties: - feedback: {} - goal: - properties: {} - required: [] - type: object - result: {} - required: - - goal - title: stop_stirring参数 - type: object - type: UniLabJsonCommand heating_control: feedback: {} goal: @@ -3050,13 +2086,11 @@ mock_stirrer: description: ROS Action StrSingleInput 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: StrSingleInput_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: string: type: string @@ -3065,7 +2099,6 @@ mock_stirrer: title: StrSingleInput_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -3094,13 +2127,11 @@ mock_stirrer: description: ROS Action FloatSingleInput 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: FloatSingleInput_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: float_in: type: number @@ -3109,7 +2140,6 @@ mock_stirrer: title: FloatSingleInput_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -3138,13 +2168,11 @@ mock_stirrer: description: ROS Action FloatSingleInput 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: FloatSingleInput_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: float_in: type: number @@ -3153,7 +2181,6 @@ mock_stirrer: title: FloatSingleInput_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -3180,19 +2207,16 @@ mock_stirrer: description: ROS Action EmptyIn 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: EmptyIn_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: {} required: [] title: EmptyIn_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -3216,19 +2240,16 @@ mock_stirrer: description: ROS Action EmptyIn 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: EmptyIn_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: {} required: [] title: EmptyIn_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -3306,94 +2327,6 @@ mock_stirrer: mock_stirrer_new: class: action_value_mappings: - auto-start_stir: - feedback: {} - goal: {} - goal_default: - purpose: '' - stir_speed: 0.0 - vessel: null - handles: [] - result: {} - schema: - description: start_stir的参数schema - properties: - feedback: {} - goal: - properties: - purpose: - default: '' - type: string - stir_speed: - default: 0.0 - type: number - vessel: - type: string - required: - - vessel - type: object - result: {} - required: - - goal - title: start_stir参数 - type: object - type: UniLabJsonCommand - auto-stir: - feedback: {} - goal: {} - goal_default: - settling_time: null - stir_speed: null - stir_time: null - handles: [] - result: {} - schema: - description: stir的参数schema - properties: - feedback: {} - goal: - properties: - settling_time: - type: number - stir_speed: - type: number - stir_time: - type: number - required: - - stir_time - - stir_speed - - settling_time - type: object - result: {} - required: - - goal - title: stir参数 - type: object - type: UniLabJsonCommand - auto-stop_stir: - feedback: {} - goal: {} - goal_default: - vessel: null - handles: [] - result: {} - schema: - description: stop_stir的参数schema - properties: - feedback: {} - goal: - properties: - vessel: - type: string - required: - - vessel - type: object - result: {} - required: - - goal - title: stop_stir参数 - type: object - type: UniLabJsonCommand start_stir: feedback: current_speed: stir_speed @@ -3415,7 +2348,6 @@ mock_stirrer_new: description: ROS Action StartStir 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: current_speed: type: number @@ -3430,7 +2362,6 @@ mock_stirrer_new: title: StartStir_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: purpose: type: string @@ -3445,7 +2376,6 @@ mock_stirrer_new: title: StartStir_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: message: type: string @@ -3482,7 +2412,6 @@ mock_stirrer_new: description: ROS Action Stir 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -3491,7 +2420,6 @@ mock_stirrer_new: title: Stir_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: settling_time: type: number @@ -3506,7 +2434,6 @@ mock_stirrer_new: title: Stir_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -3538,7 +2465,6 @@ mock_stirrer_new: description: ROS Action StopStir 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: current_status: type: string @@ -3550,7 +2476,6 @@ mock_stirrer_new: title: StopStir_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: vessel: type: string @@ -3559,7 +2484,6 @@ mock_stirrer_new: title: StopStir_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: message: type: string @@ -3663,154 +2587,6 @@ mock_vacuum: title: emergency_stop参数 type: object type: UniLabJsonCommand - auto-pause_vacuum: - feedback: {} - goal: {} - goal_default: {} - handles: [] - result: {} - schema: - description: pause_vacuum的参数schema - properties: - feedback: {} - goal: - properties: {} - required: [] - type: object - result: {} - required: - - goal - title: pause_vacuum参数 - type: object - type: UniLabJsonCommand - auto-power_control: - feedback: {} - goal: {} - goal_default: - power_state: 'On' - handles: [] - result: {} - schema: - description: power_control的参数schema - properties: - feedback: {} - goal: - properties: - power_state: - default: 'On' - type: string - required: [] - type: object - result: {} - required: - - goal - title: power_control参数 - type: object - type: UniLabJsonCommand - auto-resume_vacuum: - feedback: {} - goal: {} - goal_default: {} - handles: [] - result: {} - schema: - description: resume_vacuum的参数schema - properties: - feedback: {} - goal: - properties: {} - required: [] - type: object - result: {} - required: - - goal - title: resume_vacuum参数 - type: object - type: UniLabJsonCommand - auto-set_vacuum_level: - feedback: {} - goal: {} - goal_default: - vacuum_level: null - handles: [] - result: {} - schema: - description: set_vacuum_level的参数schema - properties: - feedback: {} - goal: - properties: - vacuum_level: - type: number - required: - - vacuum_level - type: object - result: {} - required: - - goal - title: set_vacuum_level参数 - type: object - type: UniLabJsonCommand - auto-start_vacuum: - feedback: {} - goal: {} - goal_default: {} - handles: [] - result: {} - schema: - description: start_vacuum的参数schema - properties: - feedback: {} - goal: - properties: {} - required: [] - type: object - result: {} - required: - - goal - title: start_vacuum参数 - type: object - type: UniLabJsonCommand - auto-stop_vacuum: - feedback: {} - goal: {} - goal_default: {} - handles: [] - result: {} - schema: - description: stop_vacuum的参数schema - properties: - feedback: {} - goal: - properties: {} - required: [] - type: object - result: {} - required: - - goal - title: stop_vacuum参数 - type: object - type: UniLabJsonCommand - auto-vent_to_atmosphere: - feedback: {} - goal: {} - goal_default: {} - handles: [] - result: {} - schema: - description: vent_to_atmosphere的参数schema - properties: - feedback: {} - goal: - properties: {} - required: [] - type: object - result: {} - required: - - goal - title: vent_to_atmosphere参数 - type: object - type: UniLabJsonCommand pause_vacuum: feedback: {} goal: {} @@ -3822,19 +2598,16 @@ mock_vacuum: description: ROS Action EmptyIn 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: EmptyIn_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: {} required: [] title: EmptyIn_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -3860,13 +2633,11 @@ mock_vacuum: description: ROS Action StrSingleInput 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: StrSingleInput_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: string: type: string @@ -3875,7 +2646,6 @@ mock_vacuum: title: StrSingleInput_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -3902,19 +2672,16 @@ mock_vacuum: description: ROS Action EmptyIn 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: EmptyIn_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: {} required: [] title: EmptyIn_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -3940,13 +2707,11 @@ mock_vacuum: description: ROS Action FloatSingleInput 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: FloatSingleInput_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: float_in: type: number @@ -3955,7 +2720,6 @@ mock_vacuum: title: FloatSingleInput_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -3982,19 +2746,16 @@ mock_vacuum: description: ROS Action EmptyIn 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: EmptyIn_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: {} required: [] title: EmptyIn_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -4018,19 +2779,16 @@ mock_vacuum: description: ROS Action EmptyIn 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: EmptyIn_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: {} required: [] title: EmptyIn_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -4054,19 +2812,16 @@ mock_vacuum: description: ROS Action EmptyIn 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: EmptyIn_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: {} required: [] title: EmptyIn_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string diff --git a/unilabos/registry/devices/moveit_config.yaml b/unilabos/registry/devices/moveit_config.yaml index e556bc8..2166887 100644 --- a/unilabos/registry/devices/moveit_config.yaml +++ b/unilabos/registry/devices/moveit_config.yaml @@ -117,30 +117,6 @@ moveit.arm_slider: title: moveit_task参数 type: object type: UniLabJsonCommand - auto-pick_and_place: - feedback: {} - goal: {} - goal_default: - command: null - handles: [] - result: {} - schema: - description: pick_and_place的参数schema - properties: - feedback: {} - goal: - properties: - command: - type: string - required: - - command - type: object - result: {} - required: - - goal - title: pick_and_place参数 - type: object - type: UniLabJsonCommand auto-post_init: feedback: {} goal: {} @@ -193,54 +169,6 @@ moveit.arm_slider: title: resource_manager参数 type: object type: UniLabJsonCommand - auto-set_position: - feedback: {} - goal: {} - goal_default: - command: null - handles: [] - result: {} - schema: - description: set_position的参数schema - properties: - feedback: {} - goal: - properties: - command: - type: string - required: - - command - type: object - result: {} - required: - - goal - title: set_position参数 - type: object - type: UniLabJsonCommand - auto-set_status: - feedback: {} - goal: {} - goal_default: - command: null - handles: [] - result: {} - schema: - description: set_status的参数schema - properties: - feedback: {} - goal: - properties: - command: - type: string - required: - - command - type: object - result: {} - required: - - goal - title: set_status参数 - type: object - type: UniLabJsonCommand auto-wait_for_resource_action: feedback: {} goal: {} @@ -273,7 +201,6 @@ moveit.arm_slider: description: ROS Action SendCmd 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -282,7 +209,6 @@ moveit.arm_slider: title: SendCmd_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: command: type: string @@ -291,7 +217,6 @@ moveit.arm_slider: title: SendCmd_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -319,7 +244,6 @@ moveit.arm_slider: description: ROS Action SendCmd 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -328,7 +252,6 @@ moveit.arm_slider: title: SendCmd_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: command: type: string @@ -337,7 +260,6 @@ moveit.arm_slider: title: SendCmd_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -365,7 +287,6 @@ moveit.arm_slider: description: ROS Action SendCmd 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -374,7 +295,6 @@ moveit.arm_slider: title: SendCmd_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: command: type: string @@ -383,7 +303,6 @@ moveit.arm_slider: title: SendCmd_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -402,7 +321,7 @@ moveit.arm_slider: module: unilabos.devices.ros_dev.moveit_interface:MoveitInterface status_types: {} type: python - description: Arm with Slider + description: 机械臂与滑块运动系统,基于MoveIt2运动规划框架的多自由度机械臂控制设备。该系统集成机械臂和线性滑块,通过ROS2和MoveIt2实现精确的轨迹规划和协调运动控制。支持笛卡尔空间和关节空间的运动规划、碰撞检测、逆运动学求解等功能。适用于复杂的pick-and-place操作、精密装配、多工位协作等需要高精度多轴协调运动的实验室自动化应用。 handles: [] icon: '' init_param_schema: @@ -546,30 +465,6 @@ moveit.toyo_xyz: title: moveit_task参数 type: object type: UniLabJsonCommand - auto-pick_and_place: - feedback: {} - goal: {} - goal_default: - command: null - handles: [] - result: {} - schema: - description: pick_and_place的参数schema - properties: - feedback: {} - goal: - properties: - command: - type: string - required: - - command - type: object - result: {} - required: - - goal - title: pick_and_place参数 - type: object - type: UniLabJsonCommand auto-post_init: feedback: {} goal: {} @@ -622,54 +517,6 @@ moveit.toyo_xyz: title: resource_manager参数 type: object type: UniLabJsonCommand - auto-set_position: - feedback: {} - goal: {} - goal_default: - command: null - handles: [] - result: {} - schema: - description: set_position的参数schema - properties: - feedback: {} - goal: - properties: - command: - type: string - required: - - command - type: object - result: {} - required: - - goal - title: set_position参数 - type: object - type: UniLabJsonCommand - auto-set_status: - feedback: {} - goal: {} - goal_default: - command: null - handles: [] - result: {} - schema: - description: set_status的参数schema - properties: - feedback: {} - goal: - properties: - command: - type: string - required: - - command - type: object - result: {} - required: - - goal - title: set_status参数 - type: object - type: UniLabJsonCommand auto-wait_for_resource_action: feedback: {} goal: {} @@ -702,7 +549,6 @@ moveit.toyo_xyz: description: ROS Action SendCmd 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -711,7 +557,6 @@ moveit.toyo_xyz: title: SendCmd_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: command: type: string @@ -720,7 +565,6 @@ moveit.toyo_xyz: title: SendCmd_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -748,7 +592,6 @@ moveit.toyo_xyz: description: ROS Action SendCmd 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -757,7 +600,6 @@ moveit.toyo_xyz: title: SendCmd_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: command: type: string @@ -766,7 +608,6 @@ moveit.toyo_xyz: title: SendCmd_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -794,7 +635,6 @@ moveit.toyo_xyz: description: ROS Action SendCmd 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -803,7 +643,6 @@ moveit.toyo_xyz: title: SendCmd_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: command: type: string @@ -812,7 +651,6 @@ moveit.toyo_xyz: title: SendCmd_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -831,7 +669,7 @@ moveit.toyo_xyz: module: unilabos.devices.ros_dev.moveit_interface:MoveitInterface status_types: {} type: python - description: Toyo XYZ + description: 东洋XYZ三轴运动平台,基于MoveIt2运动规划框架的精密定位设备。该设备通过ROS2和MoveIt2实现三维空间的精确运动控制,支持复杂轨迹规划、多点定位、速度控制等功能。具备高精度定位、平稳运动、实时轨迹监控等特性。适用于精密加工、样品定位、检测扫描、自动化装配等需要高精度三维运动控制的实验室和工业应用场景。 handles: [] icon: '' init_param_schema: diff --git a/unilabos/registry/devices/organic_miscellaneous.yaml b/unilabos/registry/devices/organic_miscellaneous.yaml index 00e7550..041bfb0 100644 --- a/unilabos/registry/devices/organic_miscellaneous.yaml +++ b/unilabos/registry/devices/organic_miscellaneous.yaml @@ -93,30 +93,6 @@ rotavap.one: title: set_rotate_time参数 type: object type: UniLabJsonCommand - auto-set_timer: - feedback: {} - goal: {} - goal_default: - command: null - handles: [] - result: {} - schema: - description: set_timer的参数schema - properties: - feedback: {} - goal: - properties: - command: - type: string - required: - - command - type: object - result: {} - required: - - goal - title: set_timer参数 - type: object - type: UniLabJsonCommand set_timer: feedback: {} goal: @@ -130,7 +106,6 @@ rotavap.one: description: ROS Action SendCmd 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -139,7 +114,6 @@ rotavap.one: title: SendCmd_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: command: type: string @@ -148,7 +122,6 @@ rotavap.one: title: SendCmd_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -167,7 +140,7 @@ rotavap.one: module: unilabos.devices.rotavap.rotavap_one:RotavapOne status_types: {} type: python - description: Rotavap device + description: 旋转蒸发仪设备,用于有机化学实验中的溶剂回收和浓缩操作。该设备通过串口通信控制,集成旋转和真空泵功能,支持定时控制和自动化操作。具备旋转速度调节、真空度控制、温度管理等功能,实现高效的溶剂蒸发和回收。适用于有机合成、天然产物提取、药物制备等需要溶剂去除和浓缩的实验室应用场景。 handles: [] icon: '' init_param_schema: @@ -208,38 +181,6 @@ separator.homemade: title: read_sensor_loop参数 type: object type: UniLabJsonCommand - auto-stir: - feedback: {} - goal: {} - goal_default: - settling_time: 10 - stir_speed: 300 - stir_time: 10 - handles: [] - result: {} - schema: - description: stir的参数schema - properties: - feedback: {} - goal: - properties: - settling_time: - default: 10 - type: number - stir_speed: - default: 300 - type: number - stir_time: - default: 10 - type: number - required: [] - type: object - result: {} - required: - - goal - title: stir参数 - type: object - type: UniLabJsonCommand auto-valve_open: feedback: {} goal: {} @@ -268,30 +209,6 @@ separator.homemade: title: valve_open参数 type: object type: UniLabJsonCommand - auto-valve_open_cmd: - feedback: {} - goal: {} - goal_default: - command: null - handles: [] - result: {} - schema: - description: valve_open_cmd的参数schema - properties: - feedback: {} - goal: - properties: - command: - type: string - required: - - command - type: object - result: {} - required: - - goal - title: valve_open_cmd参数 - type: object - type: UniLabJsonCommand auto-write: feedback: {} goal: {} @@ -334,7 +251,6 @@ separator.homemade: description: ROS Action Stir 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -343,7 +259,6 @@ separator.homemade: title: Stir_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: settling_time: type: number @@ -358,7 +273,6 @@ separator.homemade: title: Stir_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -382,13 +296,12 @@ separator.homemade: goal_default: command: '' handles: [] - result": + result: success: success schema: description: ROS Action SendCmd 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -397,7 +310,6 @@ separator.homemade: title: SendCmd_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: command: type: string @@ -406,7 +318,6 @@ separator.homemade: title: SendCmd_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -425,7 +336,7 @@ separator.homemade: module: unilabos.devices.separator.homemade_grbl_conductivity:SeparatorController status_types: {} type: python - description: Separator device with homemade grbl controller + description: 液-液分离器设备,基于自制Grbl控制器的自动化分离系统。该设备集成搅拌、沉降、阀门控制和电导率传感器,通过串口通信实现精确的分离操作控制。支持自动搅拌、分层沉降、基于传感器反馈的智能分液等功能。适用于有机化学中的萃取分离、相分离、液-液提取等需要精确分离控制的实验应用。 handles: [] icon: '' init_param_schema: diff --git a/unilabos/registry/devices/pump_and_valve.yaml b/unilabos/registry/devices/pump_and_valve.yaml index dc50dde..72e3e16 100644 --- a/unilabos/registry/devices/pump_and_valve.yaml +++ b/unilabos/registry/devices/pump_and_valve.yaml @@ -125,30 +125,6 @@ solenoid_valve: title: send_command参数 type: object type: UniLabJsonCommand - auto-set_valve_position: - feedback: {} - goal: {} - goal_default: - position: null - handles: [] - result: {} - schema: - description: set_valve_position的参数schema - properties: - feedback: {} - goal: - properties: - position: - type: string - required: - - position - type: object - result: {} - required: - - goal - title: set_valve_position参数 - type: object - type: UniLabJsonCommand set_valve_position: feedback: {} goal: @@ -161,13 +137,11 @@ solenoid_valve: description: ROS Action StrSingleInput 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: StrSingleInput_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: string: type: string @@ -176,7 +150,6 @@ solenoid_valve: title: StrSingleInput_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -197,7 +170,7 @@ solenoid_valve: status: str valve_position: str type: python - description: Solenoid valve + description: 电磁阀控制设备,用于精确的流体路径控制和开关操作。该设备通过串口通信控制电磁阀的开关状态,支持远程操作和状态监测。具备快速响应、可靠密封、状态反馈等特性,广泛应用于流体输送、样品进样、路径切换等需要精确流体控制的实验室自动化应用。 handles: [] icon: '' init_param_schema: @@ -221,26 +194,6 @@ solenoid_valve: solenoid_valve.mock: class: action_value_mappings: - auto-close: - feedback: {} - goal: {} - goal_default: {} - handles: [] - result: {} - schema: - description: close的参数schema - properties: - feedback: {} - goal: - properties: {} - required: [] - type: object - result: {} - required: - - goal - title: close参数 - type: object - type: UniLabJsonCommand auto-is_closed: feedback: {} goal: {} @@ -281,26 +234,6 @@ solenoid_valve.mock: title: is_open参数 type: object type: UniLabJsonCommand - auto-open: - feedback: {} - goal: {} - goal_default: {} - handles: [] - result: {} - schema: - description: open的参数schema - properties: - feedback: {} - goal: - properties: {} - required: [] - type: object - result: {} - required: - - goal - title: open参数 - type: object - type: UniLabJsonCommand auto-set_valve_position: feedback: {} goal: {} @@ -335,19 +268,16 @@ solenoid_valve.mock: description: ROS Action EmptyIn 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: EmptyIn_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: {} required: [] title: EmptyIn_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -370,19 +300,16 @@ solenoid_valve.mock: description: ROS Action EmptyIn 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: EmptyIn_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: {} required: [] title: EmptyIn_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -400,7 +327,7 @@ solenoid_valve.mock: status: str valve_position: str type: python - description: Mock solenoid valve + description: 模拟电磁阀设备,用于系统测试和开发调试。该设备模拟真实电磁阀的开关操作和状态变化,提供与实际设备相同的控制接口和反馈机制。支持流体路径的虚拟控制,便于在没有实际硬件的情况下进行流体系统的集成测试和算法验证。适用于系统开发、流程调试和培训演示等场景。 handles: - data_type: fluid handler_key: in @@ -825,7 +752,7 @@ syringe_pump_with_valve.runze: velocity_grade: String velocity_init: String type: python - description: Runze Syringe pump with valve + description: 润泽精密注射泵设备,集成阀门控制的高精度流体输送系统。该设备通过串口通信控制,支持多种运行模式和精确的体积控制。具备可变速度控制、精密定位、阀门切换、实时状态监控等功能。适用于微量液体输送、精密进样、流速控制、化学反应进料等需要高精度流体操作的实验室自动化应用。 handles: [] icon: '' init_param_schema: diff --git a/unilabos/registry/devices/robot_agv.yaml b/unilabos/registry/devices/robot_agv.yaml index 51b59c2..7f04d9c 100644 --- a/unilabos/registry/devices/robot_agv.yaml +++ b/unilabos/registry/devices/robot_agv.yaml @@ -11,7 +11,7 @@ agv.SEER: handles: [] result: {} schema: - description: send的参数schema + description: AGV底层通信命令发送函数。通过TCP socket连接向AGV发送底层控制命令,支持pose(位置)、status(状态)、nav(导航)等命令类型。用于获取AGV当前位置坐标、运行状态或发送导航指令。该函数封装了AGV的通信协议,将命令转换为十六进制数据包并处理响应解析。 properties: feedback: {} goal: @@ -33,30 +33,6 @@ agv.SEER: title: send参数 type: object type: UniLabJsonCommand - auto-send_nav_task: - feedback: {} - goal: {} - goal_default: - command: null - handles: [] - result: {} - schema: - description: send_nav_task的参数schema - properties: - feedback: {} - goal: - properties: - command: - type: string - required: - - command - type: object - result: {} - required: - - goal - title: send_nav_task参数 - type: object - type: UniLabJsonCommand send_nav_task: feedback: {} goal: @@ -70,7 +46,6 @@ agv.SEER: description: ROS Action SendCmd 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -79,7 +54,6 @@ agv.SEER: title: SendCmd_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: command: type: string @@ -88,7 +62,6 @@ agv.SEER: title: SendCmd_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -109,7 +82,7 @@ agv.SEER: pose: list status: str type: python - description: SEER AGV + description: SEER AGV自动导引车设备,用于实验室内物料和设备的自主移动运输。该AGV通过TCP socket与导航系统通信,具备精确的定位和路径规划能力。支持实时位置监控、状态查询和导航任务执行,可在预设的实验室环境中自主移动至指定位置。适用于样品运输、设备转移、多工位协作等实验室自动化物流场景。 handles: [] icon: '' init_param_schema: diff --git a/unilabos/registry/devices/robot_arm.yaml b/unilabos/registry/devices/robot_arm.yaml index 72f0155..de5b677 100644 --- a/unilabos/registry/devices/robot_arm.yaml +++ b/unilabos/registry/devices/robot_arm.yaml @@ -8,7 +8,7 @@ robotic_arm.UR: handles: [] result: {} schema: - description: arm_init的参数schema + description: 机械臂初始化函数。执行UR机械臂的完整初始化流程,包括上电、释放制动器、解除保护停止状态等。该函数确保机械臂从安全停止状态恢复到可操作状态,是机械臂使用前的必要步骤。初始化完成后机械臂将处于就绪状态,可以接收后续的运动指令。 properties: feedback: {} goal: @@ -29,7 +29,7 @@ robotic_arm.UR: handles: [] result: {} schema: - description: load_pose_data的参数schema + description: 从JSON字符串加载位置数据函数。接收包含机械臂位置信息的JSON格式字符串,解析并存储位置数据供后续运动任务使用。位置数据通常包含多个预定义的工作位置坐标,用于实现精确的多点运动控制。适用于动态配置机械臂工作位置的场景。 properties: feedback: {} goal: @@ -53,7 +53,7 @@ robotic_arm.UR: handles: [] result: {} schema: - description: load_pose_file的参数schema + description: 从文件加载位置数据函数。读取指定的JSON文件并加载其中的机械臂位置信息。该函数支持从外部配置文件中获取预设的工作位置,便于位置数据的管理和重用。适用于需要从固定配置文件中读取复杂位置序列的应用场景。 properties: feedback: {} goal: @@ -69,30 +69,6 @@ robotic_arm.UR: title: load_pose_file参数 type: object type: UniLabJsonCommand - auto-move_pos_task: - feedback: {} - goal: {} - goal_default: - command: null - handles: [] - result: {} - schema: - description: move_pos_task的参数schema - properties: - feedback: {} - goal: - properties: - command: - type: string - required: - - command - type: object - result: {} - required: - - goal - title: move_pos_task参数 - type: object - type: UniLabJsonCommand auto-reload_pose: feedback: {} goal: {} @@ -100,7 +76,7 @@ robotic_arm.UR: handles: [] result: {} schema: - description: reload_pose的参数schema + description: 重新加载位置数据函数。重新读取并解析之前设置的位置文件,更新内存中的位置数据。该函数用于在位置文件被修改后刷新机械臂的位置配置,无需重新初始化整个系统。适用于动态更新机械臂工作位置的场景。 properties: feedback: {} goal: @@ -126,7 +102,6 @@ robotic_arm.UR: description: ROS Action SendCmd 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -135,7 +110,6 @@ robotic_arm.UR: title: SendCmd_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: command: type: string @@ -144,7 +118,6 @@ robotic_arm.UR: title: SendCmd_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -167,7 +140,7 @@ robotic_arm.UR: gripper_pose: float gripper_status: str type: python - description: UR robotic arm + description: Universal Robots机械臂设备,用于实验室精密操作和自动化作业。该设备集成了UR机械臂本体、Robotiq夹爪和RTDE通信接口,支持六自由度精确运动控制和力觉反馈。具备实时位置监控、状态反馈、轨迹规划等功能,可执行复杂的多点位运动任务。适用于样品抓取、精密装配、实验器具操作等需要高精度和高重复性的实验室自动化场景。 handles: [] icon: '' init_param_schema: diff --git a/unilabos/registry/devices/robot_gripper.yaml b/unilabos/registry/devices/robot_gripper.yaml index 8a3be30..03592b6 100644 --- a/unilabos/registry/devices/robot_gripper.yaml +++ b/unilabos/registry/devices/robot_gripper.yaml @@ -51,7 +51,7 @@ gripper.misumi_rz: handles: [] result: {} schema: - description: gripper_move的参数schema + description: 夹爪抓取运动控制函数。控制夹爪的开合运动,支持位置、速度、力矩的精确设定。位置参数控制夹爪开合程度,速度参数控制运动快慢,力矩参数控制夹持强度。该函数提供安全的力控制,避免损坏被抓取物体,适用于各种形状和材质的物品抓取。 properties: feedback: {} goal: @@ -80,7 +80,7 @@ gripper.misumi_rz: handles: [] result: {} schema: - description: init_gripper的参数schema + description: 夹爪初始化函数。执行Misumi RZ夹爪的完整初始化流程,包括Modbus通信建立、电机参数配置、传感器校准等。该函数确保夹爪系统从安全状态恢复到可操作状态,是夹爪使用前的必要步骤。初始化完成后夹爪将处于就绪状态,可接收抓取和旋转指令。 properties: feedback: {} goal: @@ -169,7 +169,7 @@ gripper.misumi_rz: handles: [] result: {} schema: - description: node_gripper_move的参数schema + description: 节点夹爪移动任务函数。接收逗号分隔的命令字符串,解析位置、速度、力矩参数并执行夹爪抓取动作。该函数等待运动完成并返回执行结果,提供同步的运动控制接口。适用于需要可靠完成确认的精密抓取操作。 properties: feedback: {} goal: @@ -193,7 +193,7 @@ gripper.misumi_rz: handles: [] result: {} schema: - description: node_rotate_move的参数schema + description: 节点旋转移动任务函数。接收逗号分隔的命令字符串,解析角度、速度、力矩参数并执行夹爪旋转动作。该函数等待旋转完成并返回执行结果,提供同步的旋转控制接口。适用于需要精确角度定位和完成确认的旋转操作。 properties: feedback: {} goal: @@ -251,7 +251,7 @@ gripper.misumi_rz: handles: [] result: {} schema: - description: rotate_move_abs的参数schema + description: 夹爪绝对位置旋转控制函数。控制夹爪主轴旋转到指定的绝对角度位置,支持360度连续旋转。位置参数指定目标角度,速度参数控制旋转速率,力矩参数设定旋转阻力限制。该函数提供高精度的角度定位,适用于需要精确方向控制的操作场景。 properties: feedback: {} goal: @@ -382,7 +382,6 @@ gripper.misumi_rz: description: ROS Action SendCmd 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -391,7 +390,6 @@ gripper.misumi_rz: title: SendCmd_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: command: type: string @@ -400,7 +398,6 @@ gripper.misumi_rz: title: SendCmd_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -420,7 +417,7 @@ gripper.misumi_rz: status_types: status: str type: python - description: Misumi RZ gripper + description: Misumi RZ系列电子夹爪设备,集成旋转和抓取双重功能的精密夹爪系统。该设备通过Modbus RTU协议与控制系统通信,支持位置、速度、力矩的精确控制。具备高精度的位置反馈、实时状态监控和故障检测功能。适用于需要精密抓取和旋转操作的实验室自动化场景,如样品管理、精密装配、器件操作等应用。 handles: [] icon: '' init_param_schema: @@ -461,7 +458,7 @@ gripper.mock: handles: [] result: {} schema: - description: edit_id的参数schema + description: 模拟夹爪资源ID编辑函数。用于测试和演示资源管理功能,模拟修改夹爪资源的标识信息。该函数接收工作流名称、参数和资源对象,模拟真实的资源更新过程并返回修改后的资源信息。适用于系统测试和开发调试场景。 properties: feedback: {} goal: @@ -484,38 +481,6 @@ gripper.mock: title: edit_id参数 type: object type: UniLabJsonCommand - auto-push_to: - feedback: {} - goal: {} - goal_default: - position: null - torque: null - velocity: 0.0 - handles: [] - result: {} - schema: - description: push_to的参数schema - properties: - feedback: {} - goal: - properties: - position: - type: number - torque: - type: number - velocity: - default: 0.0 - type: number - required: - - position - - torque - type: object - result: {} - required: - - goal - title: push_to参数 - type: object - type: UniLabJsonCommand push_to: feedback: effort: torque @@ -535,7 +500,6 @@ gripper.mock: description: ROS Action GripperCommand 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: effort: type: number @@ -553,7 +517,6 @@ gripper.mock: title: GripperCommand_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: command: properties: @@ -571,7 +534,6 @@ gripper.mock: title: GripperCommand_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: effort: type: number @@ -600,7 +562,7 @@ gripper.mock: torque: float velocity: float type: python - description: Mock gripper + description: 模拟夹爪设备,用于系统测试和开发调试。该设备模拟真实夹爪的位置、速度、力矩等物理特性,支持虚拟的抓取和移动操作。提供与真实夹爪相同的接口和状态反馈,便于在没有实际硬件的情况下进行系统集成测试和算法验证。适用于软件开发、系统调试和培训演示等场景。 handles: [] icon: '' init_param_schema: diff --git a/unilabos/registry/devices/robot_linear_motion.yaml b/unilabos/registry/devices/robot_linear_motion.yaml index fa98ca9..52f673e 100644 --- a/unilabos/registry/devices/robot_linear_motion.yaml +++ b/unilabos/registry/devices/robot_linear_motion.yaml @@ -8,7 +8,7 @@ linear_motion.grbl: handles: [] result: {} schema: - description: initialize的参数schema + description: CNC设备初始化函数。执行Grbl CNC的完整初始化流程,包括归零操作、轴校准和状态复位。该函数将所有轴移动到原点位置(0,0,0),确保设备处于已知的参考状态。初始化完成后设备进入空闲状态,可接收后续的运动指令。 properties: feedback: {} goal: @@ -21,30 +21,6 @@ linear_motion.grbl: title: initialize参数 type: object type: UniLabJsonCommand - auto-move_through_points: - feedback: {} - goal: {} - goal_default: - positions: null - handles: [] - result: {} - schema: - description: move_through_points的参数schema - properties: - feedback: {} - goal: - properties: - positions: - type: array - required: - - positions - type: object - result: {} - required: - - goal - title: move_through_points参数 - type: object - type: UniLabJsonCommand auto-set_position: feedback: {} goal: {} @@ -53,7 +29,7 @@ linear_motion.grbl: handles: [] result: {} schema: - description: set_position的参数schema + description: CNC绝对位置设定函数。控制CNC设备移动到指定的三维坐标位置(x,y,z)。该函数支持安全限位检查,防止超出设备工作范围。移动过程中会监控设备状态,确保安全到达目标位置。适用于精确定位和轨迹控制操作。 properties: feedback: {} goal: @@ -69,34 +45,6 @@ linear_motion.grbl: title: set_position参数 type: object type: UniLabJsonCommand - auto-set_spindle_speed: - feedback: {} - goal: {} - goal_default: - max_velocity: 500 - spindle_speed: null - handles: [] - result: {} - schema: - description: set_spindle_speed的参数schema - properties: - feedback: {} - goal: - properties: - max_velocity: - default: 500 - type: number - spindle_speed: - type: number - required: - - spindle_speed - type: object - result: {} - required: - - goal - title: set_spindle_speed参数 - type: object - type: UniLabJsonCommand auto-stop_operation: feedback: {} goal: {} @@ -104,7 +52,7 @@ linear_motion.grbl: handles: [] result: {} schema: - description: stop_operation的参数schema + description: CNC操作停止函数。立即停止当前正在执行的所有CNC运动,包括轴移动和主轴旋转。该函数用于紧急停止或任务中断,确保设备和工件的安全。停止后设备将保持当前位置,等待新的指令。 properties: feedback: {} goal: @@ -169,7 +117,6 @@ linear_motion.grbl: description: ROS Action NavigateThroughPoses 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: current_pose: properties: @@ -290,7 +237,6 @@ linear_motion.grbl: title: NavigateThroughPoses_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: behavior_tree: type: string @@ -371,7 +317,6 @@ linear_motion.grbl: title: NavigateThroughPoses_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: result: properties: {} @@ -404,7 +349,6 @@ linear_motion.grbl: description: ROS Action SingleJointPosition 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: error: type: number @@ -444,7 +388,6 @@ linear_motion.grbl: title: SingleJointPosition_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: max_velocity: type: number @@ -472,7 +415,6 @@ linear_motion.grbl: title: SingleJointPosition_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: {} required: [] title: SingleJointPosition_Result @@ -488,7 +430,7 @@ linear_motion.grbl: spindle_speed: float status: str type: python - description: Grbl CNC + description: Grbl数控机床(CNC)设备,用于实验室精密加工和三轴定位操作。该设备基于Grbl固件,通过串口通信控制步进电机实现X、Y、Z三轴的精确运动。支持绝对定位、轨迹规划、主轴控制和实时状态监控。具备安全限位保护和运动平滑控制功能。适用于精密钻孔、铣削、雕刻、样品制备等需要高精度定位和加工的实验室应用场景。 handles: [] icon: '' init_param_schema: @@ -537,7 +479,7 @@ motor.iCL42: handles: [] result: {} schema: - description: execute_run_motor的参数schema + description: 步进电机执行运动函数。直接执行电机运动命令,包括位置设定、速度控制和路径规划。该函数处理底层的电机控制协议,消除警告信息,设置运动参数并启动电机运行。适用于需要直接控制电机运动的应用场景。 properties: feedback: {} goal: @@ -566,7 +508,7 @@ motor.iCL42: handles: [] result: {} schema: - description: init_device的参数schema + description: iCL42电机设备初始化函数。建立与iCL42步进电机驱动器的串口通信连接,配置通信参数包括波特率、数据位、校验位等。该函数是电机使用前的必要步骤,确保驱动器处于可控状态并准备接收运动指令。 properties: feedback: {} goal: @@ -589,7 +531,7 @@ motor.iCL42: handles: [] result: {} schema: - description: run_motor的参数schema + description: 步进电机运动控制函数。根据指定的运动模式、目标位置和速度参数控制电机运动。支持多种运动模式和精确的位置控制,自动处理运动轨迹规划和执行。该函数提供异步执行和状态反馈,确保运动的准确性和可靠性。 properties: feedback: {} goal: @@ -624,7 +566,6 @@ motor.iCL42: description: ROS Action SendCmd 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -633,7 +574,6 @@ motor.iCL42: title: SendCmd_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: command: type: string @@ -642,7 +582,6 @@ motor.iCL42: title: SendCmd_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -664,7 +603,7 @@ motor.iCL42: motor_position: int success: bool type: python - description: iCL42 motor + description: iCL42步进电机驱动器,用于实验室设备的精密线性运动控制。该设备通过串口通信控制iCL42型步进电机驱动器,支持多种运动模式和精确的位置、速度控制。具备位置反馈、运行状态监控和故障检测功能。适用于自动进样器、样品传送、精密定位平台等需要准确线性运动控制的实验室自动化设备。 handles: [] icon: '' init_param_schema: diff --git a/unilabos/registry/devices/sim_nodes.yaml b/unilabos/registry/devices/sim_nodes.yaml index 07d1d1d..c2bfa44 100644 --- a/unilabos/registry/devices/sim_nodes.yaml +++ b/unilabos/registry/devices/sim_nodes.yaml @@ -285,7 +285,7 @@ lh_joint_publisher: module: unilabos.devices.ros_dev.liquid_handler_joint_publisher:LiquidHandlerJointPublisher status_types: {} type: ros2 - description: '' + description: 液体处理器关节发布器,用于ROS2仿真系统中的液体处理设备运动控制。该节点通过发布关节状态驱动仿真模型中的机械臂运动,支持三维坐标到关节空间的逆运动学转换、多关节协调控制、资源跟踪和TF变换。具备精确的位置控制、速度调节、pick-and-place操作等功能。适用于液体处理系统的虚拟仿真、运动规划验证、系统集成测试等应用场景。 handles: [] icon: '' init_param_schema: diff --git a/unilabos/registry/devices/temperature.yaml b/unilabos/registry/devices/temperature.yaml index 68a4f5e..7eb157c 100644 --- a/unilabos/registry/devices/temperature.yaml +++ b/unilabos/registry/devices/temperature.yaml @@ -89,30 +89,6 @@ chiller: title: modbus_crc参数 type: object type: UniLabJsonCommand - auto-set_temperature: - feedback: {} - goal: {} - goal_default: - command: null - handles: [] - result: {} - schema: - description: set_temperature的参数schema - properties: - feedback: {} - goal: - properties: - command: - type: string - required: - - command - type: object - result: {} - required: - - goal - title: set_temperature参数 - type: object - type: UniLabJsonCommand auto-stop: feedback: {} goal: {} @@ -146,7 +122,6 @@ chiller: description: ROS Action SendCmd 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -155,7 +130,6 @@ chiller: title: SendCmd_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: command: type: string @@ -164,7 +138,6 @@ chiller: title: SendCmd_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -183,7 +156,7 @@ chiller: module: unilabos.devices.temperature.chiller:Chiller status_types: {} type: python - description: Chiller + description: 实验室制冷设备,用于精确的温度控制和冷却操作。该设备通过Modbus RTU协议与控制系统通信,支持精确的温度设定和监控。具备快速降温、恒温控制和温度保持功能,广泛应用于需要低温环境的化学反应、样品保存、结晶操作等实验场景。提供稳定可靠的冷却性能,确保实验过程的温度精度。 handles: [] icon: '' init_param_schema: @@ -224,50 +197,6 @@ heaterstirrer.dalong: title: close参数 type: object type: UniLabJsonCommand - auto-heatchill: - feedback: {} - goal: {} - goal_default: - purpose: reaction - stir: true - stir_speed: 300 - temp: null - time: 3600 - vessel: null - handles: [] - result: {} - schema: - description: heatchill的参数schema - properties: - feedback: {} - goal: - properties: - purpose: - default: reaction - type: string - stir: - default: true - type: boolean - stir_speed: - default: 300 - type: number - temp: - type: number - time: - default: 3600 - type: number - vessel: - type: string - required: - - vessel - - temp - type: object - result: {} - required: - - goal - title: heatchill参数 - type: object - type: UniLabJsonCommand auto-set_stir_speed: feedback: {} goal: {} @@ -320,54 +249,6 @@ heaterstirrer.dalong: title: set_temp_inner参数 type: object type: UniLabJsonCommand - auto-set_temp_target: - feedback: {} - goal: {} - goal_default: - temp: null - handles: [] - result: {} - schema: - description: set_temp_target的参数schema - properties: - feedback: {} - goal: - properties: - temp: - type: string - required: - - temp - type: object - result: {} - required: - - goal - title: set_temp_target参数 - type: object - type: UniLabJsonCommand - auto-set_temp_warning: - feedback: {} - goal: {} - goal_default: - temp: null - handles: [] - result: {} - schema: - description: set_temp_warning的参数schema - properties: - feedback: {} - goal: - properties: - temp: - type: string - required: - - temp - type: object - result: {} - required: - - goal - title: set_temp_warning参数 - type: object - type: UniLabJsonCommand heatchill: feedback: status: status @@ -390,7 +271,6 @@ heaterstirrer.dalong: description: ROS Action HeatChill 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -399,7 +279,6 @@ heaterstirrer.dalong: title: HeatChill_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: purpose: type: string @@ -423,7 +302,6 @@ heaterstirrer.dalong: title: HeatChill_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -452,7 +330,6 @@ heaterstirrer.dalong: description: ROS Action SendCmd 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -461,7 +338,6 @@ heaterstirrer.dalong: title: SendCmd_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: command: type: string @@ -470,7 +346,6 @@ heaterstirrer.dalong: title: SendCmd_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -499,7 +374,6 @@ heaterstirrer.dalong: description: ROS Action SendCmd 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -508,7 +382,6 @@ heaterstirrer.dalong: title: SendCmd_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: command: type: string @@ -517,7 +390,6 @@ heaterstirrer.dalong: title: SendCmd_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -541,7 +413,7 @@ heaterstirrer.dalong: temp_target: float temp_warning: float type: python - description: DaLong heater stirrer + description: 大龙加热搅拌器,集成加热和搅拌双重功能的实验室设备。该设备通过串口通信控制,支持精确的温度调节、搅拌速度控制和安全保护功能。具备实时温度监测、目标温度设定、安全温度报警等特性。适用于化学合成、样品制备、反应控制等需要同时进行加热和搅拌的实验操作,提供稳定均匀的反应环境。 handles: [] icon: '' init_param_schema: @@ -688,30 +560,6 @@ tempsensor: title: send_prototype_command参数 type: object type: UniLabJsonCommand - auto-set_warning: - feedback: {} - goal: {} - goal_default: - command: null - handles: [] - result: {} - schema: - description: set_warning的参数schema - properties: - feedback: {} - goal: - properties: - command: - type: string - required: - - command - type: object - result: {} - required: - - goal - title: set_warning参数 - type: object - type: UniLabJsonCommand set_warning: feedback: {} goal: @@ -725,7 +573,6 @@ tempsensor: description: ROS Action SendCmd 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -734,7 +581,6 @@ tempsensor: title: SendCmd_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: command: type: string @@ -743,7 +589,6 @@ tempsensor: title: SendCmd_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -763,7 +608,7 @@ tempsensor: status_types: value: float type: python - description: Temperature sensor + description: 高精度温度传感器设备,用于实验室环境和设备的温度监测。该传感器通过Modbus RTU协议与控制系统通信,提供实时准确的温度数据。具备高精度测量、报警温度设定、数据稳定性好等特点。适用于反应器监控、环境温度监测、设备保护等需要精确温度测量的实验场景,为实验安全和数据可靠性提供保障。 handles: [] icon: '' init_param_schema: diff --git a/unilabos/registry/devices/vacuum_and_purge.yaml b/unilabos/registry/devices/vacuum_and_purge.yaml index 7239432..e284f38 100644 --- a/unilabos/registry/devices/vacuum_and_purge.yaml +++ b/unilabos/registry/devices/vacuum_and_purge.yaml @@ -1,26 +1,6 @@ gas_source.mock: class: action_value_mappings: - auto-close: - feedback: {} - goal: {} - goal_default: {} - handles: [] - result: {} - schema: - description: close的参数schema - properties: - feedback: {} - goal: - properties: {} - required: [] - type: object - result: {} - required: - - goal - title: close参数 - type: object - type: UniLabJsonCommand auto-is_closed: feedback: {} goal: {} @@ -61,50 +41,6 @@ gas_source.mock: title: is_open参数 type: object type: UniLabJsonCommand - auto-open: - feedback: {} - goal: {} - goal_default: {} - handles: [] - result: {} - schema: - description: open的参数schema - properties: - feedback: {} - goal: - properties: {} - required: [] - type: object - result: {} - required: - - goal - title: open参数 - type: object - type: UniLabJsonCommand - auto-set_status: - feedback: {} - goal: {} - goal_default: - string: null - handles: [] - result: {} - schema: - description: set_status的参数schema - properties: - feedback: {} - goal: - properties: - string: - type: string - required: - - string - type: object - result: {} - required: - - goal - title: set_status参数 - type: object - type: UniLabJsonCommand close: feedback: {} goal: {} @@ -115,19 +51,16 @@ gas_source.mock: description: ROS Action EmptyIn 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: EmptyIn_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: {} required: [] title: EmptyIn_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -150,19 +83,16 @@ gas_source.mock: description: ROS Action EmptyIn 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: EmptyIn_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: {} required: [] title: EmptyIn_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -187,13 +117,11 @@ gas_source.mock: description: ROS Action StrSingleInput 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: StrSingleInput_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: string: type: string @@ -202,7 +130,6 @@ gas_source.mock: title: StrSingleInput_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -222,7 +149,7 @@ gas_source.mock: status_types: status: str type: python - description: Mock gas source + description: 模拟气体源设备,用于系统测试和开发调试。该设备模拟真实气体源的开关控制和状态监测功能,支持气体供应的启停操作。提供与真实气体源相同的接口和状态反馈,便于在没有实际硬件的情况下进行系统集成测试和算法验证。适用于气路系统调试、软件开发和实验流程验证等场景。 handles: - data_key: fluid_out data_source: executor @@ -249,26 +176,6 @@ gas_source.mock: vacuum_pump.mock: class: action_value_mappings: - auto-close: - feedback: {} - goal: {} - goal_default: {} - handles: [] - result: {} - schema: - description: close的参数schema - properties: - feedback: {} - goal: - properties: {} - required: [] - type: object - result: {} - required: - - goal - title: close参数 - type: object - type: UniLabJsonCommand auto-is_closed: feedback: {} goal: {} @@ -309,50 +216,6 @@ vacuum_pump.mock: title: is_open参数 type: object type: UniLabJsonCommand - auto-open: - feedback: {} - goal: {} - goal_default: {} - handles: [] - result: {} - schema: - description: open的参数schema - properties: - feedback: {} - goal: - properties: {} - required: [] - type: object - result: {} - required: - - goal - title: open参数 - type: object - type: UniLabJsonCommand - auto-set_status: - feedback: {} - goal: {} - goal_default: - string: null - handles: [] - result: {} - schema: - description: set_status的参数schema - properties: - feedback: {} - goal: - properties: - string: - type: string - required: - - string - type: object - result: {} - required: - - goal - title: set_status参数 - type: object - type: UniLabJsonCommand close: feedback: {} goal: {} @@ -363,19 +226,16 @@ vacuum_pump.mock: description: ROS Action EmptyIn 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: EmptyIn_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: {} required: [] title: EmptyIn_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -398,19 +258,16 @@ vacuum_pump.mock: description: ROS Action EmptyIn 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: EmptyIn_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: {} required: [] title: EmptyIn_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -435,13 +292,11 @@ vacuum_pump.mock: description: ROS Action StrSingleInput 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: StrSingleInput_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: string: type: string @@ -450,7 +305,6 @@ vacuum_pump.mock: title: StrSingleInput_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -470,7 +324,7 @@ vacuum_pump.mock: status_types: status: str type: python - description: Mock vacuum pump + description: 模拟真空泵设备,用于系统测试和开发调试。该设备模拟真实真空泵的抽气功能和状态控制,支持真空系统的启停操作和状态监测。提供与真实真空泵相同的接口和控制逻辑,便于在没有实际硬件的情况下进行真空系统的集成测试。适用于真空工艺调试、软件开发和实验流程验证等场景。 handles: - data_key: fluid_in data_source: handle diff --git a/unilabos/registry/devices/virtual_device.yaml b/unilabos/registry/devices/virtual_device.yaml index 8894314..095628c 100644 --- a/unilabos/registry/devices/virtual_device.yaml +++ b/unilabos/registry/devices/virtual_device.yaml @@ -1,42 +1,6 @@ virtual_centrifuge: class: action_value_mappings: - auto-centrifuge: - feedback: {} - goal: {} - goal_default: - speed: null - temp: 25.0 - time: null - vessel: null - handles: [] - result: {} - schema: - description: centrifuge的参数schema - properties: - feedback: {} - goal: - properties: - speed: - type: number - temp: - default: 25.0 - type: number - time: - type: number - vessel: - type: string - required: - - vessel - - speed - - time - type: object - result: {} - required: - - goal - title: centrifuge参数 - type: object - type: UniLabJsonCommandAsync auto-cleanup: feedback: {} goal: {} @@ -101,7 +65,6 @@ virtual_centrifuge: description: ROS Action Centrifuge 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: current_speed: type: number @@ -119,7 +82,6 @@ virtual_centrifuge: title: Centrifuge_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: speed: type: number @@ -137,7 +99,6 @@ virtual_centrifuge: title: Centrifuge_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: message: type: string @@ -274,38 +235,6 @@ virtual_column: title: initialize参数 type: object type: UniLabJsonCommandAsync - auto-run_column: - feedback: {} - goal: {} - goal_default: - column: null - from_vessel: null - to_vessel: null - handles: [] - result: {} - schema: - description: run_column的参数schema - properties: - feedback: {} - goal: - properties: - column: - type: string - from_vessel: - type: string - to_vessel: - type: string - required: - - from_vessel - - to_vessel - - column - type: object - result: {} - required: - - goal - title: run_column参数 - type: object - type: UniLabJsonCommandAsync run_column: feedback: current_status: current_status @@ -328,7 +257,6 @@ virtual_column: description: ROS Action RunColumn 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: progress: type: number @@ -340,7 +268,6 @@ virtual_column: title: RunColumn_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: column: type: string @@ -355,7 +282,6 @@ virtual_column: title: RunColumn_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: message: type: string @@ -468,54 +394,6 @@ virtual_filter: title: cleanup参数 type: object type: UniLabJsonCommandAsync - auto-filter: - feedback: {} - goal: {} - goal_default: - continue_heatchill: false - filtrate_vessel: '' - stir: false - stir_speed: 300.0 - temp: 25.0 - vessel: null - volume: 0.0 - handles: [] - result: {} - schema: - description: filter的参数schema - properties: - feedback: {} - goal: - properties: - continue_heatchill: - default: false - type: boolean - filtrate_vessel: - default: '' - type: string - stir: - default: false - type: boolean - stir_speed: - default: 300.0 - type: number - temp: - default: 25.0 - type: number - vessel: - type: string - volume: - default: 0.0 - type: number - required: - - vessel - type: object - result: {} - required: - - goal - title: filter参数 - type: object - type: UniLabJsonCommandAsync auto-initialize: feedback: {} goal: {} @@ -567,7 +445,6 @@ virtual_filter: description: ROS Action Filter 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: current_status: type: string @@ -585,7 +462,6 @@ virtual_filter: title: Filter_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: continue_heatchill: type: boolean @@ -612,7 +488,6 @@ virtual_filter: title: Filter_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: message: type: string @@ -733,26 +608,6 @@ virtual_gas_source: title: cleanup参数 type: object type: UniLabJsonCommandAsync - auto-close: - feedback: {} - goal: {} - goal_default: {} - handles: [] - result: {} - schema: - description: close的参数schema - properties: - feedback: {} - goal: - properties: {} - required: [] - type: object - result: {} - required: - - goal - title: close参数 - type: object - type: UniLabJsonCommand auto-initialize: feedback: {} goal: {} @@ -813,50 +668,6 @@ virtual_gas_source: title: is_open参数 type: object type: UniLabJsonCommand - auto-open: - feedback: {} - goal: {} - goal_default: {} - handles: [] - result: {} - schema: - description: open的参数schema - properties: - feedback: {} - goal: - properties: {} - required: [] - type: object - result: {} - required: - - goal - title: open参数 - type: object - type: UniLabJsonCommand - auto-set_status: - feedback: {} - goal: {} - goal_default: - string: null - handles: [] - result: {} - schema: - description: set_status的参数schema - properties: - feedback: {} - goal: - properties: - string: - type: string - required: - - string - type: object - result: {} - required: - - goal - title: set_status参数 - type: object - type: UniLabJsonCommand close: feedback: {} goal: {} @@ -867,19 +678,16 @@ virtual_gas_source: description: ROS Action EmptyIn 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: EmptyIn_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: {} required: [] title: EmptyIn_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -902,19 +710,16 @@ virtual_gas_source: description: ROS Action EmptyIn 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: EmptyIn_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: {} required: [] title: EmptyIn_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -939,13 +744,11 @@ virtual_gas_source: description: ROS Action StrSingleInput 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: StrSingleInput_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: string: type: string @@ -954,7 +757,6 @@ virtual_gas_source: title: StrSingleInput_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -1024,106 +826,6 @@ virtual_heatchill: title: cleanup参数 type: object type: UniLabJsonCommandAsync - auto-heat_chill: - feedback: {} - goal: {} - goal_default: - purpose: null - stir: null - stir_speed: null - temp: null - time: null - vessel: null - handles: [] - result: {} - schema: - description: heat_chill的参数schema - properties: - feedback: {} - goal: - properties: - purpose: - type: string - stir: - type: boolean - stir_speed: - type: number - temp: - type: number - time: - type: number - vessel: - type: string - required: - - vessel - - temp - - time - - stir - - stir_speed - - purpose - type: object - result: {} - required: - - goal - title: heat_chill参数 - type: object - type: UniLabJsonCommandAsync - auto-heat_chill_start: - feedback: {} - goal: {} - goal_default: - purpose: null - temp: null - vessel: null - handles: [] - result: {} - schema: - description: heat_chill_start的参数schema - properties: - feedback: {} - goal: - properties: - purpose: - type: string - temp: - type: number - vessel: - type: string - required: - - vessel - - temp - - purpose - type: object - result: {} - required: - - goal - title: heat_chill_start参数 - type: object - type: UniLabJsonCommandAsync - auto-heat_chill_stop: - feedback: {} - goal: {} - goal_default: - vessel: null - handles: [] - result: {} - schema: - description: heat_chill_stop的参数schema - properties: - feedback: {} - goal: - properties: - vessel: - type: string - required: - - vessel - type: object - result: {} - required: - - goal - title: heat_chill_stop参数 - type: object - type: UniLabJsonCommandAsync auto-initialize: feedback: {} goal: {} @@ -1168,7 +870,6 @@ virtual_heatchill: description: ROS Action HeatChill 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -1177,7 +878,6 @@ virtual_heatchill: title: HeatChill_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: purpose: type: string @@ -1201,7 +901,6 @@ virtual_heatchill: title: HeatChill_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -1235,7 +934,6 @@ virtual_heatchill: description: ROS Action HeatChillStart 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -1244,7 +942,6 @@ virtual_heatchill: title: HeatChillStart_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: purpose: type: string @@ -1259,7 +956,6 @@ virtual_heatchill: title: HeatChillStart_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -1289,7 +985,6 @@ virtual_heatchill: description: ROS Action HeatChillStop 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -1298,7 +993,6 @@ virtual_heatchill: title: HeatChillStop_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: vessel: type: string @@ -1307,7 +1001,6 @@ virtual_heatchill: title: HeatChillStop_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -1501,30 +1194,6 @@ virtual_multiway_valve: title: reset参数 type: object type: UniLabJsonCommand - auto-set_position: - feedback: {} - goal: {} - goal_default: - command: null - handles: [] - result: {} - schema: - description: set_position的参数schema - properties: - feedback: {} - goal: - properties: - command: - type: string - required: - - command - type: object - result: {} - required: - - goal - title: set_position参数 - type: object - type: UniLabJsonCommand auto-set_to_port: feedback: {} goal: {} @@ -1569,30 +1238,6 @@ virtual_multiway_valve: title: set_to_pump_position参数 type: object type: UniLabJsonCommand - auto-set_valve_position: - feedback: {} - goal: {} - goal_default: - command: null - handles: [] - result: {} - schema: - description: set_valve_position的参数schema - properties: - feedback: {} - goal: - properties: - command: - type: string - required: - - command - type: object - result: {} - required: - - goal - title: set_valve_position参数 - type: object - type: UniLabJsonCommand auto-switch_between_pump_and_port: feedback: {} goal: {} @@ -1630,7 +1275,6 @@ virtual_multiway_valve: description: ROS Action SendCmd 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -1639,7 +1283,6 @@ virtual_multiway_valve: title: SendCmd_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: command: type: string @@ -1648,7 +1291,6 @@ virtual_multiway_valve: title: SendCmd_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -1677,7 +1319,6 @@ virtual_multiway_valve: description: ROS Action SendCmd 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -1686,7 +1327,6 @@ virtual_multiway_valve: title: SendCmd_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: command: type: string @@ -1695,7 +1335,6 @@ virtual_multiway_valve: title: SendCmd_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -1927,66 +1566,6 @@ virtual_pump: title: initialize参数 type: object type: UniLabJsonCommandAsync - auto-transfer: - feedback: {} - goal: {} - goal_default: - amount: '' - from_vessel: null - rinsing_repeats: 0 - rinsing_solvent: '' - rinsing_volume: 0.0 - solid: false - time: 0.0 - to_vessel: null - viscous: false - volume: null - handles: [] - result: {} - schema: - description: transfer的参数schema - properties: - feedback: {} - goal: - properties: - amount: - default: '' - type: string - from_vessel: - type: string - rinsing_repeats: - default: 0 - type: integer - rinsing_solvent: - default: '' - type: string - rinsing_volume: - default: 0.0 - type: number - solid: - default: false - type: boolean - time: - default: 0.0 - type: number - to_vessel: - type: string - viscous: - default: false - type: boolean - volume: - type: number - required: - - from_vessel - - to_vessel - - volume - type: object - result: {} - required: - - goal - title: transfer参数 - type: object - type: UniLabJsonCommandAsync set_valve_position: feedback: status: status @@ -2001,13 +1580,11 @@ virtual_pump: description: ROS Action FloatSingleInput 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: FloatSingleInput_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: float_in: type: number @@ -2016,7 +1593,6 @@ virtual_pump: title: FloatSingleInput_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -2064,7 +1640,6 @@ virtual_pump: description: ROS Action PumpTransfer 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: current_device: type: string @@ -2108,7 +1683,6 @@ virtual_pump: title: PumpTransfer_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: amount: type: string @@ -2146,7 +1720,6 @@ virtual_pump: title: PumpTransfer_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -2251,46 +1824,6 @@ virtual_rotavap: title: cleanup参数 type: object type: UniLabJsonCommandAsync - auto-evaporate: - feedback: {} - goal: {} - goal_default: - pressure: 0.1 - stir_speed: 100.0 - temp: 60.0 - time: 1800.0 - vessel: null - handles: [] - result: {} - schema: - description: evaporate的参数schema - properties: - feedback: {} - goal: - properties: - pressure: - default: 0.1 - type: number - stir_speed: - default: 100.0 - type: number - temp: - default: 60.0 - type: number - time: - default: 1800.0 - type: number - vessel: - type: string - required: - - vessel - type: object - result: {} - required: - - goal - title: evaporate参数 - type: object - type: UniLabJsonCommandAsync auto-initialize: feedback: {} goal: {} @@ -2337,7 +1870,6 @@ virtual_rotavap: description: ROS Action Evaporate 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: current_device: type: string @@ -2381,7 +1913,6 @@ virtual_rotavap: title: Evaporate_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: pressure: type: number @@ -2402,7 +1933,6 @@ virtual_rotavap: title: Evaporate_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -2548,78 +2078,6 @@ virtual_separator: title: initialize参数 type: object type: UniLabJsonCommandAsync - auto-separate: - feedback: {} - goal: {} - goal_default: - from_vessel: null - product_phase: null - purpose: null - repeats: 1 - separation_vessel: null - settling_time: 300.0 - solvent: '' - solvent_volume: 50.0 - stir_speed: 300.0 - stir_time: 30.0 - through: '' - to_vessel: null - waste_phase_to_vessel: '' - handles: [] - result: {} - schema: - description: separate的参数schema - properties: - feedback: {} - goal: - properties: - from_vessel: - type: string - product_phase: - type: string - purpose: - type: string - repeats: - default: 1 - type: integer - separation_vessel: - type: string - settling_time: - default: 300.0 - type: number - solvent: - default: '' - type: string - solvent_volume: - default: 50.0 - type: number - stir_speed: - default: 300.0 - type: number - stir_time: - default: 30.0 - type: number - through: - default: '' - type: string - to_vessel: - type: string - waste_phase_to_vessel: - default: '' - type: string - required: - - purpose - - product_phase - - from_vessel - - separation_vessel - - to_vessel - type: object - result: {} - required: - - goal - title: separate参数 - type: object - type: UniLabJsonCommandAsync separate: feedback: current_status: status @@ -2660,7 +2118,6 @@ virtual_separator: description: ROS Action Separate 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: current_device: type: string @@ -2704,7 +2161,6 @@ virtual_separator: title: Separate_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: from_vessel: type: string @@ -2751,7 +2207,6 @@ virtual_separator: title: Separate_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -2877,26 +2332,6 @@ virtual_solenoid_valve: title: cleanup参数 type: object type: UniLabJsonCommandAsync - auto-close: - feedback: {} - goal: {} - goal_default: {} - handles: [] - result: {} - schema: - description: close的参数schema - properties: - feedback: {} - goal: - properties: {} - required: [] - type: object - result: {} - required: - - goal - title: close参数 - type: object - type: UniLabJsonCommandAsync auto-initialize: feedback: {} goal: {} @@ -2937,26 +2372,6 @@ virtual_solenoid_valve: title: is_closed参数 type: object type: UniLabJsonCommand - auto-open: - feedback: {} - goal: {} - goal_default: {} - handles: [] - result: {} - schema: - description: open的参数schema - properties: - feedback: {} - goal: - properties: {} - required: [] - type: object - result: {} - required: - - goal - title: open参数 - type: object - type: UniLabJsonCommandAsync auto-reset: feedback: {} goal: {} @@ -2977,53 +2392,6 @@ virtual_solenoid_valve: title: reset参数 type: object type: UniLabJsonCommandAsync - auto-set_state: - feedback: {} - goal: {} - goal_default: - command: null - handles: [] - result: {} - schema: - description: set_state的参数schema - properties: - feedback: {} - goal: - properties: - command: - type: string - required: - - command - type: object - result: {} - required: - - goal - title: set_state参数 - type: object - type: UniLabJsonCommandAsync - auto-set_valve_position: - feedback: {} - goal: {} - goal_default: - command: null - handles: [] - result: {} - schema: - description: set_valve_position的参数schema - properties: - feedback: {} - goal: - properties: - command: - type: string - required: [] - type: object - result: {} - required: - - goal - title: set_valve_position参数 - type: object - type: UniLabJsonCommandAsync auto-toggle: feedback: {} goal: {} @@ -3057,7 +2425,6 @@ virtual_solenoid_valve: description: ROS Action SendCmd 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -3066,7 +2433,6 @@ virtual_solenoid_valve: title: SendCmd_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: command: type: string @@ -3075,7 +2441,6 @@ virtual_solenoid_valve: title: SendCmd_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -3104,7 +2469,6 @@ virtual_solenoid_valve: description: ROS Action SendCmd 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -3113,7 +2477,6 @@ virtual_solenoid_valve: title: SendCmd_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: command: type: string @@ -3122,7 +2485,6 @@ virtual_solenoid_valve: title: SendCmd_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -3151,7 +2513,6 @@ virtual_solenoid_valve: description: ROS Action SendCmd 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -3160,7 +2521,6 @@ virtual_solenoid_valve: title: SendCmd_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: command: type: string @@ -3169,7 +2529,6 @@ virtual_solenoid_valve: title: SendCmd_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -3198,7 +2557,6 @@ virtual_solenoid_valve: description: ROS Action SendCmd 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -3207,7 +2565,6 @@ virtual_solenoid_valve: title: SendCmd_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: command: type: string @@ -3216,7 +2573,6 @@ virtual_solenoid_valve: title: SendCmd_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -3330,94 +2686,6 @@ virtual_stirrer: title: initialize参数 type: object type: UniLabJsonCommandAsync - auto-start_stir: - feedback: {} - goal: {} - goal_default: - purpose: null - stir_speed: null - vessel: null - handles: [] - result: {} - schema: - description: start_stir的参数schema - properties: - feedback: {} - goal: - properties: - purpose: - type: string - stir_speed: - type: number - vessel: - type: string - required: - - vessel - - stir_speed - - purpose - type: object - result: {} - required: - - goal - title: start_stir参数 - type: object - type: UniLabJsonCommandAsync - auto-stir: - feedback: {} - goal: {} - goal_default: - settling_time: null - stir_speed: null - stir_time: null - handles: [] - result: {} - schema: - description: stir的参数schema - properties: - feedback: {} - goal: - properties: - settling_time: - type: number - stir_speed: - type: number - stir_time: - type: number - required: - - stir_time - - stir_speed - - settling_time - type: object - result: {} - required: - - goal - title: stir参数 - type: object - type: UniLabJsonCommandAsync - auto-stop_stir: - feedback: {} - goal: {} - goal_default: - vessel: null - handles: [] - result: {} - schema: - description: stop_stir的参数schema - properties: - feedback: {} - goal: - properties: - vessel: - type: string - required: - - vessel - type: object - result: {} - required: - - goal - title: stop_stir参数 - type: object - type: UniLabJsonCommandAsync start_stir: feedback: status: status @@ -3436,7 +2704,6 @@ virtual_stirrer: description: ROS Action StartStir 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: current_speed: type: number @@ -3451,7 +2718,6 @@ virtual_stirrer: title: StartStir_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: purpose: type: string @@ -3466,7 +2732,6 @@ virtual_stirrer: title: StartStir_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: message: type: string @@ -3503,7 +2768,6 @@ virtual_stirrer: description: ROS Action Stir 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -3512,7 +2776,6 @@ virtual_stirrer: title: Stir_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: settling_time: type: number @@ -3527,7 +2790,6 @@ virtual_stirrer: title: Stir_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -3557,7 +2819,6 @@ virtual_stirrer: description: ROS Action StopStir 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: current_status: type: string @@ -3569,7 +2830,6 @@ virtual_stirrer: title: StopStir_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: vessel: type: string @@ -3578,7 +2838,6 @@ virtual_stirrer: title: StopStir_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: message: type: string @@ -3909,33 +3168,6 @@ virtual_transfer_pump: title: set_max_velocity参数 type: object type: UniLabJsonCommand - auto-set_position: - feedback: {} - goal: {} - goal_default: - max_velocity: null - position: null - handles: [] - result: {} - schema: - description: set_position的参数schema - properties: - feedback: {} - goal: - properties: - max_velocity: - type: number - position: - type: number - required: - - position - type: object - result: {} - required: - - goal - title: set_position参数 - type: object - type: UniLabJsonCommandAsync auto-stop_operation: feedback: {} goal: {} @@ -3956,36 +3188,6 @@ virtual_transfer_pump: title: stop_operation参数 type: object type: UniLabJsonCommandAsync - auto-transfer: - feedback: {} - goal: {} - goal_default: - aspirate_velocity: null - dispense_velocity: null - volume: null - handles: [] - result: {} - schema: - description: transfer的参数schema - properties: - feedback: {} - goal: - properties: - aspirate_velocity: - type: number - dispense_velocity: - type: number - volume: - type: number - required: - - volume - type: object - result: {} - required: - - goal - title: transfer参数 - type: object - type: UniLabJsonCommandAsync set_position: feedback: current_position: current_position @@ -4005,7 +3207,6 @@ virtual_transfer_pump: description: ROS Action SetPumpPosition 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: current_position: type: number @@ -4020,7 +3221,6 @@ virtual_transfer_pump: title: SetPumpPosition_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: max_velocity: type: number @@ -4032,7 +3232,6 @@ virtual_transfer_pump: title: SetPumpPosition_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: message: type: string @@ -4086,7 +3285,6 @@ virtual_transfer_pump: description: ROS Action Transfer 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: current_status: type: string @@ -4101,7 +3299,6 @@ virtual_transfer_pump: title: Transfer_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: amount: type: string @@ -4139,7 +3336,6 @@ virtual_transfer_pump: title: Transfer_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: message: type: string @@ -4236,26 +3432,6 @@ virtual_vacuum_pump: title: cleanup参数 type: object type: UniLabJsonCommandAsync - auto-close: - feedback: {} - goal: {} - goal_default: {} - handles: [] - result: {} - schema: - description: close的参数schema - properties: - feedback: {} - goal: - properties: {} - required: [] - type: object - result: {} - required: - - goal - title: close参数 - type: object - type: UniLabJsonCommand auto-initialize: feedback: {} goal: {} @@ -4316,50 +3492,6 @@ virtual_vacuum_pump: title: is_open参数 type: object type: UniLabJsonCommand - auto-open: - feedback: {} - goal: {} - goal_default: {} - handles: [] - result: {} - schema: - description: open的参数schema - properties: - feedback: {} - goal: - properties: {} - required: [] - type: object - result: {} - required: - - goal - title: open参数 - type: object - type: UniLabJsonCommand - auto-set_status: - feedback: {} - goal: {} - goal_default: - string: null - handles: [] - result: {} - schema: - description: set_status的参数schema - properties: - feedback: {} - goal: - properties: - string: - type: string - required: - - string - type: object - result: {} - required: - - goal - title: set_status参数 - type: object - type: UniLabJsonCommand close: feedback: {} goal: {} @@ -4370,19 +3502,16 @@ virtual_vacuum_pump: description: ROS Action EmptyIn 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: EmptyIn_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: {} required: [] title: EmptyIn_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -4405,19 +3534,16 @@ virtual_vacuum_pump: description: ROS Action EmptyIn 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: EmptyIn_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: {} required: [] title: EmptyIn_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -4442,13 +3568,11 @@ virtual_vacuum_pump: description: ROS Action StrSingleInput 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: StrSingleInput_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: string: type: string @@ -4457,7 +3581,6 @@ virtual_vacuum_pump: title: StrSingleInput_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string diff --git a/unilabos/registry/devices/work_station.yaml b/unilabos/registry/devices/work_station.yaml index ed8b86f..dbfe017 100644 --- a/unilabos/registry/devices/work_station.yaml +++ b/unilabos/registry/devices/work_station.yaml @@ -57,7 +57,6 @@ workstation: description: ROS Action AGVTransfer 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -66,7 +65,6 @@ workstation: title: AGVTransfer_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: from_repo: properties: @@ -226,7 +224,6 @@ workstation: title: AGVTransfer_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -289,7 +286,6 @@ workstation: description: ROS Action Add 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: current_status: type: string @@ -301,7 +297,6 @@ workstation: title: Add_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: amount: type: string @@ -337,7 +332,6 @@ workstation: title: Add_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: message: type: string @@ -389,7 +383,6 @@ workstation: description: ROS Action AdjustPH 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: progress: type: number @@ -401,7 +394,6 @@ workstation: title: AdjustPH_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: ph_value: type: number @@ -416,7 +408,6 @@ workstation: title: AdjustPH_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: message: type: string @@ -465,7 +456,6 @@ workstation: description: ROS Action Centrifuge 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: current_speed: type: number @@ -483,7 +473,6 @@ workstation: title: Centrifuge_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: speed: type: number @@ -501,7 +490,6 @@ workstation: title: Centrifuge_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: message: type: string @@ -557,7 +545,6 @@ workstation: description: ROS Action Clean 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: current_device: type: string @@ -601,7 +588,6 @@ workstation: title: Clean_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: repeats: maximum: 2147483647 @@ -624,7 +610,6 @@ workstation: title: Clean_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -677,7 +662,6 @@ workstation: description: ROS Action CleanVessel 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: progress: type: number @@ -689,7 +673,6 @@ workstation: title: CleanVessel_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: repeats: maximum: 2147483647 @@ -712,7 +695,6 @@ workstation: title: CleanVessel_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: message: type: string @@ -772,7 +754,6 @@ workstation: description: ROS Action Dissolve 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: progress: type: number @@ -784,7 +765,6 @@ workstation: title: Dissolve_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: amount: type: string @@ -811,7 +791,6 @@ workstation: title: Dissolve_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: message: type: string @@ -856,7 +835,6 @@ workstation: description: ROS Action Dry 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: progress: type: number @@ -868,7 +846,6 @@ workstation: title: Dry_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: compound: type: string @@ -880,7 +857,6 @@ workstation: title: Dry_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: message: type: string @@ -927,7 +903,6 @@ workstation: description: ROS Action EvacuateAndRefill 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: current_device: type: string @@ -971,7 +946,6 @@ workstation: title: EvacuateAndRefill_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: gas: type: string @@ -988,7 +962,6 @@ workstation: title: EvacuateAndRefill_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -1036,7 +1009,6 @@ workstation: description: ROS Action Evaporate 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: current_device: type: string @@ -1080,7 +1052,6 @@ workstation: title: Evaporate_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: pressure: type: number @@ -1101,7 +1072,6 @@ workstation: title: Evaporate_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -1163,7 +1133,6 @@ workstation: description: ROS Action Filter 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: current_status: type: string @@ -1181,7 +1150,6 @@ workstation: title: Filter_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: continue_heatchill: type: boolean @@ -1208,7 +1176,6 @@ workstation: title: Filter_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: message: type: string @@ -1278,7 +1245,6 @@ workstation: description: ROS Action FilterThrough 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: progress: type: number @@ -1290,7 +1256,6 @@ workstation: title: FilterThrough_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: eluting_repeats: maximum: 2147483647 @@ -1319,7 +1284,6 @@ workstation: title: FilterThrough_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: message: type: string @@ -1372,7 +1336,6 @@ workstation: description: ROS Action HeatChill 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -1381,7 +1344,6 @@ workstation: title: HeatChill_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: purpose: type: string @@ -1405,7 +1367,6 @@ workstation: title: HeatChill_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -1449,7 +1410,6 @@ workstation: description: ROS Action HeatChillStart 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -1458,7 +1418,6 @@ workstation: title: HeatChillStart_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: purpose: type: string @@ -1473,7 +1432,6 @@ workstation: title: HeatChillStart_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -1513,7 +1471,6 @@ workstation: description: ROS Action HeatChillStop 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -1522,7 +1479,6 @@ workstation: title: HeatChillStop_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: vessel: type: string @@ -1531,7 +1487,6 @@ workstation: title: HeatChillStop_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -1575,7 +1530,6 @@ workstation: description: ROS Action Hydrogenate 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: progress: type: number @@ -1587,7 +1541,6 @@ workstation: title: Hydrogenate_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: temp: type: string @@ -1602,7 +1555,6 @@ workstation: title: Hydrogenate_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: message: type: string @@ -1678,7 +1630,6 @@ workstation: description: ROS Action PumpTransfer 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: current_device: type: string @@ -1722,7 +1673,6 @@ workstation: title: PumpTransfer_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: amount: type: string @@ -1760,7 +1710,6 @@ workstation: title: PumpTransfer_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -1818,7 +1767,6 @@ workstation: description: ROS Action Recrystallize 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: progress: type: number @@ -1830,7 +1778,6 @@ workstation: title: Recrystallize_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: ratio: type: string @@ -1851,7 +1798,6 @@ workstation: title: Recrystallize_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: message: type: string @@ -1889,7 +1835,6 @@ workstation: description: ROS Action ResetHandling 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: progress: type: number @@ -1901,7 +1846,6 @@ workstation: title: ResetHandling_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: solvent: type: string @@ -1910,7 +1854,6 @@ workstation: title: ResetHandling_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: message: type: string @@ -1967,7 +1910,6 @@ workstation: description: ROS Action RunColumn 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: progress: type: number @@ -1979,7 +1921,6 @@ workstation: title: RunColumn_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: column: type: string @@ -1994,7 +1935,6 @@ workstation: title: RunColumn_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: message: type: string @@ -2076,7 +2016,6 @@ workstation: description: ROS Action Separate 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: current_device: type: string @@ -2120,7 +2059,6 @@ workstation: title: Separate_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: from_vessel: type: string @@ -2167,7 +2105,6 @@ workstation: title: Separate_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -2211,7 +2148,6 @@ workstation: description: ROS Action StartStir 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: current_speed: type: number @@ -2226,7 +2162,6 @@ workstation: title: StartStir_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: purpose: type: string @@ -2241,7 +2176,6 @@ workstation: title: StartStir_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: message: type: string @@ -2288,7 +2222,6 @@ workstation: description: ROS Action Stir 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: status: type: string @@ -2297,7 +2230,6 @@ workstation: title: Stir_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: settling_time: type: number @@ -2312,7 +2244,6 @@ workstation: title: Stir_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -2352,7 +2283,6 @@ workstation: description: ROS Action StopStir 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: current_status: type: string @@ -2364,7 +2294,6 @@ workstation: title: StopStir_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: vessel: type: string @@ -2373,7 +2302,6 @@ workstation: title: StopStir_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: message: type: string @@ -2449,7 +2377,6 @@ workstation: description: ROS Action Transfer 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: current_status: type: string @@ -2464,7 +2391,6 @@ workstation: title: Transfer_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: amount: type: string @@ -2502,7 +2428,6 @@ workstation: title: Transfer_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: message: type: string @@ -2576,7 +2501,6 @@ workstation: description: ROS Action WashSolid 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: progress: type: number @@ -2588,7 +2512,6 @@ workstation: title: WashSolid_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: filtrate_vessel: type: string @@ -2623,7 +2546,6 @@ workstation: title: WashSolid_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: message: type: string diff --git a/unilabos/registry/devices/zhida_hplc.yaml b/unilabos/registry/devices/zhida_hplc.yaml index 644ab7f..62f1e06 100644 --- a/unilabos/registry/devices/zhida_hplc.yaml +++ b/unilabos/registry/devices/zhida_hplc.yaml @@ -11,19 +11,16 @@ zhida_hplc: description: ROS Action EmptyIn 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: EmptyIn_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: {} required: [] title: EmptyIn_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -36,26 +33,6 @@ zhida_hplc: title: EmptyIn type: object type: EmptyIn - auto-abort: - feedback: {} - goal: {} - goal_default: {} - handles: [] - result: {} - schema: - description: abort的参数schema - properties: - feedback: {} - goal: - properties: {} - required: [] - type: object - result: {} - required: - - goal - title: abort参数 - type: object - type: UniLabJsonCommand auto-close: feedback: {} goal: {} @@ -63,7 +40,7 @@ zhida_hplc: handles: [] result: {} schema: - description: close的参数schema + description: HPLC设备连接关闭函数。安全地断开与智达HPLC设备的TCP socket连接,释放网络资源。该函数确保连接的正确关闭,避免网络资源泄露。通常在设备使用完毕或系统关闭时调用。 properties: feedback: {} goal: @@ -83,7 +60,7 @@ zhida_hplc: handles: [] result: {} schema: - description: connect的参数schema + description: HPLC设备连接建立函数。与智达HPLC设备建立TCP socket通信连接,配置通信超时参数。该函数是设备使用前的必要步骤,建立成功后可进行状态查询、方法获取、任务启动等操作。连接失败时会抛出异常。 properties: feedback: {} goal: @@ -96,30 +73,6 @@ zhida_hplc: title: connect参数 type: object type: UniLabJsonCommand - auto-start: - feedback: {} - goal: {} - goal_default: - text: null - handles: [] - result: {} - schema: - description: start的参数schema - properties: - feedback: {} - goal: - properties: - text: - type: string - required: - - text - type: object - result: {} - required: - - goal - title: start参数 - type: object - type: UniLabJsonCommand get_methods: feedback: {} goal: {} @@ -130,19 +83,16 @@ zhida_hplc: description: ROS Action EmptyIn 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: EmptyIn_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: {} required: [] title: EmptyIn_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -167,13 +117,11 @@ zhida_hplc: description: ROS Action StrSingleInput 的 JSON Schema properties: feedback: - description: Action 反馈 - 执行过程中从服务器发送到客户端 properties: {} required: [] title: StrSingleInput_Feedback type: object goal: - description: Action 目标 - 从客户端发送到服务器 properties: string: type: string @@ -182,7 +130,6 @@ zhida_hplc: title: StrSingleInput_Goal type: object result: - description: Action 结果 - 完成后从服务器发送到客户端 properties: return_info: type: string @@ -203,7 +150,7 @@ zhida_hplc: methods: dict status: dict type: python - description: Zhida HPLC + description: 智达高效液相色谱(HPLC)分析设备,用于实验室样品的分离、检测和定量分析。该设备通过TCP socket与HPLC控制系统通信,支持远程控制和状态监控。具备自动进样、梯度洗脱、多检测器数据采集等功能,可执行复杂的色谱分析方法。适用于化学分析、药物检测、环境监测、生物样品分析等需要高精度分离分析的实验室应用场景。 handles: [] icon: '' init_param_schema: diff --git a/unilabos/registry/registry.py b/unilabos/registry/registry.py index 96d74d8..7725cec 100644 --- a/unilabos/registry/registry.py +++ b/unilabos/registry/registry.py @@ -2,6 +2,8 @@ import copy import io import os import sys +import inspect +import importlib from pathlib import Path from typing import Any, Dict, List @@ -99,6 +101,12 @@ class Registry: } ] }, + # todo: support nested keys, switch to non ros message schema + "placeholder_keys": { + "res_id": "unilabos_resources", # 将当前实验室的全部物料id作为下拉框可选择 + "device_id": "unilabos_devices", # 将当前实验室的全部设备id作为下拉框可选择 + "parent": "unilabos_devices", # 将当前实验室的全部设备id作为下拉框可选择 + }, }, "test_latency": { "type": self.EmptyIn, @@ -161,6 +169,54 @@ class Registry: else: logger.debug(f"[UniLab Registry] Res File-{i+1}/{len(files)} Not Valid YAML File: {file.absolute()}") + def _extract_class_docstrings(self, module_string: str) -> Dict[str, str]: + """ + 从模块字符串中提取类和方法的docstring信息 + + Args: + module_string: 模块字符串,格式为 "module.path:ClassName" + + Returns: + 包含类和方法docstring信息的字典 + """ + docstrings = {"class_docstring": "", "methods": {}} + + if not module_string or ":" not in module_string: + return docstrings + + try: + module_path, class_name = module_string.split(":", 1) + + # 动态导入模块 + module = importlib.import_module(module_path) + + # 获取类 + if hasattr(module, class_name): + cls = getattr(module, class_name) + + # 获取类的docstring + class_doc = inspect.getdoc(cls) + if class_doc: + docstrings["class_docstring"] = class_doc.strip() + + # 获取所有方法的docstring + for method_name, method in inspect.getmembers(cls, predicate=inspect.isfunction): + method_doc = inspect.getdoc(method) + if method_doc: + docstrings["methods"][method_name] = method_doc.strip() + + # 也获取属性方法的docstring + for method_name, method in inspect.getmembers(cls, predicate=lambda x: isinstance(x, property)): + if hasattr(method, "fget") and method.fget: + method_doc = inspect.getdoc(method.fget) + if method_doc: + docstrings["methods"][method_name] = method_doc.strip() + + except Exception as e: + logger.warning(f"[UniLab Registry] 无法提取docstring信息,模块: {module_string}, 错误: {str(e)}") + + return docstrings + def _replace_type_with_class(self, type_name: str, device_id: str, field_name: str) -> Any: """ 将类型名称替换为实际的类对象 @@ -274,15 +330,13 @@ class Registry: param_type = arg_info.get("type", "") param_default = arg_info.get("default") param_required = arg_info.get("required", True) - schema["properties"][param_name] = self._generate_schema_from_info( - param_name, param_type, param_default - ) + schema["properties"][param_name] = self._generate_schema_from_info(param_name, param_type, param_default) if param_required: schema["required"].append(param_name) return { "title": f"{method_name}参数", - "description": f"{method_name}的参数schema", + "description": f"", "type": "object", "properties": {"goal": schema, "feedback": {}, "result": {}}, "required": ["goal"], @@ -348,6 +402,14 @@ class Registry: sorted(device_config["class"]["status_types"].items()) ) if complete_registry: + # 保存原有的description信息 + old_descriptions = {} + for action_name, action_config in device_config["class"]["action_value_mappings"].items(): + if "description" in action_config.get("schema", {}): + description = action_config["schema"]["description"] + if len(description): + old_descriptions[action_name] = action_config["schema"]["description"] + device_config["class"]["action_value_mappings"] = { k: v for k, v in device_config["class"]["action_value_mappings"].items() @@ -366,9 +428,14 @@ class Registry: "handles": [], } # 不生成已配置action的动作 - for k, v in enhanced_info["action_methods"].items() if k not in device_config["class"]["action_value_mappings"] + for k, v in enhanced_info["action_methods"].items() + if k not in device_config["class"]["action_value_mappings"] } ) + + # 恢复原有的description信息(auto开头的不修改) + for action_name, description in old_descriptions.items(): + device_config["class"]["action_value_mappings"][action_name]["schema"]["description"] = description device_config["init_param_schema"] = {} device_config["init_param_schema"]["config"] = self._generate_unilab_json_command_schema( enhanced_info["init_params"], "__init__" @@ -432,6 +499,8 @@ class Registry: } if "registry_type" not in device_config: device_config["registry_type"] = "device" + if "version" not in device_config: + device_config["version"] = "0.0.1" device_config["file_path"] = str(file.absolute()).replace("\\", "/") device_config["registry_type"] = "device" logger.debug( @@ -472,6 +541,13 @@ class Registry: }, **schema["properties"]["goal"]["properties"], } + # 将 placeholder_keys 信息添加到 schema 中 + if "placeholder_keys" in action_config and action_config.get("schema", {}).get( + "properties", {} + ).get("goal", {}): + action_config["schema"]["properties"]["goal"]["_unilabos_placeholder_info"] = action_config[ + "placeholder_keys" + ] msg = {"id": device_id, **device_info_copy} devices.append(msg) diff --git a/unilabos/ros/msgs/message_converter.py b/unilabos/ros/msgs/message_converter.py index 9dceef8..5e0bb08 100644 --- a/unilabos/ros/msgs/message_converter.py +++ b/unilabos/ros/msgs/message_converter.py @@ -132,7 +132,11 @@ _msg_converter: Dict[Type, Any] = { Bool: lambda x: Bool(data=bool(x)), str: str, String: lambda x: String(data=str(x)), - Point: lambda x: Point(x=x.x, y=x.y, z=x.z) if not isinstance(x, dict) else Point(x=float(x.get("x", 0.0)), y=float(x.get("y", 0.0)), z=float(x.get("z", 0.0))), + Point: lambda x: ( + Point(x=x.x, y=x.y, z=x.z) + if not isinstance(x, dict) + else Point(x=float(x.get("x", 0.0)), y=float(x.get("y", 0.0)), z=float(x.get("z", 0.0))) + ), Resource: lambda x: Resource( id=x.get("id", ""), name=x.get("name", ""), @@ -142,7 +146,13 @@ _msg_converter: Dict[Type, Any] = { type=x.get("type", ""), category=x.get("class", "") or x.get("type", ""), pose=( - Pose(position=Point(x=float(x.get("position", {}).get("x", 0.0)), y=float(x.get("position", {}).get("y", 0.0)), z=float(x.get("position", {}).get("z", 0.0)))) + Pose( + position=Point( + x=float(x.get("position", {}).get("x", 0.0)), + y=float(x.get("position", {}).get("y", 0.0)), + z=float(x.get("position", {}).get("z", 0.0)), + ) + ) if x.get("position", None) is not None else Pose() ), @@ -151,6 +161,7 @@ _msg_converter: Dict[Type, Any] = { ), } + def json_or_yaml_loads(data: str) -> Any: try: return json.loads(data) @@ -161,6 +172,7 @@ def json_or_yaml_loads(data: str) -> Any: pass raise e + # ROS消息到Python转换器 _msg_converter_back: Dict[Type, Any] = { float: float, @@ -571,30 +583,30 @@ from unilabos.utils.import_manager import ImportManager from unilabos.config.config import ROSConfig basic_type_map = { - 'bool': {'type': 'boolean'}, - 'int8': {'type': 'integer', 'minimum': -128, 'maximum': 127}, - 'uint8': {'type': 'integer', 'minimum': 0, 'maximum': 255}, - 'int16': {'type': 'integer', 'minimum': -32768, 'maximum': 32767}, - 'uint16': {'type': 'integer', 'minimum': 0, 'maximum': 65535}, - 'int32': {'type': 'integer', 'minimum': -2147483648, 'maximum': 2147483647}, - 'uint32': {'type': 'integer', 'minimum': 0, 'maximum': 4294967295}, - 'int64': {'type': 'integer'}, - 'uint64': {'type': 'integer', 'minimum': 0}, - 'double': {'type': 'number'}, - 'float': {'type': 'number'}, - 'float32': {'type': 'number'}, - 'float64': {'type': 'number'}, - 'string': {'type': 'string'}, - 'boolean': {'type': 'boolean'}, - 'char': {'type': 'string', 'maxLength': 1}, - 'byte': {'type': 'integer', 'minimum': 0, 'maximum': 255}, + "bool": {"type": "boolean"}, + "int8": {"type": "integer", "minimum": -128, "maximum": 127}, + "uint8": {"type": "integer", "minimum": 0, "maximum": 255}, + "int16": {"type": "integer", "minimum": -32768, "maximum": 32767}, + "uint16": {"type": "integer", "minimum": 0, "maximum": 65535}, + "int32": {"type": "integer", "minimum": -2147483648, "maximum": 2147483647}, + "uint32": {"type": "integer", "minimum": 0, "maximum": 4294967295}, + "int64": {"type": "integer"}, + "uint64": {"type": "integer", "minimum": 0}, + "double": {"type": "number"}, + "float": {"type": "number"}, + "float32": {"type": "number"}, + "float64": {"type": "number"}, + "string": {"type": "string"}, + "boolean": {"type": "boolean"}, + "char": {"type": "string", "maxLength": 1}, + "byte": {"type": "integer", "minimum": 0, "maximum": 255}, } -def ros_field_type_to_json_schema(type_info: Type | str, slot_type: str=None) -> Dict[str, Any]: +def ros_field_type_to_json_schema(type_info: Type | str, slot_type: str = None) -> Dict[str, Any]: """ 将 ROS 字段类型转换为 JSON Schema 类型定义 - + Args: type_info: ROS 类型 slot_type: ROS 类型 @@ -603,10 +615,7 @@ def ros_field_type_to_json_schema(type_info: Type | str, slot_type: str=None) -> 对应的 JSON Schema 类型定义 """ if isinstance(type_info, UnboundedSequence): - return { - 'type': 'array', - 'items': ros_field_type_to_json_schema(type_info.value_type) - } + return {"type": "array", "items": ros_field_type_to_json_schema(type_info.value_type)} if isinstance(type_info, NamespacedType): cls_name = ".".join(type_info.namespaces) + ":" + type_info.name type_class = msg_converter_manager.get_class(cls_name) @@ -614,20 +623,20 @@ def ros_field_type_to_json_schema(type_info: Type | str, slot_type: str=None) -> elif isinstance(type_info, BasicType): return ros_field_type_to_json_schema(type_info.typename) elif isinstance(type_info, UnboundedString): - return basic_type_map['string'] + return basic_type_map["string"] elif isinstance(type_info, str): if type_info in basic_type_map: return basic_type_map[type_info] # 处理时间和持续时间类型 - if type_info in ('time', 'duration', 'builtin_interfaces/Time', 'builtin_interfaces/Duration'): + if type_info in ("time", "duration", "builtin_interfaces/Time", "builtin_interfaces/Duration"): return { - 'type': 'object', - 'properties': { - 'sec': {'type': 'integer', 'description': '秒'}, - 'nanosec': {'type': 'integer', 'description': '纳秒'} + "type": "object", + "properties": { + "sec": {"type": "integer", "description": "秒"}, + "nanosec": {"type": "integer", "description": "纳秒"}, }, - 'required': ['sec', 'nanosec'] + "required": ["sec", "nanosec"], } else: return ros_message_to_json_schema(type_info) @@ -638,9 +647,7 @@ def ros_field_type_to_json_schema(type_info: Type | str, slot_type: str=None) -> # 'type': 'array', # 'items': ros_field_type_to_json_schema(item_type) # } - - # # 处理复杂类型(尝试加载并处理) # try: # # 如果它是一个完整的消息类型规范 (包名/msg/类型名) @@ -655,34 +662,31 @@ def ros_field_type_to_json_schema(type_info: Type | str, slot_type: str=None) -> # logger.debug(f"无法解析类型 {field_type}: {str(e)}") # return {'type': 'object', 'description': f'未知类型: {field_type}'} + def ros_message_to_json_schema(msg_class: Any) -> Dict[str, Any]: """ 将 ROS 消息类转换为 JSON Schema - + Args: msg_class: ROS 消息类 - + Returns: 对应的 JSON Schema 定义 """ - schema = { - 'type': 'object', - 'properties': {}, - 'required': [] - } - + schema = {"type": "object", "properties": {}, "required": []} + # 获取类名作为标题 - if hasattr(msg_class, '__name__'): - schema['title'] = msg_class.__name__ - + if hasattr(msg_class, "__name__"): + schema["title"] = msg_class.__name__ + # 获取消息的字段和字段类型 try: for ind, slot_info in enumerate(msg_class._fields_and_field_types.items()): slot_name, slot_type = slot_info type_info = msg_class.SLOT_TYPES[ind] field_schema = ros_field_type_to_json_schema(type_info, slot_type) - schema['properties'][slot_name] = field_schema - schema['required'].append(slot_name) + schema["properties"][slot_name] = field_schema + schema["required"].append(slot_name) # if hasattr(msg_class, 'get_fields_and_field_types'): # fields_and_types = msg_class.get_fields_and_field_types() # @@ -707,61 +711,65 @@ def ros_message_to_json_schema(msg_class: Any) -> Dict[str, Any]: # schema['required'].append(clean_name) except Exception as e: # 如果获取字段类型失败,添加错误信息 - schema['description'] = f"解析消息字段时出错: {str(e)}" + schema["description"] = f"解析消息字段时出错: {str(e)}" logger.error(f"解析 {msg_class.__name__} 消息字段失败: {str(e)}") - + return schema + def ros_action_to_json_schema(action_class: Any) -> Dict[str, Any]: """ 将 ROS Action 类转换为 JSON Schema - + Args: action_class: ROS Action 类 - + Returns: 完整的 JSON Schema 定义 """ - if not hasattr(action_class, 'Goal') or not hasattr(action_class, 'Feedback') or not hasattr(action_class, 'Result'): + if ( + not hasattr(action_class, "Goal") + or not hasattr(action_class, "Feedback") + or not hasattr(action_class, "Result") + ): raise ValueError(f"{action_class.__name__} 不是有效的 ROS Action 类") - + # 创建基础 schema schema = { - 'title': action_class.__name__, - 'description': f"ROS Action {action_class.__name__} 的 JSON Schema", - 'type': 'object', - 'properties': { - 'goal': { - 'description': 'Action 目标 - 从客户端发送到服务器', + "title": action_class.__name__, + "description": f"ROS Action {action_class.__name__} 的 JSON Schema", + "type": "object", + "properties": { + "goal": { + # 'description': 'Action 目标 - 从客户端发送到服务器', **ros_message_to_json_schema(action_class.Goal) }, - 'feedback': { - 'description': 'Action 反馈 - 执行过程中从服务器发送到客户端', + "feedback": { + # 'description': 'Action 反馈 - 执行过程中从服务器发送到客户端', **ros_message_to_json_schema(action_class.Feedback) }, - 'result': { - 'description': 'Action 结果 - 完成后从服务器发送到客户端', + "result": { + # 'description': 'Action 结果 - 完成后从服务器发送到客户端', **ros_message_to_json_schema(action_class.Result) - } + }, }, - 'required': ['goal'] + "required": ["goal"], } - + return schema + def convert_ros_action_to_jsonschema( - action_name_or_type: Union[str, Type], - output_file: Optional[str] = None, - format: str = 'json' + action_name_or_type: Union[str, Type], output_file: Optional[str] = None, format: str = "json" ) -> Dict[str, Any]: """ 将 ROS Action 类型转换为 JSON Schema,并可选地保存到文件 - + Args: action_name_or_type: ROS Action 类型名称或类 output_file: 可选,输出 JSON Schema 的文件路径 format: 输出格式,'json' 或 'yaml' - + Returns: JSON Schema 定义(字典) """ @@ -771,21 +779,21 @@ def convert_ros_action_to_jsonschema( action_type = get_ros_type_by_msgname(action_name_or_type) else: action_type = action_name_or_type - + # 生成 JSON Schema schema = ros_action_to_json_schema(action_type) - + # 如果指定了输出文件,将 Schema 保存到文件 if output_file: - if format.lower() == 'json': - with open(output_file, 'w', encoding='utf-8') as f: + if format.lower() == "json": + with open(output_file, "w", encoding="utf-8") as f: json.dump(schema, f, indent=2, ensure_ascii=False) - elif format.lower() == 'yaml': - with open(output_file, 'w', encoding='utf-8') as f: + elif format.lower() == "yaml": + with open(output_file, "w", encoding="utf-8") as f: yaml.safe_dump(schema, f, default_flow_style=False, allow_unicode=True) else: raise ValueError(f"不支持的格式: {format},请使用 'json' 或 'yaml'") - + return schema @@ -794,14 +802,14 @@ if __name__ == "__main__": # 示例:转换 NavigateToPose action try: from nav2_msgs.action import NavigateToPose - + # 转换为 JSON Schema 并打印 schema = convert_ros_action_to_jsonschema(NavigateToPose) print(json.dumps(schema, indent=2, ensure_ascii=False)) - + # 保存到文件 # convert_ros_action_to_jsonschema(NavigateToPose, "navigate_to_pose_schema.json") - + # 或者使用字符串形式的 action 名称 # schema = convert_ros_action_to_jsonschema("nav2_msgs/action/NavigateToPose") except ImportError: diff --git a/unilabos/ros/nodes/base_device_node.py b/unilabos/ros/nodes/base_device_node.py index d4ea392..b226edc 100644 --- a/unilabos/ros/nodes/base_device_node.py +++ b/unilabos/ros/nodes/base_device_node.py @@ -307,7 +307,7 @@ class BaseROS2DeviceNode(Node, Generic[T]): # 创建动作服务 if self.create_action_server: for action_name, action_value_mapping in self._action_value_mappings.items(): - if action_name.startswith("auto-"): + if action_name.startswith("auto-") or str(action_value_mapping.get("type", "")).startswith("UniLabJsonCommand"): continue self.create_ros_action_server(action_name, action_value_mapping) diff --git a/unilabos/ros/nodes/presets/host_node.py b/unilabos/ros/nodes/presets/host_node.py index 29cdea9..c7c273d 100644 --- a/unilabos/ros/nodes/presets/host_node.py +++ b/unilabos/ros/nodes/presets/host_node.py @@ -459,7 +459,7 @@ class HostNode(BaseROS2DeviceNode): self.devices_instances[device_id] = d # noinspection PyProtectedMember for action_name, action_value_mapping in d._ros_node._action_value_mappings.items(): - if action_name.startswith("auto-"): + if action_name.startswith("auto-") or str(action_value_mapping.get("type", "")).startswith("UniLabJsonCommand"): continue action_id = f"/devices/{device_id}/{action_name}" if action_id not in self._action_clients: diff --git a/unilabos/ros/nodes/presets/protocol_node.py b/unilabos/ros/nodes/presets/protocol_node.py index f8921da..d2eab27 100644 --- a/unilabos/ros/nodes/presets/protocol_node.py +++ b/unilabos/ros/nodes/presets/protocol_node.py @@ -134,7 +134,7 @@ class ROS2ProtocolNode(BaseROS2DeviceNode): if d is not None and hasattr(d, "ros_node_instance"): node = d.ros_node_instance for action_name, action_mapping in node._action_value_mappings.items(): - if action_name.startswith("auto-"): + if action_name.startswith("auto-") or str(action_mapping.get("type", "")).startswith("UniLabJsonCommand"): continue action_id = f"/devices/{device_id_abs}/{action_name}" if action_id not in self._action_clients: