siemens/ros-sharp

GitHub: siemens/ros-sharp

ROS# 是一套基于 C# 的开源库,帮助 .NET 及 Unity 应用程序与 ROS 系统进行通信与集成。

Stars: 1163 | Forks: 403

[ROS#](https://github.com/siemens/ros-sharp) ## 概述 ROS# 是一组 [C\# ](https://docs.microsoft.com/de-de/dotnet/csharp/csharp) 开源软件库和工具,用于从 .[NET](https://www.microsoft.com/net) 应用程序(尤其是 [Unity](https://unity3d.com/))与 [ROS](http://www.ros.org/) 进行通信。借助 ROS#,开发人员可以轻松创建与 ROS 节点通信、订阅和发布 topic、处理 action 和 service,以及与 ROS message 交互的 .NET 应用程序。这推动了在 .NET 生态系统内开发机器人应用程序、仿真和自动化系统。
ROS# Architecture
[这里](https://github.com/siemens/ros-sharp/wiki/Info_Showcases)是一些展示了 ROS# 功能的案例。社区在[这里](https://github.com/siemens/ros-sharp/issues/20)提供了各种其他 ROS# 的应用示例。
ROS# Showcase
## 安装说明 ROS# 可与 Unity 引擎 __和/或__ 任何兼容的 .NET 项目一起使用,参见[平台支持](https://github.com/siemens/ros-sharp/tree/master?tab=readme-ov-file#platform-support)和[外部依赖](https://github.com/siemens/ros-sharp/tree/master?tab=readme-ov-file#external-dependencies)。 * Unity 集成:Unity Package Manager 1. 在 Unity Package Manager 中,点击左上角的“Add package from git URL”选项。 2. 粘贴以下 URL:https://github.com/siemens/ros-sharp.git?path=/com.siemens.ros-sharp ROS# Package Install from Git * .NET 项目:NuGet Gallery 1. 前往 [NuGet](https://www.nuget.org/profiles/MartinBischoff) 页面。 2. 从 NuGet 单独安装所需的 package。 ## 平台支持 * [ROS#](https://github.com/siemens/ros-sharp/tree/master/Libraries/) 依赖项要求 __.NET 8__ 或 __.NET Standard 2.1__ 以及 __Visual Studio 2022__ 或更高版本。 * [Unity package](https://github.com/siemens/ros-sharp/tree/master/com.siemens.ros-sharp) 是使用 __Unity 2022.3.17f1 (LTS)__ 开发的,应该也兼容旧版本。对 __Unity 6__ 的支持尚未经过全面测试。不过,一些社区成员已经能够在 Unity 6 中使用 ROS#。 ## 仓库结构 以下是主要目录及其用途的概述: - **`com.siemens.ros-sharp/`**:包含用于将 ROS# 集成到 Unity 项目中的自定义 Unity [UPM](https://docs.unity3d.com/Manual/CustomPackages.html) package。该 package 包含完整的 ROS# .NET 解决方案,以及 Unity 特定的脚本、外部依赖项和示例。此文件夹遵循 Unity [推荐](https://docs.unity3d.com/Manual/cus-layout.html)的预期布局。 - **`Runtime/`**:用于 Unity 集成的 ROS# .NET 核心脚本和组件。 - **`Editor/`**:主要用于 UI 扩展的 Unity 特定编辑器脚本。 - **`Plugins/`**:具有特定版本的外部依赖项。 - **`Samples~/`**:需要通过 package manager 窗口导入的示例。有关示例场景和参考代码的更多信息,请参见 [wiki](https://github.com/siemens/ros-sharp/wiki)。 - **`Libraries/`**:包含与 ROS 通信的核心 ROS# 库和工具的 .NET 解决方案。 - **`RosBridgeClient/`**:用于通过 websocket 与 ROS 通信的 ROS# 核心 .NET 库。 - **`MessageGeneration/`**:用于从 ROS message 定义(包括 message、action 和 service,同时支持 ROS1/2)生成 C# 类的工具。 - **`Urdf/`**:用于解析 URDF 文件并创建 Unity GameObjects 的库。 - **`PostBuildEvents/`**:特定于操作系统的构建后脚本。请参阅[构建后事件](https://github.com/siemens/ros-sharp/wiki/Dev_PostBuildEvents)了解更多信息。 - **`ROS Packages/`**:ROS# 用于教程、测试和演示目的的 ROS [package](https://github.com/siemens/ros-sharp/tree/8330f5b433da22fff028dd1f355233b2f3e008e7/ROS%20Packages)。 ## 更多信息 * [阅读 Wiki](https://github.com/siemens/ros-sharp/wiki) * [外部依赖](https://github.com/siemens/ros-sharp/wiki/Dev_ExternalDependencies) * [项目团队、贡献者与致谢](https://github.com/siemens/ros-sharp/wiki/Info_Acknowledgements) * [联系项目团队](mailto:ros-sharp.ct@siemens.com) © Siemens AG, 2017-2025
标签:DNS解析, ROS, ROS#, Siemens, Unity3D, 中间件, 仿真平台, 多人体追踪, 开源库, 开源项目, 接口通信, 插件, 搜索引擎爬虫, 机器人仿真, 机器人技术, 机器人操作系统, 消息发布与订阅, 游戏引擎, 科技, 系统移植, 自动化控制, 自动化系统, 软件开发, 通信桥接