Initial commit

This commit is contained in:
Junhan Chang
2025-04-17 15:19:47 +08:00
parent a47a3f5c3a
commit c78ac482d8
262 changed files with 39871 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
# 光学表征设备:红外、紫外可见、拉曼等
raman_home_made:
class:
module: unilabos.devices.raman_uv.home_made_raman:RamanObj
type: python
status_types:
status: String
action_value_mappings:
raman_cmd:
type: SendCmd
goal:
command: command
feedback: {}
result:
success: success
schema:
properties:
status:
type: string
required:
- status
additionalProperties: false
type: object

View File

@@ -0,0 +1,189 @@
liquid_handler:
class:
module: pylabrobot.liquid_handling:LiquidHandler
type: python
status_types:
name: String
action_value_mappings:
aspirate:
type: LiquidHandlerAspirate
goal:
resources: resources
vols: vols
use_channels: use_channels
flow_rates: flow_rates
end_delay: end_delay
offsets: offsets
liquid_height: liquid_height
blow_out_air_volume: blow_out_air_volume
feedback: {}
result:
name: name
discard_tips:
type: LiquidHandlerDiscardTips
goal:
use_channels: use_channels
feedback: {}
result:
name: name
dispense:
type: LiquidHandlerDispense
goal:
resources: resources
vols: vols
use_channels: use_channels
flow_rates: flow_rates
offsets: offsets
blow_out_air_volume: blow_out_air_volume
spread: spread
feedback: {}
result:
name: name
drop_tips:
type: LiquidHandlerDropTips
goal:
tip_spots: tip_spots
use_channels: use_channels
offsets: offsets
allow_nonzero_volume: allow_nonzero_volume
feedback: {}
result:
name: name
drop_tips96:
type: LiquidHandlerDropTips96
goal:
tip_rack: tip_rack
offset: offset
allow_nonzero_volume: allow_nonzero_volume
feedback: {}
result:
name: name
move_lid:
type: LiquidHandlerMoveLid
goal:
lid: lid
to: to
intermediate_locations: intermediate_locations
resource_offset: resource_offset
destination_offset: destination_offset
pickup_direction: pickup_direction
drop_direction: drop_direction
get_direction: get_direction
put_direction: put_direction
pickup_distance_from_top: pickup_distance_from_top
feedback: {}
result:
name: name
move_plate:
type: LiquidHandlerMovePlate
goal:
plate: plate
to: to
intermediate_locations: intermediate_locations
resource_offset: resource_offset
pickup_offset: pickup_offset
destination_offset: destination_offset
pickup_direction: pickup_direction
drop_direction: drop_direction
get_direction: get_direction
put_direction: put_direction
feedback: {}
result:
name: name
move_resource:
type: LiquidHandlerMoveResource
goal:
resource: resource
to: to
intermediate_locations: intermediate_locations
resource_offset: resource_offset
destination_offset: destination_offset
pickup_distance_from_top: pickup_distance_from_top
pickup_direction: pickup_direction
drop_direction: drop_direction
get_direction: get_direction
put_direction: put_direction
feedback: {}
result:
name: name
pick_up_tips:
type: LiquidHandlerPickUpTips
goal:
tip_spots: tip_spots
use_channels: use_channels
offsets: offsets
feedback: {}
result:
name: name
pick_up_tips96:
type: LiquidHandlerPickUpTips96
goal:
tip_rack: tip_rack
offset: offset
feedback: {}
result:
name: name
return_tips:
type: LiquidHandlerReturnTips
goal:
use_channels: use_channels
allow_nonzero_volume: allow_nonzero_volume
feedback: {}
result:
name: name
return_tips96:
type: LiquidHandlerReturnTips96
goal:
allow_nonzero_volume: allow_nonzero_volume
feedback: {}
result:
name: name
stamp:
type: LiquidHandlerStamp
goal:
source: source
target: target
volume: volume
aspiration_flow_rate: aspiration_flow_rate
dispense_flow_rate: dispense_flow_rate
feedback: {}
result:
name: name
transfer:
type: LiquidHandlerTransfer
goal:
source: source
targets: targets
source_vol: source_vol
ratios: ratios
target_vols: target_vols
aspiration_flow_rate: aspiration_flow_rate
dispense_flow_rates: dispense_flow_rates
schema:
type: object
properties:
status:
type: string
description: 液体处理仪器当前状态
required:
- status
additionalProperties: false
liquid_handler.revvity:
class:
module: unilabos.devices.liquid_handling.revvity:Revvity
type: python
status_types:
status: String
action_value_mappings:
run:
type: WorkStationRun
goal:
wf_name: file_path
params: params
resource: resource
feedback:
status: status
result:
success: success

View File

@@ -0,0 +1,71 @@
separator.homemade:
class:
module: unilabos.devices.separator.homemade_grbl_conductivity:Separator_Controller
type: python
status_types:
sensordata: Float64
status: String
action_value_mappings:
stir:
type: Stir
goal:
stir_time: stir_time,
stir_speed: stir_speed
settling_time": settling_time
feedback:
status: status
result:
success: success
valve_open_cmd:
type: SendCmd
goal:
command: command
feedback:
status: status
result":
success: success
schema:
type: object
properties:
status:
type: string
description: The status of the device
sensordata:
type: number
description: 电导传感器数据
required:
- status
- sensordata
additionalProperties: false
rotavap.one:
class:
module: unilabos.devices.rotavap.rotavap_one:RotavapOne
type: python
status_types:
pump_time: Float64
rotate_time: Float64
action_value_mappings:
set_timer:
type: SendCmd
goal:
command: command
feedback: {}
result:
success: success
schema:
type: object
properties:
temperature:
type: number
description: 旋蒸水浴温度
pump_time:
type: number
description: The pump time of the device
rotate_time:
type: number
description: The rotate time of the device
required:
- pump_time
- rotate_time
additionalProperties: false

View File

@@ -0,0 +1,35 @@
syringe_pump_with_valve.runze:
class:
module: unilabos.devices.pump_and_valve.runze_backbone:RunzeSyringePump
type: python
schema:
type: object
properties:
status:
type: string
description: The status of the device
position:
type: number
description: The volume of the syringe
speed_max:
type: number
description: The speed of the syringe
valve_position:
type: string
description: The position of the valve
required:
- status
- position
- valve_position
additionalProperties: false
solenoid_valve.mock:
class:
module: unilabos.devices.pump_and_valve.solenoid_valve_mock:SolenoidValveMock
type: python
solenoid_valve:
class:
module: unilabos.devices.pump_and_valve.solenoid_valve:SolenoidValve
type: python

View File

@@ -0,0 +1,28 @@
# 仙工智能底盘(知行使用)
agv.SEER:
class:
module: unilabos.devices.agv.agv_navigator:AgvNavigator
type: python
status_types:
pose: Float64MultiArray
status: String
action_value_mappings:
send_nav_task:
type: SendCmd
goal:
command: command
feedback: {}
result:
success: success
schema:
properties:
pose:
type: array
items:
type: number
status:
type: string
required:
- status
additionalProperties: false
type: object

View File

@@ -0,0 +1,36 @@
robotic_arm.UR:
class:
module: unilabos.devices.agv.ur_arm_task:UrArmTask
type: python
status_types:
arm_pose: Float64MultiArray
gripper_pose: Float64
arm_status: String
gripper_status: String
action_value_mappings:
move_pos_task:
type: SendCmd
goal:
command: command
feedback: {}
result:
success: success
schema:
properties:
arm_pose:
type: array
items:
type: number
gripper_pose:
type: number
arm_status:
type: string
description: 机械臂设备状态
gripper_status:
type: string
description: 机械爪设备状态
required:
- arm_status
- gripper_status
additionalProperties: false
type: object

View File

@@ -0,0 +1,36 @@
gripper.mock:
class:
module: unilabos.devices.gripper.mock:MockGripper
type: python
status_types:
position: Float64
torque: Float64
status: String
action_value_mappings:
push_to:
type: GripperCommand
goal:
command.position: position
command.max_effort: torque
feedback:
position: position
effort: torque
result:
position: position
effort: torque
gripper.misumi_rz:
class:
module: unilabos.devices.motor:Grasp.EleGripper
type: python
status_types:
status: String
action_value_mappings:
execute_command_from_outer:
type: SendCmd
goal:
command: command
feedback: {}
result:
success: success

View File

@@ -0,0 +1,55 @@
linear_motion.grbl:
class:
module: unilabos.devices.cnc.grbl_sync:GrblCNC
type: python
action_value_mappings:
move_through_points: &move_through_points
type: NavigateThroughPoses
goal:
poses[].pose.position: positions[]
feedback:
current_pose.pose.position: position
navigation_time.sec: time_spent
estimated_time_remaining.sec: time_remaining
number_of_poses_remaining: pose_number_remaining
result: {}
set_spindle_speed:
type: SingleJointPosition
goal:
position: spindle_speed
feedback:
position: spindle_speed
result: {}
schema:
type: object
properties:
position:
type: array
items:
type: number
description: The position of the device
spindle_speed:
type: number
description: The spindle speed of the device
required:
- position
- spindle_speed
additionalProperties: false
motor.iCL42:
class:
module: unilabos.devices.motor.iCL42:iCL42Driver
type: python
status_types:
motor_position: Int64
is_executing_run: Bool
success: Bool
action_value_mappings:
execute_command_from_outer:
type: SendCmd
goal:
command: command
feedback: {}
result:
success: success

View File

@@ -0,0 +1,62 @@
heaterstirrer.dalong:
class:
module: unilabos.devices.heaterstirrer.dalong:HeaterStirrer_DaLong
type: python
status_types:
temp: Float64
temp_warning: Float64
stir_speed: Float64
action_value_mappings:
set_temp_warning:
type: SendCmd
goal:
command: temp
feedback: {}
result:
success: success
set_temp_target:
type: SendCmd
goal:
command: temp
feedback: {}
result:
success: success
heatchill:
type: HeatChill
goal:
vessel: vessel
temp: temp
time: time
purpose: purpose
feedback:
status: status
result:
success: success
chiller:
class:
module: unilabos.devices.temperature.chiller:Chiller
type: python
action_value_mappings:
set_temperature:
type: SendCmd
goal:
command: command
feedback: {}
result:
success: success
tempsensor:
class:
module: unilabos.devices.temperature.sensor_node:TempSensorNode
type: python
status_types:
value: Float64
warning: Float64
action_value_mappings:
set_warning:
type: SendCmd
goal:
command: command
feedback: {}
result:
success: success

View File

@@ -0,0 +1,9 @@
vacuum_pump.mock:
class:
module: unilabos.devices.pump_and_valve.vacuum_pump_mock:VacuumPumpMock
type: python
gas_source.mock:
class:
module: unilabos.devices.pump_and_valve.vacuum_pump_mock:VacuumPumpMock
type: python

View File

@@ -0,0 +1,6 @@
workstation:
class:
module: unilabos.ros.nodes.presets.protocol_node:ROS2ProtocolNode
type: ros2
schema:
properties: {}