- 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.
- **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.
- 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.
- 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.