Refactor - #42
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (136)
📝 WalkthroughWalkthroughThe pull request transitions the MPC stack from whole-body to centroidal dynamics, upgrades the development environment from ROS Jazzy to Humble with CycloneDDS middleware, introduces hand-pose reference management with interactive visualization, adds new ROS2 nodes for publishing MPC motion references, and replaces Xbox controller input with GUI-based velocity commands. Changes
Sequence DiagramsequenceDiagram
participant User as User/Visualization
participant Visualizer as HumanoidVisualizer
participant InteractiveMarkers as Interactive Marker Server
participant HandPoseMgr as HandPoseReferenceManager
participant ReferenceJointState as ReferenceJointStatePublisher
participant MpcInterface as MPC Interface
participant MotionRefPublisher as MotionReferencePublisher
User->>Visualizer: Open interactive marker for hand pose
Visualizer->>InteractiveMarkers: Create/update marker
User->>InteractiveMarkers: Drag marker (with position clamping)
InteractiveMarkers->>Visualizer: Feedback event
Visualizer->>HandPoseMgr: setReference(hand_name, pose, transition_duration)
HandPoseMgr->>HandPoseMgr: Store start/goal reference with timing
Note over ReferenceJointState,MpcInterface: Parallel: Reference publishing loop
MpcInterface->>ReferenceJointState: Policy available at time T
ReferenceJointState->>HandPoseMgr: getReference(hand_name, time_T)
HandPoseMgr->>HandPoseMgr: Interpolate pose using clamped alpha
HandPoseMgr-->>ReferenceJointState: Interpolated HandPoseReference
ReferenceJointState->>ReferenceJointState: Evaluate policy + derive kinematics
ReferenceJointState-->>User: Publish JointState on mpc/reference_joint_states
Note over MotionRefPublisher: Parallel: Motion reference loop
MpcInterface->>MotionRefPublisher: Policy + state/input trajectories
MotionRefPublisher->>MotionRefPublisher: Sample policy at time T+0.005
MotionRefPublisher->>MotionRefPublisher: Compute full joint + body pose + twist
MotionRefPublisher->>MotionRefPublisher: Flatten motion_cmd vector
MotionRefPublisher-->>User: Publish MpcMotionReference on mpc/mpc_motion_reference
Estimated code review effort🎯 4 (Complex) | ⏱️ ~75 minutes Poem
✨ Finishing Touches🧪 Generate unit tests (beta)
|
Summary by CodeRabbit
New Features
Improvements
Removals