当前位置:   article > 正文

ROS2 C#库ros2cs win10+Humble环境编译测试(附Humble+Foxy版本C#类库,适用于Unity)_c# ros

c# ros

一、提要:

准备在win10+Ros2 Humble环境下开发用C#编写的winform程序,本文为ros2cs库的构建及测试过程。

二、准备+使用工具

ros2cs官网github

1.在win10x系统上安装Ros2 Humble版本

具体可参考我上篇文章

2.Visual Studio(我使用的是VS 2022社区版)

3.vcstool

按照Github官方说明安装

pip install vcstool

4..NET 3.1 SDK

官网下载地址

三、构建ros2cs

注意事项:

1.使用Visual Studio Tools提供的powerShell

本地路径地址

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Visual Studio 2022\Visual Studio

Tools

2.解决powerShell禁止运行脚本问题

用管理员权限运行后,输入,选择Y即可

set-executionpolicy remotesigned 

3.设置win10最大文件存储路径大于260个字符

 在“运行窗口”内输入或粘贴进 gpedit.msc ,然后确定。

在打开的“本地组策略编辑器”中,在左侧栏内依次进入“计算机配置”-“管理模板”-“系统”-“文件系统”,会看到右侧栏中的“启用Win32长路径”,如下图所示:

双击“启用Win32长路径”,然后勾选“已启用”,点击底部的“确定”,如下图所示:

耐心等待,构建成功~

四、 功能测试

使用官方测试源码,用VS新建发布者和接受者节点

ROS2发布者功能包(接受者类似)

发布者节点src文件夹内容(接受者类似)

 talker代码

  1. using System;
  2. using System.Threading;
  3. using ROS2;
  4. using std_msgs;
  5. namespace Examples
  6. {
  7. /// <summary> A simple listener class to illustrate Ros2cs in action </summary>
  8. public class ROS2Listener
  9. {
  10. public static void Main(string[] args)
  11. {
  12. Ros2cs.Init();
  13. INode node = Ros2cs.CreateNode("listener");
  14. ISubscription<std_msgs.msg.String> chatter_sub = node.CreateSubscription<std_msgs.msg.String>(
  15. "chatter", msg => Console.WriteLine("I heard: [" + msg.Data + "]"));
  16. Ros2cs.Spin(node);
  17. Ros2cs.Shutdown();
  18. }
  19. }
  20. }

 listener代码

  1. using System;
  2. using System.Threading;
  3. using ROS2;
  4. using std_msgs;
  5. namespace Examples
  6. {
  7. /// <summary> A simple listener class to illustrate Ros2cs in action </summary>
  8. public class ROS2Listener
  9. {
  10. public static void Main(string[] args)
  11. {
  12. Ros2cs.Init();
  13. INode node = Ros2cs.CreateNode("listener");
  14. ISubscription<std_msgs.msg.String> chatter_sub = node.CreateSubscription<std_msgs.msg.String>(
  15. "chatter", msg => Console.WriteLine("I heard: [" + msg.Data + "]"));
  16. Ros2cs.Spin(node);
  17. Ros2cs.Shutdown();
  18. }
  19. }
  20. }

先运行talker再运行listener进行测试 

运行成功~

五、 资源下载

已经将win10+Humble和win10+Foxy两个版本的C#类库资源上传了,均适用于Unity,可以直接下载

ROS2 C#库 win10+Humble环境编译 可适用于Unity

ROS2 C#库 win10+Foxy环境编译 可适用于Unity​​​​​​​

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/91210
推荐阅读
相关标签
  

闽ICP备14008679号