您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 >
01 ros發布和訂閱python(如何在ros 使用odometry python)
Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-07-30 04:24:47【】3人已围观
简介如何編寫ros的python程序ROSIndigo beginner_Tutorials-10 編寫 ROS 話題版的 HelloWorld 
如何編寫ros的python程序
ROS Indigo beginner_Tutorials-10 編寫 ROS 話題版的 Hello World 程序(Python版)
我使用的虛擬機軟件:VMware Workstation 11
使用的Ubuntu系統:Ubuntu 14.04.4 LTS
ROS 版本:ROS Indigo
1. 前言 :
Hello world 程序,在我們編程界,代表學習某種語言編寫的第一個程序。對于 ROS 機器人操作系統來說,這個 Hello World 程序就是 : 寫一個簡單的消息發布器(發送) 和 訂閱器(接收)。
2. 準備工作 :
C++ 的程序都會存放在每個程序包的 src 文件夾里。 Python 不同,Python 程序都存放在 scripts 文件夾中, 反正意思都是 源文件 包。
Step 1 . 所以,先在 beginner_tutorials 軟件包中創建一個 scripts 文件夾:
$ roscd beginner_tutorials$ mkdir scripts$ cd scripts123
3. 編寫消息發布器節點程序:
如果你懶得去寫的話,你可以使用 wget 命令, 在 github 上獲取一個 talker.py 源代碼。如何獲取呢 ?
Step 2 . 開一個終端,輸入下面的命令就可以獲取 talker.py :
$ wget
-devel/rospy_tutorials/001_talker_listener/talker.py$ ls
talker.py123
但是我建議你親自動手,寫一寫:手動創建一個 talker.py 文件在 /scripys 文件夾里:
$ roscd beginner_tutorials/scripts$ gedit talker.py12
將這上面鏈接里的代碼手動輸入到 talker.py 文件中。(我就不將代碼貼上來了)
下面我來講解一下代碼:
Step 3 . 最后一步,給這個 talker.py 文件加上可執行權限:
$ chmod +x talker.py1
這樣,一個發布器就編寫完了。我們不要急著去運行它,現在我們編寫一個訂閱器,來接收這個發布器發布的話題:
4. 編寫消息訂閱器節點程序:
Step 4 . 和發布器一樣,我們使用wget命令獲取訂閱器的源代碼 listener.py:
$ roscd beginner_tutorials/scripts/$ wget
ials/indigo-devel/rospy_tutorials/001_talker_listener/listener.py$ ls
listener.py talker.py1234
但是,我還是建議你自己動手寫一下。
好吧,下面我們開始講解 listener.py 里面的代碼,這個listener.py程序的代碼簡單:
Step 5 . 最后不要忘了給這個listener.py 加可執行權限:
$ chmod +x listener.py1
5. 運行 :
對于python 來說,我們不需要使用 catkin_make 命令對 ~/catkin_ws 工作空間進行編譯。因為python文件本身就是可執行文件(前提是我們給它添加可執行權限)。
OK,發布器 和 訂閱器 都創建完了。下面我們運行它們,看看效果:
Step 6 . 新打開一個終端,先執行 ros買粉絲re 命令:
$ ros買粉絲re1
Step 7 . 新打開一個終端,啟動 發布器 :
$ rosrun beginner_tutorials talker.py 1
Step 8 . 新打開一個終端,啟動 訂閱器 :
$ rosrun beginner_tutorials listener.py 1
運行效果:
Step 9 . 我們來使用 rostopic list ,看看當前的話題有哪些:
$ rostopic list
/chatter
/rosout
/rosout_agg1234
其中 /chatter 就是我們在發布器里面發布的 ROS話題。
6. 擴展,編寫一個啟動腳本文件 :
還記得上一節,我們講的ROS的啟動腳本文件吧,下面我們來編寫一個launch文件,來將 talker.py 和listener.py 文件的啟動工作交個這個launch文件來做:
Step 10 . 來到 beginner_tutorials程序包的 /launch 路徑下,新建一個 hello_world_topic.launch 文件:
$ roscd beginner_tutorials/launch$ gedit hello_world_topic.launch #使用你自己喜歡的文本編輯器12
Step 11 . 輸入下面的代碼:
<launch>
<node pkg="beginner_tutorials" name="talker" type="talker.py" />
<node pkg="beginner_tutorials" name="listener" type="listener.py" /></launch>1234
Step 12 . 現在,將之前打開的終端都關閉,我們啟動這個腳本: (開一個終端 : Ctrl+Alt+T)
$ roslaunch beginner_tutorials hello_world_topic.launch1
運行結果:
上面截圖的輸出顯示: talker.py 和 listener.py 腳本運行成功。但是并沒有出現刷屏的現象。這是為什么? 為了證明這個腳本程序真的成功的運行了,我們來試一試:
Step 13 . 重新開一個終端,輸入下面的命令:
$ rosrun list$ rostopic list$ rostopic echo /chatter123
Step 14 . 現在 Ctrl+C 結束監聽 /chatter 話題。使用 rqt_graph 對當前啟動的節點可視化:
$ rqt_graph1
這些足以說明,hello_world_topic.launch 啟動腳本文件,啟動成功。
總結: 發布器 和 訂閱器 是很簡單的, 就是簡單的發布一個 自定義的話題。
我之前使用說過:節點之間通訊的方式有兩種 : 話題(rostopic) 和 服務(rosservice)
所以,接下來,我們會講:使用ROS服務來完成ROS版 Hello World 程序的例子。但是在這之前,我們需要學一學:如何創建自定義的ROS消息和ROS服務,以便 ROS 服務版的 Hello World 程序的編寫。
所以下一講,我們來學習:如何創建自定義的ROS消息和ROS服務。
ROS使用python3
參考:
為了使用python3的圖像處理程序,需要使用到ros接口,但是由于原生ros接口不支持python3,只能使用python2.7(時間2020-07,版本melodic),一下步驟主要為了使用ros調用的方式調用python3的程序
由于ros接收圖像數據使用的是cv_bridge 接口,所以先編譯python3版本的cv_bridge
注意:此時要先安裝好python3的環境,可以按照以下方式安裝
進入到工作空間進行編譯
會有如下提示
編譯完成后,可以在工作路徑下的install文件夾里生成需要的庫,需要使用python3版本的cv_bridge時,就將這個環境變量導入即可
extend參數的作用是讓這次的路徑配置不影響之前配置好的路徑
1. 在使用rosrun 運行程序時,默認還會調用原生melodic的cv_bridge
我的處理方法是將原來的python版本cv_bridge刪除
2. 編譯完成會有錯誤提示,如下圖,但不影響使用
編譯安裝:
在編譯時,使用如下命令:
編譯過程中會有錯誤提示
解決方法:
參考 買粉絲s://answers.ros.org/question/257757/importerror-no-mole-named-em-error/
很赞哦!(79)
相关文章
- tiktok印度尼西亞用戶畫像(抖音一切正常但是不能購物是怎么回事?)
- Tiktok賣家賬號怎么注冊(深度實踐后解析TikTok直播營銷)
- 05 youtube music not working(誰有New Dynamic English的文本材料?)
- 05 youtube music 買粉絲 download songs 買粉絲 music(Marie.Digby.-.[Unfold].專輯 給個地址,最好無損,其次ogg,最次MP3 320k)
- tiktok賣課程需要什么條件(海外抖音tiktok課程費用高不高啊?)
- tiktok原版舞蹈完整版2015(tiktok舞蹈 翻譯 英語)
- 05 youtube music download windows pc之間傳輸文件(現在什么手機系統是最精簡的?)
- 05 youtube music 買粉絲 買粉絲untry music online 買粉絲(尋一個聽歌的網站)
- 05 youtube mp3 320kbps download 買粉絲(Marie.Digby.-.[Unfold].專輯 給個地址,最好無損,其次ogg,最次MP3 320k)
- tiktok博主英文怎么說(美妝博主的惡毒女孩money家庭怎么樣)
热门文章
站长推荐
tiktok印尼版下載(tik tok是什么意思)
05 youtube mp3 player download for windows and(P2P買粉絲怎么加速)
05 youtube music download mp3 買粉絲 買粉絲 download中文(芭比動畫片的片尾曲叫什么名字?)
05 youtube music 2020 old reggae(請問哪里有POPPIN的音樂下載?)
tiktok發什么內容容易火(抖音(TikTok)為什么在全世界都很火?)
tiktok千粉號權重購買(出海品牌如何做好海外網紅營銷?)
tiktok賣貨賺錢嗎(海外版抖音TikTok運營技巧)
05 youtube music pc app download download 買粉絲(英文翻譯~~謝謝~~)