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,89 @@
cmake_minimum_required(VERSION 3.5)
project(unilabos_msgs)
# Default to C99
if(NOT CMAKE_C_STANDARD)
set(CMAKE_C_STANDARD 99)
endif()
# Default to C++14
if(NOT CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 14)
endif()
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
add_compile_options(-Wall -Wextra -Wpedantic)
endif()
# find dependencies
find_package(ament_cmake REQUIRED)
find_package(std_msgs REQUIRED)
find_package(rosidl_default_generators REQUIRED)
find_package(geometry_msgs REQUIRED)
set(action_files
"action/SendCmd.action"
"action/Stir.action"
"action/HeatChill.action"
"action/HeatChillStart.action"
"action/HeatChillStop.action"
"action/LiquidHandlerAspirate.action"
"action/LiquidHandlerDiscardTips.action"
"action/LiquidHandlerDispense.action"
"action/LiquidHandlerDropTips.action"
"action/LiquidHandlerDropTips96.action"
"action/LiquidHandlerMoveLid.action"
"action/LiquidHandlerMovePlate.action"
"action/LiquidHandlerMoveResource.action"
"action/LiquidHandlerPickUpTips.action"
"action/LiquidHandlerPickUpTips96.action"
"action/LiquidHandlerReturnTips.action"
"action/LiquidHandlerReturnTips96.action"
"action/LiquidHandlerStamp.action"
"action/LiquidHandlerTransfer.action"
"action/PumpTransfer.action"
"action/Clean.action"
"action/Separate.action"
"action/Evaporate.action"
"action/EvacuateAndRefill.action"
"action/WorkStationRun.action"
"action/AGVTransfer.action"
)
set(srv_files
"srv/Stop.srv"
"srv/SerialCommand.srv"
"srv/ResourceGet.srv"
"srv/ResourceList.srv"
"srv/ResourceAdd.srv"
"srv/ResourceUpdate.srv"
"srv/ResourceDelete.srv"
)
set(msg_files
"msg/State.msg"
"msg/Resource.msg"
)
rosidl_generate_interfaces(${PROJECT_NAME}
${msg_files}
${srv_files}
${action_files}
DEPENDENCIES std_msgs geometry_msgs
)
if(BUILD_TESTING)
find_package(ament_lint_auto REQUIRED)
# the following line skips the linter which checks for copyrights
# uncomment the line when a copyright and license is not present in all source files
#set(ament_cmake_copyright_FOUND TRUE)
# the following line skips cpplint (only works in a git repo)
# uncomment the line when this package is not in a git repo
#set(ament_cmake_cpplint_FOUND TRUE)
ament_lint_auto_find_test_dependencies()
endif()
ament_package()

View File

@@ -0,0 +1,3 @@
Any contribution that you make to this repository will
be under the MIT license, as dictated by that
[license](https://opensource.org/licenses/MIT).

17
unilabos_msgs/LICENSE Normal file
View File

@@ -0,0 +1,17 @@
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

2
unilabos_msgs/README.md Normal file
View File

@@ -0,0 +1,2 @@
# unilabos_msgs
Messages, Services and Actions for interacting with Uni-Lab devices

View File

@@ -0,0 +1,9 @@
# MobileRobot
Resource from_repo
string from_repo_position
Resource to_repo
string to_repo_position
---
bool success
---
string status

View File

@@ -0,0 +1,13 @@
# Organic
string vessel # Vessel to clean.
string solvent # Solvent to clean vessel with.
float64 volume # Optional. Volume of solvent to clean vessel with.
float64 temp # Optional. Temperature to heat vessel to while cleaning.
int32 repeats # Optional. Number of cleaning cycles to perform.
---
bool success
---
string status
string current_device
builtin_interfaces/Duration time_spent
builtin_interfaces/Duration time_remaining

View File

@@ -0,0 +1,11 @@
# Organic
string vessel
string gas
int32 repeats
---
bool success
---
string status
string current_device
builtin_interfaces/Duration time_spent
builtin_interfaces/Duration time_remaining

View File

@@ -0,0 +1,13 @@
# Organic
string vessel
float64 pressure
float64 temp
float64 time
float64 stir_speed
---
bool success
---
string status
string current_device
builtin_interfaces/Duration time_spent
builtin_interfaces/Duration time_remaining

View File

@@ -0,0 +1,11 @@
# Organic
string vessel
float64 temp
float64 time
bool stir
float64 stir_speed
string purpose
---
bool success
---
string status

View File

@@ -0,0 +1,8 @@
# Organic
string vessel
float64 temp
string purpose
---
bool success
---
string status

View File

@@ -0,0 +1,6 @@
# Organic
string vessel
---
bool success
---
string status

View File

@@ -0,0 +1,12 @@
# Bio
Resource[] resources
float64[] vols
int32[] use_channels
float64[] flow_rates
float64 end_delay
geometry_msgs/Point[] offsets
float64[] liquid_height
float64[] blow_out_air_volume
---
bool success
---

View File

@@ -0,0 +1,8 @@
# Bio
# 请求字段
int32[] use_channels
---
# 结果字段
bool success
---
# 反馈字段

View File

@@ -0,0 +1,14 @@
# Bio
# 请求字段
Resource[] resources
float64[] vols
int32[] use_channels
float64[] flow_rates
geometry_msgs/Point[] offsets
int32[] blow_out_air_volume
string spread
---
# 结果字段
bool success
---
# 反馈字段

View File

@@ -0,0 +1,11 @@
# Bio
# 请求字段
Resource[] tip_spots
int32[] use_channels
geometry_msgs/Point[] offsets
bool allow_nonzero_volume
---
# 结果字段
bool success
---
# 反馈字段

View File

@@ -0,0 +1,10 @@
# Bio
# 请求字段
Resource tip_rack
geometry_msgs/Point offset
bool allow_nonzero_volume
---
# 结果字段
bool success
---
# 反馈字段

View File

@@ -0,0 +1,17 @@
# Bio
# 请求字段
Resource lid
Resource to
geometry_msgs/Point[] intermediate_locations
geometry_msgs/Point resource_offset
geometry_msgs/Point destination_offset
string pickup_direction
string drop_direction
string get_direction
string put_direction
float64 pickup_distance_from_top
---
# 结果字段
bool success
---
# 反馈字段

View File

@@ -0,0 +1,18 @@
# Bio
# 请求字段
Resource plate
Resource to
geometry_msgs/Point[] intermediate_locations
geometry_msgs/Point resource_offset
geometry_msgs/Point pickup_offset
geometry_msgs/Point destination_offset
string pickup_direction
string drop_direction
string get_direction
string put_direction
float64 pickup_distance_from_top
---
# 结果字段
bool success
---
# 反馈字段

View File

@@ -0,0 +1,17 @@
# Bio
# 请求字段
Resource resource
geometry_msgs/Point to
geometry_msgs/Point[] intermediate_locations
geometry_msgs/Point resource_offset
geometry_msgs/Point destination_offset
float64 pickup_distance_from_top
string pickup_direction
string drop_direction
string get_direction
string put_direction
---
# 结果字段
bool success
---
# 反馈字段

View File

@@ -0,0 +1,10 @@
# Bio
# 请求字段
Resource[] tip_spots
int32[] use_channels
geometry_msgs/Point[] offsets
---
# 结果字段
bool success
---
# 反馈字段

View File

@@ -0,0 +1,9 @@
# Bio
# 请求字段
Resource tip_rack
geometry_msgs/Point offset
---
# 结果字段
bool success
---
# 反馈字段

View File

@@ -0,0 +1,9 @@
# Bio
# 请求字段
int32[] use_channels
bool allow_nonzero_volume
---
# 结果字段
bool success
---
# 反馈字段

View File

@@ -0,0 +1,8 @@
# Bio
# 请求字段
bool allow_nonzero_volume
---
# 结果字段
bool success
---
# 反馈字段

View File

@@ -0,0 +1,12 @@
# Bio
# 请求字段
Resource source
Resource target
float64 volume
float64 aspiration_flow_rate
float64 dispense_flow_rate
---
# 结果字段
bool success
---
# 反馈字段

View File

@@ -0,0 +1,11 @@
# Bio
Resource source
Resource[] targets
float64 source_vol
float64[] ratios
float64[] target_vols
float64 aspiration_flow_rate
float64[] dispense_flow_rates
---
bool success
---

View File

@@ -0,0 +1,18 @@
# Organic
string from_vessel
string to_vessel
float64 volume
string amount
float64 time
bool viscous
string rinsing_solvent
float64 rinsing_volume
int32 rinsing_repeats
bool solid
---
bool success
---
string status
string current_device
builtin_interfaces/Duration time_spent
builtin_interfaces/Duration time_remaining

View File

@@ -0,0 +1,6 @@
# Simple
string command
---
bool success
---
string status

View File

@@ -0,0 +1,21 @@
# Organic
string purpose # 'wash' or 'extract'. 'wash' means that product phase will not be the added solvent phase, 'extract' means product phase will be the added solvent phase. If no solvent is added just use 'extract'.
string product_phase # 'top' or 'bottom'. Phase that product will be in.
string from_vessel #Contents of from_vessel are transferred to separation_vessel and separation is performed.
string separation_vessel # Vessel in which separation of phases will be carried out.
string to_vessel # Vessel to send product phase to.
string waste_phase_to_vessel # Optional. Vessel to send waste phase to.
string solvent # Optional. Solvent to add to separation vessel after contents of from_vessel has been transferred to create two phases.
float64 solvent_volume # Optional. Volume of solvent to add.
string through # Optional. Solid chemical to send product phase through on way to to_vessel, e.g. 'celite'.
int32 repeats # Optional. Number of separations to perform.
float64 stir_time # Optional. Time stir for after adding solvent, before separation of phases.
float64 stir_speed # Optional. Speed to stir at after adding solvent, before separation of phases.
float64 settling_time # Optional. Time
---
bool success
---
string status
string current_device
builtin_interfaces/Duration time_spent
builtin_interfaces/Duration time_remaining

View File

@@ -0,0 +1,8 @@
# Organic
float64 stir_time
float64 stir_speed
float64 settling_time
---
bool success
---
string status

View File

@@ -0,0 +1,9 @@
# MobileRobot
string wf_name
string params
Resource resource
---
bool success
---
string status
string gantt

View File

@@ -0,0 +1,11 @@
string id
string name
string sample_id
string[] children
string parent
string type
string category
geometry_msgs/Pose pose
string config
string data

View File

@@ -0,0 +1,3 @@
std_msgs/Header header
string state_name
uint8 state

28
unilabos_msgs/package.xml Normal file
View File

@@ -0,0 +1,28 @@
<?xml version="1.0"?>
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
<name>unilabos_msgs</name>
<version>0.0.5</version>
<description>ROS2 Messages package for unilabos devices</description>
<maintainer email="changjh@pku.edu.cn">Junhan Chang</maintainer>
<license>MIT</license>
<buildtool_depend>ament_cmake</buildtool_depend>
<depend>action_msgs</depend>
<depend>std_msgs</depend>
<depend>geometry_msgs</depend>
<build_depend>rosidl_default_generators</build_depend>
<exec_depend>rosidl_default_runtime</exec_depend>
<test_depend>ament_lint_auto</test_depend>
<test_depend>ament_lint_common</test_depend>
<member_of_group>rosidl_interface_packages</member_of_group>
<export>
<build_type>ament_cmake</build_type>
</export>
</package>

View File

@@ -0,0 +1,4 @@
Resource[] resources
---
bool success
string message

View File

@@ -0,0 +1,4 @@
string id
---
bool success
string message

View File

@@ -0,0 +1,6 @@
string id
bool with_children
---
bool success
string message
Resource[] resources

View File

@@ -0,0 +1,4 @@
---
bool success
string message
Resource[] resources

View File

@@ -0,0 +1,4 @@
Resource[] resources
---
bool success
string message

View File

@@ -0,0 +1,3 @@
string command
---
string response

View File

@@ -0,0 +1,4 @@
string device_id
string command
---
bool success