赞
踩
准备在win10+Ros2 Humble环境下开发用C#编写的winform程序,本文为ros2cs库的构建及测试过程。
1.在win10x系统上安装Ros2 Humble版本
2.Visual Studio(我使用的是VS 2022社区版)
3.vcstool
pip install vcstool
4..NET 3.1 SDK
注意事项:
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代码
- using System;
- using System.Threading;
- using ROS2;
- using std_msgs;
-
- namespace Examples
- {
- /// <summary> A simple listener class to illustrate Ros2cs in action </summary>
- public class ROS2Listener
- {
- public static void Main(string[] args)
- {
- Ros2cs.Init();
- INode node = Ros2cs.CreateNode("listener");
-
- ISubscription<std_msgs.msg.String> chatter_sub = node.CreateSubscription<std_msgs.msg.String>(
- "chatter", msg => Console.WriteLine("I heard: [" + msg.Data + "]"));
-
- Ros2cs.Spin(node);
- Ros2cs.Shutdown();
- }
- }
- }
-
listener代码
- using System;
- using System.Threading;
- using ROS2;
- using std_msgs;
-
- namespace Examples
- {
- /// <summary> A simple listener class to illustrate Ros2cs in action </summary>
- public class ROS2Listener
- {
- public static void Main(string[] args)
- {
- Ros2cs.Init();
- INode node = Ros2cs.CreateNode("listener");
-
- ISubscription<std_msgs.msg.String> chatter_sub = node.CreateSubscription<std_msgs.msg.String>(
- "chatter", msg => Console.WriteLine("I heard: [" + msg.Data + "]"));
-
- Ros2cs.Spin(node);
- Ros2cs.Shutdown();
- }
- }
- }
-
先运行talker再运行listener进行测试
运行成功~
已经将win10+Humble和win10+Foxy两个版本的C#类库资源上传了,均适用于Unity,可以直接下载
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。