Commit graph

15 commits

Author SHA1 Message Date
698f8734ac refactor(MoveToPose): add input ports try_plan_untill_success and allowed_planning time 2025-04-08 14:43:53 +03:00
6028717a5e fix(MoveToPose): Add input validation for setGoal function
- Added include for rclcpp logging
- Modified setGoal() to validate inputs using getInput()
- Added fatal error logging when input retrieval fails
- Return false if any input is missing or invalid
2025-03-17 18:10:38 +03:00
3eda33fc8b print action id in logger 2025-03-10 13:44:36 +03:00
d7f1c0cb1b Improve Error Handling, Add Named Pose Service, Optimize Motion Planning, and Enhance Feedback Mechanisms
- Set success flags on results when actions complete successfully in both `mtp_jeet_cart.cpp` and `mtp_jtc.cpp`, providing proper feedback to clients.
- Increased trajectory planning granularity by adjusting the divisor from 0.01 to 0.001 in `mtp_jtc_cart.cpp`, resulting in smoother robot movements.
- Introduced a new service `GetNamedPose` defined in `GetNamedPose.srv`, allowing nodes to request specific poses by name, enhancing modularity and reusability.
- Optimized motion planning in `mtp_jtc.cpp` by immediately succeeding when no movement is needed, reducing unnecessary computations.
- Updated `CMakeLists.txt` to include the new service
2025-03-03 16:16:06 +03:00
5c2c67567d Enhance grasping task handling and behavior tree configurations
- Improved `get_grasp_pose_callback` with regex for grasp pose matching and added fallback mechanisms for `pregrasp_pose` and `postgrasp_pose`.
- Introduced `_create_pose_msg` and `_create_pose_msg_from_name` helper functions for dynamic transform-to-pose conversion.
- Updated `GetGraspPose.srv` to include `pregrasp_pose` and `postgrasp_pose` in the service response structure.
- Enhanced TF listener integration in `assembly_config_service.py` for dynamic pose retrieval and parameter management.
- Added `rbs_utils_interfaces` dependency in `CMakeLists.txt` and introduced new `GetGraspPose` node for behavior tree integration.
- Replaced `MoveGripper` with `GripperCommand` to improve gripper state transitions.
- Refactored `MoveToPose` and `GetWorkspace` nodes for enhanced logging and parameter handling.
- Updated `workspace_movement.xml` and `grasp_object.xml` with improved actions and configurations.
2024-12-13 17:26:29 +03:00
0c6b01bbfe feat: improve behavior tree executor and dependency management
- **CMakeLists.txt**:
  - Commented out the unused `rbs_env_manager_starter` library.
- **Behavior Trees**:
  - Added new `grasp_object.xml` behavior tree for grasping operations.
  - Modified `test_tree.xml` to update `robot_name` in the `WorkspaceMovement` subtree.
- **Source Code Updates**:
  - Removed `EnvManager.cpp`, deprecating its functionality.
  - Formatting `GetWorkspace.cpp`
  - Formatting `MoveGripper.cpp`
  - Formatting `MoveToJointStates.cpp`
  - Formatting `PoseEstimation.cpp` and `TreeRunner.cpp`
- **Assembly Config Service**:
  - Added broadcasting for grasp pose transformations in `assembly_config_service.py`.

These updates enhance modularity, maintainability, and the overall functionality of the behavior tree executor.
2024-12-09 18:25:32 +03:00
a7b7225dd1 refactor(rbs_skill_servers): update action configuration, dependencies, and skills
- Removed `assembly_config_service.py` node from launch configuration.
- Added default `goal.duration` setting to `MoveToPose` and `MoveToPoseArray`.
- Replaced `timeout_seconds` with `duration` in action definitions for `MoveitSendJointStates` and `MoveitSendPose`.
- Removed dependencies on TinyXML2 and Gazebo/SDFormat, adding `controller_manager_msgs` and `control_msgs` to CMake configuration.
- Added new action servers `cartesian_move_to_pose` and `move_to_joint_states`, registering them in CMakeLists file.
- Introduced `SkillBase`, a template class for managing action-based skills, providing essential ROS 2 action server support and functionalities for handling goals, cancels, accepted actions, and controller management.
- Implemented methods to load, configure, and switch required controllers with conflict detection for active controllers, along with parameter checking and asynchronous handling for required parameters.
- Enhanced error handling for missing controllers, parameters, and resource conflicts.
- Updated `skills.launch.py` to utilize `ComposableNodeContainer` for skill nodes, incorporating `MoveToJointStateActionServer` and `CartesianMoveToPose` as composable nodes.
- Changed the executable name in `cartesian_move_to_pose_action_server` node configuration.
- Added `cartesian_move_to_pose.cpp`, implementing the `CartesianMoveToPose` action server, including trajectory interpolation, pose adjustment, and controller management.
- Updated `package.xml` to include `rclcpp_components` dependency.
- Refactored `MoveToJointStateActionServer` to extend `SkillBase`, leveraging `FollowJointTrajectory` for joint trajectory execution, while removing redundant code and dependencies.
- Implemented trajectory generation based on initial and target joint positions with parameterized interpolation for smoother execution, enhancing joint state handling to dynamically align current and target joint values.
2024-11-06 23:57:47 +03:00
2de37b027b Migration to BT.cpp v4 & new BT executor 2024-07-04 12:11:07 +00:00
e8ea09e020 update main 2024-04-22 15:06:46 +03:00
9efab819af add workspace inspector skill 2023-12-30 23:42:10 +03:00
034e172f62 bt-node clang-format 2023-11-22 14:43:30 +03:00
84798d94f8 update grasp _place pose loader 2023-04-21 23:28:57 +03:00
a87fb8a7ec Add minimal pick-and-place case with world embedded 2023-03-31 20:24:56 +00:00
2019e7db41 fix last merge 2023-02-05 17:04:54 +03:00
e46c7bef74 Migrate to Gazebo Fortress 2023-02-03 07:04:12 +00:00
Renamed from robossembler/src/behavior_tree_nodes/atomic_skills/MoveToPose.cpp (Browse further)