ROS Arduino Subscribe to /cmd_vel

ROS Arduino Subscribe to /cmd_vel

本文关键字:cmd vel to Arduino Subscribe ROS      更新时间:2023-10-16

我正在使用ros_lib作为arduino使用rosserial创建串行节点。我想编写一个订阅/cmd_vel主题的代码,并将geometry_msgs/twist消息输出到串行端口(arduion mega,多个串行端口(。

预先感谢

#include <ros.h>
#include <std_msgs/String.h>
#include <std_msgs/Empty.h>
#include <geometry_msgs/Twist.h>
ros::NodeHandle  nh;
ros::Subscriber<geometry_msgs::Twist> sub("/cmd_vel", messageCb );
void setup()
{
  Serial1.begin(9600);
  nh.initNode();
  nh.subscribe(sub);
}
void loop()
{
  Serial1.println(sub.data);
  nh.spinOnce();
  delay(1);
}

当您执行时,您的代码不完整:

ros::Subscriber<geometry_msgs::Twist> sub("/cmd_vel", messageCb );

您正在告诉ROS-MASTER以下内容:

请告知有关" /cmd_vel "的主题的信息在代码中。。。

void messageCb(const std_msgs::String::ConstPtr& msg)
{
    Serial1.println("The turtle said:");
    Serial1.println(msg->data.c_str());
}