zhangyi1357 dca739930e
refactor: sparate ros2 dependency in aimrt_py (#117)
* feat: enhance aimrt_py with ROS2 support and modularize functionality

- Added support for ROS2 message types in aimrt_py, improving interoperability with ROS2 systems.
- Introduced new module aimrt_python_runtime_ros2 for ROS2-specific functionalities, including publishing, subscribing, and RPC handling.
- Updated existing files to integrate ROS2 capabilities, ensuring seamless interaction between ROS1 and ROS2 message types.
- Enhanced CMake configuration to conditionally include ROS2 components based on build settings.
- Improved code organization by separating ROS2-related functionalities into dedicated headers and source files for better maintainability.

* chore: update .gitignore and refactor example scripts for improved clarity and organization

- Added 'test_log/' to .gitignore to exclude test log files from version control.
- Removed obsolete 'py_tests.py' file to streamline the test structure.
- Enhanced logging messages in ROS2 subscriber and RPC server applications for better context clarity.
- Updated expected output definitions in utility files to reflect new message structures and improve consistency.
- Refactored example runner script to correct directory path handling and improve readability.
- Added new example configurations for ROS2 channels and RPC interactions, enhancing the testing framework.

* refactor: remove unused import from python_runtime initialization

- Eliminated the import of aimrt_python_runtime_ros2 from the __init__.py file in the python_runtime module to streamline the code and improve clarity.

* refactor: streamline ROS2 import structure and enhance CMake configuration

- Removed direct import of aimrt_python_runtime_ros2 in favor of aliasing for clarity in aimrt_py_chn.py.
- Updated CMakeLists.txt to conditionally add dependencies for ROS2 components, improving build flexibility.
- Adjusted ROS2 service generation script to utilize the aliased import for better readability and maintainability.

* feat: add support for additional ROS2 example script

- Introduced a new subprocess call in `run_all_example.py` to execute the `build_examples_py_ros2_rpc.sh` script, enhancing the example runner's capabilities for ROS2 RPC interactions.
- This addition allows for better demonstration and testing of ROS2 functionalities within the example framework.

* format code
2024-12-03 19:58:48 +08:00
2024-11-15 18:42:59 +08:00
2024-09-23 16:01:31 +08:00
2024-09-23 16:01:31 +08:00
2024-09-23 16:01:31 +08:00
2024-09-30 17:22:32 +08:00
2024-10-14 09:45:07 +08:00
2024-09-23 16:01:31 +08:00
2024-10-16 19:39:38 +08:00
2024-09-30 17:22:32 +08:00

English | 中文

AimRT

Full project details on aimrt.org

Brief

  • AimRT is a basic runtime framework for the field of modern robotics. It is developed based on modern C++, is lightweight and easy to deploy, and has more modern designs in resource management and control, asynchronous programming, deployment configuration, etc.
  • AimRT is committed to integrating the research and development of various deployment scenarios such as robot end-side, edge end, and cloud. It serves modern AI- and cloud-based robot applications and provides modern and complete debugging and performance analysis tools, as well as good observability support.
  • AimRT also provides a comprehensive plug-in development interface, which is highly scalable and compatible with ROS2, HTTP, Grpc and other traditional robot ecosystems or cloud service ecosystems, and supports progressive upgrades of your existing systems.

Document

Description
No description provided
Readme 340 MiB
Languages
C++ 76.9%
HTML 13.6%
C 1.6%
C# 1.3%
JavaScript 1.3%
Other 4.7%