![機(jī)器人操作系統(tǒng)現(xiàn)狀與應(yīng)用實(shí)例李寶全_第1頁(yè)](http://file4.renrendoc.com/view/e5797d62819ae5a23a091dd7e596b75e/e5797d62819ae5a23a091dd7e596b75e1.gif)
![機(jī)器人操作系統(tǒng)現(xiàn)狀與應(yīng)用實(shí)例李寶全_第2頁(yè)](http://file4.renrendoc.com/view/e5797d62819ae5a23a091dd7e596b75e/e5797d62819ae5a23a091dd7e596b75e2.gif)
![機(jī)器人操作系統(tǒng)現(xiàn)狀與應(yīng)用實(shí)例李寶全_第3頁(yè)](http://file4.renrendoc.com/view/e5797d62819ae5a23a091dd7e596b75e/e5797d62819ae5a23a091dd7e596b75e3.gif)
![機(jī)器人操作系統(tǒng)現(xiàn)狀與應(yīng)用實(shí)例李寶全_第4頁(yè)](http://file4.renrendoc.com/view/e5797d62819ae5a23a091dd7e596b75e/e5797d62819ae5a23a091dd7e596b75e4.gif)
![機(jī)器人操作系統(tǒng)現(xiàn)狀與應(yīng)用實(shí)例李寶全_第5頁(yè)](http://file4.renrendoc.com/view/e5797d62819ae5a23a091dd7e596b75e/e5797d62819ae5a23a091dd7e596b75e5.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
ROS-RobotOperatingSystemWhat&Why現(xiàn)狀How&Results幾個(gè)應(yīng)用例程Sum-mary綜合實(shí)例:體感遠(yuǎn)程控制1目前一頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
應(yīng)用火爆的ROSROSRepositories(>50)Map:2目前二頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
應(yīng)用火爆的ROSRobotics&AutomationMagazine,IEEE該雜志上設(shè)立了專(zhuān)題討論區(qū):ROSTopics下方圖片是在最新一期中ROSTopics的論文3目前三頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
應(yīng)用火爆的ROS新加坡南洋理工大學(xué)(NTU)機(jī)器人相關(guān)實(shí)驗(yàn)室大家都在用,已經(jīng)形成了全民一起上的局面所見(jiàn)的應(yīng)用設(shè)備:Pioneer3AT/DXKinectAR.DroneTurtleBot4目前四頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
ROS體系Main:由WillowGarage公式維護(hù)核心部分程序Universe:全球范圍的代碼,由其它個(gè)人/組織維護(hù)相關(guān)知識(shí)庫(kù)(Repository),即功能包(例如先鋒機(jī)器人的ROSARIA,Kinect的openni_tracker,語(yǔ)言識(shí)別pocketsphinx)5目前五頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
幾點(diǎn)說(shuō)明雖然ROS的名字為“機(jī)器人操作系統(tǒng)”,但不是真正的操作系統(tǒng),只是說(shuō)它可以提供類(lèi)似于操作系統(tǒng)的一些服務(wù),比如底層通訊,分布式控制。對(duì)于機(jī)器人的相關(guān)功能,不使用ROS也能實(shí)現(xiàn).但ROS使得機(jī)器人軟件搭建的工作更方便,效率更高。6目前六頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
ROS的程序的核心節(jié)點(diǎn)即可執(zhí)行文件由.cpp文件編譯生成而來(lái)(指C++)節(jié)點(diǎn)之間的通訊節(jié)點(diǎn)間信息的發(fā)布與接收PublishSubscribe7目前七頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
節(jié)點(diǎn)將整個(gè)工程(Project)模塊化,每個(gè)節(jié)點(diǎn)即為一個(gè)模塊。每個(gè)節(jié)點(diǎn)都可以單獨(dú)維護(hù),比如現(xiàn)在有N個(gè)節(jié)點(diǎn)已經(jīng)在運(yùn)行了,用戶(hù)可以再編寫(xiě)第N+1個(gè)節(jié)點(diǎn),然后編譯,然后運(yùn)行,即有N+1個(gè)節(jié)點(diǎn)共同運(yùn)行。每個(gè)節(jié)點(diǎn)有唯一的名字節(jié)點(diǎn)之間可借助網(wǎng)絡(luò)跨主機(jī)共同運(yùn)行.8目前八頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
節(jié)點(diǎn)之間的通訊發(fā)布者Publisher訂閱者Subscriber話(huà)題:發(fā)布者與訂閱者之間的通訊方式話(huà)題的名稱(chēng):Topic:發(fā)布者與訂閱者之間數(shù)據(jù)傳輸“管道”的名字,為一字符串消息:Message:傳輸數(shù)據(jù)的類(lèi)型,例如int,char,自定義類(lèi)型。9目前九頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
ROS-RobotOperatingSystemWhat&Why現(xiàn)狀How&Results幾個(gè)應(yīng)用例程Sum-mary綜合實(shí)例:體感遠(yuǎn)程控制10目前十頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
ROS的幾個(gè)例程Helloworld圖像先鋒機(jī)器人P3AT/P3DXKinectSkeletonVoiceNetwork通訊11目前十一頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
HelloWorld程序節(jié)點(diǎn):2個(gè)節(jié)點(diǎn)talker(talker.cpp):包含一個(gè)發(fā)布者節(jié)點(diǎn)listener(listener.cpp):包含一個(gè)接收者節(jié)點(diǎn)間的通訊:Topic(話(huà)題的名稱(chēng)):“chatter”Message(傳遞的數(shù)據(jù)類(lèi)型):std_msgs::StringString為ROS自定義的數(shù)據(jù)類(lèi)型String中包含唯一變量為std::string
data12目前十二頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
HelloWorld程序13目前十三頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
HelloWorld程序14目前十四頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
HelloWorld程序15目前十五頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
HelloWorld程序16目前十六頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
ROS的幾個(gè)例程Helloworld圖像先鋒機(jī)器人P3AT/P3DXKinectSkeletonVoiceNetwork通訊17目前十七頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
ROS的幾個(gè)例程:圖像圖像的發(fā)布:對(duì)應(yīng)ROS中的Publisher.以如下三個(gè)圖像源舉例:Kinect的RGB攝像頭筆記本內(nèi)置攝像頭外接USB攝像頭圖像的接收:對(duì)應(yīng)ROS中的Subscriber圖像的處理:可以與OpenCV相結(jié)合(OpenCV與ROS均屬于WillowGarage公司,所以….)用戶(hù)可以在該步驟中進(jìn)行任意的圖像處理操作(“soyoucandoeverythinginthisstep”)圖像的顯示:與OpenCV相結(jié)合18目前十八頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
圖像的發(fā)布:Kinect的RGB攝像頭首先對(duì)Kinect設(shè)備進(jìn)行配置,并進(jìn)行初始化由于Kinect與ROS相互支持,因此配置過(guò)程非常簡(jiǎn)便初始化Kinect的過(guò)程就是發(fā)布一些列Topic的過(guò)程,這些Topic包括:/camera/rgb/image_color:該話(huà)題即對(duì)應(yīng)于我們需要的RGB圖像數(shù)據(jù)至此圖像發(fā)布的任務(wù)完畢若想把圖像顯示出來(lái),需要進(jìn)行下一節(jié)“圖像的接收與顯示”/camera/rgb/image_raw:RGB圖像的原始數(shù)據(jù)/camera/grey:這是灰度圖像/camera/depth:這是場(chǎng)景深度圖像19目前十九頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
圖像的發(fā)布:Kinect的RGB攝像頭圖:Rviz中顯示出的Kinect發(fā)布的點(diǎn)云信息20目前二十頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
圖像的發(fā)布:筆記本內(nèi)置攝像頭對(duì)于筆記本內(nèi)置USB攝像頭的圖像獲取,要比Kinect復(fù)雜.這是由于ROS對(duì)Kinect的支持包括了圖像Topic的發(fā)布,而對(duì)于計(jì)算機(jī)的內(nèi)置/外置USB攝像頭,需要我們自己做些操作下載usb_cam包:/bosch-ros-pkg/usb_cam.git.包含如下3個(gè)文件//usb_cam.h//usb_cam.cpp:由于是在Ubuntu(12.04)系統(tǒng)下進(jìn)行的,因此里面用到了Linux的V4L2視頻驅(qū)動(dòng)與服務(wù)//usb_cam_node.cpp攝像頭的圖像在此節(jié)點(diǎn)中發(fā)布21目前二十一頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
圖像的發(fā)布:筆記本內(nèi)置攝像頭22目前二十二頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
圖像的發(fā)布:外置USB攝像頭也需要利用包usb_cam由于外接USB攝像頭的設(shè)備名為video1,因此將設(shè)備名的語(yǔ)句修改為除此之外,其它操作與上一節(jié)的內(nèi)置攝像頭圖像發(fā)布一致23目前二十三頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
圖像的接收,處理與顯示ROS的圖像數(shù)據(jù)使用sensor_msgs/Image的消息格式CvBridge:屬于ROS的庫(kù),在vision_opencv(堆stack)/cv_bridge(包package)/image_geometry中.用以轉(zhuǎn)換sensor_msgs/Image至cv::Mat該部分功能:從相應(yīng)Topic中獲得sensor_msgs::Image圖像信息(接收者),并將其轉(zhuǎn)化為cv::Mat的形式,并顯示圖像。當(dāng)然,該部分首先需要圖像源來(lái)發(fā)布一個(gè)圖像Topic,例如上節(jié)的①Kinect,②內(nèi)置USB攝像頭,③外接USB攝像頭24目前二十四頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
圖像的接收,處理與顯示25目前二十五頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
圖像的接收,處理與顯示26目前二十六頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
圖像的接收,處理與顯示上頁(yè)的image_converter節(jié)點(diǎn)對(duì)應(yīng)于圖像發(fā)布源為Kinect,若想要獲得外置/內(nèi)置攝像頭的圖像時(shí),將訂閱者的Topic改為“/image_raw”即可.改為因此將該節(jié)點(diǎn)修改后重新編譯并運(yùn)行,便可以繼續(xù)獲取另一個(gè)圖像源的圖像.這也體現(xiàn)了ROS的代碼維護(hù)非常靈活.27目前二十七頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
圖像的接收,處理與顯示28目前二十八頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
ROS的幾個(gè)例程Helloworld圖像先鋒機(jī)器人P3AT/P3DXKinectSkeletonVoiceNetwork通訊29目前二十九頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
先鋒機(jī)器人P3AT/P3DXP3AT/P3DX的配置角速度和線(xiàn)速度控制量的發(fā)布控制量發(fā)布的節(jié)點(diǎn):對(duì)應(yīng)Publisher控制量的接收控制量接收的節(jié)點(diǎn):對(duì)應(yīng)Subscriber即控制機(jī)器人的運(yùn)動(dòng)30目前三十頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
P3AT/P3DX的配置由于P3AT是串口通訊,我的筆記本上僅有USB口,因此首先需要配置USB轉(zhuǎn)串口.安裝ROSARIAARIA是ActivMedia公司為先鋒機(jī)器人提供的驅(qū)動(dòng)與服務(wù)由于該公司也支持ROS,因此發(fā)布了ROSARIA版本31目前三十一頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
角速度和線(xiàn)速度控制量的發(fā)布話(huà)題名稱(chēng)"/RosAria/cmd_vel“該話(huà)題名稱(chēng)要與下一節(jié)接收節(jié)點(diǎn)中的一致消息類(lèi)型為ROS自定義的:geometry_msgs::Twist在該Twist數(shù)據(jù)結(jié)構(gòu)中,包括了角速度控制量與線(xiàn)速度控制量32目前三十二頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
角速度和線(xiàn)速度控制量的發(fā)布33目前三十三頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
控制量的接收首先下載包rosaria:/amor-ros-pkg/rosaria.git該包中含有RosAria.cpp文件將該文件編譯為節(jié)點(diǎn)RosAria,并運(yùn)行該節(jié)點(diǎn)節(jié)點(diǎn)RosAria的功能:接收上節(jié)的Twist數(shù)據(jù)結(jié)構(gòu)(即訂閱者),Twist中含有角速度與線(xiàn)速度的數(shù)據(jù).將控制量發(fā)送給先鋒機(jī)器人,即讓機(jī)器人做相應(yīng)運(yùn)動(dòng).34目前三十四頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
控制量的接收35目前三十五頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
ROS的幾個(gè)例程Helloworld圖像先鋒機(jī)器人P3AT/P3DXKinectSkeleton(人體骨骼識(shí)別)VoiceNetwork通訊36目前三十六頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
KinectSkeleton由于用到了Kinect的骨骼識(shí)別,因此首先需要安裝NiTE之后下載包openni_tracker:/ros-drivers/openni_tracker.gitopenni_tracker節(jié)點(diǎn)將用戶(hù)的骨骼位置發(fā)布(發(fā)布者)Topic為“/tf”Message為tf2_msgs::TFMessage,一個(gè)TFMessage的對(duì)象包括了一個(gè)關(guān)節(jié)的位置與姿態(tài)信息37目前三十七頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
KinectSkeleton38目前三十八頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
KinectSkeleton39目前三十九頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
KinectSkeleton圖:Rviz顯示出的發(fā)布的tf的信息40目前四十頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
ROS的幾個(gè)例程Helloworld圖像先鋒機(jī)器人P3AT/P3DXKinectSkeletonVoiceNetwork通訊41目前四十一頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
Voice語(yǔ)音識(shí)別語(yǔ)言發(fā)布綜合:聲音的接收與發(fā)聲42目前四十二頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
Voice:語(yǔ)言識(shí)別包pocketsphinx的安裝與配置pocketsphinx用以語(yǔ)言識(shí)別,并發(fā)布(Publish)識(shí)別結(jié)果String識(shí)別結(jié)果的接收與顯示將pocketsphinx發(fā)布的String其獲取(Subscribe)后從屏幕上顯示43目前四十三頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
Voice44目前四十四頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
Voice:語(yǔ)言發(fā)布包sound_play的安裝與配置利用程序來(lái)控制發(fā)聲45目前四十五頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
Voice:綜合:聲音的接收與發(fā)聲利用pocketsphinx對(duì)語(yǔ)言進(jìn)行識(shí)別,并以String的消息類(lèi)型來(lái)發(fā)布接收pocketsphinx發(fā)布的String將String顯示到屏幕上發(fā)聲:將String朗讀出來(lái)當(dāng)然也可以朗讀其它語(yǔ)句,即實(shí)現(xiàn)了人機(jī)之間的對(duì)話(huà)46目前四十六頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
Voice:綜合:聲音的接收與發(fā)聲47目前四十七頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
ROS的幾個(gè)例程Helloworld圖像先鋒機(jī)器人P3AT/P3DXKinectSkeletonVoiceNetwork通訊48目前四十八頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
Network通訊(以?xún)芍鳈C(jī)為例)ROS的分布式特點(diǎn):對(duì)兩主機(jī)進(jìn)行簡(jiǎn)單配置后,若有相同的Topic,則節(jié)點(diǎn)之間即可跨主機(jī)利用網(wǎng)絡(luò)進(jìn)行通訊.因此網(wǎng)絡(luò)通訊/控制變?yōu)槭趾?jiǎn)單.實(shí)驗(yàn)場(chǎng)景:取名為”hal”的電腦上連接先鋒機(jī)器人P3AT,并連接Wifi取名為”marvin”的電腦(我的筆記本)沒(méi)有連接設(shè)備,但與”hal”連接了同一個(gè)Wifi目標(biāo):讓”marvin”將先鋒機(jī)器人的控制命令通過(guò)Wifi發(fā)送給”hal”,然后”hal”再把此命令發(fā)送給先鋒機(jī)器人49目前四十九頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
Network通訊(以?xún)芍鳈C(jī)為例)50目前五十頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
ROS-RobotOperatingSystemWhat&Why現(xiàn)狀How&Results幾個(gè)應(yīng)用例程Sum-mary綜合實(shí)例:體感遠(yuǎn)程控制51目前五十一頁(yè)\總數(shù)五十八頁(yè)\編于十五點(diǎn)
ROS綜合實(shí)例:實(shí)驗(yàn)?zāi)繕?biāo)通過(guò)網(wǎng)絡(luò),遠(yuǎn)程控制機(jī)器人的運(yùn)動(dòng)使用者在Kinect前移動(dòng),當(dāng)距離Kinect超過(guò)1米時(shí),讓遠(yuǎn)方的機(jī)器人做前進(jìn)運(yùn)動(dòng);當(dāng)距離Kinect小于1米時(shí),讓機(jī)器人后退;并且機(jī)器人的運(yùn)動(dòng)速度與使用著距Kinect1米的誤差成正比.將上一章“幾個(gè)應(yīng)用例程”結(jié)合在了一起.52目前五十二頁(yè)\總數(shù)五十八
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 滬科版數(shù)學(xué)八年級(jí)上冊(cè)《求一次函數(shù)的表達(dá)式》聽(tīng)評(píng)課記錄
- 2024-2025學(xué)年八年級(jí)物理上冊(cè)第4章聲現(xiàn)象單元雙基雙測(cè)A卷基礎(chǔ)篇含解析北師大版
- 2024-2025學(xué)年五年級(jí)語(yǔ)文上冊(cè)第二單元6變色龍教案設(shè)計(jì)蘇教版
- HR個(gè)人年終總結(jié)
- 英語(yǔ)教學(xué)研修計(jì)劃
- 數(shù)學(xué)連環(huán)畫(huà) 畫(huà)出你的數(shù)學(xué)故事(說(shuō)課稿)-2024-2025學(xué)年一年級(jí)數(shù)學(xué)下冊(cè)蘇教版
- 車(chē)輛租賃協(xié)議范本
- 會(huì)議服務(wù)協(xié)議書(shū)范本
- 滄州房屋出租協(xié)議書(shū)范本
- 超市入駐合作經(jīng)營(yíng)合同范本
- 分管安全副校長(zhǎng)在教師會(huì)議上講話(huà):到底如何抓好安全從哪些細(xì)節(jié)來(lái)抓安全
- 湘教版七年級(jí)上冊(cè)數(shù)學(xué)期末考試試卷帶答案
- 中國(guó)游戲發(fā)展史課件
- 校園安全視頻監(jiān)控維保方案
- 政府購(gòu)買(mǎi)報(bào)刊訂閱服務(wù)協(xié)議
- 第三單元名著導(dǎo)讀《駱駝祥子》整本書(shū)閱讀教學(xué)設(shè)計(jì)+2023-2024學(xué)年統(tǒng)編版語(yǔ)文七年級(jí)下冊(cè)
- 工程數(shù)學(xué)試卷及答案
- DB11T 211-2017 園林綠化用植物材料 木本苗
- 《PLC應(yīng)用技術(shù)(西門(mén)子S7-1200)第二版》全套教學(xué)課件
- 第01講 直線(xiàn)的方程(九大題型)(練習(xí))
- 2024上海申康醫(yī)院發(fā)展中心招聘2人高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
評(píng)論
0/150
提交評(píng)論