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

网站多语言解决方案嘉兴企业网站模板建站

网站多语言解决方案,嘉兴企业网站模板建站,网站建设设计猫和老鼠,附近电脑培训班位置8.编写Subscriber订阅者节点 8.1 创建订阅者节点 cd catkin_ws/src/ catkin_create_pkg atr_pkg rospy roscpp std_msgs ros::Subscriber sub nh.subscribe(话题名, 缓存队列长度, 回调函数) 回调函数通常在你创建订阅者时定义。一个订阅者会监听一个话题,并在有…

8.编写Subscriber订阅者节点

8.1 创建订阅者节点

cd catkin_ws/src/
catkin_create_pkg  atr_pkg rospy roscpp std_msgs 

ros::Subscriber sub = nh.subscribe(话题名, 缓存队列长度, 回调函数)
回调函数通常在你创建订阅者时定义。一个订阅者会监听一个话题,并在有消息到达时调用回调函数,而不用手动去执行函数。

#include<ros/ros.h>
#include<std_msgs/String.h>
void chao_callback( std_msgs::String msg)
{printf(msg.data.c_str());printf("\n");
}
int main(int argc, char **argv)
{ros::init(argc, argv, "ma_node");ros::NodeHandle nh;ros::Subscriber sub = nh.subscribe("ssr_node_topic", 10,chao_callback);while(ros::ok()){ros::spinOnce();//功能:处理回调函数}return 0;
}

打开CMakeList,添加后编译。

 add_executable(ma_node src/atr_pkg_node.cpp)
target_link_libraries(ma_node${catkin_LIBRARIES})

打开三个终端分别输入

roscore
rosrun ssr_pkg chao_node
rosrun atr_pkg ma_node

在这里插入图片描述
在这里插入图片描述

显示接收时间函数

#include<ros/ros.h>
#include<std_msgs/String.h>void chao_callback( std_msgs::String msg)
{ROS_INFO(msg.data.c_str());
}int main(int argc, char **argv)
{setlocale(LC_ALL,"");//设置中文显示ros::init(argc, argv, "ma_node");ros::NodeHandle nh;ros::Subscriber sub = nh.subscribe("ssr_node_topic", 10,chao_callback);while(ros::ok()){ros::spinOnce();//功能:处理回调函数}return 0;
}

再次运行ma_node节点。
在这里插入图片描述

8.2 多个订阅者和发布者图形化显示

当存在多个订阅者和发布者时,可以使用rqt_graph来显示逻辑关系。
在这里插入图片描述

8.3 小结

在这里插入图片描述

9.launch启动多个ROS节点

上一小节中,我们启动多个节点就需要打开多个终端,这非常繁琐。这一小节中我们使用launch来启动多个节点。
luanch文件遵循XML语法
<标记名称 属性名1= "属性值1"...>内容</标记名称>
打开vscode,在工作目录的任意子文件夹下创建launch文件
在这里插入图片描述

<launch>
<node pkg ="ssr_pkg" type="yao_node" name="yao_node"/>
<node pkg ="ssr_pkg" type="chao_node" name="chao_node"/>
<node pkg ="atr_pkg" type="ma_node" name="ma_node" output="screen"/>
</launch>

打开终端输入

roslaunch atr_pkg kaihei.launch 

在这里插入图片描述

9.2 小结

在这里插入图片描述

10.ROS机器人运动控制

机器人的运动可以分解为矢量运动和旋转运动。
矢量运动:二维平面中的各种平移。单位:米/每秒。
旋转运动:机器人进行转向。单位:弧度/每秒。
在这里插入图片描述

11.机器人运动控制的实现

第一节中我们已经下载过wpr_simulation这个源代码了。

cd catkin_ws
catkin_make #编译源代码文件
roslaunch wpr_simulation #开启演示模拟环境
#再打开一个终端输入
rosrun wpr_simulation demo_vel_ctrl#进行demo演示

本节课就要实现这样的一个效果,实现思路:
在这里插入图片描述

cd catkin_ws/src/
catkin_create_pkg  vel_pkg roscpp rospy geometry_msgs

打开vscode,在vel_pkg文件夹下的src目录里创建叫vel_node.cpp文件。

#include<ros/ros.h>
#include<geometry_msgs/Twist.h>int main(int argc,char **argv)
{ros::init(argc,argv,"vel_node");ros::NodeHandle n;ros::Publisher vel_pub = n.advertise<geometry_msgs::Twist>("cmd_vel",10);geometry_msgs::Twist vel_msg;vel_msg.linear.x = 0.1;vel_msg.linear.y = 0.0;vel_msg.linear.z = 0.0;  vel_msg.angular.x = 0.0;vel_msg.angular.y = 0.0;vel_msg.angular.z = 0.0;ros::Rate r(30);while(ros::ok()){vel_pub.publish(vel_msg);r.sleep();}return 0;
}

cmake里添加后编译。

add_executable(vel_node src/vel_node.cpp)
add_dependencies(vel_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
target_link_libraries(vel_node${catkin_LIBRARIES}
)

分别在两个终端里输入:

roslaunch wpr_simulation wpb_simple.launch 
rosrun vel_pkg  vel_node 

便能看到小车在缓慢向前移动。
在这里插入图片描述

http://www.dtcms.com/a/469081.html

相关文章:

  • 网站建设规划面试技巧佛山刚刚发生的事
  • 常德网站建设 天维新手如何建站
  • 南平高速建设有限公司网站照明网站建设
  • 在线ppt网站企业门户网站是什么意思
  • 计算机应用专业(网站开发)太原百度seo网站建设
  • 网站建设精美模板下载公司做网站自己可以做
  • 大大福利站网站建设wow电影在线观看
  • 网站建设柚子网络科技怎么样百度指数怎么做
  • 电商数据网站有哪些百度指数是干嘛的
  • 宁波怎么做网站排名优化wordpress修改模板文件
  • 找不同 网站开发网站开发实施经费预算
  • 如何整理网站网站风格评价
  • 做简历的网站有哪些内容网站系统开发报价单
  • 坪山网站建设基本流程少儿编程免费网站
  • 中国航空技术北京有限公司南宁seo外包平台
  • 手机网站开发免费视频教程上海缪斯设计公司的主题文化
  • 网站设计机构培训网站过期原因
  • 南通seo网站排名优化淳安县建设网站
  • 北京网站建设公司怎么排版wordpress更换主题方法
  • 德国 网站后缀论坛网站开发文档
  • 曲靖网站开发公司游戏推广对接平台
  • 单位建设网站申请报告四川省建设厅网站为什么打不开
  • 网站做有偿广告需要什么有序描述一下网站建设的基本流程图
  • 威海网站制作服装网站建设需求分析报告
  • 建筑设计资料网站如何在网上卖货
  • 做电影网站要不要收费html空白模板下载
  • 进入网站服务器怎么做什么网站可以做数据调查问卷
  • 苏州市网站优化洛阳市河阳建设工程有限公司网站
  • 郑州网站推广公司咨询昵图设计师服务平台
  • 如何做话费卡回收网站数据分析培训