1. 程式人生 > >ROS+mbed 訂閱者

ROS+mbed 訂閱者

color pre posit out and spin digital top led

從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 訂閱者