标签: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 就可以控制小乌龟运动了
按完回车键后小乌龟就能绕圈了
sudo apt-get install ros-melodic-rosbridge-server sudo apt-get install ros-melodic-rosbridge-suite
开启rosbridge服务
roslaunch rosbridge_server rosbridge_websocket.launch
开启后端口为9090,这个要记住了,后面需要通过C#进行WebSocket通信
sudo snap install dotnet-sdk --channel=5.0/stable –classic
使用到WebSocketSharp 以及 西门子的RosBridgeClient
具体源码我已经上传到gitee上,各位博友可以下载下来测试使用 https://gitee.com/zjwno1/ros-net5
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<Twist>("/turtle1/cmd_vel"); while (true) { Twist message = new Twist(); message.linear.x = -1; message.linear.y = 0; message.linear.z = 0; message.angular.x = 0; message.angular.y = 0; message.angular.z = 1; RosSocket.Publish(id, message); } } catch (Exception ex) { } }
代码中将不停的发布话题消息,小乌龟不停的转圈,当然也可以根据自己的逻辑编写其他功能
chmod 777 Test ./Test
标签:bridge angular uri tee sudo har title ubuntu inline
原文地址:https://www.cnblogs.com/zjwno1/p/14006345.html