用Python實現ROS節點(編寫簡單的消息發佈器和訂閱器)

編寫一個簡單的發佈器和訂閱器

1.創建工作空間

建立文件夾hello_rospy,再在該目錄下建立子目錄src,cd到該src目錄,運行如下命令創建工作包

catkin_create_pkg beginner_tutorials std_msgs rospy roscpp

2.編寫發佈器和訂閱器

進入之前創建的beginner_tutorials包

roscd beginner_tutorials

創建scripts目錄存放Python代碼:

mkdir scripts
cd scripts

下載例子腳本talker.py到scripts目錄,並修改權限爲可執行(發佈節點):

wget https://raw.github.com/ros/ros_tutorials/kinetic-devel/rospy_tutorials/001_talker_listener/talker.py
chmod +x talker.py

下載listener.py到scripts目錄,並修改權限爲可執行(訂閱節點):

wget https://raw.github.com/ros/ros_tutorials/kinetic-devel/rospy_tutorials/001_talker_listener/listener.py
chmod +x listener.py

構建節點:

cd ~/hello_rospy
catkin_make

3.測試發佈器和訂閱器

啓動發佈器:

打開終端,輸入:

roscore

確保roscore可用。

打開新的終端,輸入:

如果使用catkin,確保你在調用catkin_make後,在運行你自己的程序前,已經source了catkin工作空間下的setup.sh文件

cd ~/hello_rospy
source ./devel/setup.bash
rosrun beginner_tutorials talker.py

此時你會看到如下信息:

[INFO] [1534388269.223655]: hello world 1534388269.2233906
[INFO] [1534388269.323618]: hello world 1534388269.3233504
[INFO] [1534388269.423586]: hello world 1534388269.4233208
[INFO] [1534388269.523613]: hello world 1534388269.5233488
[INFO] [1534388269.623685]: hello world 1534388269.6233852
[INFO] [1534388269.723714]: hello world 1534388269.7234194
[INFO] [1534388269.823649]: hello world 1534388269.8233697
[INFO] [1534388269.923647]: hello world 1534388269.9233446
[INFO] [1534388270.023622]: hello world 1534388270.023337
[INFO] [1534388270.123665]: hello world 1534388270.1233444
[INFO] [1534388270.223655]: hello world 1534388270.2233653
[INFO] [1534388270.323668]: hello world 1534388270.3233645
[INFO] [1534388270.423637]: hello world 1534388270.423357
[INFO] [1534388270.523678]: hello world 1534388270.5233543
[INFO] [1534388270.623646]: hello world 1534388270.6233633
[INFO] [1534388270.723670]: hello world 1534388270.723355
[INFO] [1534388270.823638]: hello world 1534388270.8233557
[INFO] [1534388270.923635]: hello world 1534388270.9233434
[INFO] [1534388271.023646]: hello world 1534388271.0233815

發佈器節點已經啓動運行。現在需要一個訂閱器節點來接受發佈的消息。

啓動訂閱器:

打開新的終端,輸入:

cd ~/hello_rospy
source ./devel/setup.bash
rosrun beginner_tutorials listener.py

此時你會看到如下信息:

[INFO] [1534388451.225271]: /listener_32238_1534388451115I heard hello world 1534388451.2233224
[INFO] [1534388451.325214]: /listener_32238_1534388451115I heard hello world 1534388451.3234394
[INFO] [1534388451.425159]: /listener_32238_1534388451115I heard hello world 1534388451.4234073
[INFO] [1534388451.525082]: /listener_32238_1534388451115I heard hello world 1534388451.5234268
[INFO] [1534388451.624949]: /listener_32238_1534388451115I heard hello world 1534388451.6233602
[INFO] [1534388451.724969]: /listener_32238_1534388451115I heard hello world 1534388451.723355
[INFO] [1534388451.825018]: /listener_32238_1534388451115I heard hello world 1534388451.823384
[INFO] [1534388451.925162]: /listener_32238_1534388451115I heard hello world 1534388451.923369
[INFO] [1534388452.025092]: /listener_32238_1534388451115I heard hello world 1534388452.0234113
[INFO] [1534388452.125054]: /listener_32238_1534388451115I heard hello world 1534388452.1233687

至此,全部完成。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章