Commit graph

32 commits

Author SHA1 Message Date
a8a9fc0e5e feat: specify submodule branch and improve goal success handling
- Added `branch = main` to the `env_manager` submodule in `.gitmodules`.
- Set the `success` flag in `m_current_result` on goal success in `mtp_jtc.cpp`.
2024-12-11 23:10:38 +03:00
ef4b015491 Add assembly configuration integration and refactor launches
- **Added support for assembly configuration in `rbs_bringup` and `rbs_robot` launches**:
  - Introduced new launch arguments: `use_rbs_utils` and `assembly_config_name`.
  - Integrated `rbs_utils`'s `utils.launch.py` for handling assembly configurations.
- **Simplified `skills.launch.py`**:
  - Removed redundant `assembly_config` node setup.
- **Enhanced `rbs_utils`**:
  - Added installation of `launch` files in `CMakeLists.txt`.
  - Created a new `utils.launch.py` for dynamically loading assembly configurations.
  - Refactored `assembly_config_service.py` to utilize `get_asm_config` for streamlined configuration file resolution.
- Improved `rbs_bringup` setup to include additional parameters and nodes for assembly configuration.

These changes centralize assembly configuration handling and enhance modularity across launch setups.
2024-12-06 12:14:29 +03:00
c4c13d55b1 enhance skill server parameter handling and assembly service
- Unified `base_link` and `ee_link` parameter usage across launch files and skill server components.
- Improved synchronization in `mtjs_jtc` and `mtp_jtc` with a timeout mechanism for joint position updates, adding error handling when data is unavailable.
- Extended `AssemblyConfigService` to broadcast TF transforms for relative parts during initialization.
- Enhanced YAML parsing for `AssemblyConfigService` to handle missing orientations with default values.
- Updated `mtp_jtc_cart` to align parameter names with other skill server components.
- Added single-threaded executor to `AssemblyConfigService` for better lifecycle management.
2024-11-30 19:32:37 +03:00
d0788041e9 refactor launch files for enhanced MoveIt integration and cleanup
- **RBS Bringup Launch File:**
  - Enabled MoveIt by default (`use_moveit: true`).
  - Removed unused arguments (`gripper_name`, `hardware`) for cleaner configuration.
  - Updated `robot_description_kinematics` to use the new kinematics file path handling.

- **RBS Robot Launch File:**
  - Streamlined robot description setup, removing unnecessary parameters like `gripper_name`, `hardware`, and pose arguments (`x`, `y`, `z`, `roll`, etc.).
  - Updated robot description and semantic description to use launch configurations.
  - Refactored kinematics file handling for clarity.

- **Skills Launch File:**
  - Updated kinematics YAML loading to use `load_yaml_abs` for absolute path resolution.
  - Standardized `robot_description`, `robot_description_semantic`, and `kinematics` parameters.

- **General Improvements:**
  - Consolidated redundant logic across launch files.
  - Improved maintainability by removing hardcoded and unused configurations.
2024-11-22 02:16:20 +03:00
ea4ae0ed69 feat(rbs): refactor controller paths and launch configuration
- Rename default controllers file `rbs_arm0_controllers.yaml` to `controllers.yaml` across all launch files
- Enhance `runtime.launch.py` by adding imports (`URDF_parser`, `ControllerManager`, `yaml`) and new arguments (`scene_config_file`, `ee_link_name`, `base_link_name`)
  - Implement xacro argument loading via YAML
  - Configure `robot_builder` to save controllers to `controllers.yaml` based on URDF parsing
- Add `control.launch.py` in `rbs_bringup` for dynamic controller spawning based on strategies/configurations
- Add `rbs_bringup.launch.py` as a unified entry point for single robot setup, initializing core settings like gripper, robot type, and controllers
- Remove `launch_env.launch.py`
- Remove `multi_robot.launch.py`
- Enhance `rbs_robot.launch.py` with `ee_link_name` and `base_link_name` arguments for end-effector and base link customization
- Add `ee_link_name` and `base_link_name` to `skills.launch.py` for flexible robot setup in skills
- Update `mtp_jtc_cart.cpp` with `base_link` and `robot_ee_link` parameters for KDL chain retrieval
- Remove `single_robot.launch.py` for simplified single robot deployment
2024-11-12 22:23:12 +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
dba3b8682a refactor: (env_manager, rbs_runtime) and add YAML config loading
- Updated `camera.py` to use consistent float literals for default spawn positions.
- Removed unused import statements and organized imports in `robot.py` and `scene.py`.
- Removed debugging import from `scene.py` to clean up codebase.
- Added a new YAML configuration file (`default-scene-config.yaml`) for scene settings.
- Implemented a scene configuration loader function in `rbs_runtime/__init__.py` to read and parse YAML config files.
- Modified `runtime.py` to utilize the newly added scene config loader and removed in-code default scene setup.
- Updated `setup.py` to include `config` directory in package data.
- Changed `rbs_robot.launch.py` to use position control strategy by default.
- Refactored `skills.launch.py` with cleaner parameter definitions and reactivated commented-out nodes.
2024-10-14 14:23:49 +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
ae48c5ee6a asssembly config simple publisher 2024-04-22 15:17:40 +03:00
e8ea09e020 update main 2024-04-22 15:06:46 +03:00
d5e7768d90 Multi-Robot Setup 2024-04-18 13:29:36 +00:00
e06f32ada6 format cmake for skill servers 2023-12-30 23:41:03 +03:00
34c8961723 rbs_utils in env_manager and clear code 2023-12-14 12:00:35 +03:00
fe94fc7bc2 Merge remote-tracking branch 'origin/83-env-manager-refactoring' into 90-real-robot-setup 2023-12-11 18:41:59 +03:00
d84e8ead97 add rbs_utils 2023-12-11 18:31:12 +03:00
76cd4319eb from stash 2023-12-05 22:37:28 +03:00
d72c06efea add skill launch, refactor pick-place pose loader 2023-11-30 13:47:33 +03:00
6eee02bacc clang-format 2023-11-09 15:39:19 +03:00
115f01c023 remove gz_ros2_control from rbs.repos 2023-07-31 15:59:36 +00:00
b02e3db31f fix launch errors after merge 2023-07-31 12:05:05 +03:00
99452210b8 fix building errors 2023-07-31 10:25:09 +03:00
Splinter1984
23b01f4657 no matter where is mesh files! 2023-05-20 16:33:23 +02:00
Splinter1984
23489d7b7a resolve pipeline 2023-05-17 07:43:08 +02:00
Splinter1984
61878375aa v0.1 2023-05-16 23:10:19 +02:00
Roman Andrianov
000ddb4831 Motion planner (MoveIt) and Task planner (Plansys) integration 2023-04-30 11:46:52 +00:00
f0f8d6ca5c improving the code and adding some comments 2023-04-22 15:27:51 +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
e46c7bef74 Migrate to Gazebo Fortress 2023-02-03 07:04:12 +00:00