第一部分: 完成該程式的注意事項
1、ros預設的python版本為2.7,但是在python2.7環境下,手部追蹤程式不能正確執行,其主要原因在於python2與python3的運算規則存在很大差異,比如對於除法即 『/』運算子,python2下,int/int = int, 而python3環境下int/int = int=float,而cv.dnn模組以及python指令碼程式中涉及到很多'/'運算,因此必須讓該程式在ros系統下以python3環境執行,否則不可能得出想要的效果。
2、如何使ros呼叫python3解析器呢?很簡單,只要在python指令碼程式頭部新增如下宣告即可。
#!/usr/bin/python33、由於本程式需要用到python3版本的rospy,而ros系統沒有基於python3的rospy,因此需要利用pip3進行安裝。安裝命令為:
pip3 install rospkg -i第二部分:專案構建全過程概覽
一、構建工作空間
1、首先新建乙個資料夾,名稱為tracing_hands
mkdir tracing_hands並在該資料夾下新建乙個資料夾,名稱為src
mkdir src執行catkin_make,建立出乙個空的ros程式架構(工作空間)
catkin_make二、構建catkin軟體包
1、在前述src資料夾環境下,建立軟體包,並取名為tracing_hands
catkin_create_pkg tracing_hands std_msgs rospy2、建立自定義訊息型別,剛剛建立的tracing_hands資料夾下新建乙個資料夾,取名msg
mkdir msg在該資料夾下新建兩個自定義訊息型別,分別是:
int_list_1d.msg:
#該message儲存left,top,right,bottomint32 dataint_list_2d.msg:
#該message儲存多個[left,top,right,bottom]int_list_1d data3、在當前資料夾下繼續建立一資料夾,取名scripts,用於存放可執行python指令碼檔案,talker.py,listener.py,執行
chmod +x talker.py
chmod +x listener.py用以將python指令碼定義為可執行檔案,使其可以執行。
4、在當前資料夾下新建一資料夾,取名為launch,並在其中新建一檔案,取名為tracing_hands.launch,內容如下:
用以快速啟動tracing_hands軟體包下的talker和listener節點執行
chmod +x tracing_hands.launch用以將其變為可執行檔案。
5、修改當前資料夾下的cmakelist.txt和package.xml檔案
6、回到工作空間目錄下即~/tracing_hands,執行catkin_make編譯程式
!!!至此程式框架已全部構建完成,後面可用rosrun來逐個執行節點或者roslaunch來快速啟動所有節點
第三部分:程式使用
1、使用前請注意:修改talker.py 的配置檔案路徑(就是你自己訓練的權重檔案)talker.py在/tracing_hands/src/tracing_hands/scripts 資料夾下。修改26,27行即可,其餘的不需要修改了。
2、使用roslaunch啟動:在我的環境下用到如下語句:
cd ~/tracing_hands
source ./devel/setup.bash
roslaunch tracing_hands tracing_hands.launch3、使用rosrun啟動:在我的環境下用到如下語句:
roscore開啟乙個新終端:依次輸入如下:
cd ~/tracing_handssource ./devel/setup.bashrosrun tracing_hands talker.py再開啟乙個新終端:依次輸入如下:
cd ~/tracing_handssource ./devel/setup.bashrosrun tracing_hands listener.py另:要實現視覺化效果可在程式執行時,開啟乙個新終端並執行:
rqt_graph
FCC批准亞馬遜開發基於雷達的睡眠追蹤器
對於公司開發和銷售含有雷達技術的消費級裝置,美國聯邦通訊委員會 fcc 設定了非常高的門檻並對相關申請進行嚴苛審查。因為該組織擔心,允許此類商品不受限制的銷售可能會對 對 雷達 頻段的授權使用者產生有害干擾 2018年,fcc 經過嚴苛審查之後允許在 pixel 智慧型手機上使用雷達技術。fcc 近...
ROS 一種基於RRT的路徑規劃器
最近寫了乙個基於rrt的全域性路徑規劃器在此記錄下來。ubuntu18.04 ros melodic 作為move base外掛程式。包括rrt rrt connect,啟發式擴充套件,路徑優化等內容。過載!一般為機械人起始點和目標點 然後規劃這兩個點之間的路徑。函式為 bool rrtstarpl...
基於epoll的併發伺服器程式設計
這一篇文章主要是理清伺服器和客戶端的建立通訊的流程,整個通訊是在網路層 即ip協議以及其上的傳輸層和應用層 不明白的話需要先了解網路7層模型 對應的報文格式和不同層的封裝。下面主要圍繞圖11 14講述並深入 serverfd socket af inet,sock stream,0 這裡返回的描述符...