Add lab desk objects, AprilTag bottle picking, and clean up lab_sim#512
Add lab desk objects, AprilTag bottle picking, and clean up lab_sim#512davetcoleman wants to merge 2 commits intomainfrom
Conversation
ff401c8 to
4cee822
Compare
17e3dc9 to
f06197a
Compare
There was a problem hiding this comment.
@MikeWrock i dont understand why some things live in this picknik_accessories, and others in the example_ws. Can we get rid of picknik_accessories? What's the point? We have GitLFS already.
There was a problem hiding this comment.
I'm not sure what things are living in example_ws, but the idea is to have one repo that can hold all our reusable assets, and if you have config specific assets that cannot justifiably be put in the accessories package then it can live in the config package. Due to https://github.com/PickNikRobotics/moveit_pro/issues/13842 we have to do a little CMake hacking so that we can re-use these assets, otherwise they would have to be duplicated within each package that used them and copied out for re-use
There was a problem hiding this comment.
But who is reusing these assets? It appears these assets are just used in the example_ws
I propose I have Claude merge these repos together. Maybe @nbbrooks has thoughts.
There was a problem hiding this comment.
I've always liked monorepos but we sacrifice all portability for our digital assets. Any mujoco scenes or objects we want to use in more than one package requires duplicating code and files, which then results in bit rot and missed fixes/updates or divergent configurations. Whats the advantage we gain by having the files spread out across multiple packages in the example_ws?
There was a problem hiding this comment.
picknik_accessories is where some of our tuned mujoco assets like the robotiq_gripper live
There was a problem hiding this comment.
I'd be open to keeping those in accessories for reuse and moving the "example_ws world objects" into example_ws, but we will still have a submodule
b621d9c to
6c53a30
Compare
src/lab_sim/description/scene.xml
Outdated
| contype="0" | ||
| conaffinity="0" | ||
| /> | ||
| <!-- Bezel removed - it occludes the screen texture --> |
There was a problem hiding this comment.
remove this commented out section
|
This is failing CI for both integration testing and pre-commit. Please confirm the objectives in lab_sim still run successfully and that the new assets don't introduce any unexpected behaviors (ungraspable objects due to collisions, collisions with new objects due to waypoints, confusing input to ML prompts, poor friction coefficient for new objects). As our flagship config, I wouldn't want to introduce a whole bunch of unpickable objects or add complexity that would make the product look poorly functional. Please also monitor the change in CPU usage, there are a lot of additional free joints that would significantly increase the CPU load and I want to make sure it's not a huge jump. I noticed some of the free joints (like the alligator) are not even reachable, and would be better as fixed joints. When this PR is tested and ready for review, please add a story to track your work on the project board |
4ec0c55 to
b58e16f
Compare
…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>
2e76ab2 to
a3d0b64
Compare
e670555 to
c86f75c
Compare
c86f75c to
95cabe9
Compare
… up lab_sim Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
95cabe9 to
e35c146
Compare
|
This is for https://github.com/PickNikRobotics/moveit_pro/issues/17169 (priority for sprint 133) |
nbbrooks
left a comment
There was a problem hiding this comment.
I still need to test this locally.
| * | place_positions | output | std::vector<geometry_msgs::msg::PoseStamped> | | ||
| */ | ||
| class ComputeTrayPlacePositionsUsingAprilTags final | ||
| : public moveit_pro::behaviors::SharedResourcesNode<BT::SyncActionNode> |
There was a problem hiding this comment.
I won't block this, but I would have recommended using AddURDF to localize a URDF model of the tray+AprilTag instead of a custom behavior.
This would be a good example of using that for a grasping workflow. Could you make a followup story for Claude to do this?
Summary
lab_sim_behaviorspackage withComputeTrayPlacePositionsUsingAprilTagsbehavior plugin for computing tray grid placement positions from AprilTag detections_scan_scene,load_mesh_as_*_pointcloud,pick_and_place_example,scan_multiple_views)ur_waypoints.yamland add new waypointsCLAUDE.mdwith workspace instructions (MuJoCo keyframes, objective MetadataFields CI requirements)Dependencies
lab_sim_behaviorspackage (included here as shared commit)Test plan
🤖 Generated with Claude Code