Commit graph

364 commits

Author SHA1 Message Date
c1dc9116b7 ADD pcg-gazebo 2025-01-23 22:18:09 +03:00
c207d9950b flake update 2025-01-23 22:17:22 +03:00
1f30a2d9cd add cartesian controllers 2024-12-23 13:13:38 +03:00
5cfa3c6b99 nix flake update 2024-12-20 18:00:06 +03:00
93769536dd rbs-assets-library: src from gitlab for LFS 2024-12-20 13:25:47 +03:00
c3c697dc10 rbs-assets-lib fix 2024-12-01 17:36:25 +03:00
61190b9482 fetchgit 2024-12-01 17:34:13 +03:00
18e15d7f76 fetchLFS = true for rbs-assets-library 2024-12-01 17:33:19 +03:00
77d7e86ac0 update srcs 2024-12-01 17:31:27 +03:00
5bbbc458b1 add rbs_assets_library 2024-12-01 17:13:46 +03:00
b83a68f777 moveit jazzy fixes 2024-12-01 16:25:41 +03:00
4d476c9879 fix plan.trajectory 2024-12-01 16:20:57 +03:00
2d361242a4 Merge branch 'main' into 109-nix-jazzy 2024-12-01 16:05:45 +03:00
d5d70c0673 inputs update 2024-12-01 16:01:31 +03:00
ec2cebe5f1 Merge branch 'main' into 109-nix-jazzy 2024-12-01 15:59:42 +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
fbddca1b8b refactor and extend runtime configuration handling
- **Scene configuration:**
  - Replaced `bishop` object with `hole` and added a new `peg` object.
  - Enhanced object properties with new attributes like `randomize`, `relative_to`, `static`, and `texture`.
  - Updated `robot` joint positions in the default scene configuration.

- **Launch file updates:**
  - Added handling for MoveIt SRDF file processing, including semantic descriptions.
  - Refactored unused parameters (`gripper_name`, `hardware`) and streamlined arguments.
  - Extended `robot_type` choices in the `generate_launch_description` method.

- **Runtime initialization:**
  - Introduced `object_factory` to handle dynamic object instantiation based on type (`box`, `cylinder`, `mesh`, or `model`).
  - Enhanced `scene_config_loader` to process and instantiate objects using the factory function.
2024-11-22 02:15:09 +03:00
b71a2bdf55 add material properties to terrain and ground models
- Introduced `ambient`, `specular`, and `diffuse` attributes to `TerrainData` class.
- Updated `Ground` class to accept and use material properties for ambient, specular, and diffuse values.
- Modified the SDF generation to dynamically apply the provided material properties.
- Integrated material property support in the `Scene` class for terrain setup.
2024-11-22 02:13:01 +03:00
5747057baf fix: deps version resolving 2024-11-21 00:25:22 +03:00
552a3c6a71 fix: install nlohmann-json via rosdep 2024-11-20 23:12:58 +03:00
a8874fa0d7 Update Dockerfile and dependencies, add installation guide
- Switched base image in `Dockerfile` to `nvidia/cuda:12.6.2-cudnn-devel-ubuntu22.04`.
- Added non-interactive mode for Debian and streamlined package installation.
- Removed unused JSON library build steps.
- Enhanced ROS2 installation with keyring and repository setup.
- Simplified Python package and framework dependencies installation.
- Added commands for `git-lfs` installation and cloning `rbs_assets_library`.
- Introduced a new Russian installation guide (`doc/ru/installation.md`) with detailed steps for setting up the framework and dependencies.
- Fixed import paths in `octree.py` for consistency with project structure.
- Added `all-deps.repos` and `requirements.txt` for managing dependencies.
2024-11-20 21:07:19 +03:00
17401c29a7 add interactive argument to control robot with interactive marker 2024-11-19 00:05:50 +03:00
85eec1b7d7 added doc on how to use framework with your robot or how to add new robot 2024-11-18 13:36:56 +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
6cdcd4e887 dacite scipy 2024-11-04 12:41:51 +03:00
6b253bf816 update source 2024-11-01 12:22:02 +03:00
72415c155c Merge remote-tracking branch 'rad/patches/75dfaee1a5b2cf6752adce66364a2ed9984dfee2' into 109-nix-jazzy 2024-10-31 19:20:12 +03:00
807f108f18 Merge branch '109-nix-jazzy' into patch/75dfaee 2024-10-31 17:44:26 +03:00
119bf1f513 gazebo packages 2024-10-31 17:43:43 +03:00
2ae0cc134d moveto fix for jazzy 2024-10-30 11:54:46 +03:00
961dbcdfba rbs-skill-servers deps: yaml-cpp-vendor sdformat 2024-10-30 11:53:50 +03:00
fc098a3b90 rbs-bt-executor add moveit-core, moveit-ros-planning, moveit-ros-planning-interface, control-msgs 2024-10-30 11:52:47 +03:00
9cf705e09d gitignore result for nix builds 2024-10-29 15:17:59 +03:00
a4ec1d5dea config.permittedInsecurePackages freeimage 2024-10-29 15:17:43 +03:00
d45051cc89 fix arguments in create_topic function 2024-10-29 12:52:02 +03:00
e1abecd741 fix dependencies 2024-10-29 11:53:03 +03:00
4dccc2b74c update dependencies in package 2024-10-29 10:07:44 +03:00
1762f88956 src update hash dev url 2024-10-25 19:50:46 +03:00
83d127b00c auto-generated jazzy clean without forks 2024-10-25 19:32:24 +03:00
ac6628f0fb flake devshell backup 2024-10-25 18:56:58 +03:00
6ba0c52f85 clean repos 2024-10-25 18:55:39 +03:00
d6cd0d5601 update move to pose 2024-10-18 18:23:53 +03:00
16ec90cabe delete pe_dope from rbs_perception 2024-10-15 16:19:14 +03:00