mirror of
https://github.com/dptech-corp/Uni-Lab-OS.git
synced 2025-12-17 21:11:12 +00:00
1115 lines
20 KiB
Markdown
1115 lines
20 KiB
Markdown
## 基础通用操作
|
||
|
||
### `SendCmd`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/SendCmd.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### `FloatSingleInput`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/FloatSingleInput.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### `IntSingleInput`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/IntSingleInput.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### `Point3DSeparateInput`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/Point3DSeparateInput.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### `StrSingleInput`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/StrSingleInput.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### `Wait`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/Wait.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
## 化学实验操作
|
||
|
||
Uni-Lab 化学操作指令集多数来自 [XDL](https://croningroup.gitlab.io/chemputer/xdl/standard/full_steps_specification.html#),包含有机合成实验中常见的操作。
|
||
|
||
### 物料添加
|
||
|
||
#### `Add`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/Add.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
#### `AddSolid`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/AddSolid.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### 液体转移与泵控制
|
||
|
||
#### `PumpTransfer`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/PumpTransfer.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
#### `SetPumpPosition`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/SetPumpPosition.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
#### `Transfer`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/Transfer.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### 温度控制
|
||
|
||
#### `HeatChill`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/HeatChill.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
#### `HeatChillStart`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/HeatChillStart.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
#### `HeatChillStop`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/HeatChillStop.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### 搅拌控制
|
||
|
||
#### `StartStir`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/StartStir.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
#### `Stir`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/Stir.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
#### `StopStir`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/StopStir.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### 气体与真空控制
|
||
|
||
#### `EvacuateAndRefill`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/EvacuateAndRefill.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
#### `Purge`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/Purge.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
#### `StartPurge`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/StartPurge.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
#### `StopPurge`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/StopPurge.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### 分离与过滤
|
||
|
||
#### `Centrifuge`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/Centrifuge.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
#### `Filter`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/Filter.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
#### `FilterThrough`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/FilterThrough.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
#### `RunColumn`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/RunColumn.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
#### `Separate`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/Separate.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### 化学处理
|
||
|
||
#### `AdjustPH`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/AdjustPH.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
#### `Crystallize`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/Crystallize.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
#### `Dissolve`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/Dissolve.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
#### `Dry`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/Dry.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
#### `Evaporate`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/Evaporate.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
#### `Hydrogenate`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/Hydrogenate.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
#### `Recrystallize`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/Recrystallize.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
#### `WashSolid`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/WashSolid.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### 清洁与维护
|
||
|
||
#### `Clean`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/Clean.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
#### `CleanVessel`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/CleanVessel.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
#### `EmptyIn`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/EmptyIn.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
#### `ResetHandling`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/ResetHandling.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
## 生物自动化操作
|
||
|
||
Uni-Lab 生物操作指令集多数来自 [PyLabRobot](https://docs.pylabrobot.org/user_guide/index.html),包含移液工作站的各类操作。
|
||
|
||
### `LiquidHandlerAdd`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/LiquidHandlerAdd.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### `LiquidHandlerAspirate`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/LiquidHandlerAspirate.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### `LiquidHandlerDiscardTips`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/LiquidHandlerDiscardTips.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### `LiquidHandlerDispense`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/LiquidHandlerDispense.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### `LiquidHandlerDropTips`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/LiquidHandlerDropTips.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### `LiquidHandlerDropTips96`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/LiquidHandlerDropTips96.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### `LiquidHandlerIncubateBiomek`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/LiquidHandlerIncubateBiomek.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### `LiquidHandlerMix`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/LiquidHandlerMix.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### `LiquidHandlerMoveBiomek`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/LiquidHandlerMoveBiomek.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### `LiquidHandlerMoveLid`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/LiquidHandlerMoveLid.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### `LiquidHandlerMovePlate`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/LiquidHandlerMovePlate.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### `LiquidHandlerMoveResource`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/LiquidHandlerMoveResource.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### `LiquidHandlerMoveTo`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/LiquidHandlerMoveTo.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### `LiquidHandlerOscillateBiomek`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/LiquidHandlerOscillateBiomek.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### `LiquidHandlerPickUpTips`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/LiquidHandlerPickUpTips.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### `LiquidHandlerPickUpTips96`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/LiquidHandlerPickUpTips96.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### `LiquidHandlerProtocolCreation`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/LiquidHandlerProtocolCreation.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### `LiquidHandlerRemove`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/LiquidHandlerRemove.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### `LiquidHandlerReturnTips`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/LiquidHandlerReturnTips.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### `LiquidHandlerReturnTips96`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/LiquidHandlerReturnTips96.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### `LiquidHandlerSetGroup`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/LiquidHandlerSetGroup.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### `LiquidHandlerSetLiquid`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/LiquidHandlerSetLiquid.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### `LiquidHandlerSetTipRack`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/LiquidHandlerSetTipRack.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### `LiquidHandlerStamp`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/LiquidHandlerStamp.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### `LiquidHandlerTransfer`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/LiquidHandlerTransfer.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### `LiquidHandlerTransferBiomek`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/LiquidHandlerTransferBiomek.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### `LiquidHandlerTransferGroup`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/LiquidHandlerTransferGroup.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
## 专用工作站操作
|
||
|
||
### 反应工作站
|
||
|
||
#### `ReactionStationDripBack`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/ReactionStationDripBack.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
#### `ReactionStationLiquidFeedBeaker`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/ReactionStationLiquidFeedBeaker.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
#### `ReactionStationLiquidFeedSolvents`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/ReactionStationLiquidFeedSolvents.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
#### `ReactionStationLiquidFeedTitration`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/ReactionStationLiquidFeedTitration.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
#### `ReactionStationLiquidFeedVialsNonTitration`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/ReactionStationLiquidFeedVialsNonTitration.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
#### `ReactionStationProExecu`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/ReactionStationProExecu.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
#### `ReactionStationReactorTakenOut`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/ReactionStationReactorTakenOut.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
#### `ReactionStationReaTackIn`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/ReactionStationReaTackIn.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
#### `ReactionStationSolidFeedVial`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/ReactionStationSolidFeedVial.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### 固体分配站
|
||
|
||
#### `SolidDispenseAddPowderTube`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/SolidDispenseAddPowderTube.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### 分液工作站
|
||
|
||
#### `DispenStationSolnPrep`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/DispenStationSolnPrep.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
#### `DispenStationVialFeed`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/DispenStationVialFeed.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### 后处理工作站
|
||
|
||
#### `PostProcessGrab`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/PostProcessGrab.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
#### `PostProcessTriggerClean`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/PostProcessTriggerClean.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
#### `PostProcessTriggerPostPro`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/PostProcessTriggerPostPro.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
## 系统管理与资源调度
|
||
|
||
### 资源与布局管理
|
||
|
||
#### `DefaultLayoutRecommendLayout`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/DefaultLayoutRecommendLayout.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
#### `ResourceCreateFromOuter`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/ResourceCreateFromOuter.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
#### `ResourceCreateFromOuterEasy`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/ResourceCreateFromOuterEasy.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
### 多工作站协调
|
||
|
||
#### `AGVTransfer`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/AGVTransfer.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
#### `WorkStationRun`
|
||
|
||
```{literalinclude} ../../unilabos_msgs/action/WorkStationRun.action
|
||
:language: yaml
|
||
```
|
||
|
||
---
|
||
|
||
## 机器人控制(ROS2 标准)
|
||
|
||
Uni-Lab 机械臂、机器人、夹爪和导航指令集沿用 ROS2 的 `control_msgs` 和 `nav2_msgs`。
|
||
|
||
### 机械臂与关节控制
|
||
|
||
#### `FollowJointTrajectory`
|
||
|
||
```yaml
|
||
# The trajectory for all revolute, continuous or prismatic joints
|
||
trajectory_msgs/JointTrajectory trajectory
|
||
# The trajectory for all planar or floating joints (i.e. individual joints with more than one DOF)
|
||
trajectory_msgs/MultiDOFJointTrajectory multi_dof_trajectory
|
||
|
||
# Tolerances for the trajectory. If the measured joint values fall
|
||
# outside the tolerances the trajectory goal is aborted. Any
|
||
# tolerances that are not specified (by being omitted or set to 0) are
|
||
# set to the defaults for the action server (often taken from the
|
||
# parameter server).
|
||
|
||
# Tolerances applied to the joints as the trajectory is executed. If
|
||
# violated, the goal aborts with error_code set to
|
||
# PATH_TOLERANCE_VIOLATED.
|
||
JointTolerance[] path_tolerance
|
||
JointComponentTolerance[] component_path_tolerance
|
||
|
||
# To report success, the joints must be within goal_tolerance of the
|
||
# final trajectory value. The goal must be achieved by time the
|
||
# trajectory ends plus goal_time_tolerance. (goal_time_tolerance
|
||
# allows some leeway in time, so that the trajectory goal can still
|
||
# succeed even if the joints reach the goal some time after the
|
||
# precise end time of the trajectory).
|
||
#
|
||
# If the joints are not within goal_tolerance after "trajectory finish
|
||
# time" + goal_time_tolerance, the goal aborts with error_code set to
|
||
# GOAL_TOLERANCE_VIOLATED
|
||
JointTolerance[] goal_tolerance
|
||
JointComponentTolerance[] component_goal_tolerance
|
||
builtin_interfaces/Duration goal_time_tolerance
|
||
|
||
---
|
||
int32 error_code
|
||
int32 SUCCESSFUL = 0
|
||
int32 INVALID_GOAL = -1
|
||
int32 INVALID_JOINTS = -2
|
||
int32 OLD_HEADER_TIMESTAMP = -3
|
||
int32 PATH_TOLERANCE_VIOLATED = -4
|
||
int32 GOAL_TOLERANCE_VIOLATED = -5
|
||
|
||
# Human readable description of the error code. Contains complementary
|
||
# information that is especially useful when execution fails, for instance:
|
||
# - INVALID_GOAL: The reason for the invalid goal (e.g., the requested
|
||
# trajectory is in the past).
|
||
# - INVALID_JOINTS: The mismatch between the expected controller joints
|
||
# and those provided in the goal.
|
||
# - PATH_TOLERANCE_VIOLATED and GOAL_TOLERANCE_VIOLATED: Which joint
|
||
# violated which tolerance, and by how much.
|
||
string error_string
|
||
|
||
---
|
||
std_msgs/Header header
|
||
string[] joint_names
|
||
trajectory_msgs/JointTrajectoryPoint desired
|
||
trajectory_msgs/JointTrajectoryPoint actual
|
||
trajectory_msgs/JointTrajectoryPoint error
|
||
|
||
string[] multi_dof_joint_names
|
||
trajectory_msgs/MultiDOFJointTrajectoryPoint multi_dof_desired
|
||
trajectory_msgs/MultiDOFJointTrajectoryPoint multi_dof_actual
|
||
trajectory_msgs/MultiDOFJointTrajectoryPoint multi_dof_error
|
||
|
||
```
|
||
|
||
---
|
||
|
||
#### `JointTrajectory`
|
||
|
||
```yaml
|
||
trajectory_msgs/JointTrajectory trajectory
|
||
---
|
||
|
||
---
|
||
```
|
||
|
||
---
|
||
|
||
#### `PointHead`
|
||
|
||
```yaml
|
||
geometry_msgs/PointStamped target
|
||
geometry_msgs/Vector3 pointing_axis
|
||
string pointing_frame
|
||
builtin_interfaces/Duration min_duration
|
||
float64 max_velocity
|
||
---
|
||
|
||
---
|
||
float64 pointing_angle_error
|
||
```
|
||
|
||
---
|
||
|
||
#### `SingleJointPosition`
|
||
|
||
```yaml
|
||
float64 position
|
||
builtin_interfaces/Duration min_duration
|
||
float64 max_velocity
|
||
---
|
||
|
||
---
|
||
std_msgs/Header header
|
||
float64 position
|
||
float64 velocity
|
||
float64 error
|
||
```
|
||
|
||
---
|
||
|
||
### 夹爪控制
|
||
|
||
#### `GripperCommand`
|
||
|
||
```yaml
|
||
GripperCommand command
|
||
---
|
||
float64 position # The current gripper gap size (in meters)
|
||
float64 effort # The current effort exerted (in Newtons)
|
||
bool stalled # True iff the gripper is exerting max effort and not moving
|
||
bool reached_goal # True iff the gripper position has reached the commanded setpoint
|
||
---
|
||
float64 position # The current gripper gap size (in meters)
|
||
float64 effort # The current effort exerted (in Newtons)
|
||
bool stalled # True iff the gripper is exerting max effort and not moving
|
||
bool reached_goal # True iff the gripper position has reached the commanded setpoint
|
||
|
||
```
|
||
|
||
---
|
||
|
||
#### `ParallelGripperCommand`
|
||
|
||
```yaml
|
||
# Parallel grippers refer to an end effector where two opposing fingers grasp an object from opposite sides.
|
||
sensor_msgs/JointState command
|
||
# name: the name(s) of the joint this command is requesting
|
||
# position: desired position of each gripper joint (radians or meters)
|
||
# velocity: (optional, not used if empty) max velocity of the joint allowed while moving (radians or meters / second)
|
||
# effort: (optional, not used if empty) max effort of the joint allowed while moving (Newtons or Newton-meters)
|
||
---
|
||
sensor_msgs/JointState state # The current gripper state.
|
||
# position of each joint (radians or meters)
|
||
# optional: velocity of each joint (radians or meters / second)
|
||
# optional: effort of each joint (Newtons or Newton-meters)
|
||
bool stalled # True if the gripper is exerting max effort and not moving
|
||
bool reached_goal # True if the gripper position has reached the commanded setpoint
|
||
---
|
||
sensor_msgs/JointState state # The current gripper state.
|
||
# position of each joint (radians or meters)
|
||
# optional: velocity of each joint (radians or meters / second)
|
||
# optional: effort of each joint (Newtons or Newton-meters)
|
||
|
||
```
|
||
|
||
---
|
||
|
||
### 导航与路径规划
|
||
|
||
#### `AssistedTeleop`
|
||
|
||
```yaml
|
||
#goal definition
|
||
builtin_interfaces/Duration time_allowance
|
||
---
|
||
#result definition
|
||
builtin_interfaces/Duration total_elapsed_time
|
||
---
|
||
#feedback
|
||
builtin_interfaces/Duration current_teleop_duration
|
||
```
|
||
|
||
---
|
||
|
||
#### `BackUp`
|
||
|
||
```yaml
|
||
#goal definition
|
||
geometry_msgs/Point target
|
||
float32 speed
|
||
builtin_interfaces/Duration time_allowance
|
||
---
|
||
#result definition
|
||
builtin_interfaces/Duration total_elapsed_time
|
||
---
|
||
#feedback definition
|
||
float32 distance_traveled
|
||
```
|
||
|
||
---
|
||
|
||
#### `ComputePathThroughPoses`
|
||
|
||
```yaml
|
||
#goal definition
|
||
geometry_msgs/PoseStamped[] goals
|
||
geometry_msgs/PoseStamped start
|
||
string planner_id
|
||
bool use_start # If false, use current robot pose as path start, if true, use start above instead
|
||
---
|
||
#result definition
|
||
nav_msgs/Path path
|
||
builtin_interfaces/Duration planning_time
|
||
---
|
||
#feedback definition
|
||
```
|
||
|
||
---
|
||
|
||
#### `ComputePathToPose`
|
||
|
||
```yaml
|
||
#goal definition
|
||
geometry_msgs/PoseStamped goal
|
||
geometry_msgs/PoseStamped start
|
||
string planner_id
|
||
bool use_start # If false, use current robot pose as path start, if true, use start above instead
|
||
---
|
||
#result definition
|
||
nav_msgs/Path path
|
||
builtin_interfaces/Duration planning_time
|
||
---
|
||
#feedback definition
|
||
```
|
||
|
||
---
|
||
|
||
#### `DriveOnHeading`
|
||
|
||
```yaml
|
||
#goal definition
|
||
geometry_msgs/Point target
|
||
float32 speed
|
||
builtin_interfaces/Duration time_allowance
|
||
---
|
||
#result definition
|
||
builtin_interfaces/Duration total_elapsed_time
|
||
---
|
||
#feedback definition
|
||
float32 distance_traveled
|
||
```
|
||
|
||
---
|
||
|
||
#### `DummyBehavior`
|
||
|
||
```yaml
|
||
#goal definition
|
||
std_msgs/String command
|
||
---
|
||
#result definition
|
||
builtin_interfaces/Duration total_elapsed_time
|
||
---
|
||
#feedback definition
|
||
```
|
||
|
||
---
|
||
|
||
#### `FollowPath`
|
||
|
||
```yaml
|
||
#goal definition
|
||
nav_msgs/Path path
|
||
string controller_id
|
||
string goal_checker_id
|
||
---
|
||
#result definition
|
||
std_msgs/Empty result
|
||
---
|
||
#feedback definition
|
||
float32 distance_to_goal
|
||
float32 speed
|
||
```
|
||
|
||
---
|
||
|
||
#### `FollowWaypoints`
|
||
|
||
```yaml
|
||
#goal definition
|
||
geometry_msgs/PoseStamped[] poses
|
||
---
|
||
#result definition
|
||
int32[] missed_waypoints
|
||
---
|
||
#feedback definition
|
||
uint32 current_waypoint
|
||
```
|
||
|
||
---
|
||
|
||
#### `NavigateThroughPoses`
|
||
|
||
```yaml
|
||
#goal definition
|
||
geometry_msgs/PoseStamped[] poses
|
||
string behavior_tree
|
||
---
|
||
#result definition
|
||
std_msgs/Empty result
|
||
---
|
||
#feedback definition
|
||
geometry_msgs/PoseStamped current_pose
|
||
builtin_interfaces/Duration navigation_time
|
||
builtin_interfaces/Duration estimated_time_remaining
|
||
int16 number_of_recoveries
|
||
float32 distance_remaining
|
||
int16 number_of_poses_remaining
|
||
```
|
||
|
||
---
|
||
|
||
#### `NavigateToPose`
|
||
|
||
```yaml
|
||
#goal definition
|
||
geometry_msgs/PoseStamped pose
|
||
string behavior_tree
|
||
---
|
||
#result definition
|
||
std_msgs/Empty result
|
||
---
|
||
#feedback definition
|
||
geometry_msgs/PoseStamped current_pose
|
||
builtin_interfaces/Duration navigation_time
|
||
builtin_interfaces/Duration estimated_time_remaining
|
||
int16 number_of_recoveries
|
||
float32 distance_remaining
|
||
```
|
||
|
||
---
|
||
|
||
#### `SmoothPath`
|
||
|
||
```yaml
|
||
#goal definition
|
||
nav_msgs/Path path
|
||
string smoother_id
|
||
builtin_interfaces/Duration max_smoothing_duration
|
||
bool check_for_collisions
|
||
---
|
||
#result definition
|
||
nav_msgs/Path path
|
||
builtin_interfaces/Duration smoothing_duration
|
||
bool was_completed
|
||
---
|
||
#feedback definition
|
||
```
|
||
|
||
---
|
||
|
||
#### `Spin`
|
||
|
||
```yaml
|
||
#goal definition
|
||
float32 target_yaw
|
||
builtin_interfaces/Duration time_allowance
|
||
---
|
||
#result definition
|
||
builtin_interfaces/Duration total_elapsed_time
|
||
---
|
||
#feedback definition
|
||
float32 angular_distance_traveled
|
||
```
|
||
|
||
---
|
||
|
||
#### `Wait` (Nav2)
|
||
|
||
> **注意**:这是 ROS2 nav2_msgs 的标准 Wait action,与 unilabos_msgs 的 Wait action 不同。
|
||
|
||
```yaml
|
||
#goal definition
|
||
builtin_interfaces/Duration time
|
||
---
|
||
#result definition
|
||
builtin_interfaces/Duration total_elapsed_time
|
||
---
|
||
#feedback definition
|
||
builtin_interfaces/Duration time_left
|
||
```
|
||
|
||
---
|