ROS系统的基本组成
Node 基础节点;
package 是node 的组织形式 ;
ROS采用这种模块化的设计
所以几个node的配合才能实现完全的功能
他们怎么通讯的呢
节点之间的通讯使通过 topic 和 message的
结构是: 在topic 下面有 message 的传输;
主动发布的
被动的是 订阅者:
topic 是 形式 node之间 通过 topic 传输 message
ROS message type 其实就跟数据类型很类似;
ros::NodeHandle nh; //首先建立一个nodeHandle 大管家
ros ::Publisher pub = nh.advertiser<std_msgs::String> 然后建立一个advertiser的对象
nh.adverstise(“ topic ” , 缓存的大小)//其参数为 话题名+ 缓存去的大小
while(ros::ok()){
printf(“sada”);
std_msgs ::string msg; 这个是 对于发布者 它们是怎样发布消息的;
//先定义一个std_msgs 其中还有一个数据类型;
//然后令 其data的属性为"你所要发布的"
mas.data = “23”
pub.publish(msg);
//最后采用publish来发布信息
}
怎么实现一个订阅者节点;
这里要生成一个
ros:: Subscribe sub = nh.subscribe(“话题名称”,接受消息的缓存长度,callback_function)
订阅者是通过这个callback_function 来接收该话题下 发布者所发来的信息的
一个函数 ROS_INFO(“ 可以加入时间信息,并且自动换行”)
订阅话题
1确定话题的名称和消息类型
2 在CPP中,include<ros.h>以及消息类型的头文件
3 nodehandld 订阅一个话题,并且设置消息接受回调函数; nh.subscribe()
4定义一个回调函数对接受到的消息包继续;处理,
5 及的执行ros::spinonce () 让回调函数可以看缓存中是否有消息
rqt_graph 可以看到 消息之间空间表示
论文小结
今天简单的看了那篇根据机器学习来辅助 数学家进行科学研究,主要思想是这样
有两个数学对象 X(z) 和 Y(z) 我们想知道 能不能存在一个关系f();
可以使得f(X(z)) = Y(z) ; 如果存在这样的一个映射 ,那么他可能是新的一个 所发现的模式 或者猜想 ;
这在数学中非常的重要,他是怎么实现的呢,只记得一个通过类似于 求对模型贡献度最大的特征这样的方法 来找打Z中的特征,这对数学家会有相当不错的启发,明天会仔细看看!