Add Python Behavior examples and demo Objective to lab_sim#810
Draft
noah-wardlow wants to merge 1 commit into
Draft
Add Python Behavior examples and demo Objective to lab_sim#810noah-wardlow wants to merge 1 commit into
noah-wardlow wants to merge 1 commit into
Conversation
|
Consider whether the change should land upstream in Overlapping files
|
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
noah-wardlow
force-pushed
the
feat/python-behaviors
branch
from
July 25, 2026 03:20
bca88cb to
6fb53ed
Compare
noah-wardlow
force-pushed
the
feat/python-behaviors
branch
from
July 25, 2026 03:36
6fb53ed to
9c3535e
Compare
noah-wardlow
force-pushed
the
feat/python-behaviors
branch
from
July 25, 2026 03:41
9c3535e to
dc4e0df
Compare
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
noah-wardlow
force-pushed
the
feat/python-behaviors
branch
from
July 25, 2026 03:44
dc4e0df to
b46a8ff
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
[written by AI]
needs: moveit_pro/#20781
Motivation
Paired with moveit_pro#20781, which adds support for writing Behaviors in Python with no compilation step. That PR ships the loader and the example Behaviors; this one turns them on in
lab_simso the feature is reachable from the demo config and exercised by an Objective.Brief description
lab_sim/config/config.yaml: addsmoveit_pro::behaviors::PythonBehaviorsLoadertobehavior_loader_plugins. That one line is the whole opt-in.lab_sim/python_behaviors/: the example Behaviors, copied from the ones moveit_pro#20781 installs undershare/moveit_pro_python_behavior/examples/. A config package owning its own Behaviors is the layout the feature is built around, and keeping them here means they can be edited in place to try the feature out.example_python_behaviors.py—ScaleValue,SummarizeJointState,MakePose,CountTicksexample_ros_sdk_behavior.py—ComputeToolPose, which reads the robot description over ROS and computes forward kinematics with the MoveIt Pro Python SDK_behavior_math.py— a helper module, which demonstrates that a Behavior can import ordinary modules sitting next to itlab_sim/objectives/python_behavior_demo.xml: an Objective wiring them together. It deliberately includesMakePose→IsPoseNearIdentity, a Python Behavior writing ageometry_msgs/msg/PoseStampedthat a C++ Behavior consumes — the pairing that proves the message path rather than just exercising Python..gitignore: ignores__pycache__/and*.py[cod]. Python Behaviors live in a config package's source tree, so running them writes bytecode caches there.How it was tested
Ran locally against
lab_simin MuJoCo sim with the paired moveit_pro branch built into the container.Python Behavior Demoreturns SUCCEEDED via/do_objective, and all five Behaviors appear in the Behavior catalog with their declared port types. OffsettingMakePose's z by 1.0 m makesIsPoseNearIdentityfail the Objective, confirming the pose values genuinely cross the language boundary.Release notes
None