微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 ROS

如何解决如何在 ROS

所以我正在尝试向特定主题添加订阅者。 订阅者的目的是从 pi_sonar 主题获取范围消息并在代码中使用它。 这是这里的代码line Follower code

所以,如果我想添加声纳消息,它应该是这样的:

void turtlebot::range_sub('pacakge name of sonars'::range msg){
        turtlebot::rng = msg.range;
 }

根据我在这里的理解,我的意思是......

正确吗?

一旦我把手放在机器人上,我就会尝试

解决方法

您可以按照 this 教程,它准确地解释了您要查找的内容,

#include <ros/ros.h>
#include <sensor_msgs/Range.h>

void sonarCallback(const sensor_msgs::Range::ConstPtr& msg)
{
  ROS_INFO("Sonar Seq: [%d]",msg->header.seq);
  ROS_INFO("Sonar Range: [%f]",msg->range);
}

int main(int argc,char **argv)
{
  ros::init(argc,argv,"infrared_listener");
  ros::NodeHandle n;
  ros::Subscriber sub = n.subscribe("sensor/sonar0",1000,sonarCallback);
  ros::spin();
  return 0;
}

基本上,您必须创建 ros::Subscriber,其回调,即 sonarCallback,正在侦听传入消息,您可以在其中实现您的逻辑,如何处理声纳传感器读数,请通过链接我分享了,如果有不清楚的地方,请相应地更新问题

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。