mirror of
https://github.com/dptech-corp/Uni-Lab-OS.git
synced 2025-12-17 13:01:12 +00:00
更新schema的title字段
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -336,7 +336,7 @@ separator.homemade:
|
|||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
- w
|
- w
|
||||||
title: Quaternion
|
title: orientation
|
||||||
type: object
|
type: object
|
||||||
position:
|
position:
|
||||||
properties:
|
properties:
|
||||||
@@ -350,12 +350,12 @@ separator.homemade:
|
|||||||
- x
|
- x
|
||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
title: Point
|
title: position
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- position
|
- position
|
||||||
- orientation
|
- orientation
|
||||||
title: Pose
|
title: pose
|
||||||
type: object
|
type: object
|
||||||
sample_id:
|
sample_id:
|
||||||
type: string
|
type: string
|
||||||
@@ -372,7 +372,7 @@ separator.homemade:
|
|||||||
- pose
|
- pose
|
||||||
- config
|
- config
|
||||||
- data
|
- data
|
||||||
title: Resource
|
title: vessel
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- vessel
|
- vessel
|
||||||
|
|||||||
@@ -533,7 +533,7 @@ gripper.mock:
|
|||||||
required:
|
required:
|
||||||
- position
|
- position
|
||||||
- max_effort
|
- max_effort
|
||||||
title: GripperCommand
|
title: command
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- command
|
- command
|
||||||
|
|||||||
@@ -139,12 +139,12 @@ linear_motion.grbl:
|
|||||||
required:
|
required:
|
||||||
- sec
|
- sec
|
||||||
- nanosec
|
- nanosec
|
||||||
title: Time
|
title: stamp
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- stamp
|
- stamp
|
||||||
- frame_id
|
- frame_id
|
||||||
title: Header
|
title: header
|
||||||
type: object
|
type: object
|
||||||
pose:
|
pose:
|
||||||
properties:
|
properties:
|
||||||
@@ -163,7 +163,7 @@ linear_motion.grbl:
|
|||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
- w
|
- w
|
||||||
title: Quaternion
|
title: orientation
|
||||||
type: object
|
type: object
|
||||||
position:
|
position:
|
||||||
properties:
|
properties:
|
||||||
@@ -177,17 +177,17 @@ linear_motion.grbl:
|
|||||||
- x
|
- x
|
||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
title: Point
|
title: position
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- position
|
- position
|
||||||
- orientation
|
- orientation
|
||||||
title: Pose
|
title: pose
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- header
|
- header
|
||||||
- pose
|
- pose
|
||||||
title: PoseStamped
|
title: current_pose
|
||||||
type: object
|
type: object
|
||||||
distance_remaining:
|
distance_remaining:
|
||||||
type: number
|
type: number
|
||||||
@@ -204,7 +204,7 @@ linear_motion.grbl:
|
|||||||
required:
|
required:
|
||||||
- sec
|
- sec
|
||||||
- nanosec
|
- nanosec
|
||||||
title: Duration
|
title: estimated_time_remaining
|
||||||
type: object
|
type: object
|
||||||
navigation_time:
|
navigation_time:
|
||||||
properties:
|
properties:
|
||||||
@@ -219,7 +219,7 @@ linear_motion.grbl:
|
|||||||
required:
|
required:
|
||||||
- sec
|
- sec
|
||||||
- nanosec
|
- nanosec
|
||||||
title: Duration
|
title: navigation_time
|
||||||
type: object
|
type: object
|
||||||
number_of_poses_remaining:
|
number_of_poses_remaining:
|
||||||
maximum: 32767
|
maximum: 32767
|
||||||
@@ -262,12 +262,12 @@ linear_motion.grbl:
|
|||||||
required:
|
required:
|
||||||
- sec
|
- sec
|
||||||
- nanosec
|
- nanosec
|
||||||
title: Time
|
title: stamp
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- stamp
|
- stamp
|
||||||
- frame_id
|
- frame_id
|
||||||
title: Header
|
title: header
|
||||||
type: object
|
type: object
|
||||||
pose:
|
pose:
|
||||||
properties:
|
properties:
|
||||||
@@ -286,7 +286,7 @@ linear_motion.grbl:
|
|||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
- w
|
- w
|
||||||
title: Quaternion
|
title: orientation
|
||||||
type: object
|
type: object
|
||||||
position:
|
position:
|
||||||
properties:
|
properties:
|
||||||
@@ -300,17 +300,17 @@ linear_motion.grbl:
|
|||||||
- x
|
- x
|
||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
title: Point
|
title: position
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- position
|
- position
|
||||||
- orientation
|
- orientation
|
||||||
title: Pose
|
title: pose
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- header
|
- header
|
||||||
- pose
|
- pose
|
||||||
title: PoseStamped
|
title: poses
|
||||||
type: object
|
type: object
|
||||||
type: array
|
type: array
|
||||||
required:
|
required:
|
||||||
@@ -323,7 +323,7 @@ linear_motion.grbl:
|
|||||||
result:
|
result:
|
||||||
properties: {}
|
properties: {}
|
||||||
required: []
|
required: []
|
||||||
title: Empty
|
title: result
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- result
|
- result
|
||||||
@@ -371,12 +371,12 @@ linear_motion.grbl:
|
|||||||
required:
|
required:
|
||||||
- sec
|
- sec
|
||||||
- nanosec
|
- nanosec
|
||||||
title: Time
|
title: stamp
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- stamp
|
- stamp
|
||||||
- frame_id
|
- frame_id
|
||||||
title: Header
|
title: header
|
||||||
type: object
|
type: object
|
||||||
position:
|
position:
|
||||||
type: number
|
type: number
|
||||||
@@ -406,7 +406,7 @@ linear_motion.grbl:
|
|||||||
required:
|
required:
|
||||||
- sec
|
- sec
|
||||||
- nanosec
|
- nanosec
|
||||||
title: Duration
|
title: min_duration
|
||||||
type: object
|
type: object
|
||||||
position:
|
position:
|
||||||
type: number
|
type: number
|
||||||
|
|||||||
@@ -362,7 +362,7 @@ heaterstirrer.dalong:
|
|||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
- w
|
- w
|
||||||
title: Quaternion
|
title: orientation
|
||||||
type: object
|
type: object
|
||||||
position:
|
position:
|
||||||
properties:
|
properties:
|
||||||
@@ -376,12 +376,12 @@ heaterstirrer.dalong:
|
|||||||
- x
|
- x
|
||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
title: Point
|
title: position
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- position
|
- position
|
||||||
- orientation
|
- orientation
|
||||||
title: Pose
|
title: pose
|
||||||
type: object
|
type: object
|
||||||
sample_id:
|
sample_id:
|
||||||
type: string
|
type: string
|
||||||
@@ -398,7 +398,7 @@ heaterstirrer.dalong:
|
|||||||
- pose
|
- pose
|
||||||
- config
|
- config
|
||||||
- data
|
- data
|
||||||
title: Resource
|
title: vessel
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- vessel
|
- vessel
|
||||||
|
|||||||
@@ -145,7 +145,7 @@ virtual_centrifuge:
|
|||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
- w
|
- w
|
||||||
title: Quaternion
|
title: orientation
|
||||||
type: object
|
type: object
|
||||||
position:
|
position:
|
||||||
properties:
|
properties:
|
||||||
@@ -159,12 +159,12 @@ virtual_centrifuge:
|
|||||||
- x
|
- x
|
||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
title: Point
|
title: position
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- position
|
- position
|
||||||
- orientation
|
- orientation
|
||||||
title: Pose
|
title: pose
|
||||||
type: object
|
type: object
|
||||||
sample_id:
|
sample_id:
|
||||||
type: string
|
type: string
|
||||||
@@ -181,7 +181,7 @@ virtual_centrifuge:
|
|||||||
- pose
|
- pose
|
||||||
- config
|
- config
|
||||||
- data
|
- data
|
||||||
title: Resource
|
title: vessel
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- vessel
|
- vessel
|
||||||
@@ -446,7 +446,7 @@ virtual_column:
|
|||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
- w
|
- w
|
||||||
title: Quaternion
|
title: orientation
|
||||||
type: object
|
type: object
|
||||||
position:
|
position:
|
||||||
properties:
|
properties:
|
||||||
@@ -460,12 +460,12 @@ virtual_column:
|
|||||||
- x
|
- x
|
||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
title: Point
|
title: position
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- position
|
- position
|
||||||
- orientation
|
- orientation
|
||||||
title: Pose
|
title: pose
|
||||||
type: object
|
type: object
|
||||||
sample_id:
|
sample_id:
|
||||||
type: string
|
type: string
|
||||||
@@ -482,7 +482,7 @@ virtual_column:
|
|||||||
- pose
|
- pose
|
||||||
- config
|
- config
|
||||||
- data
|
- data
|
||||||
title: Resource
|
title: from_vessel
|
||||||
type: object
|
type: object
|
||||||
pct1:
|
pct1:
|
||||||
type: string
|
type: string
|
||||||
@@ -531,7 +531,7 @@ virtual_column:
|
|||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
- w
|
- w
|
||||||
title: Quaternion
|
title: orientation
|
||||||
type: object
|
type: object
|
||||||
position:
|
position:
|
||||||
properties:
|
properties:
|
||||||
@@ -545,12 +545,12 @@ virtual_column:
|
|||||||
- x
|
- x
|
||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
title: Point
|
title: position
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- position
|
- position
|
||||||
- orientation
|
- orientation
|
||||||
title: Pose
|
title: pose
|
||||||
type: object
|
type: object
|
||||||
sample_id:
|
sample_id:
|
||||||
type: string
|
type: string
|
||||||
@@ -567,7 +567,7 @@ virtual_column:
|
|||||||
- pose
|
- pose
|
||||||
- config
|
- config
|
||||||
- data
|
- data
|
||||||
title: Resource
|
title: to_vessel
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- from_vessel
|
- from_vessel
|
||||||
@@ -850,7 +850,7 @@ virtual_filter:
|
|||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
- w
|
- w
|
||||||
title: Quaternion
|
title: orientation
|
||||||
type: object
|
type: object
|
||||||
position:
|
position:
|
||||||
properties:
|
properties:
|
||||||
@@ -864,12 +864,12 @@ virtual_filter:
|
|||||||
- x
|
- x
|
||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
title: Point
|
title: position
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- position
|
- position
|
||||||
- orientation
|
- orientation
|
||||||
title: Pose
|
title: pose
|
||||||
type: object
|
type: object
|
||||||
sample_id:
|
sample_id:
|
||||||
type: string
|
type: string
|
||||||
@@ -886,7 +886,7 @@ virtual_filter:
|
|||||||
- pose
|
- pose
|
||||||
- config
|
- config
|
||||||
- data
|
- data
|
||||||
title: Resource
|
title: filtrate_vessel
|
||||||
type: object
|
type: object
|
||||||
stir:
|
stir:
|
||||||
type: boolean
|
type: boolean
|
||||||
@@ -929,7 +929,7 @@ virtual_filter:
|
|||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
- w
|
- w
|
||||||
title: Quaternion
|
title: orientation
|
||||||
type: object
|
type: object
|
||||||
position:
|
position:
|
||||||
properties:
|
properties:
|
||||||
@@ -943,12 +943,12 @@ virtual_filter:
|
|||||||
- x
|
- x
|
||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
title: Point
|
title: position
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- position
|
- position
|
||||||
- orientation
|
- orientation
|
||||||
title: Pose
|
title: pose
|
||||||
type: object
|
type: object
|
||||||
sample_id:
|
sample_id:
|
||||||
type: string
|
type: string
|
||||||
@@ -965,7 +965,7 @@ virtual_filter:
|
|||||||
- pose
|
- pose
|
||||||
- config
|
- config
|
||||||
- data
|
- data
|
||||||
title: Resource
|
title: vessel
|
||||||
type: object
|
type: object
|
||||||
volume:
|
volume:
|
||||||
type: number
|
type: number
|
||||||
@@ -1071,8 +1071,8 @@ virtual_filter:
|
|||||||
- status
|
- status
|
||||||
- progress
|
- progress
|
||||||
- current_temp
|
- current_temp
|
||||||
- filtered_volume
|
|
||||||
- current_status
|
- current_status
|
||||||
|
- filtered_volume
|
||||||
- message
|
- message
|
||||||
- max_temp
|
- max_temp
|
||||||
- max_stir_speed
|
- max_stir_speed
|
||||||
@@ -1455,7 +1455,7 @@ virtual_heatchill:
|
|||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
- w
|
- w
|
||||||
title: Quaternion
|
title: orientation
|
||||||
type: object
|
type: object
|
||||||
position:
|
position:
|
||||||
properties:
|
properties:
|
||||||
@@ -1469,12 +1469,12 @@ virtual_heatchill:
|
|||||||
- x
|
- x
|
||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
title: Point
|
title: position
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- position
|
- position
|
||||||
- orientation
|
- orientation
|
||||||
title: Pose
|
title: pose
|
||||||
type: object
|
type: object
|
||||||
sample_id:
|
sample_id:
|
||||||
type: string
|
type: string
|
||||||
@@ -1491,7 +1491,7 @@ virtual_heatchill:
|
|||||||
- pose
|
- pose
|
||||||
- config
|
- config
|
||||||
- data
|
- data
|
||||||
title: Resource
|
title: vessel
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- vessel
|
- vessel
|
||||||
@@ -1610,7 +1610,7 @@ virtual_heatchill:
|
|||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
- w
|
- w
|
||||||
title: Quaternion
|
title: orientation
|
||||||
type: object
|
type: object
|
||||||
position:
|
position:
|
||||||
properties:
|
properties:
|
||||||
@@ -1624,12 +1624,12 @@ virtual_heatchill:
|
|||||||
- x
|
- x
|
||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
title: Point
|
title: position
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- position
|
- position
|
||||||
- orientation
|
- orientation
|
||||||
title: Pose
|
title: pose
|
||||||
type: object
|
type: object
|
||||||
sample_id:
|
sample_id:
|
||||||
type: string
|
type: string
|
||||||
@@ -1646,7 +1646,7 @@ virtual_heatchill:
|
|||||||
- pose
|
- pose
|
||||||
- config
|
- config
|
||||||
- data
|
- data
|
||||||
title: Resource
|
title: vessel
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- vessel
|
- vessel
|
||||||
@@ -1747,7 +1747,7 @@ virtual_heatchill:
|
|||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
- w
|
- w
|
||||||
title: Quaternion
|
title: orientation
|
||||||
type: object
|
type: object
|
||||||
position:
|
position:
|
||||||
properties:
|
properties:
|
||||||
@@ -1761,12 +1761,12 @@ virtual_heatchill:
|
|||||||
- x
|
- x
|
||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
title: Point
|
title: position
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- position
|
- position
|
||||||
- orientation
|
- orientation
|
||||||
title: Pose
|
title: pose
|
||||||
type: object
|
type: object
|
||||||
sample_id:
|
sample_id:
|
||||||
type: string
|
type: string
|
||||||
@@ -1783,7 +1783,7 @@ virtual_heatchill:
|
|||||||
- pose
|
- pose
|
||||||
- config
|
- config
|
||||||
- data
|
- data
|
||||||
title: Resource
|
title: vessel
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- vessel
|
- vessel
|
||||||
@@ -2397,7 +2397,7 @@ virtual_rotavap:
|
|||||||
required:
|
required:
|
||||||
- sec
|
- sec
|
||||||
- nanosec
|
- nanosec
|
||||||
title: Duration
|
title: time_remaining
|
||||||
type: object
|
type: object
|
||||||
time_spent:
|
time_spent:
|
||||||
properties:
|
properties:
|
||||||
@@ -2412,7 +2412,7 @@ virtual_rotavap:
|
|||||||
required:
|
required:
|
||||||
- sec
|
- sec
|
||||||
- nanosec
|
- nanosec
|
||||||
title: Duration
|
title: time_spent
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- status
|
- status
|
||||||
@@ -2468,7 +2468,7 @@ virtual_rotavap:
|
|||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
- w
|
- w
|
||||||
title: Quaternion
|
title: orientation
|
||||||
type: object
|
type: object
|
||||||
position:
|
position:
|
||||||
properties:
|
properties:
|
||||||
@@ -2482,12 +2482,12 @@ virtual_rotavap:
|
|||||||
- x
|
- x
|
||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
title: Point
|
title: position
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- position
|
- position
|
||||||
- orientation
|
- orientation
|
||||||
title: Pose
|
title: pose
|
||||||
type: object
|
type: object
|
||||||
sample_id:
|
sample_id:
|
||||||
type: string
|
type: string
|
||||||
@@ -2504,7 +2504,7 @@ virtual_rotavap:
|
|||||||
- pose
|
- pose
|
||||||
- config
|
- config
|
||||||
- data
|
- data
|
||||||
title: Resource
|
title: vessel
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- vessel
|
- vessel
|
||||||
@@ -2889,7 +2889,7 @@ virtual_separator:
|
|||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
- w
|
- w
|
||||||
title: Quaternion
|
title: orientation
|
||||||
type: object
|
type: object
|
||||||
position:
|
position:
|
||||||
properties:
|
properties:
|
||||||
@@ -2903,12 +2903,12 @@ virtual_separator:
|
|||||||
- x
|
- x
|
||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
title: Point
|
title: position
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- position
|
- position
|
||||||
- orientation
|
- orientation
|
||||||
title: Pose
|
title: pose
|
||||||
type: object
|
type: object
|
||||||
sample_id:
|
sample_id:
|
||||||
type: string
|
type: string
|
||||||
@@ -2925,7 +2925,7 @@ virtual_separator:
|
|||||||
- pose
|
- pose
|
||||||
- config
|
- config
|
||||||
- data
|
- data
|
||||||
title: Resource
|
title: from_vessel
|
||||||
type: object
|
type: object
|
||||||
product_phase:
|
product_phase:
|
||||||
type: string
|
type: string
|
||||||
@@ -2964,7 +2964,7 @@ virtual_separator:
|
|||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
- w
|
- w
|
||||||
title: Quaternion
|
title: orientation
|
||||||
type: object
|
type: object
|
||||||
position:
|
position:
|
||||||
properties:
|
properties:
|
||||||
@@ -2978,12 +2978,12 @@ virtual_separator:
|
|||||||
- x
|
- x
|
||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
title: Point
|
title: position
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- position
|
- position
|
||||||
- orientation
|
- orientation
|
||||||
title: Pose
|
title: pose
|
||||||
type: object
|
type: object
|
||||||
sample_id:
|
sample_id:
|
||||||
type: string
|
type: string
|
||||||
@@ -3000,7 +3000,7 @@ virtual_separator:
|
|||||||
- pose
|
- pose
|
||||||
- config
|
- config
|
||||||
- data
|
- data
|
||||||
title: Resource
|
title: product_vessel
|
||||||
type: object
|
type: object
|
||||||
purpose:
|
purpose:
|
||||||
type: string
|
type: string
|
||||||
@@ -3043,7 +3043,7 @@ virtual_separator:
|
|||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
- w
|
- w
|
||||||
title: Quaternion
|
title: orientation
|
||||||
type: object
|
type: object
|
||||||
position:
|
position:
|
||||||
properties:
|
properties:
|
||||||
@@ -3057,12 +3057,12 @@ virtual_separator:
|
|||||||
- x
|
- x
|
||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
title: Point
|
title: position
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- position
|
- position
|
||||||
- orientation
|
- orientation
|
||||||
title: Pose
|
title: pose
|
||||||
type: object
|
type: object
|
||||||
sample_id:
|
sample_id:
|
||||||
type: string
|
type: string
|
||||||
@@ -3079,7 +3079,7 @@ virtual_separator:
|
|||||||
- pose
|
- pose
|
||||||
- config
|
- config
|
||||||
- data
|
- data
|
||||||
title: Resource
|
title: separation_vessel
|
||||||
type: object
|
type: object
|
||||||
settling_time:
|
settling_time:
|
||||||
type: number
|
type: number
|
||||||
@@ -3128,7 +3128,7 @@ virtual_separator:
|
|||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
- w
|
- w
|
||||||
title: Quaternion
|
title: orientation
|
||||||
type: object
|
type: object
|
||||||
position:
|
position:
|
||||||
properties:
|
properties:
|
||||||
@@ -3142,12 +3142,12 @@ virtual_separator:
|
|||||||
- x
|
- x
|
||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
title: Point
|
title: position
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- position
|
- position
|
||||||
- orientation
|
- orientation
|
||||||
title: Pose
|
title: pose
|
||||||
type: object
|
type: object
|
||||||
sample_id:
|
sample_id:
|
||||||
type: string
|
type: string
|
||||||
@@ -3164,7 +3164,7 @@ virtual_separator:
|
|||||||
- pose
|
- pose
|
||||||
- config
|
- config
|
||||||
- data
|
- data
|
||||||
title: Resource
|
title: to_vessel
|
||||||
type: object
|
type: object
|
||||||
vessel:
|
vessel:
|
||||||
properties:
|
properties:
|
||||||
@@ -3201,7 +3201,7 @@ virtual_separator:
|
|||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
- w
|
- w
|
||||||
title: Quaternion
|
title: orientation
|
||||||
type: object
|
type: object
|
||||||
position:
|
position:
|
||||||
properties:
|
properties:
|
||||||
@@ -3215,12 +3215,12 @@ virtual_separator:
|
|||||||
- x
|
- x
|
||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
title: Point
|
title: position
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- position
|
- position
|
||||||
- orientation
|
- orientation
|
||||||
title: Pose
|
title: pose
|
||||||
type: object
|
type: object
|
||||||
sample_id:
|
sample_id:
|
||||||
type: string
|
type: string
|
||||||
@@ -3237,7 +3237,7 @@ virtual_separator:
|
|||||||
- pose
|
- pose
|
||||||
- config
|
- config
|
||||||
- data
|
- data
|
||||||
title: Resource
|
title: vessel
|
||||||
type: object
|
type: object
|
||||||
volume:
|
volume:
|
||||||
type: string
|
type: string
|
||||||
@@ -3276,7 +3276,7 @@ virtual_separator:
|
|||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
- w
|
- w
|
||||||
title: Quaternion
|
title: orientation
|
||||||
type: object
|
type: object
|
||||||
position:
|
position:
|
||||||
properties:
|
properties:
|
||||||
@@ -3290,12 +3290,12 @@ virtual_separator:
|
|||||||
- x
|
- x
|
||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
title: Point
|
title: position
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- position
|
- position
|
||||||
- orientation
|
- orientation
|
||||||
title: Pose
|
title: pose
|
||||||
type: object
|
type: object
|
||||||
sample_id:
|
sample_id:
|
||||||
type: string
|
type: string
|
||||||
@@ -3312,7 +3312,7 @@ virtual_separator:
|
|||||||
- pose
|
- pose
|
||||||
- config
|
- config
|
||||||
- data
|
- data
|
||||||
title: Resource
|
title: waste_phase_to_vessel
|
||||||
type: object
|
type: object
|
||||||
waste_vessel:
|
waste_vessel:
|
||||||
properties:
|
properties:
|
||||||
@@ -3349,7 +3349,7 @@ virtual_separator:
|
|||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
- w
|
- w
|
||||||
title: Quaternion
|
title: orientation
|
||||||
type: object
|
type: object
|
||||||
position:
|
position:
|
||||||
properties:
|
properties:
|
||||||
@@ -3363,12 +3363,12 @@ virtual_separator:
|
|||||||
- x
|
- x
|
||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
title: Point
|
title: position
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- position
|
- position
|
||||||
- orientation
|
- orientation
|
||||||
title: Pose
|
title: pose
|
||||||
type: object
|
type: object
|
||||||
sample_id:
|
sample_id:
|
||||||
type: string
|
type: string
|
||||||
@@ -3385,7 +3385,7 @@ virtual_separator:
|
|||||||
- pose
|
- pose
|
||||||
- config
|
- config
|
||||||
- data
|
- data
|
||||||
title: Resource
|
title: waste_vessel
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- vessel
|
- vessel
|
||||||
@@ -3951,7 +3951,7 @@ virtual_solid_dispenser:
|
|||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
- w
|
- w
|
||||||
title: Quaternion
|
title: orientation
|
||||||
type: object
|
type: object
|
||||||
position:
|
position:
|
||||||
properties:
|
properties:
|
||||||
@@ -3965,12 +3965,12 @@ virtual_solid_dispenser:
|
|||||||
- x
|
- x
|
||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
title: Point
|
title: position
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- position
|
- position
|
||||||
- orientation
|
- orientation
|
||||||
title: Pose
|
title: pose
|
||||||
type: object
|
type: object
|
||||||
sample_id:
|
sample_id:
|
||||||
type: string
|
type: string
|
||||||
@@ -3987,7 +3987,7 @@ virtual_solid_dispenser:
|
|||||||
- pose
|
- pose
|
||||||
- config
|
- config
|
||||||
- data
|
- data
|
||||||
title: Resource
|
title: vessel
|
||||||
type: object
|
type: object
|
||||||
viscous:
|
viscous:
|
||||||
type: boolean
|
type: boolean
|
||||||
@@ -4332,7 +4332,7 @@ virtual_stirrer:
|
|||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
- w
|
- w
|
||||||
title: Quaternion
|
title: orientation
|
||||||
type: object
|
type: object
|
||||||
position:
|
position:
|
||||||
properties:
|
properties:
|
||||||
@@ -4346,12 +4346,12 @@ virtual_stirrer:
|
|||||||
- x
|
- x
|
||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
title: Point
|
title: position
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- position
|
- position
|
||||||
- orientation
|
- orientation
|
||||||
title: Pose
|
title: pose
|
||||||
type: object
|
type: object
|
||||||
sample_id:
|
sample_id:
|
||||||
type: string
|
type: string
|
||||||
@@ -4368,7 +4368,7 @@ virtual_stirrer:
|
|||||||
- pose
|
- pose
|
||||||
- config
|
- config
|
||||||
- data
|
- data
|
||||||
title: Resource
|
title: vessel
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- vessel
|
- vessel
|
||||||
@@ -4492,7 +4492,7 @@ virtual_stirrer:
|
|||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
- w
|
- w
|
||||||
title: Quaternion
|
title: orientation
|
||||||
type: object
|
type: object
|
||||||
position:
|
position:
|
||||||
properties:
|
properties:
|
||||||
@@ -4506,12 +4506,12 @@ virtual_stirrer:
|
|||||||
- x
|
- x
|
||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
title: Point
|
title: position
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- position
|
- position
|
||||||
- orientation
|
- orientation
|
||||||
title: Pose
|
title: pose
|
||||||
type: object
|
type: object
|
||||||
sample_id:
|
sample_id:
|
||||||
type: string
|
type: string
|
||||||
@@ -4528,7 +4528,7 @@ virtual_stirrer:
|
|||||||
- pose
|
- pose
|
||||||
- config
|
- config
|
||||||
- data
|
- data
|
||||||
title: Resource
|
title: vessel
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- vessel
|
- vessel
|
||||||
@@ -4639,7 +4639,7 @@ virtual_stirrer:
|
|||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
- w
|
- w
|
||||||
title: Quaternion
|
title: orientation
|
||||||
type: object
|
type: object
|
||||||
position:
|
position:
|
||||||
properties:
|
properties:
|
||||||
@@ -4653,12 +4653,12 @@ virtual_stirrer:
|
|||||||
- x
|
- x
|
||||||
- y
|
- y
|
||||||
- z
|
- z
|
||||||
title: Point
|
title: position
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- position
|
- position
|
||||||
- orientation
|
- orientation
|
||||||
title: Pose
|
title: pose
|
||||||
type: object
|
type: object
|
||||||
sample_id:
|
sample_id:
|
||||||
type: string
|
type: string
|
||||||
@@ -4675,7 +4675,7 @@ virtual_stirrer:
|
|||||||
- pose
|
- pose
|
||||||
- config
|
- config
|
||||||
- data
|
- data
|
||||||
title: Resource
|
title: vessel
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- vessel
|
- vessel
|
||||||
@@ -4704,6 +4704,7 @@ virtual_stirrer:
|
|||||||
status_types:
|
status_types:
|
||||||
current_speed: float
|
current_speed: float
|
||||||
current_vessel: str
|
current_vessel: str
|
||||||
|
device_info: dict
|
||||||
is_stirring: bool
|
is_stirring: bool
|
||||||
max_speed: float
|
max_speed: float
|
||||||
min_speed: float
|
min_speed: float
|
||||||
@@ -4738,6 +4739,8 @@ virtual_stirrer:
|
|||||||
type: number
|
type: number
|
||||||
current_vessel:
|
current_vessel:
|
||||||
type: string
|
type: string
|
||||||
|
device_info:
|
||||||
|
type: object
|
||||||
is_stirring:
|
is_stirring:
|
||||||
type: boolean
|
type: boolean
|
||||||
max_speed:
|
max_speed:
|
||||||
@@ -4759,6 +4762,7 @@ virtual_stirrer:
|
|||||||
- remaining_time
|
- remaining_time
|
||||||
- max_speed
|
- max_speed
|
||||||
- min_speed
|
- min_speed
|
||||||
|
- device_info
|
||||||
type: object
|
type: object
|
||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
virtual_transfer_pump:
|
virtual_transfer_pump:
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -24,12 +24,11 @@ DEFAULT_PATHS = [Path(__file__).absolute().parent]
|
|||||||
class Registry:
|
class Registry:
|
||||||
def __init__(self, registry_paths=None):
|
def __init__(self, registry_paths=None):
|
||||||
import ctypes
|
import ctypes
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import unilabos_msgs
|
import unilabos_msgs
|
||||||
except ImportError:
|
except ImportError:
|
||||||
logger.error(
|
logger.error("[UniLab Registry] unilabos_msgs模块未找到,请确保已根据官方文档安装unilabos_msgs包。")
|
||||||
"[UniLab Registry] unilabos_msgs模块未找到,请确保已根据官方文档安装unilabos_msgs包。"
|
|
||||||
)
|
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
try:
|
try:
|
||||||
ctypes.CDLL(str(Path(unilabos_msgs.__file__).parent / "unilabos_msgs_s__rosidl_typesupport_c.pyd"))
|
ctypes.CDLL(str(Path(unilabos_msgs.__file__).parent / "unilabos_msgs_s__rosidl_typesupport_c.pyd"))
|
||||||
@@ -219,7 +218,7 @@ class Registry:
|
|||||||
yaml.dump(complete_data, f, allow_unicode=True, default_flow_style=False, Dumper=NoAliasDumper)
|
yaml.dump(complete_data, f, allow_unicode=True, default_flow_style=False, Dumper=NoAliasDumper)
|
||||||
|
|
||||||
self.resource_type_registry.update(data)
|
self.resource_type_registry.update(data)
|
||||||
logger.trace(
|
logger.trace( # type: ignore
|
||||||
f"[UniLab Registry] Resource-{current_resource_number} File-{i+1}/{len(files)} "
|
f"[UniLab Registry] Resource-{current_resource_number} File-{i+1}/{len(files)} "
|
||||||
+ f"Add {list(data.keys())}"
|
+ f"Add {list(data.keys())}"
|
||||||
)
|
)
|
||||||
@@ -406,7 +405,7 @@ class Registry:
|
|||||||
devices_path = abs_path / "devices"
|
devices_path = abs_path / "devices"
|
||||||
device_comms_path = abs_path / "device_comms"
|
device_comms_path = abs_path / "device_comms"
|
||||||
files = list(devices_path.glob("*.yaml")) + list(device_comms_path.glob("*.yaml"))
|
files = list(devices_path.glob("*.yaml")) + list(device_comms_path.glob("*.yaml"))
|
||||||
logger.trace(
|
logger.trace( # type: ignore
|
||||||
f"[UniLab Registry] devices: {devices_path.exists()}, device_comms: {device_comms_path.exists()}, "
|
f"[UniLab Registry] devices: {devices_path.exists()}, device_comms: {device_comms_path.exists()}, "
|
||||||
+ f"total: {len(files)}"
|
+ f"total: {len(files)}"
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
get_workstation_plate_resource:
|
#get_workstation_plate_resource:
|
||||||
category:
|
# category:
|
||||||
- workstation
|
# - workstation
|
||||||
class:
|
# class:
|
||||||
module: unilabos.ros.nodes.presets.workstation:get_workstation_plate_resource
|
# module: unilabos.devices.workstation.workstation_base:get_workstation_plate_resource
|
||||||
type: pylabrobot
|
# type: pylabrobot
|
||||||
description: workstation example resource
|
# description: workstation example resource
|
||||||
handles: []
|
# handles: []
|
||||||
icon: ''
|
# icon: ''
|
||||||
init_param_schema: {}
|
# init_param_schema: {}
|
||||||
registry_type: resource
|
# registry_type: resource
|
||||||
version: 1.0.0
|
# version: 1.0.0
|
||||||
|
|||||||
@@ -646,25 +646,28 @@ basic_type_map = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
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, field_name: str
|
||||||
|
) -> Dict[str, Any]:
|
||||||
"""
|
"""
|
||||||
将 ROS 字段类型转换为 JSON Schema 类型定义
|
将 ROS 字段类型转换为 JSON Schema 类型定义
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
type_info: ROS 类型
|
type_info: ROS 类型
|
||||||
slot_type: ROS 类型
|
slot_type: ROS 类型
|
||||||
|
field_name: 字段名,用于设置复杂类型的title
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
对应的 JSON Schema 类型定义
|
对应的 JSON Schema 类型定义
|
||||||
"""
|
"""
|
||||||
if isinstance(type_info, UnboundedSequence):
|
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, field_name)} # type: ignore
|
||||||
if isinstance(type_info, NamespacedType):
|
if isinstance(type_info, NamespacedType):
|
||||||
cls_name = ".".join(type_info.namespaces) + ":" + type_info.name
|
cls_name = ".".join(type_info.namespaces) + ":" + type_info.name
|
||||||
type_class = msg_converter_manager.get_class(cls_name)
|
type_class = msg_converter_manager.get_class(cls_name)
|
||||||
return ros_field_type_to_json_schema(type_class)
|
return ros_field_type_to_json_schema(type_class, field_name)
|
||||||
elif isinstance(type_info, BasicType):
|
elif isinstance(type_info, BasicType):
|
||||||
return ros_field_type_to_json_schema(type_info.typename)
|
return ros_field_type_to_json_schema(type_info.typename, field_name)
|
||||||
elif isinstance(type_info, UnboundedString):
|
elif isinstance(type_info, UnboundedString):
|
||||||
return basic_type_map["string"]
|
return basic_type_map["string"]
|
||||||
elif isinstance(type_info, str):
|
elif isinstance(type_info, str):
|
||||||
@@ -681,8 +684,9 @@ def ros_field_type_to_json_schema(type_info: Type | str, slot_type: str = None)
|
|||||||
},
|
},
|
||||||
"required": ["sec", "nanosec"],
|
"required": ["sec", "nanosec"],
|
||||||
}
|
}
|
||||||
|
return {}
|
||||||
else:
|
else:
|
||||||
return ros_message_to_json_schema(type_info)
|
return ros_message_to_json_schema(type_info, field_name)
|
||||||
# # 处理数组类型
|
# # 处理数组类型
|
||||||
# if field_type.endswith('[]'):
|
# if field_type.endswith('[]'):
|
||||||
# item_type = field_type[:-2]
|
# item_type = field_type[:-2]
|
||||||
@@ -706,28 +710,28 @@ def ros_field_type_to_json_schema(type_info: Type | str, slot_type: str = None)
|
|||||||
# return {'type': 'object', 'description': f'未知类型: {field_type}'}
|
# return {'type': 'object', 'description': f'未知类型: {field_type}'}
|
||||||
|
|
||||||
|
|
||||||
def ros_message_to_json_schema(msg_class: Any) -> Dict[str, Any]:
|
def ros_message_to_json_schema(msg_class: Any, field_name: str) -> Dict[str, Any]:
|
||||||
"""
|
"""
|
||||||
将 ROS 消息类转换为 JSON Schema
|
将 ROS 消息类转换为 JSON Schema
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
msg_class: ROS 消息类
|
msg_class: ROS 消息类
|
||||||
|
field_name: 字段名,用于设置schema的title,如果为None则使用类名
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
对应的 JSON Schema 定义
|
对应的 JSON Schema 定义
|
||||||
"""
|
"""
|
||||||
schema = {"type": "object", "properties": {}, "required": []}
|
schema = {"type": "object", "properties": {}, "required": []}
|
||||||
|
|
||||||
# 获取类名作为标题
|
# 优先使用字段名作为标题,否则使用类名
|
||||||
if hasattr(msg_class, "__name__"):
|
schema["title"] = field_name
|
||||||
schema["title"] = msg_class.__name__
|
|
||||||
|
|
||||||
# 获取消息的字段和字段类型
|
# 获取消息的字段和字段类型
|
||||||
try:
|
try:
|
||||||
for ind, slot_info in enumerate(msg_class._fields_and_field_types.items()):
|
for ind, slot_info in enumerate(msg_class._fields_and_field_types.items()):
|
||||||
slot_name, slot_type = slot_info
|
slot_name, slot_type = slot_info
|
||||||
type_info = msg_class.SLOT_TYPES[ind]
|
type_info = msg_class.SLOT_TYPES[ind]
|
||||||
field_schema = ros_field_type_to_json_schema(type_info, slot_type)
|
field_schema = ros_field_type_to_json_schema(type_info, slot_name)
|
||||||
schema["properties"][slot_name] = field_schema
|
schema["properties"][slot_name] = field_schema
|
||||||
schema["required"].append(slot_name)
|
schema["required"].append(slot_name)
|
||||||
# if hasattr(msg_class, 'get_fields_and_field_types'):
|
# if hasattr(msg_class, 'get_fields_and_field_types'):
|
||||||
@@ -786,15 +790,15 @@ def ros_action_to_json_schema(action_class: Any, description="") -> Dict[str, An
|
|||||||
"properties": {
|
"properties": {
|
||||||
"goal": {
|
"goal": {
|
||||||
# 'description': 'Action 目标 - 从客户端发送到服务器',
|
# 'description': 'Action 目标 - 从客户端发送到服务器',
|
||||||
**ros_message_to_json_schema(action_class.Goal)
|
**ros_message_to_json_schema(action_class.Goal, action_class.Goal.__name__)
|
||||||
},
|
},
|
||||||
"feedback": {
|
"feedback": {
|
||||||
# 'description': 'Action 反馈 - 执行过程中从服务器发送到客户端',
|
# 'description': 'Action 反馈 - 执行过程中从服务器发送到客户端',
|
||||||
**ros_message_to_json_schema(action_class.Feedback)
|
**ros_message_to_json_schema(action_class.Feedback, action_class.Feedback.__name__)
|
||||||
},
|
},
|
||||||
"result": {
|
"result": {
|
||||||
# 'description': 'Action 结果 - 完成后从服务器发送到客户端',
|
# 'description': 'Action 结果 - 完成后从服务器发送到客户端',
|
||||||
**ros_message_to_json_schema(action_class.Result)
|
**ros_message_to_json_schema(action_class.Result, action_class.Result.__name__)
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"required": ["goal"],
|
"required": ["goal"],
|
||||||
|
|||||||
Reference in New Issue
Block a user