Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds a new lab_sim_behaviors package that provides custom behavior plugins for the lab_sim MoveIt Pro configuration. The package implements a ComputeTrayPlacePositionsUsingAprilTags behavior that computes grid-based placement positions within a tray by detecting its AprilTag marker, and integrates this behavior into the lab_sim configuration.
Changes:
- New
lab_sim_behaviorspackage with behavior plugin implementation for computing tray place positions using AprilTag detection - Integration of the behavior loader plugin into lab_sim's config.yaml and package dependencies
- Test infrastructure setup (though incomplete)
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/lab_sim_behaviors/CMakeLists.txt | Build configuration for the new behavior package with proper dependency management and plugin export |
| src/lab_sim_behaviors/package.xml | Package metadata with dependencies on MoveIt Pro behavior interfaces and vision libraries |
| src/lab_sim_behaviors/lab_sim_behaviors_plugin_description.xml | Plugin description for pluginlib integration |
| src/lab_sim_behaviors/include/lab_sim_behaviors/compute_tray_place_positions_using_apriltags.hpp | Header defining the behavior class with comprehensive port documentation |
| src/lab_sim_behaviors/src/compute_tray_place_positions_using_apriltags.cpp | Implementation of grid-based placement position computation with AprilTag detection and optional visualization |
| src/lab_sim_behaviors/src/register_behaviors.cpp | Behavior loader implementation for plugin registration |
| src/lab_sim_behaviors/test/CMakeLists.txt | Test configuration (incomplete - only includes find_package) |
| src/lab_sim/config/config.yaml | Added lab_sim_behaviors loader to behavior_loader_plugins |
| src/lab_sim/package.xml | Added exec_depend on lab_sim_behaviors package |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
src/lab_sim_behaviors/src/compute_tray_place_positions_using_apriltags.cpp
Show resolved
Hide resolved
55b0509 to
a2cb400
Compare
a2cb400 to
a42cb9a
Compare
|
This is for https://github.com/PickNikRobotics/moveit_pro/issues/17169 (priority for sprint 133) |
|
There was some discussion about this PR yesterday at standup. Tagging @nbbrooks and @MikeWrock to get their opinions. To me this is a good pattern that we should be encouraging more. The new Behavior is very specific to the lab_sim config. It makes sense to me it lives in an isolated And today it's so easy to write custom Behaviors with AI that we shouldn't be afraid of creating one-off high level Behaviors like this, as opposed to solving the same problem with Objectives and Subtrees and low-level Behaviors, which is very often a painful and frustrating experience. |
a42cb9a to
cb699f5
Compare
|
Rebased to pick up CI fix. |
I 100% agree with this point. And it makes our examples much more interesting and impressive than pick and drop a silly kid's block. |
|
Yes I also agree. This the guidance we give in https://docs.picknik.ai/how_to/configuration_tutorials/robot_and_objective_inheritance/#moveit-pro-objective-packages - to make a separate package for your domain specific behaviors and objectives. Not to put it in your robot config package (other than open close gripper overrides and the like) My nit here would be to call this |
…lTags - New lab_sim_behaviors package providing custom Behavior plugins for lab_sim - ComputeTrayPlacePositionsUsingAprilTags: computes grid-based place positions relative to a tray AprilTag for bottle placement workflows - Fix tray center direction and reverse row fill order - Register the behavior loader plugin in lab_sim config.yaml - Add lab_sim_behaviors exec_depend to lab_sim package.xml Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
cb699f5 to
852a5b9
Compare
|
I think it should share the same name as lab_sim, to make it very clear its a companion behavior to that robot_config. I would very much like to keep lab_sim_behaviors and don't think I'm breaking any standards here |
Summary
lab_sim_behaviorspackage providing custom Behavior plugins forlab_simComputeTrayPlacePositionsUsingAprilTags: computes grid-based place positions relative to a tray AprilTag for bottle placement workflowslab_simconfig.yamland addsexec_dependtopackage.xmlTest plan
lab_sim_behaviorspackage in the user workspaceComputeTrayPlacePositionsUsingAprilTags🤖 Generated with Claude Code