Skip to content

Commit 7479795

Browse files
luca-della-vedovaYadunundaaronchongth
authored
Introduce a RMF transportation workcell (#42)
* Migrate to ros2dds bridge Signed-off-by: Luca Della Vedova <[email protected]> * Bump ros2dds bridge version to fix warning spam Signed-off-by: Luca Della Vedova <[email protected]> * Add source to transporter API Signed-off-by: Luca Della Vedova <[email protected]> * WIP first draft of RMF integration Signed-off-by: Luca Della Vedova <[email protected]> * Change signals to contain task ids Signed-off-by: Luca Della Vedova <[email protected]> * Move signaling from workcell to system orchestrator Signed-off-by: Luca Della Vedova <[email protected]> * Change RMF transporter to be a workcell instead Signed-off-by: Luca Della Vedova <[email protected]> * Fix cancellation, feedback Signed-off-by: Luca Della Vedova <[email protected]> * Add TransportAmr capability and RMF workcell Signed-off-by: Luca Della Vedova <[email protected]> * Revert transporter changes Signed-off-by: Luca Della Vedova <[email protected]> * Add missing dependency Signed-off-by: Luca Della Vedova <[email protected]> * Reintroduce signal queueing, cleanup debugs Signed-off-by: Luca Della Vedova <[email protected]> * Go back to task signaling Signed-off-by: Luca Della Vedova <[email protected]> * Remove backup files Signed-off-by: Luca Della Vedova <[email protected]> * Add visualization package Signed-off-by: Luca Della Vedova <[email protected]> * Add demo package based on rmf_demos Signed-off-by: Luca Della Vedova <[email protected]> * Remove printout Signed-off-by: Luca Della Vedova <[email protected]> * Move to nexus_integration_tests instead Signed-off-by: Luca Della Vedova <[email protected]> * Fix integration test Signed-off-by: Luca Della Vedova <[email protected]> * Fix repos file, reintroduce comprehensive test Signed-off-by: Luca Della Vedova <[email protected]> * Make sure AMRs are up before sending task Signed-off-by: Luca Della Vedova <[email protected]> * Fix copyrights for new files Signed-off-by: Luca Della Vedova <[email protected]> * Add dependency to yaml-cpp-vendor to nexus_capabilities Signed-off-by: Luca Della Vedova <[email protected]> * Remove ament_target_dependencies Signed-off-by: Luca Della Vedova <[email protected]> * Rename capability and add rmf namespace Signed-off-by: Luca Della Vedova <[email protected]> * AmrDestination -> Destination Signed-off-by: Luca Della Vedova <[email protected]> * Split main / rmf main and create new integration test Signed-off-by: Luca Della Vedova <[email protected]> * Move RMF orchestator to RMF launch file Signed-off-by: Luca Della Vedova <[email protected]> * Vendor RMF launch files, remove building_map_tools Signed-off-by: Luca Della Vedova <[email protected]> * Namespace, file renaming, copyright Signed-off-by: Luca Della Vedova <[email protected]> * Reuse nexus_msgs structs, event based publication Signed-off-by: Luca Della Vedova <[email protected]> * Remove nexus_visualization dependency Signed-off-by: Luca Della Vedova <[email protected]> * Remove nexus_visualization Signed-off-by: Luca Della Vedova <[email protected]> * Fix plugin path Signed-off-by: Luca Della Vedova <[email protected]> * Cleanup Signed-off-by: Luca Della Vedova <[email protected]> * Remove signaling at the system orchestrator level Signed-off-by: Luca Della Vedova <[email protected]> * Remove duplicated behavior trees and use remapping Signed-off-by: Luca Della Vedova <[email protected]> * Remove unnecessary variable Signed-off-by: Luca Della Vedova <[email protected]> * Update copyrights Signed-off-by: Yadunund <[email protected]> * Fix launch Signed-off-by: Yadunund <[email protected]> * Fix potential UB with comments, updated README to build with rmf.repos Signed-off-by: Aaron Chong <[email protected]> * Removed comments Signed-off-by: Aaron Chong <[email protected]> * Sim demo with models from fuel using template sdf (#62) * Working with the same commands Signed-off-by: Aaron Chong <[email protected]> * Basic demo works with models Signed-off-by: Aaron Chong <[email protected]> * Moving enclosures, removing in-between, using nested models, moving camera Signed-off-by: Aaron Chong <[email protected]> * Use new released rmf_building_map_tools args, clean up, moved waypoints, added dispenser/ingestor Signed-off-by: Aaron Chong <[email protected]> * Clean up duplicated and unused files, use rmf_transporter Signed-off-by: Aaron Chong <[email protected]> * Remove duplicated depot Signed-off-by: Aaron Chong <[email protected]> --------- Signed-off-by: Aaron Chong <[email protected]> * Use new DeliveryRobotWithConveyor model from fuel Signed-off-by: Aaron Chong <[email protected]> * Make remap_task_types and rviz_config launch args Signed-off-by: Yadunund <[email protected]> * Move maps into config/rmf Signed-off-by: Yadunund <[email protected]> * Also make bt_path and max_jobs launch args Signed-off-by: Yadunund <[email protected]> * rmf_demos_fleet_adapter available via rosdep Signed-off-by: Yadunund <[email protected]> * Set nested models as static as well Signed-off-by: Aaron Chong <[email protected]> * Rename dispatch_transporter to assign_transporter_workcell Signed-off-by: Yadunund <[email protected]> --------- Signed-off-by: Luca Della Vedova <[email protected]> Signed-off-by: Yadunund <[email protected]> Signed-off-by: Aaron Chong <[email protected]> Co-authored-by: Yadunund <[email protected]> Co-authored-by: Aaron Chong <[email protected]>
1 parent 7c6ebf7 commit 7479795

30 files changed

+2417
-60
lines changed

nexus_capabilities/CMakeLists.txt

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,12 @@ set(dep_pkgs
1515
nexus_common
1616
nexus_endpoints
1717
nexus_orchestrator_msgs
18+
nlohmann_json
1819
rclcpp
1920
rclcpp_lifecycle
21+
rmf_dispenser_msgs
22+
rmf_task_msgs
23+
yaml_cpp_vendor
2024
yaml-cpp
2125
)
2226
foreach(pkg ${dep_pkgs})
@@ -80,7 +84,7 @@ target_link_libraries(${PROJECT_NAME}
8084
BT::behaviortree_cpp_v3
8185
rclcpp::rclcpp
8286
rclcpp_lifecycle::rclcpp_lifecycle
83-
yaml-cpp
87+
yaml-cpp::yaml-cpp
8488
)
8589

8690
target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_17)
@@ -126,6 +130,8 @@ add_library(nexus_builtin_capabilities SHARED
126130
src/capabilities/gripper_control.cpp
127131
src/capabilities/plan_motion_capability.cpp
128132
src/capabilities/plan_motion.cpp
133+
src/capabilities/rmf_request.cpp
134+
src/capabilities/rmf_request_capability.cpp
129135
)
130136

131137
target_compile_options(nexus_builtin_capabilities PUBLIC INTERFACE cxx_std_17)
@@ -135,9 +141,13 @@ target_link_libraries(nexus_builtin_capabilities
135141
${PROJECT_NAME}
136142
nexus_common::nexus_common
137143
nexus_endpoints::nexus_endpoints
144+
nlohmann_json::nlohmann_json
138145
pluginlib::pluginlib
139146
tf2::tf2
140147
tf2_ros::tf2_ros
148+
${rmf_dispenser_msgs_TARGETS}
149+
${rmf_task_msgs_TARGETS}
150+
yaml-cpp
141151
)
142152

143153
install(

nexus_capabilities/package.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,17 @@
1313
<depend>nexus_common</depend>
1414
<depend>nexus_endpoints</depend>
1515
<depend>nexus_orchestrator_msgs</depend>
16+
<depend>nlohmann-json-dev</depend>
1617
<depend>pluginlib</depend>
1718
<depend>rclcpp</depend>
1819
<depend>rclcpp_lifecycle</depend>
20+
<depend>rmf_dispenser_msgs</depend>
21+
<depend>rmf_task_msgs</depend>
1922
<depend>rmf_utils</depend>
2023
<depend>tf2</depend>
2124
<depend>tf2_ros</depend>
2225
<depend>yaml-cpp</depend>
26+
<depend>yaml_cpp_vendor</depend>
2327

2428
<export>
2529
<build_type>ament_cmake</build_type>

nexus_capabilities/src/capabilities/plugins.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,8 @@
1818
<class type="nexus::capabilities::PlanMotionCapability" base_class_type="nexus::Capability">
1919
<description>PlanMotion capability.</description>
2020
</class>
21+
22+
<class type="nexus::capabilities::RMFRequestCapability" base_class_type="nexus::Capability">
23+
<description>RMFRequest capability.</description>
24+
</class>
2125
</library>

0 commit comments

Comments
 (0)