-
Notifications
You must be signed in to change notification settings - Fork 0
add docs and fix some bug #7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| **RoboSDK - Empowering Cloud-Native Robotics Development** | ||
|
|
||
|  | ||
|
|
||
| Welcome to `RoboSDK`, an open-source cloud-native robotics toolchain designed to empower developers in building cutting-edge robotics applications. This README provides an overview of the project and its objectives, guiding developers on how to get started, and encouraging community engagement. | ||
|
|
||
| `RoboSDK` aims to address these challenges and provide developers with a unified platform for cloud-native robotics development. | ||
|
|
||
| Here provides a proposal to `RoboSDK`, comprises the following key sections: | ||
|
|
||
| 1. **Introduction:** An overview to `RoboSDK`, goals, significance and concepts in our project. | ||
|
|
||
| 2. **Project Design:** An in-depth explanation of `RoboSDK`'s architecture, highlighting its hardware abstraction layer, cloud service integration, and support for different robot operating systems. | ||
|
|
||
| 3. **Comparison:** A detailed comparison between `RoboSDK` and the existing reference work, emphasizing the advantages and innovations `RoboSDK` brings to the field. | ||
|
|
||
| 4. **Value Description:** A breakdown of the value `RoboSDK` brings to the cloud computing, robotics industry, and developers of all levels of expertise. | ||
|
|
||
| 5. **Roadmap:** A forward-looking plan outlining the project's goals, upcoming features, and enhancements for `RoboSDK`. | ||
|
|
||
| 6. **References:** A list of references used in our project. | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,64 @@ | ||
| # Detailed Comparison: RoboSDK vs. Existing Reference Works | ||
|
|
||
| In this section, we will conduct a comprehensive comparison between `RoboSDK` and three prominent existing reference works: [NVIDIA Isaac SDK](https://developer.nvidia.com/isaac-sdk), [AWS IoT SDK](https://docs.aws.amazon.com/iot/latest/developerguide/iot-sdks.html), and [rospy](http://wiki.ros.org/rospy). By highlighting the advantages and innovations that `RoboSDK` brings to the field, we aim to demonstrate its unique position in the cloud-native robotics landscape. | ||
|
|
||
| ## 1. NVIDIA Isaac SDK | ||
|
|
||
| ### Hardware Abstraction | ||
| - NVIDIA Isaac SDK provides hardware abstraction for NVIDIA-specific robotic platforms, offering optimized performance for their hardware ecosystem. | ||
| - In contrast, RoboSDK offers a more generic hardware abstraction layer, enabling seamless integration with a wide range of robot platforms, not limited to any specific hardware vendor. | ||
|
|
||
| ### Cloud Service Integration | ||
| - NVIDIA Isaac SDK primarily focuses on integration with NVIDIA's cloud services and edge computing solutions. | ||
| - RoboSDK, on the other hand, adopts a middleware-based approach to integrate with a broader array of cloud services, including the ability to seamlessly interface with RoboArtisan's cloud offerings (RoboOMS and RoboSS). | ||
|
|
||
| ### Support for Robot Operating Systems | ||
| - NVIDIA Isaac SDK is optimized for ROS 2 and tightly coupled with the NVIDIA Jetson platform. | ||
| - RoboSDK takes a platform-agnostic approach, supporting both ROS 1 and ROS 2, as well as other robot operating systems, such as Harmony, to cater to the diverse needs of developers. | ||
|
|
||
| ### Advantages of RoboSDK | ||
| - RoboSDK's generic hardware abstraction layer ensures compatibility with various robot platforms, enabling developers to deploy their applications across a wider range of robots. | ||
| - The middleware-based cloud service integration facilitates seamless utilization of RoboArtisan's cloud resources, streamlining task management and data storage. | ||
| - Support for multiple robot operating systems allows developers to leverage RoboSDK's capabilities regardless of their preferred robot framework. | ||
|
|
||
| ## 2. AWS IoT SDK | ||
|
|
||
| ### Cloud-Native Capabilities | ||
| - AWS IoT SDK is a comprehensive toolkit for cloud-native development, designed primarily for IoT applications. | ||
| - RoboSDK, being tailored for robotics, focuses on addressing the specific challenges and requirements in the cloud-native robotics domain, providing dedicated robot-centric features. | ||
|
|
||
| ### Robot-Specific Abstraction | ||
| - AWS IoT SDK offers general-purpose abstractions for IoT devices, but it lacks specialized features for robots' unique characteristics. | ||
| - RoboSDK's hardware abstraction layer is specifically designed to cater to robot-specific needs, providing interfaces for robot actuators, sensors, and communication channels. | ||
|
|
||
| ### Middleware for RoboArtisan Cloud Services | ||
| - While AWS IoT SDK offers cloud service integration, it does not have built-in middleware for integrating with RoboArtisan's cloud services, limiting its direct compatibility with RoboOMS and RoboSS. | ||
| - RoboSDK's middleware-based approach bridges this gap, enabling developers to interact seamlessly with RoboArtisan's cloud resources. | ||
|
|
||
| ### Advantages of RoboSDK | ||
| - RoboSDK's specialized focus on cloud-native robotics ensures a more tailored and optimized development experience for robot applications. | ||
| - The robot-specific abstraction layer enhances the efficiency of robot operations, enabling developers to focus on creating sophisticated robot behaviors. | ||
| - Middleware integration with RoboArtisan cloud services enhances data management and task coordination, streamlining the development process. | ||
|
|
||
| ## 3. rospy | ||
|
|
||
| ### ROS-Centric Approach | ||
| - rospy is a Python library and part of the ROS ecosystem, offering a Python interface for ROS nodes. | ||
| - RoboSDK, while supporting ROS 1 and ROS 2, provides a higher-level interface that abstracts away the complexities of ROS, simplifying the development process for developers who are not deeply familiar with ROS. | ||
|
|
||
| ### Cloud Service Integration | ||
| - rospy does not natively integrate with cloud services, requiring developers to implement their own integration solutions. | ||
| - RoboSDK's middleware-based cloud service integration provides a unified interface for utilizing cloud resources, including RoboArtisan's cloud offerings. | ||
|
|
||
| ### Hardware Abstraction | ||
| - rospy does not offer a dedicated hardware abstraction layer, leaving developers to deal with hardware integration challenges themselves. | ||
| - RoboSDK's hardware abstraction layer provides a consistent and easy-to-use interface for accessing robot hardware, regardless of the underlying robot platform. | ||
|
|
||
| ### Advantages of RoboSDK | ||
| - RoboSDK's higher-level interface abstracts away the complexities of ROS, making it accessible to developers from various backgrounds. | ||
| - The middleware-based cloud service integration simplifies the utilization of cloud resources, making it more convenient for developers to leverage cloud-native capabilities. | ||
| - The hardware abstraction layer saves development time and effort by providing a consistent and unified API for interacting with diverse robot hardware. | ||
|
|
||
| ## Conclusion | ||
|
|
||
| RoboSDK stands out as a dedicated, cloud-native robotics framework that offers a unique set of advantages compared to existing reference works such as NVIDIA Isaac SDK, AWS IoT SDK, and rospy. Its generic hardware abstraction, middleware-based cloud service integration, and support for various robot operating systems set it apart as an innovative solution for cloud-native robot application development. By leveraging RoboSDK's capabilities, developers can unlock new possibilities in the field of cloud-native robotics and build cutting-edge applications that transform industries and drive the future of robotics. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,37 @@ | ||
| # Introduction | ||
|
|
||
| `RoboSDK` is an open-source project that aims to democratize robotics development by providing developers with convenient access to robot datasets, cloud resources, and hardware abstraction. Our mission is to lower the barriers to entry in the robotics domain and enable ambitious projects at all levels of expertise. By leveraging the power of cloud-native technologies, `RoboSDK` enhances the capabilities of robots and opens up new possibilities for applications in various industries, including manufacturing, healthcare, logistics, and more. | ||
|
|
||
| ## Significance | ||
|
|
||
| Cloud-native robotics is revolutionizing the robotics industry, enabling robots to adapt and learn from real-world experiences continuously. With `RoboSDK`, we seek to drive this transformation by providing a comprehensive and user-friendly framework for cloud-native robotics application development. | ||
|
|
||
| Cloud-native robotics is a cutting-edge approach that leverages cloud computing and services to enhance the capabilities of robots. By offloading computation and data storage to the cloud, robots can access vast amounts of data, powerful machine learning algorithms, and computational resources, enabling them to perform complex tasks and make data-driven decisions. This approach revolutionizes the robotics industry, enabling robots to adapt and learn from real-world scenarios continuously. | ||
|
|
||
|
Comment on lines
+9
to
+10
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The information in these lines is largely a repetition of the content in line 7. Consider revising to avoid redundancy and improve readability. |
||
| ## Challenges Faced by Developers | ||
|
|
||
| Integrating cloud services with robots has traditionally been a daunting task for developers due to various challenges: | ||
|
|
||
| - **Hardware Diversity:** Robots and sensors come in various Protocols and Drivers, making hardware integration complex and time-consuming. | ||
|
|
||
| - **Robot Operating System (ROS) Compatibility:** ROS versions and standards may differ across platforms, causing compatibility issues. | ||
|
|
||
| - **Cloud Service Integration:** Integrating cloud services often requires deep knowledge of specific APIs and complex configurations. | ||
|
|
||
| - **Across Component Integration:** To achieve complete application development, we require a common API and research platform for sharing code, data, and models across services, control, algorithms, and data processing modules. However, despite its long history and extensive capabilities, `ROS` can be challenging for new users without the necessary expertise or time to fully understand the software stack. | ||
|
Comment on lines
+15
to
+21
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This section does a good job of outlining the challenges faced by developers in the field of robotics. However, it would be beneficial to also mention how |
||
|
|
||
| ## Concepts | ||
|
|
||
| Conceptual overviews provide relatively high-level, general background information about key aspects of `RoboSDK`. | ||
|
|
||
| `RoboSDK` is a middleware on top of the robot operating system (ROS). It provides a consistent set of hardware-independent mid-level APIs to control different robots. These are the concepts that will help you get started understanding the basics of `RoboSDK`. | ||
|
|
||
|
Comment on lines
+27
to
+28
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The term "middleware" might not be familiar to all readers. Consider providing a brief explanation or definition of what middleware is in this context. |
||
| - **ROS**: The Robot Operating System (ROS) is a set of software libraries and tools that help you build robot applications. From drivers to state-of-the-art algorithms, and with powerful developer tools, ROS has what you need for your next robotics project. Representative work includes: [ROS 1](https://wiki.ros.org/), [ROS 2](http://docs.ros.org/), and [OpenHarmony](https://www.openharmony.cn/). | ||
|
|
||
| - **RoboArtisan**: `RoboArtisan` is a series of cloud-native robotics solutions that aims to simplify and democratize the research of sophisticated robotics scenes. Representative work includes: `RoboOMS`, `RoboSS`, `RoboAI`. | ||
|
|
||
| - **RoboOMS**: The Robot Operation Management Service (RoboOMS) is a cloud-native robotics solution built on [KubeEdge](https://github.com/kubeedge/kubeedge). It provides a foundation for managing robot-cloud-edge communication, facilitating multi-robot collaboration, deploying applications, and conducting operations. | ||
|
|
||
| - **RoboSS**: The Robot Simulation Service (RoboSS) is a cloud-native robotics solution built on [O3DE](https://github.com/o3de/o3de). It provides a simulation framework for cloud-native scenarios, allowing users to simulate robot scenarios, generate data, train skills, and experiment with digital twins using open-source simulators. | ||
|
|
||
| - **RoboAI**: The Robot Artificial Intelligence Service (RoboAI) is a cloud-native robotics solution for building and deploying AI solutions. Representative work includes: [sedna](https://github.com/kubeedge/sedna). | ||
|
Comment on lines
+29
to
+37
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. These definitions are helpful for understanding the components of |
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Grammar needs improvement in this introduction.
The sentence structure is awkward. The phrase "Here provides" is incorrect, and there's a missing determiner.
📝 Committable suggestion
🧰 Tools
🪛 LanguageTool
[uncategorized] ~9-~9: A determiner appears to be missing. Consider inserting it.
Context: ... Here provides a proposal to
RoboSDK, comprises the following key sections: 1. **Intro...(AI_EN_LECTOR_MISSING_DETERMINER)