將arduino開發板鏈接到電腦的usb口,在arduino IDE中進行設置。node
選擇Tools->Board,選擇你所使用的arduino開發板的類型,所使用的arduino開發板是arduino pro min。python
設置好開發板以後,繼續選擇Tools->Serial Port->/dev/ttyUSB1。函數
設置完成之後,在arduino IDE中,選擇File->Examples->ros_lib->HelloWorld,就打開了以下的代碼:oop
/* * rosserial Publisher Example * Prints "hello world!" */ //包含ros.h和其它可能會用到的消息的頭文件。 #include <ros.h> #include <std_msgs/String.h>
//建立了一個節點的句柄,它容許咱們用來建立發佈者和訂閱者。這個節點的句柄一樣與串口通訊有關。 ros::NodeHandle nh;
//咱們須要建立一個將要使用的發佈者和訂閱者。在上面的兩行代碼中,咱們在話題chatter上建立了一個發佈者。第二個參數是被髮布者未來用於發佈消息的一個消息的引用。 std_msgs::String str_msg; ros::Publisher chatter("chatter", &str_msg); char hello[13] = "hello world!";
//始化節點句柄,告知那些話題將會有發佈,以及訂閱你想收聽的話題。 void setup() {
nh.initNode(); nh.advertise(chatter); }
//最後在loop函數中,節點在chatter話題上發佈了消息「hello world」,而且調用了ros::spinOnce(),也就是說全部ROS通訊的回調都被處理。 void loop() { str_msg.data = hello; chatter.publish( &str_msg ); nh.spinOnce(); delay(1000); }
打開一個窗口ui
roscore
新打開一個窗口spa
rosrun rosserial_python serial_node.py /dev/ttyUSB1
在一個終端中輸入以下命令來查看你的arduino發送的消息:blog
rostopic echo chatter
你可看到arduino的數據通訊燈在閃,這能夠說明arduino確實在發送數據給電腦。開發