当前位置: 首页 > news >正文

网站应用系统设计方案2022年十大网络流行语发布

网站应用系统设计方案,2022年十大网络流行语发布,怎么做电影网站服务器,应用分发平台目录 ROS:通信机制一、话题发布实操1.1需求1.2分析1.3实现流程1.4实现代码1.4.1C版1.4.2Python版 1.5执行 二、话题订阅实操2.1需求2.2分析2.3流程2.4实现代码2.4.1启动无辜GUI与键盘控制节点2.4.2C版 ROS:通信机制 一、话题发布实操 1.1需求 编码实现…

目录

  • ROS:通信机制
  • 一、话题发布实操
    • 1.1需求
    • 1.2分析
    • 1.3实现流程
    • 1.4实现代码
      • 1.4.1C++版
      • 1.4.2Python版
    • 1.5执行
  • 二、话题订阅实操
    • 2.1需求
    • 2.2分析
    • 2.3流程
    • 2.4实现代码
      • 2.4.1启动无辜GUI与键盘控制节点
      • 2.4.2C++版

ROS:通信机制

一、话题发布实操

1.1需求

编码实现乌龟运动控制,让小乌龟做圆周运动。

1.2分析

乌龟运动控制实现,关键节点有两个,一个是乌龟运动显示节点 turtlesim_node,另一个是控制节点,二者是订阅发布模式实现通信的,乌龟运动显示节点直接调用即可,运动控制节点之前是使用的 turtle_teleop_key通过键盘 控制,现在需要自定义控制节点。

控制节点自实现时,首先需要了解控制节点与显示节点通信使用的话题与消息,可以使用ros命令结合计算图来获取。

1.3实现流程

通过计算图结合ros命令获取话题与消息信息。
编码实现运动控制节点。
启动 roscore、turtlesim_node 以及自定义的控制节点,查看运行结果。

1.4实现代码

1.4.1C++版

#include "ros/ros.h"
#include "geometry_msgs/Twist.h"/*
需求:发布速度消息
话题:/turtle/cmd_vel
消息:geometry_msgs/Twist1.包含头文件 
2.初始化ros节点
3.创建节点句柄
4.创建发布对象
5发布逻辑
6.spinOnce()
*/int main(int argc, char *argv[])
{// 2.初始化ros节点ros::init(argc,argv,"my_control");
// 3.创建节点句柄ros::NodeHandle nh;
// 4.创建发布对象ros::Publisher pub=nh.advertise<geometry_msgs::Twist>("/turtle1/cmd_vel",10);
// 5发布逻辑ros::Rate rate(10);//组织发布的消息geometry_msgs::Twist twist;twist.linear.x=1.0;twist.linear.y=0.0;twist.linear.z=0.0;twist.angular.x=0.0;twist.angular.y=0.0;twist.angular.z=0.5;//循环发布while(ros::ok()){pub.publish(twist);//休眠rate.sleep();//回头ros::spinOnce();}
// 6.spinOnce()return 0;
}

1.4.2Python版

#! /usr/bin/env python
"""编写 ROS 节点,控制小乌龟画圆准备工作:1.获取topic(已知: /turtle1/cmd_vel)2.获取消息类型(已知: geometry_msgs/Twist)3.运行前,注意先启动 turtlesim_node 节点实现流程:1.导包2.初始化 ROS 节点3.创建发布者对象4.循环发布运动控制消息"""import rospy
from geometry_msgs.msg import Twistif __name__ == "__main__":# 2.初始化 ROS 节点rospy.init_node("control_circle_p")# 3.创建发布者对象pub = rospy.Publisher("/turtle1/cmd_vel",Twist,queue_size=1000)# 4.循环发布运动控制消息rate = rospy.Rate(10)twist = Twist()twist.linear.x = 1.0twist.linear.y = 0.0twist.linear.z = 0.0twist.angular.x = 0.0twist.angular.y = 0.0twist.angular.z = 0.5while not rospy.is_shutdown():pub.publish(twist)rate.sleep()

1.5执行

首先,启动 roscore;

然后启动乌龟显示节点;

最后执行运动控制节点;
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

二、话题订阅实操

2.1需求

已知turtlesim中的乌龟显示节点,会发布当前乌龟的位姿(窗体中乌龟的坐标以及朝向),要求控制乌龟运动,并时时打印当前乌龟的位姿。

2.2分析

首先,需要启动乌龟显示以及运动控制节点并控制乌龟运动。
要通过ROS命令,来获取乌龟位姿发布的话题以及消息。
编写订阅节点,订阅并打印乌龟的位姿。

2.3流程

通过ros命令获取话题与消息信息。
编码实现位姿获取节点。
启动 roscore、turtlesim_node 、控制节点以及位姿订阅节点,控制乌龟运动并输出乌龟的位姿。

2.4实现代码

2.4.1启动无辜GUI与键盘控制节点

<!--启动无辜GUI与键盘控制节点-->
<launch><!--乌龟GUI--><node pkg="turtlesim" type="turtlesim_node" name="turtle1" output="screen" /><!--键盘控制--><node pkg="turtlesim" type="turtle_teleop_key" name="key" output="screen" /></launch>

2.4.2C++版

#include "ros/ros.h"
#include "turtlesim/Pose.h"/*
需求:订阅乌龟的位姿信息1.包含头文件 
2.初始化ros节点
3.创建节点句柄
4.创建订阅对象
5.处理订阅数据(回调函数)
6.spinOnce()
*/void doPose(const turtlesim::Pose::ConstPtr &pose)
{ROS_INFO("乌龟的位姿信息:坐标(%.2f,%.2f),朝向(%.2f),线速度:%.2f,角速度:%.2f",pose->x,pose->y,pose->theta,pose->linear_velocity,pose->angular_velocity);
}int main(int argc, char *argv[])
{setlocale(LC_ALL,"");
// 2.初始化ros节点ros::init(argc,argv,"sub_pose");
// 3.创建节点句柄ros::NodeHandle nh;
// 4.创建订阅对象ros::Subscriber sub = nh.subscribe("/turtle1/pose",100,doPose);
// 5.处理订阅数据(回调函数)
//6.spinros::spin();// 6.spinOnce()return 0;
}

在这里插入图片描述

http://www.jinmujx.cn/news/78529.html

相关文章:

  • 我想网上做网站厦门网站设计公司
  • 个人做跨境电商的平台网站有哪些2024年疫情还会封控吗
  • 国家示范校建设专题网站网址之家
  • 做业务有哪些好的网站推广引流怎么做
  • 做月季评分表的工程网站叫什么六六seo基础运营第三讲
  • wordpress插件cssseo常用工具网站
  • 徐州网站建设方案咨询专业拓客公司联系方式
  • 淘宝网店营销策划方案成都搜索优化排名公司
  • 哪家房屋设计公司网站推广公司属于什么公司
  • 做网站去哪里下载素材完整html网页代码案例
  • 建设网站的市场背景福州短视频seo网站
  • 网站主题制作公司网络营销策划书
  • 邓修明调研成都网站建设深圳网站开发技术
  • 西安网站seo推广做seo是什么意思
  • 界面设计案例图片青岛网站制作seo
  • 网页设计毕业设计教程手机360优化大师官网
  • wordpress 4.1王通seo赚钱培训
  • wordpress admin 密码忘记网站推广优化网址
  • 最新网站建设语言seo是哪个国家
  • 网站服务公司重庆森林为什么叫这个名字
  • 增加wordpress的用户seo托管公司
  • 做可以上传文件的网站电商运营入门基础知识
  • 网站模板 电器软文代写兼职
  • 唐山网站建设费用seo是什么意思 seo是什么职位
  • 如何做网站长尾关键词布局站长统计入口
  • 向国旗敬礼做美德少年网站如何软件网站优化公司
  • 江西省萍乡市莲花县党建设网站商城推广
  • 免费咨询广东律师事务所什么是seo关键词
  • 比较好的网站设计合肥网络推广
  • 男女在床上做暖暖插孔网站40个免费靠谱网站