Commit graph

59 commits

Author SHA1 Message Date
d7e51b71b4 run skill_movetopose via webservice 2025-01-23 18:15:46 +03:00
213179adbd feat: enhance pick-and-place functionality with behavior tree support for place operations
- Added `GetPlacePose` skill client library and associated service node to handle place pose retrieval, including preplace and postplace poses.
- Created new behavior trees (`pick_and_place.xml`, `place_object.xml`) for handling pick-and-place operations with enhanced modularity.
- Updated `AssemblyConfig` to include `place_poses` alongside `grasp_poses`, improving flexibility in assembly workflows.
- Refactored YAML parsing and codebase to differentiate between `grasp_poses` and `place_poses` for better clarity and maintainability.
- Updated related XML behavior tree nodes, scripts, and skill structures to integrate `GetPlacePose` functionality.
- Adjusted gripper command maximum effort to `3.0` for improved control.
- Added a new message definition for `GetPlacePose` service in the `rbs_utils_interfaces` package.
- Updated CMakeLists.txt to include the new service and ensure proper build configuration.
2024-12-18 14:14:01 +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
ba4e51d06f add mode "benchmark" 2024-12-12 20:10:29 +03:00
20273781a9 final renames + skill description 2024-12-10 12:46: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
988800abc0 interface node synchronized + readme for perception 2024-12-09 12:51:20 +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
4dccc2b74c update dependencies in package 2024-10-29 10:07:44 +03:00
6ea2eefc42 united rbs_interface with rbs_bt_executor 2024-09-25 12:14:29 +03:00
1a562b05ca rbs_gym multi camera and multi object setup 2024-09-13 22:22:47 +03:00
b4b452297d Cartesian Move_to_pose Skill for BT Interface Node 2024-09-04 08:46:27 +00:00
2de37b027b Migration to BT.cpp v4 & new BT executor 2024-07-04 12:11:07 +00:00
b58307dea1 Added rbs_gym package for RL & multi-robot launch setup 2024-07-04 11:38:08 +00:00
38401d9eff Merge branch 'main' into fix-simulation-running 2024-05-27 14:21:22 +03:00
49e036af5e BT interface node works with web-service 2024-05-27 08:35:27 +00:00
1dc1da1d3c delete missing deps rbs_bt_executor 2024-05-26 17:17:42 +03:00
e4c3c0f1c7 Merge branch 'main-update' into 101-pose_estimation_DOPE 2024-05-13 12:26:39 +03:00
ae48c5ee6a asssembly config simple publisher 2024-04-22 15:17:40 +03:00
e8ea09e020 update main 2024-04-22 15:06:46 +03:00
addfd40160 add MoveToPose skill config (through Interface Node) 2024-04-18 16:56:01 +03:00
b26193655b Configuration scheme of a skill 2024-04-12 22:27:56 +03:00
b4952d0234 Merge remote-tracking branch 'origin/main' into 101-pose_estimation_DOPE 2024-04-02 11:04:57 +03:00
9d86ad7f30 add ROS2 node for DOPE (work through rbs_interface) 2024-04-01 17:55:53 +03:00
95975fee28 add rbs_interface node 2024-04-01 17:46:43 +03:00
bc48e0c35a Add default values to BT Node Interfaces 2024-02-19 13:00:27 +00:00
5002c57b06 Update Node Interfaces Spec for BT Builder 2024-02-19 10:49:40 +00:00
5e14dc00a2 clang-format move to pose array skill 2024-02-16 15:22:34 +03:00
9c56582d9f Merge branch 'main' into 77-cartesian-controllers 2024-02-16 15:10:28 +03:00
899805973d add tree nodes model to other file
ThreeNodesModels had move to general.xml which contain lib for groot
2024-02-15 19:48:48 +03:00
12a1bfbfe8 add skill interfaces description and change robot name in bt tree 2024-02-08 13:45:11 +03:00
86a3f4170f Object detection: add YOLOv8 implementation; unified API with doc 2024-01-22 12:51:01 +00:00
4dbf722c73 improve parrameters passing to bt_engine 2023-12-31 00:12:44 +03:00
c44bc1a654 Merge branch 'main' into 96-inspection-skill 2023-12-30 23:58:20 +03:00
9efab819af add workspace inspector skill 2023-12-30 23:42:10 +03:00
a5f3f6bc2e rbs_executor with bt_file (param) 2023-12-29 22:55:27 +03:00
f722a8d3f5 fix merge mistakes 2023-12-22 22:40:42 +03:00
af6b20b622 Merge remote-tracking branch 'origin/main' into 90-real-robot-setup 2023-12-22 19:14:18 +03:00
324ae82c20 Pose Estimation Skill Megapose6D fixes 2023-12-22 10:50:41 +00:00
6d3c5c2702 rbs_bt_executor: add new BT node EnvStarter 2023-12-19 08:18:41 +03:00
ec0aba0b2e Merge remote-tracking branch 'origin/89-debug_megapose_in_ROS2' into 90-real-robot-setup 2023-12-17 22:27:03 +03:00
34c8961723 rbs_utils in env_manager and clear code 2023-12-14 12:00:35 +03:00
d32f44682d add new env_manager to project 2023-12-11 22:08:43 +03:00
f1a6f4d817 update robot name for test_tree.xml 2023-12-11 18:29:52 +03:00
eac306c479 add object detection (yolov4) 2023-12-07 11:04:45 +03:00
8a1f2aa4dc json with parameters for calibrate 2023-12-01 15:09:08 +03:00
cb3082ca44 calibrate mode for pose estimation 2023-12-01 10:26:21 +03:00
d72c06efea add skill launch, refactor pick-place pose loader 2023-11-30 13:47:33 +03:00
034e172f62 bt-node clang-format 2023-11-22 14:43:30 +03:00
4decc40c88 refactoring run 2023-11-16 13:15:27 +03:00