ROS+mbed 订阅者

Posted Montauk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ROS+mbed 订阅者相关的知识,希望对你有一定的参考价值。

从ROS端如果要发送消息给mbed, 聪明的我知道了, 估计要用订阅者, 让mbed去订阅一个制定的topic, 问题来了, 能否订阅两个topic? 稍后再试.

mbed上面是这样的:

#include "mbed.h"
#include <ros.h>
#include <std_msgs/UInt16.h>

ros::NodeHandle  nh;


//Servo servo(D8);


DigitalOut myled(LED1);

void servo_cb( const std_msgs::UInt16& cmd_msg) {
    //servo.position(cmd_msg.data); //set servo angle, should be from 0-180
    myled = !myled;  //toggle led
}


ros::Subscriber<std_msgs::UInt16> sub("servo", servo_cb);

int main() {

    nh.initNode();
    nh.subscribe(sub);

    while (1) {
        nh.spinOnce();
        wait_ms(1);
    }
}

ros这边:

 

$ roscore

$ rosrun rosserial_python serial_node.py _port:=/dev/ttyACM0

$ rostopic pub servo std_msgs/UInt16  <angle>

 

测试了一下, 多个订阅者也是ok的, 不过会不会在ROS端看起来比较乱?

以上是关于ROS+mbed 订阅者的主要内容,如果未能解决你的问题,请参考以下文章

ROS+mbed

ROS mbed-os mbed-cli 本地编译

ROS + STM32 + mbed

markdown ros_mbed

mbed的ticker问题

ROS之STM32来啦