-
Notifications
You must be signed in to change notification settings - Fork 0
Release 3 #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: release-2
Are you sure you want to change the base?
Release 3 #1
Conversation
This reverts commit bf0272c7c381058510fc34034e6e5c7dd9baf389.
Updated instructions to run the Eddie interface and modified commands for starting the FSM and publishing perception data.
Added a reference to detailed steps for running the robot setup.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR transitions the pick-and-place FSM implementation from a C++ mock client to a Python-based FSM with integrated slip detection and service-based reference capture. The changes introduce a new ROS2 service definition, refactor the FSM to use Python with DSL-generated code, add gripper slip detection capabilities, and update the build configuration to support Python executables and interface generation.
Key Changes:
- Replaced C++ FSM mock implementation with Python FSM using DSL-generated state machine
- Added slip detection node with service-based reference capture mechanism
- Introduced
CaptureReference.srvservice definition for coordinating gripper state monitoring
Reviewed changes
Copilot reviewed 43 out of 62 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| srv/CaptureReference.srv | New service definition for capturing gripper reference position |
| src/pick_place_fsm_mock.cpp | Refactored C++ FSM to integrate with DSL-generated state machine |
| src/pick_place.py | New Python FSM implementation with comprehensive state management and action client integration |
| src/mock_servers_only.cpp | Removed mock server implementation |
| src/error_handling.py | New gripper slip detection node with service-based reference capture |
| package.xml | Updated dependencies to support Python execution and interface generation |
| CMakeLists.txt | Reconfigured build to generate interfaces and install Python executables |
| how_to_run.md | Added comprehensive setup and execution instructions |
| README.md | Added project overview and FSM documentation |
| include/pick_place_py.fsm | New FSM definition file for DSL code generation |
| include/fsm_pick_place.py | Auto-generated Python FSM implementation from DSL |
Comments suppressed due to low confidence (2)
src/pick_place.py:1
- The methods
arm_goal_responseandarm_resulton lines 362-388 are duplicates of the private methods_arm_goal_responseand_arm_resultdefined earlier (lines 335-360). This code duplication should be removed to improve maintainability. Remove these duplicate methods and ensure all callers use the private underscore-prefixed versions.
src/error_handling.py:1 - The filename
error_handling.pydoes not accurately reflect the module's purpose, which is gripper slip detection. The module should be renamed togripper_slip_detector.pyto match the class nameGripperSlipDetectorand improve code clarity.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| **OR** | ||
|
|
||
| ```bash | ||
| ros2 topic pub --once /object_pose geometry_msgs/msg/PoseStamped "{header: {frame_id: 'eddie_right_arm_camera_link'}, pose: {position: {x: 0.0, y: 0.0, z: 0.4}, orientation: {}}}" |
Copilot
AI
Dec 17, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The example command publishes a pose with an empty orientation quaternion, which is invalid. A valid quaternion should have w: 1.0 for no rotation. Update the command to include orientation: {w: 1.0} to provide a valid example.
| ros2 topic pub --once /object_pose geometry_msgs/msg/PoseStamped "{header: {frame_id: 'eddie_right_arm_camera_link'}, pose: {position: {x: 0.0, y: 0.0, z: 0.4}, orientation: {}}}" | |
| ros2 topic pub --once /object_pose geometry_msgs/msg/PoseStamped "{header: {frame_id: 'eddie_right_arm_camera_link'}, pose: {position: {x: 0.0, y: 0.0, z: 0.4}, orientation: {w: 1.0}}}" |
Added section on object slip detection, detailing reference capture and motion check processes.
Added command for object slip detection in README.
|
@jetcanine your object slip detection code should not be in this repo |
No description provided.