ROS 通过C# 代码控制小乌龟行走
2020-12-17 21:34
标签:bridge angular uri tee sudo har title ubuntu inline 从上图中可以看到,有两个节点/teleop_turtle 和 /turtlesim /teleop_turtle节点发布话题,话题名为/turtle1/cmd_vel /turtlesim订阅了该节点 我们已知/teleop_turtle节点是控制台通过上下左右来控制小乌龟的 那我们的键盘,发了什么什么消息给/turtlesim节点呢 输入rostopic pub /turtle1/cmd_vel 再按一下Tab键 进行补全,我们可以知道发布了什么消息结构 此时我们就能知道消息结构为geometry_msgs/Twist 总之,我们通过修改线速度中的下x,y,z 和角速度中的x,y,z 就可以控制小乌龟运动了 按完回车键后小乌龟就能绕圈了 开启rosbridge服务 开启后端口为9090,这个要记住了,后面需要通过C#进行WebSocket通信 使用到WebSocketSharp 以及 西门子的RosBridgeClient 具体源码我已经上传到gitee上,各位博友可以下载下来测试使用 https://gitee.com/zjwno1/ros-net5 代码中将不停的发布话题消息,小乌龟不停的转圈,当然也可以根据自己的逻辑编写其他功能 ROS 通过C# 代码控制小乌龟行走 标签:bridge angular uri tee sudo har title ubuntu inline 原文地址:https://www.cnblogs.com/zjwno1/p/14006345.html1.通过rqt_graph指令,可以看到ROS节点之间的关系
2.通过rostopic指令,进行发布话题 我们这儿查看一下/turtle1/cmd_vel
3.通过rosmsg指令可以知道具体的消息结构
4.用C#代码控制小乌龟,我们用到的方法是RosBridge,所以要在Ubuntu中安装RosBridgeServer
sudo apt-get install ros-melodic-rosbridge-server
sudo apt-get install ros-melodic-rosbridge-suite
roslaunch rosbridge_server rosbridge_websocket.launch
5.给ubuntu安装dotnet5环境
sudo snap install dotnet-sdk --channel=5.0/stable –classic
6. 编写C# 代码,我使用的是VS2019 ,请更新到最新版,最新版支持dotnet5
static void Main(string[] args)
{
try
{
string uri = "ws://192.168.20.132:9090";
RosSocket RosSocket = new RosSocket(new RosSharp.RosBridgeClient.Protocols.WebSocketSharpProtocol(uri));
string id = RosSocket.Advertise
7.将C#项目打包成可执行文件
7.1 发布项目
7.2 保存完点击发布按钮
7.3 授权并运行
chmod 777 Test
./Test
下一篇:C#反射
文章标题:ROS 通过C# 代码控制小乌龟行走
文章链接:http://soscw.com/index.php/essay/36942.html