機(jī)器人操作系統(tǒng)(ROS)課件8.3 基于Autoware的目標(biāo)檢測實驗_第1頁
機(jī)器人操作系統(tǒng)(ROS)課件8.3 基于Autoware的目標(biāo)檢測實驗_第2頁
機(jī)器人操作系統(tǒng)(ROS)課件8.3 基于Autoware的目標(biāo)檢測實驗_第3頁
機(jī)器人操作系統(tǒng)(ROS)課件8.3 基于Autoware的目標(biāo)檢測實驗_第4頁
機(jī)器人操作系統(tǒng)(ROS)課件8.3 基于Autoware的目標(biāo)檢測實驗_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

機(jī)器人操作系統(tǒng)(ROS)機(jī)器人操作系統(tǒng)(ROS)基于Autoware的目標(biāo)檢測實驗8.1機(jī)器人操作系統(tǒng)(ROS)8.3.1

Autoware簡介Autoware是世界上第一個用于自動駕駛汽車的“all-in-one”開源軟件,基于ROS-1操作系統(tǒng),并在Apache2許可下使用,提供了一套豐富的自驅(qū)動模塊,由感知、計算和驅(qū)動功能組成,支持功能包括:3D定位、3D映射、目標(biāo)檢測和跟蹤、交通燈識別、任務(wù)和運動規(guī)劃、軌跡生成、車道檢測和選擇、車輛控制、傳感器融合、攝像機(jī)、LiDAR、雷達(dá)、深度學(xué)習(xí)、基于規(guī)則的系統(tǒng)、連接導(dǎo)航、日志記錄、虛擬現(xiàn)實等,ROS框架結(jié)構(gòu)如下圖。機(jī)器人操作系統(tǒng)(ROS)8.3.2安裝配置Autoware首先運行如下命令安裝Autoware的依賴:$sudoapt-getupdate$sudoapt-getinstall-ypython-catkin-pkgpython-rosdepros-$ROS_DISTRO-catkingksu$sudoapt-getinstall-ypython3-pippython3-colcon-common-extensionspython3-setuptoolspython3-vcstool$pip3

install

-U

setuptools

-i

/simple

--trusted-host

依賴安裝完成后,建立autoware的工作空間:$mkdir-pautoware/src$cdautoware運行如下命令下載版本autoware1.12.0的配置文件:$wget-Oautoware.ai.repos"/autowarefoundation/autoware.ai/autoware/raw/1.12.0/autoware.ai.repos?inline=false"機(jī)器人操作系統(tǒng)(ROS)8.3.2安裝配置Autoware運行如下命令將autoware安裝到工作空間中,如下圖所示:$vcsimportsrc<autoware.ai.repos正常情況下,終端會出現(xiàn)一行’··········’,代表安裝過程沒有問題,如果在指令后出現(xiàn)’···E·······’或者多個’·’變成了’E’,則說明在連接到的時候出現(xiàn)錯誤,此時可以考慮更換網(wǎng)絡(luò)或者重復(fù)嘗試幾次,直到所有的包都下載安裝成功安裝autoware無報錯情況安裝autoware出現(xiàn)報錯情況機(jī)器人操作系統(tǒng)(ROS)8.3.2安裝配置Autoware接下來通過rosdep安裝依賴項,首先進(jìn)行rosdep的初始化:$sudorosdepinit此時若出現(xiàn)報錯顯示不能下載,如下圖所示,主要是因為網(wǎng)絡(luò)問題。進(jìn)行rosdep出現(xiàn)報錯情況此時按照以下操作進(jìn)行修改,采用/進(jìn)行g(shù)ithub的資源代理,以此來解決不能下載資源的問題:機(jī)器人操作系統(tǒng)(ROS)8.3.2安裝配置Autoware安裝配置Autoware-GitHub資源代理(1)修改sources_list.py目錄下的download_rosdep_data函數(shù),然后添加如下內(nèi)容:$cd/usr/lib/python2.7/dist-packages/rosdep2

$sudogeditsources_list.py

具體位置如下:defdownload_rosdep_data(url):""":raises::exc:`DownloadFailure`Ifdatacannotberetrieved(e.g.404,badYAMLformat,serverdown)."""try:

url="/"+url#http/httpsURLsneedcustomrequeststospecifytheuser-agent,sincesomerepositoriesreject#requestsfromthedefaultuser-agent.ifurl.startswith("http://")orurl.startswith("https://"):url_request=request.Request(url,headers={'User-Agent':'rosdep/{version}'.format(version=__version__)})機(jī)器人操作系統(tǒng)(ROS)8.3.2安裝配置Autoware安裝配置Autoware-GitHub資源代理(2)修改/usr/lib/python2.7/dist-packages/rosdistro目錄下的__init__.py文件:$cd/usr/lib/python2.7/dist-packages/rosdistro$sudogedit__init__.py

在打開的文件中,修改原有的DEFAULT_INDEX_URL,在原來的URL連接前加入‘/’:#sameversionasin:#-setup.py#-stdeb.cfg__version__='0.8.3'

#indexinformation

DEFAULT_INDEX_URL='//ros/rosdistro/master/index-v4.yaml'

defget_index_url():#environmentvariablehasprecedenceoverconfigurationfilesif'ROSDISTRO_INDEX_URL'inos.environ:returnos.environ['ROSDISTRO_INDEX_URL']...機(jī)器人操作系統(tǒng)(ROS)8.3.2安裝配置Autoware安裝配置Autoware-GitHub資源代理(3)修改/usr/lib/python2.7/dist-packages/rosdep2目錄下的gbpdistro_support.py文件:$cd/usr/lib/python2.7/dist-packages/rosdep2$sudogeditgbpdistro_support.py修改文件中的FUERTE_GBPDISTRO_URL:#py3ktry:unicodeexceptNameError:basestring=unicode=str

#locationofanexamplegbpdistrofileforreferenceandtestingFUERTE_GBPDISTRO_URL='//ros/rosdistro/'\'master/releases/fuerte.yaml'

#secondstowaitbeforeabortingdownloadofgbpdistrodataDOWNLOAD_TIMEOUT=15.0機(jī)器人操作系統(tǒng)(ROS)8.3.2安裝配置Autoware安裝配置Autoware-GitHub資源代理(4)修改/usr/lib/python2.7/dist-packages/rosdep2目錄下的sources_list.py文件:修改文件中的DEFAULT_SOURCES_LIST_URL:#defaultfiletodownloadwith'init'commandinordertobootstrap#rosdepDEFAULT_SOURCES_LIST_URL='//ros/rosdistro/master/rosdep/sources.list.d/20-default.list'

#secondstowaitbeforeabortingdownloadofrosdepdataDOWNLOAD_TIMEOUT=15.0$cd/usr/lib/python2.7/dist-packages/rosdep2$sudogeditsources_list.py機(jī)器人操作系統(tǒng)(ROS)8.3.2安裝配置Autoware安裝配置Autoware-GitHub資源代理(5)修改/usr/lib/python2.7/dist-packages/rosdep2目錄下的rep3.py文件:修改文件中的REP3_TARGETS_URL:from.coreimportDownloadFailurefrom.rosdistrohelperimportPreRep137Warning

#locationoftargetsfileforprocessinggbpdistrofilesREP3_TARGETS_URL='//ros/rosdistro/master/releases/targets.yaml'

#secondstowaitbeforeabortingdownloadofgbpdistrodataDOWNLOAD_TIMEOUT=15.0$cd/usr/lib/python2.7/dist-packages/rosdep2$sudogeditrep3.py機(jī)器人操作系統(tǒng)(ROS)8.3.2安裝配置Autoware安裝配置Autoware-GitHub資源代理(6)修改/usr/lib/python2.7/dist-packages/rosdistro/manifest_provider目錄下的github.py文件:修改github.py文件中第68行的url地址:ifnotrepo.has_remote_tag(release_tag):raiseRuntimeError('specifiedtag"%s"isnotagittag'%release_tag)

url='//%s/%s/package.xml'%(path,release_tag)try:logger.debug('Loadpackage.xmlfilefromurl"%s"'%url)return_get_url_contents(url)exceptURLErrorase:logger.debug('-failed(%s),trying"%s"'%(e,url))raiseRuntimeError()$cd/usr/lib/python2.7/dist-packages/rosdistro/manifest_provider$sudogeditgithub.py機(jī)器人操作系統(tǒng)(ROS)8.3.2安裝配置Autoware安裝配置Autoware-GitHub資源代理同時,修改github.py文件中第119行的url地址:cache=SourceRepositoryCache.from_ref(tree_json['sha'])forpackage_xml_pathinpackage_xml_paths:

url

='//%s/%s/%s';

%

\

(path,

cache.ref(),

package_xml_path

+

'/package.xml'

if

package_xml_path

else

'package.xml') logger.debug('-loadpackage.xmlfrom%s'%url)package_xml=_get_url_contents(url)name=parse_package_string(package_xml).namecache.add(name,package_xml_path,package_xml)returncache機(jī)器人操作系統(tǒng)(ROS)8.3.2安裝配置Autoware安裝配置Autoware-GitHub資源代理(7)修改/usr/lib/python2.7/dist-packages/rosdep2目錄下的gbpdistro_support.py文件:在文件的第202行下添加“gbpdistro_url=‘/’+gbpdistro_url”:#wecanconvertagbpdistrofileintorosdepdatabyfollowinga#couplerules#willoutputawarningtargets_data=download_targets_data(targets_url=targets_url)

gbpdistro_url='/'+gbpdistro_urltry:f=urlopen(gbpdistro_url,timeout=DOWNLOAD_TIMEOUT)text=f.read()f.close()gbpdistro_data=yaml.safe_load(text)#willoutputawarningreturngbprepo_to_rosdep_data(gbpdistro_data,targets_data,gbpdistro_url)exceptExceptionase:raiseDownloadFailure('Failedtodownloadtargetplatformdata''forgbpdistro:\n\t'+str(e))$cd/usr/lib/python2.7/dist-packages/rosdep2$sudogeditgbpdistro_support.py機(jī)器人操作系統(tǒng)(ROS)8.3.2安裝配置Autoware安裝配置Autoware-rosdep初始化所有文件修改完成后,重新運行如下命令進(jìn)行rosdep的初始化,運行結(jié)果如下圖所示:$sudorosdepinit機(jī)器人操作系統(tǒng)(ROS)8.3.2安裝配置Autoware安裝配置Autoware-rosdep初始化rosdep初始化成功后,運行如下命令進(jìn)行rosdep更新,如下圖所示:$rosdepupdate如果整個更新過程如上圖一樣沒有出現(xiàn)報錯,則更新成功,如果出現(xiàn)報錯,則需要檢測一下在前文的修改文件過程中是否出現(xiàn)缺漏或者錯誤,如果檢查無誤依然無法更新成功,則可以考慮切換網(wǎng)絡(luò)進(jìn)行更新。機(jī)器人操作系統(tǒng)(ROS)8.3.2安裝配置Autoware然后運行如下命令采用rosdep安裝依賴,如下圖所示:$cd~/autoware/$rosdepinstall-y--from-pathssrc--ignore-src--rosdistro$ROS_DISTRO安裝配置Autoware-rosdep初始化機(jī)器人操作系統(tǒng)(ROS)8.3.2安裝配置Autoware若部分依賴無法安裝,如下圖所示:安裝配置Autoware-rosdep初始化則可以采用手動安裝的方式,如nmea_msgs無法安裝成功,則使用如下命令進(jìn)行安裝:$sudoapt-getinstallros-melodic-nmea-msgs機(jī)器人操作系統(tǒng)(ROS)8.3.2安裝配置Autoware安裝配置Autoware-rosdep初始化如jsk_rviz_plugins無法安裝成功,則使用如下命令進(jìn)行安裝:$sudoapt-getinstallros-melodic-jsk-rviz-plugins對于其他無法安裝成功的包,只需要修改ros-melodic-后面的包名即可,但得注意,包名的下劃線’_’應(yīng)該修改成橫線’-’當(dāng)所有的依賴包都安裝完成后,再輸入$rosdepinstall-y--from-pathssrc--ignore-src--rosdistro$ROS_DISTRO若得到如下圖所示的界面,則代表所有依賴安裝成功,可以進(jìn)行autoware的編譯了:

機(jī)器人操作系統(tǒng)(ROS)8.3.2安裝配置Autoware安裝配置Autoware-編譯本文采用的是不依賴CUDA的安裝方式,運行如下指令開始對autoware的編譯,運行結(jié)果如圖8-48所示:$cdautoware/$colconbuild--cmake-args-DCMAKE_BUILD_TYPE=Release編譯成功的包會顯示Finished,編譯失敗則會顯示Failed。機(jī)器人操作系統(tǒng)(ROS)8.3.2安裝配置Autoware安裝配置Autoware-編譯當(dāng)所有包編譯成功時,會出現(xiàn)如圖8-49的界面當(dāng)在summary后面顯示“139packagesfinished”時,即代表autoware編譯成功,當(dāng)其中的包編譯失敗時,會出現(xiàn)“**packagesfailed”。至此Autoware安裝完成。機(jī)器人操作系統(tǒng)(ROS)8.3.3Autoware測試先打開一個終端運行roscore:$roscore再打開一個終端運行:$cdautoware/$sourceinstall/setup.bash$roslaunchruntime_managerruntime_manager.launch出現(xiàn)名為RuntimeManager的Autoware界面,即程序運行成功,如右圖所示:機(jī)器人操作系統(tǒng)(ROS)8.3.4利用Yolov3實現(xiàn)目標(biāo)檢測首先配置yolov3,并使用yolov3進(jìn)行目標(biāo)檢測,運行如下命令進(jìn)入目標(biāo)檢測文件夾內(nèi):$cdautoware/$sourceinstall/setup.bash$roscdvision_darknet_detect/darknet/運行如下命令新建一個文件夾,并下載yolov3的權(quán)重數(shù)據(jù):$mkdirdata$cddata$wget/media/files/

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論