Commit graph

376 commits

Author SHA1 Message Date
6b376f40a6 move xacro_args loader to utils 2025-02-06 15:21:00 +03:00
Bill Finger
942bafab4d fix gym_gz packge name in package.xml
Python dependencies was commented due to the new version of python and
it will need to be updated and tested
2025-02-01 17:01:57 +03:00
7b6a4ce878 add flake.lock 2025-02-01 16:45:53 +03:00
e891e45869 update(.gitignore): add .envrc for nix flakes 2025-02-01 16:45:53 +03:00
35a373f51a fix:(nix) remove rbs-simulation from rbs-bringup 2025-02-01 16:45:53 +03:00
0a868b5163 add env_manager folder 2025-02-01 16:45:53 +03:00
2d8c7217fe revert submodule into folder 2025-02-01 16:45:53 +03:00
7175f38b06 Add ROS2 Jazzy Skills, Repositories, and Nix Flake Setup
- Add Nix flake configuration (`flake.nix`, overlays, `package.nix`) for seamless package builds, dependency management, and development shell setup.
2025-02-01 16:45:53 +03:00
c7315a02a4 Deleted rbs_simulation package 2025-02-01 16:45:53 +03:00
38b991ef5a fix(bagfile_recorder): update create_topic with proper initialization
- Ensured proper initialization by passing an empty vector or other necessary parameters.
- Maintained existing logging but updated the `create_topic` call to use more complete syntax, ensuring compatibility and correct configuration.
2025-02-01 16:45:53 +03:00
b165a07d6a fix plan.trajectory 2025-02-01 16:45:53 +03:00
a925923169 moveit jazzy fixes 2025-02-01 16:45:53 +03:00
d7e51b71b4 run skill_movetopose via webservice 2025-01-23 18:15:46 +03:00
07607958c9 fix: add all .py 2024-12-28 09:46:17 +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
2fd4f3e480 update scenario version 2024-12-13 17:23:11 +03:00
78454a6abb add rosbag example 2024-12-13 16:03:42 +03:00
ba4e51d06f add mode "benchmark" 2024-12-12 20:10:29 +03:00
6ca5bbe646 add test examples 2024-12-11 23:22:57 +03:00
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
66542ba8b9 fix: update requirements 2024-12-11 22:06:42 +03:00
4d4cc3b1c0 fix: rbs_utils when config name is empty
- Update submodule
 - Add missing dependencies for rbs_gym
2024-12-11 19:55:29 +03:00
b109c97b5c (env_manager): update submodule reference 2024-12-10 22:36:47 +03:00
20273781a9 final renames + skill description 2024-12-10 12:46:29 +03:00
735615e360 fix: gitlab-ci repos 2024-12-09 21:23:57 +03:00
2b76f86d88 fix: delete extra trimesh in requirements.txt 2024-12-09 20:41:19 +03:00
3f89ac22e7 docs: update docs
docs: fix typo in ros2 package name
2024-12-09 20:13:11 +03:00
48d4444b27 fix: update submodule link to https 2024-12-09 19:50:40 +03:00
f709515778 docs: update docs 2024-12-09 19:11:36 +03:00
21c4dda654 docs: fix typo in the russian instruction git clone command 2024-12-09 18:43:55 +03:00
d3679c2757 update env_manager submodule 2024-12-09 18:36:48 +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
71f86ab17d feat: update build scripts and dependencies
- Updated `.gitlab-ci.yml` to use `all-deps.repos` and install additional Python dependencies via `requirements.txt`.
- Enhanced `Dockerfile` with better dependency management:
  - Added `SHELL` declaration for consistent script execution.
  - Installed `libgeos-dev` for geometry processing.
  - Included `python3-rosdep` and `python3-colcon-common-extensions` for ROS2 tooling.
  - Streamlined ROS2 and dependency installation steps.
- Refined `requirements.txt` to adjust package versions and include new dependencies such as `tensorflow` and `torch`.
- Updated repository URL for `rbs_assets_library` in `requirements.txt`.

These changes improve dependency resolution, enhance build reproducibility, and align with updated requirements.
2024-12-09 18:24:33 +03:00
febadce61f docs: fix typo in russian docs and fix cd path in installation instruction 2024-12-09 18:22:14 +03:00
223807255b refactor: move env_manager to new repo 2024-12-09 18:19:38 +03:00
988800abc0 interface node synchronized + readme for perception 2024-12-09 12:51:20 +03:00
b382148b74 Update default scene configuration with new objects and adjustments
- Replaced object names and updated configurations:
  - Renamed `hole` to `star` and adjusted its position.
  - Renamed `peg` to `box`, added mass and size attributes, and refined position and randomization settings.
  - Added a new `cylinder` object with mass, radius, length, and position attributes.
  - Introduced a static `board` object with specified position and randomization settings.
- Improved structure and flexibility for object definitions in the default scene.
2024-12-09 12:51:20 +03:00
748ab2b7b1 update domain name in requirements.txt 2024-12-09 12:50:03 +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
b1e20696fe Refactor robot arm and runtime initialization logic
- Updated error message in `rbs_arm.py` to use the complete joint names for improved clarity.
- Refactored `scene.py` to replace asynchronous parameter retrieval with synchronous methods for reliability and simplified implementation.
- Enhanced `runtime.launch.py`:
  - Added new launch arguments `use_rbs_utils` and `assembly_config_name`.
  - Included additional parameters in runtime node initialization.
  - Adjusted runtime node arguments for debugging and clarity.
- Updated `runtime.py`:
  - Introduced `MultiThreadedExecutor` for improved threading and node handling.
  - Refactored the `main` function for cleaner node lifecycle management.
2024-12-06 12:10:35 +03:00
1addd4f595 update documentation and gitignore 2024-12-06 12:05:53 +03:00
e8e6c052b0 refactor(launch): update launch configuration for real_robot and cleanup
- Add controller manager node when `real_robot` flag is set
- Remove unused Open3D dependency
2024-12-01 17:33:22 +03:00
fd0bb140cf update Russian installation guide with git LFS instructions
- Corrected language in installation steps for clarity.
- Added a note emphasizing the requirement to install `git lfs` for handling large files in `rbs_assets_library`.
- Improved formatting for better readability in the guide.
2024-12-01 14:55:07 +03:00
f14359c81c add support for real robot mode in runtime launch
- Added a new `real_robot` launch argument with default set to "false".
- Updated `launch_setup` to handle `real_robot` configuration, allowing selective use of `rbs_robot_setup`.
- Updated `requirements.txt` to replace a static library reference with a GitHub repository link for `rbs_assets_library`.
2024-12-01 00:54:06 +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
de0d5d4440 refactor launch configuration for robot and environment setup
- Simplified and consolidated launch arguments by removing unused configurations.
- Enhanced `test_env.launch.py` to support dynamic loading of xacro and SRDF arguments via YAML files.
- Added new launch parameters for control space, strategy, and interactive mode to improve flexibility.
- Updated robot description and MoveIt integration to use dynamic configurations.
- Improved clarity and modularity in scene and robot setup processes.
2024-11-30 19:30:13 +03:00
48e8668136 add dynamic terrain and TF broadcaster support
- Added `RandomGround` terrain model for random ground generation with texture randomization.
- Integrated `Tf2DynamicBroadcaster` for dynamic TF broadcasting.
- Enhanced the `Scene` class to support dynamic terrain and marker publishing.
- Updated imports to include new utilities and modules for dynamic broadcasting and terrain handling.
2024-11-30 19:26:09 +03:00
1f879e2dd6 update custom package repository URLs
Replaced URLs for custom Python packages in `requirements.txt` to point to a new `devpi.narmak.xyz` repository.
2024-11-30 19:23:13 +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