ROS#是C#中的一组软件库和工具,用于.NET应用程序(尤其是Unity)与ROS进行通信。
之前博文涉及windows系统与ROS应用可参考(ROS2有windows版本):链接1、链接2。
本文是西门子公司的Martin Bischoff客座博客文章。 感谢Martin的更新,感谢西门子对ROS-Industrial Consortium的支持!
ROS#包括如下内容:
----
ROS#可以实现功能有:
1. Communicate:通过Windows应用程序与ROS进行通讯:订阅和发布主题,调用和发布服务,设置和获取参数以及使用rosbridge套件提供的所有功能。
2. Import:将机器人的URDF模型作为GameObject导入到Unity3D中。 使用robot_description服务直接从ROS系统导入数据,或通过复制到Unity资源文件夹中的URDF文件导入数据。
3. Control:通过Unity3D控制真实机器人。
4. Visualize:在Unity3D中可视化机器人的实际状态和传感器数据。
5. Simulate:使用URDF提供的数据在Unity3D中实现机器人仿真(这里不使用与ROS的连接的方式)。 除了网格和纹理的可视化组件之外,还可以导入了刚体的关节参数、质量、CoMs、惯性和碰撞等规格指标。
6. And much more:更多功能!ROS#可用于各种应用,如机器学习、人机交互、远程监控、虚拟原型、机器人操作、游戏和娱乐等!
其他附加资料(英文):
Please do not hesitate to try it out yourself and to get in touch with us! We are very interested in your feedback, applications, improvement suggestions, and contributions!
ROS# Development Team ([email protected]), Siemens AG, Corporate Technology, 2017
----
ROS# is a set of open source software libraries and tools in C# for communicating with ROS from .NET applications, in particularUnity3D.
Find some examples what you can do with ROS# here.
... provides a .NET API to ROS via rosbridge_suite.
... provides a URDF file parser for .NET applications.
... contains code for ROS nodes and ROS launch files which are useful to RosBridgeClient and/or UrdfImporter.
... is a Unity3D reference project providing Unity3D-specifc extensions to
... contains RosSharp.unitypackage the latest package of ROS# assets from the Unity3D project.
... contains Unity3D tutorial projects described described in the Wiki.
ROS# is open source under the Apache 2.0 license and is free for commercial use.
RosBridgeClient uses the following 3rd party libraries:
websocket-sharp.dll
from websocket-sharp provided under MIT License.NewtonSoft.Json.dll
from NewtonSoft Json.Net provided under MIT License.UrdfImporter uses the following 3rd party libraries:
MathNet.Numerics.dll
from Math.NET Numerics provided under MIT License.System.Threading.dll
from TaskParallelLibrary for .NET 3.5 provided under MS-EULA License.Both RosBridgeClient and UrdfImporter are running on .NET Framework 3.5 as this is the .NET platform currently supported by official Unity3D releases.
For Non-Unity3D-Applications blommers kindly provides a .NET Standard 2.0 version of UrdfImporter.
Rahul Warrier for adjusting the code to enable its open source publication.
Verena Roehrl for providing the Wiki pages and the tutorial projects.
Karl Henkel for providing the reference for the Unity3D STL mesh importer used in this project.
Jeremy Fix for providing the CameraImagePublisher and VelocitySubscriber
Interested in contributing as well?
© Siemens AG, 2017
Author: Dr. Martin Bischoff ([email protected])
----
/joint_states
/odom
----