ROS 發佈消息和訂閱消息 for Python

ROS發佈訂閱 for Python

#1 環境

Ubuntu 16.04
ROS kinetic 1.12.14

GitHub代碼 :

https://github.com/Coxhuang/ros_pub_sub/

從ROS發佈以來,每版的Ubuntu系統版本都有與之對應ROS版本的

ROS版本 Ubuntu版本
ROS Melodic Morenia Ubuntu 18.04(Bionic)/Ubuntu 17.04 Artful
ROS Lunar Loggerhead Ubuntu 17.04 (Zesty)/Ubuntu 16.10 Yakkety, Ubuntu LTS 16.04 Xenial
ROS Kinetic Kame Ubuntu 16.04 (Xenial) / Ubuntu 15.10 (Wily)
ROS Jade Turtle Ubuntu 15.04 (Wily) / Ubuntu LTS 14.04 (Trusty)
ROS Indigo Igloo Ubuntu 14.04 (Trusty)
ROS Hydro Medusa Ubuntu 12.04 LTS (Precise)
ROS Groovy Galapagos Ubuntu 12.04

#2 概述

四大步 :

  1. 創建工作空間
  2. 創建程序包
  3. 編寫節點
  4. 運行

#3 創建工作空間

在根目錄創建工作空間, 我創建的工作空間命名爲 myworkspace

trunk@trunk-ThinkPad-X270-W10DG:~$ mkdir -p ~/myworkspace/src
trunk@trunk-ThinkPad-X270-W10DG:~$ cd ~/myworkspace/
trunk@trunk-ThinkPad-X270-W10DG:~/myworkspace$ catkin_make

此時創建好工作空間及目錄,並且編譯好

trunk@trunk-ThinkPad-X270-W10DG:~/myworkspace$ source devel/setup.bash
trunk@trunk-ThinkPad-X270-W10DG:~/myworkspace$ echo $ROS_PACKAGE_PATH      

輸出結果 : /opt/ros/kinetic/share

此時名爲myworkspace的工作空間已經創建完成

#4 創建程序包

創建名字爲 mypackage 的程序包,並且依賴 std_msgs rospy roscpp 三個庫

trunk@trunk-ThinkPad-X270-W10DG:~/myworkspace$ cd ~/myworkspace/src
trunk@trunk-ThinkPad-X270-W10DG:~/myworkspace/src$ catkin_create_pkg mypackage std_msgs rospy roscpp  

source系統環境配置文件:

# 因爲我的是kinetic版本, 所以是在kinetic路徑下
source /opt/ros/kinetic/setup.bash

返回 myworkspace目錄並編譯

trunk@trunk-ThinkPad-X270-W10DG:~/myworkspace/src$ cd ~/myworkspace
trunk@trunk-ThinkPad-X270-W10DG:~/myworkspace$ catkin_make 

程序包部分完成

#5 編寫節點

GitHub :

https://github.com/Coxhuang/ros_pub_sub
# 索引位置
trunk@trunk-ThinkPad-X270-W10DG:~/myworkspace$ cd src/mypackage/
# 創建文件夾
trunk@trunk-ThinkPad-X270-W10DG:~/myworkspace/src/mypackage$ mkdir scripts 

發佈器源文件:

  • 文件名 : talker.py
  • 路徑 : /home/trunk/myworkspace/src/mypackage/scripts/talker.py
  • 內容 :

拷貝GitHub內容, 也可以自己編寫發佈器文件

https://github.com/Coxhuang/ros_pub_sub/blob/master/talker.py

給文件權限

trunk@trunk-ThinkPad-X270-W10DG:~/myworkspace/src/mypackage/scripts$ chmod +x talker.py 

接收器(訂閱)源文件 :

  • 文件名 : listener.py
  • 路徑 : /home/trunk/myworkspace/src/mypackage/scripts/listener.py
  • 內容 :

拷貝GitHub內容, 也可以自己編寫發佈器文件

https://github.com/Coxhuang/ros_pub_sub/blob/master/listener.py

給文件權限

trunk@trunk-ThinkPad-X270-W10DG:~/myworkspace/src/mypackage/scripts$ chmod +x listener.py 

退回工作空間目錄

trunk@trunk-ThinkPad-X270-W10DG:~/myworkspace/src/mypackage/scripts$ cd ~/myworkspace 

編譯

trunk@trunk-ThinkPad-X270-W10DG:~/myworkspace$ catkin_make 

#6 運行

  1. 打開一個終端
roscore
  1. 新開另一個終端

進入工作空間目錄

trunk@trunk-ThinkPad-X270-W10DG:~$ cd myworkspace/

source 配置文件

trunk@trunk-ThinkPad-X270-W10DG:~/myworkspace$ source ./devel/setup.bash 

啓動 talker節點 rosrun+包名+節點名

trunk@trunk-ThinkPad-X270-W10DG:~/myworkspace$ rosrun mypackage talker.py
  1. 新開第三個終端

進入工作空間目錄

trunk@trunk-ThinkPad-X270-W10DG:~$ cd myworkspace/

source 配置文件

trunk@trunk-ThinkPad-X270-W10DG:~/myworkspace$ source ./devel/setup.bash 

啓動 talker節點 rosrun+包名+節點名

trunk@trunk-ThinkPad-X270-W10DG:~/myworkspace$ rosrun mypackage listener.py

效果 :

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