編寫一個簡單的發佈器和訂閱器
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
至此,全部完成。