国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Autoware.universe部署02:高精Lanelet2地圖的繪制

這篇具有很好參考價(jià)值的文章主要介紹了Autoware.universe部署02:高精Lanelet2地圖的繪制。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。


本文介紹如何繪制Autoware.universe使用的高精地圖并驗(yàn)證地圖,本系列其他文章:
Autoware.universe部署01:Ubuntu20.04安裝Autoware.universe并與Awsim聯(lián)調(diào)
Autoware.universe部署03:與Carla(二進(jìn)制版)聯(lián)調(diào)
Autoware.universe部署04:universe傳感器ROS2驅(qū)動(dòng)

引言

目前行業(yè)并沒(méi)有通用的標(biāo)準(zhǔn)(OpenDrive并不是為自動(dòng)駕駛設(shè)計(jì)的),Autoware自動(dòng)駕駛系統(tǒng)的矢量地圖和地圖引擎計(jì)劃使用Lanelet2,本文我們就來(lái)了解并且上手一下Lanelet2高精度地圖框架。Lanelet2架構(gòu)可以劃分為:

  • lanelet2稱可以被觀測(cè)到的要素為地圖的物理層(physical layer) ,諸如路標(biāo)、紅綠燈、交通標(biāo)志、防撞欄等等,其他的所有地圖元素,比如車道(lane),是這些物理元素的一種抽象表示。
  • 同樣地,交通規(guī)則是規(guī)則源(例如交通信號(hào)燈)與其所應(yīng)用的車道之間的關(guān)聯(lián)。根據(jù)這些物理元素我們可以追蹤這些關(guān)聯(lián)信息,我們稱這些元素為地圖的關(guān)聯(lián)層(relational layer)。
  • 然而,并非地圖的所有元素都可以與物理層相關(guān)聯(lián),因?yàn)榈缆方煌ㄖ型鶗?huì)包含隱含的規(guī)則,比如說(shuō)在路口內(nèi),車道線和車道邊緣并沒(méi)有畫(huà)出來(lái),但是它們是存在的,HAD map必須包含這些隱含的元素以保證路網(wǎng)拓?fù)涞倪B通性,這些元素都是我們的行為“常識(shí)”引入的,不和實(shí)際的可觀測(cè)元素關(guān)聯(lián),即拓?fù)鋵?/strong>(topological layer)。

創(chuàng)建與Autoware兼容的矢量地圖最簡(jiǎn)單的方法是使用TIER IV公司提供的基于Web的免費(fèi)工具Vector Map Builder。Vector map builder是Autoware官方提供的一個(gè)在線lanelet2地圖繪制工具矢量地圖生成器,允許您創(chuàng)建車道,并使用點(diǎn)云地圖作為參考添加額外的管制元素,如停止標(biāo)志或交通燈。

對(duì)于開(kāi)源軟件選項(xiàng),MapToolbox是專門為Unity設(shè)計(jì)的插件,用于為Autoware創(chuàng)建Lanelet2地圖。雖然JOSM是另一個(gè)可以用來(lái)創(chuàng)建Lanelet2地圖的開(kāi)源工具,但是需要注意的是,為了使地圖與Autoware兼容,必須進(jìn)行大量的手工修改。這個(gè)過(guò)程可能是繁瑣和耗時(shí)的,因此不建議使用JOSM。

Lanelet2默認(rèn)的格式為XML形式的OSM地圖格式,可以使用OSM地圖編輯器進(jìn)行編輯和可視化。Lanelet2假定地圖中的所有元素均能投射到平面,不過(guò)元素的高度信息也會(huì)被保存,以避免將立交橋處理成十字路口的情況。當(dāng)加載地圖的時(shí)候,為了方便地圖的使用,會(huì)采用通用莫卡托投射(UTM,Universal Transverse Mercator)將地圖投射到笛卡爾坐標(biāo)系。

Lanelet基礎(chǔ)元素

Lanelet2地圖主要包含6類基元:

  • Points:點(diǎn)
  • Linestrings: 由點(diǎn)前后連接構(gòu)成的折線序列
  • Polygons:多邊形
  • Lanelets:車道的原子單元,或者說(shuō)對(duì)車道的最小劃分
  • Areas:區(qū)域,類似與lanelet,但是它一般用于描述建筑、停車區(qū)等獨(dú)立區(qū)域
  • Regulatory elements:控制元素,能產(chǎn)生交通規(guī)則的元素,如信號(hào)燈、限速牌等

前三類為物理層,其余為關(guān)聯(lián)層,每一個(gè)元素都有自己唯一的ID

Lanelet2項(xiàng)目各個(gè)模塊

Lanelet2論文的另外一個(gè)工作就是基于以上設(shè)計(jì)理念和基本要素開(kāi)源了一套C++編寫(xiě)的地圖框架,lanelet2項(xiàng)目依靠catkin編譯,所以每個(gè)模塊都是以ros package的形式進(jìn)行管理,各個(gè)模塊內(nèi)容如下:

  • lanelet2:基礎(chǔ)模塊,沒(méi)有具體實(shí)現(xiàn)
  • lanelet2_core:實(shí)現(xiàn)了基元、地理計(jì)算等核心庫(kù)
  • lanelet2_io:lanelet地圖的IO庫(kù)
  • lanelet2_traffic_rules:提供地圖交通規(guī)則的支持
  • lanelet2_projection:提供WGS84坐標(biāo)系到指定坐標(biāo)系下的投影的實(shí)現(xiàn)
  • lanelet2_routing:提供基于lanelet地圖的routing功能
  • lanelet2_maps:lanelet2官方提供的示例地圖
  • lanelet2_python:lanelet2的python接口
  • lanelet2_validation:驗(yàn)證Lanelet2地圖
  • lanelet2_examples:教程和示例

一、安裝Lanelet2項(xiàng)目

注意:如果不需要額外的地圖驗(yàn)證工具,可以直接到下一章節(jié)開(kāi)始學(xué)習(xí)繪制Lanelet2地圖

1.1 安裝依賴

環(huán)境是Ubuntu18.04,依賴于ROS melodic

sudo apt-get install ros-melodic-rospack ros-melodic-catkin ros-melodic-mrt-cmake-modules ros-melodic-unique-id
sudo apt-get install libboost-dev libeigen3-dev libgeographic-dev libpugixml-dev libpython-dev libboost-python-dev python-catkin-tools

1.2 編譯

mkdir catkin_ws_lanelet2_mapping && cd catkin_ws_lanelet2_mapping && mkdir src
catkin init
# build in release mode (or whatever you prefer)
catkin config --cmake-args -DCMAKE_BUILD_TYPE=RelWithDebInfo 
cd src
git clone https://github.com/AbangLZU/ad_with_lanelet2.git
cd ..
catkin build
  • 編譯報(bào)錯(cuò):
error: ‘::memset’ has not been declared

Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux
可能是boost版本的問(wèn)題。memset是C 庫(kù)函數(shù),void *memset(void *str, int c, size_t n) 復(fù)制字符 c(一個(gè)無(wú)符號(hào)字符)到參數(shù) str 所指向的字符串的前 n 個(gè)字符。如果是C++編譯,需要調(diào)用的是cstring。報(bào)錯(cuò)是因?yàn)樵贑++環(huán)境下使用了memset卻沒(méi)有導(dǎo)入cstring,所以解決辦法很簡(jiǎn)單,修改boost頭文件

sudo gedit /usr/local/include/boost/geometry/algorithms/detail/relate/result.hpp

打開(kāi)報(bào)錯(cuò)的源碼,添加以下頭文件:

#include <cstring>
  • 報(bào)錯(cuò):
    Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux
/home/autoware/catkin_ws_lanelet2_mapping/devel/.private/lanelet2_extension/lib/liblanelet2_extension_lib.so: 
    undefined reference to `lanelet::routing::RoutingCostTravelTime::travelTime(lanelet::traffic_rules::TrafficRules const&, lanelet::ConstLanelet const&) const'

這是由于我們之前安裝Autoware1.15時(shí)安裝了與當(dāng)前項(xiàng)目同名的ROS包(lanelets一系列),導(dǎo)致現(xiàn)在找到了對(duì)應(yīng)的老版本的ROS包,把它們卸載就行了:

sudo apt-get remove ros-melodic-lanelet2-core ros-melodic-lanelet2-validation ros-melodic-lanelet2-io ros-melodic-lanelet2-maps ros-melodic-lanelet2-projection ros-melodic-lanelet2-routing ros-melodic-lanelet2-traffic-rules

編譯成功:
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux

1.3 在ROS中使用lanelet2地圖完成routing

在你的ros workspace中,運(yùn)行本項(xiàng)目:

cd your_ros_workspace
source devel/setup.bash
roslaunch src/ad_with_lanelet2/run_map_simulator.launch

run_map_simulator.launch內(nèi)容如下,一共會(huì)啟動(dòng)4個(gè)ros node:

  • planning仿真節(jié)點(diǎn):來(lái)自Autoware的簡(jiǎn)單planning仿真
  • map loader:加載Autoware擴(kuò)展版lanelet2地圖,發(fā)送用于可視化的Rviz marker,以ros msg的形式發(fā)送map
  • mission planning模塊:來(lái)自Autoware的任務(wù)規(guī)劃模塊,在本例中主要使用了Routing路線生成
  • Rviz:?jiǎn)?dòng)Rviz并使用預(yù)先設(shè)置的配置參數(shù)

如圖,map被加載與Rviz中:
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux
點(diǎn)擊Rviz中的2D Pose Estimate在圖中設(shè)置當(dāng)前位置,仿真節(jié)點(diǎn)根據(jù)這個(gè)init pose發(fā)一個(gè)base_link 到world坐標(biāo)系的tf,設(shè)置完成后如下圖所示:
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux

接著使用Rviz中的2D Nav Goal設(shè)置routing的終點(diǎn),如圖中所示,mission planner會(huì)根據(jù)設(shè)置的目標(biāo)位姿動(dòng)態(tài)生成routing路線(圖中深綠色路線):
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux

:該樣例地圖為Tier 4公司(Autoware的主要維護(hù)者)開(kāi)源的地圖,在日本,所以是靠左行駛,routing的時(shí)候需要按照靠左行駛的規(guī)則設(shè)定起終點(diǎn)。

二、Autoware Vector Map Builder繪制高精地圖

Vector map builder需要多次練習(xí)熟練理解才能繪制出正確且美觀的地圖
Vector map builder是Autoware官方提供的一個(gè)在線lanelet2地圖繪制工具,地址為:https://tools.tier4.jp/feature/vector_map_builder_ll2/,需要注冊(cè)賬號(hào):
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux
注冊(cè)后選擇v1.13~,地圖數(shù)據(jù)格式為.osm
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux

2.1 創(chuàng)建地圖

(1)進(jìn)入后選擇右上角文件導(dǎo)入PCD點(diǎn)云地圖
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux
這里導(dǎo)入官方的點(diǎn)云數(shù)據(jù)
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux
鼠標(biāo)右鍵拖動(dòng)點(diǎn)云,左鍵旋轉(zhuǎn)點(diǎn)云,滾輪放大縮小點(diǎn)云,左上角可以切換3D視角
(2)創(chuàng)建矢量地圖
創(chuàng)建Lanelet2新地圖需要輸入MGRS(橫軸莫卡托投影UTM坐標(biāo)系網(wǎng)格),查詢地理位置對(duì)應(yīng)的MGRS網(wǎng)站:https://mgrs-mapper.com/app。如果是局部坐標(biāo)系(沒(méi)有絕對(duì)坐標(biāo)),可以填(31N,AA),即經(jīng)緯度(0,0)
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux

2.2 繪制車道

有兩種方法,一種是先繪制Linestring,再合成Lanelet,另一種方法是直接利用工具繪制Lanelet

2.2.1 Linestring合成

(1)選擇Lanelet2Map工具,開(kāi)始繪制
打開(kāi)Linestring,點(diǎn)選車道線邊緣繪制車道線,繪制完一側(cè)之后關(guān)閉Linestring完成繪制,同樣的方法繪制另一側(cè)車道線邊緣
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux
繪制完一條車道的兩條車道線之后,按住shift鍵,鼠標(biāo)選擇兩條車道線,點(diǎn)擊右上角Action中的Add Lanelet,生成Lanelet元素(生成后界面如果無(wú)法控制,按一下shift有奇效,如果不能旋轉(zhuǎn)就點(diǎn)擊左上角rotate on)
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux
選中端點(diǎn)(出現(xiàn)坐標(biāo)系,選不中試一下shift按鍵),再打開(kāi)Linestring,按照上述方法可以繪制前繼與后繼車道的Linestring,再合成前繼與后繼車道Lanelet(車道方向可以根據(jù)Next Lanelet屬性判斷),我在繪制彎道的時(shí)候比較糙,實(shí)際繪制的時(shí)候點(diǎn)可以給密集一點(diǎn),而且不能太窄,否則后面Autoware自動(dòng)駕駛時(shí)無(wú)法轉(zhuǎn)彎(Drivable Area)
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux
使用Reverse Direction功能對(duì)Lanelet方向進(jìn)行調(diào)整,Lanelet標(biāo)紅為報(bào)錯(cuò),綠色為正確,標(biāo)紅的原因是拓?fù)潢P(guān)系不正確(Next Lanelet is empty),改變方向使拓?fù)潢P(guān)系正確,會(huì)變成綠色見(jiàn)右下角:
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux
選中Lanelet在右側(cè)屬性表可以編輯屬性,比如:車道最大限速,車道轉(zhuǎn)彎方向(左轉(zhuǎn)、直行、右轉(zhuǎn)),一定要編輯,否則后面Universe無(wú)法獲得車道信息
右上角Action工具可以生成中心線,掉轉(zhuǎn)方向,聚焦,伸直和改變寬度
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux
畫(huà)完一條車道之后,可以選中然后打開(kāi)工具欄的Copy Lanelet按鈕,然后點(diǎn)擊與旁邊車道共用的邊,即可自動(dòng)生成(與當(dāng)前車道一樣)旁邊車道,生成后再手動(dòng)微調(diào)(選中端點(diǎn)拖動(dòng)可以改變形狀,坐標(biāo)軸是按照坐標(biāo)方向移動(dòng),選中方塊可以任意方向移動(dòng))
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux同樣的方法繪制后繼車道,出現(xiàn)車道鏈接點(diǎn)斷開(kāi)的情況:
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux
這時(shí)可以按住shift,選擇前后兩條車道線,點(diǎn)擊join Lanelet,使其相連,之后再調(diào)整形狀(注意要先把方向換對(duì),否則就亂了):
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux

2.2.2 Lanelet工具直接繪制

使用Lanelet工具直接繪制車道線,打開(kāi)Lanelet工具,然后鼠標(biāo)直接根據(jù)車道中心線繪制車道線,再使用Join Lanelet連接車道,但寬度不對(duì)需要再微調(diào),再用copy繪制相鄰車道:
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux填寫(xiě)屬性,上方Problem報(bào)錯(cuò),點(diǎn)開(kāi)看到車道限速超過(guò)了最大速度,將其最大速度增加就可解決
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux

2.2.3 繪制變道車道

多向變道:在有節(jié)點(diǎn)的Lanelet端(從這里可以看出,盡量不要繪制一條到底的長(zhǎng)直車道,尤其是路口一定要斷,事實(shí)上,繪制太長(zhǎng)也會(huì)導(dǎo)致規(guī)劃的時(shí)候不夠精確)繪制新的Lanelet,然后使用join Lanelet連接車道,最后微調(diào)節(jié)點(diǎn)位置即可:
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux
同向變道:需要設(shè)置Linestring可變道,選中同向車道之間的Linestring,線型選擇虛線(dashed),添加屬性lane_change,值為yes,添加屬性width,值為0.0
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux

2.3 繪制路沿

打開(kāi)Linestring,繪制路沿邊線,然后在右側(cè)屬性表的type中選擇road_boder即可:
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux

2.4 繪制停止線和交通燈

選中要繪制停止線的車道,打開(kāi)停止線工具,點(diǎn)擊停止線位置即可生成
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux
選中要繪制紅綠燈的車道,再打開(kāi)交通燈工具,然后在等紅綠燈的位置點(diǎn)擊,即可生成停車線,并在對(duì)面生成紅綠燈(注意車道方向),生成之后可以調(diào)整停車線以及紅綠燈位置(按住shift可以劃定區(qū)域多選)
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linuxAutoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux

2.5 繪制人行道

選中車道,然后打開(kāi)Abstraction下的Crosswalk,點(diǎn)擊人行道兩端自動(dòng)生成人行道,選中人行道,在右側(cè)的participants屬性下填寫(xiě)pedestrian:
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linuxAutoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux

2.6 繪制路邊??寇嚨?/h3>

選中路邊??客?寇嚨缹?duì)應(yīng)的正常車道,然后點(diǎn)擊右上角CopyLanelet(先畫(huà)一條lanestring再與以有車道邊合成也行,即必須與車道有一條公共邊),再點(diǎn)擊車道邊線,即可自動(dòng)生成并列車道,再把生成的車道的subtype屬性修改為road_shoulder,即繪制了??寇嚨溃ㄕ{(diào)整形狀可以)
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux

2.7 繪制禁停區(qū)

如下圖在某建筑門前繪制禁停區(qū),首先選中車道,然后打開(kāi)上方東的NoStoppingArea,即可繪制禁停區(qū)域,同時(shí)自動(dòng)生成一條停止線,選中角點(diǎn)調(diào)整形狀:
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux

2.8 繪制停車場(chǎng)以及停車位

選中車道,打開(kāi)上方的NoStoppingArea,繪制Area,調(diào)整大小,然后在屬性表中修改屬性為parking_lot
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux
繪制一條Linestring,然后選中在屬性表中修改type為parking_space,添加屬性width,值為3,即繪制了一個(gè)停車位,然后可以直接復(fù)制幾條
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linuxAutoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux

2.9 地圖拓?fù)潋?yàn)證(可以跳過(guò))

繪制完成之后,確定右上角Problem項(xiàng)沒(méi)有報(bào)錯(cuò),即可點(diǎn)擊File導(dǎo)出Lanelet2地圖
然后使用第二節(jié)的功能包驗(yàn)證,將導(dǎo)出的地圖復(fù)制到catkin_ws_lanelet2_mapping/src/ad_with_lanelet2/map/map_loader/data路徑下,修改文件名稱為lanelet2_map.osm
然后運(yùn)行規(guī)劃節(jié)點(diǎn):

source devel/setup.bash
roslaunch src/ad_with_lanelet2/run_map_simulator.launch

即可加載自己繪制的地圖,按照第二節(jié)的方法可以驗(yàn)證地圖,如果有問(wèn)題方便及時(shí)修改
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux
路徑規(guī)劃也沒(méi)問(wèn)題:
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux

2.10 Universe的使用

將生成的地圖(命名為lanelet2_map.osm)與點(diǎn)云地圖(命名為pointcloud_map.pcd)放在一個(gè)新建文件夾下,并創(chuàng)建一個(gè)yaml文件(map_config.yaml),填入以下內(nèi)容:

/**:
  ros__parameters:
    map_origin:
      latitude: 0.0
      longitude: 0.0
      elevation: 0.0
      roll: 0.0
      pitch: 0.0
      yaw: 0.0

Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux

運(yùn)行Autoware.universe,路徑換成你自己的:

source install/setup.bash
ros2 launch autoware_launch planning_simulator.launch.xml map_path:=${You_map_path} vehicle_model:=sample_vehicle sensor_model:=sample_sensor_kit

可以planning
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux
加了一條到停車場(chǎng)的路線(需要有經(jīng)過(guò)停車場(chǎng)的車道,才能駛?cè)胪\噲?chǎng),并準(zhǔn)備入庫(kù)),倒車入庫(kù)也是沒(méi)有問(wèn)題的,其他地圖元素的測(cè)試參考Autoware.universe部署01:Ubuntu20.04安裝Autoware.universe并與Awsim聯(lián)調(diào)
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux

三、JOSM可視化和編輯Lanelet2地圖

因?yàn)椴捎昧薕SM的地圖格式定義,Lanelet2地圖可以很方便地使用OSM的工具鏈進(jìn)行查看和編輯,下面我們使用JOSM工具對(duì)項(xiàng)目?jī)?nèi)的lanelet2_map.osm地圖進(jìn)行可視化和編輯(不建議,但是JOSM事實(shí)上功能更多,只是不容易)。JOSM是一個(gè)Java實(shí)現(xiàn)的對(duì)OSM進(jìn)行編輯的工具,因其為Java程序,所以可以跨平臺(tái)使用,官網(wǎng)下載最新版本的JOSM,本文采用的是jar包的形式運(yùn)行,jar下載鏈接:https://josm.openstreetmap.de/josm-tested.jar

3.1 配置Java環(huán)境

參照教程:https://josm.openstreetmap.de/wiki/Download#Java
編輯源文件列表/etc/apt/sources.list.d/josm.list:

sudo  /etc/apt/sources.list.d/josm.list

根據(jù)你的ubuntu版本選擇填入下列源:

# 22.04
deb [signed-by=/usr/local/share/keyrings/josm-apt.gpg] https://josm.openstreetmap.de/apt jammy universe
# 20.04
deb [signed-by=/usr/local/share/keyrings/josm-apt.gpg] https://josm.openstreetmap.de/apt focal universe
# 18.04
deb [signed-by=/usr/local/share/keyrings/josm-apt.gpg] https://josm.openstreetmap.de/apt bionic universe

下載公鑰:

# Create the directory for manually downloaded keys if it was not already created
sudo mkdir -p /usr/local/share/keyrings
# Download the key
wget -q https://josm.openstreetmap.de/josm-apt.key -O- | sudo gpg --dearmor -o /usr/local/share/keyrings/josm-apt.gpg

然后更新源:

# You may need to install ssl support for apt in advance:
sudo apt-get install apt-transport-https
# Refresh sources
sudo apt-get update

然后安裝:

# You can skip this first line if these packages were not installed before.
sudo apt-get remove josm josm-plugins

# 測(cè)試版(穩(wěn)定版)
sudo apt-get install josm
# 最新版
sudo apt-get install josm-latest
通過(guò)java --version檢查系統(tǒng)中安裝的Java,我的環(huán)境如下(我裝的版本可能有點(diǎn)低):

通過(guò)java --version檢查系統(tǒng)中安裝的Java,我的環(huán)境如下(我裝的版本可能有點(diǎn)低):
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux
下載好josm-tested.jar包后,在同目錄下使用以下命令運(yùn)行JOSM:

java -jar josm-tested.jar

Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux
報(bào)網(wǎng)絡(luò)鏈接錯(cuò)誤錯(cuò)不用管(科學(xué)上網(wǎng)之后就不會(huì)再報(bào)了),在JOSM中選擇presets->preset preferences可以改變語(yǔ)言

3.2 配置Lanelet2格式

在JOSM中添加lanelet2的地圖樣式和預(yù)設(shè)組合標(biāo)簽,在JOSM中選擇預(yù)設(shè)組合->預(yù)設(shè)首選項(xiàng)->地圖樣式->+,分別將ROS項(xiàng)目中l(wèi)anelet2_maps/josm/目錄下的lanelets.mapcss和lines.mapcss添加為地圖樣式:
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux
在添加預(yù)設(shè)組合標(biāo)簽下,添加lanelet2_maps/josm/目錄下的laneletpresets.xml文件:
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux
在JOSM中,選擇文件->打開(kāi),選擇項(xiàng)目中map/map_loader/data/目錄下的lanelet2_map.osm文件,得到如下地圖:
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux
可在JOSM中查看和編輯地圖中的各個(gè)元素,地圖編輯教程可以參考https://learnosm.org/en/josm/josm-tools/??梢栽诓藛螜诘挠跋裰屑虞d(全球)遙感圖像作為底圖繪制(國(guó)內(nèi)的影像分辨率可能比較低,并且沒(méi)有測(cè)繪資質(zhì)進(jìn)行高精地圖的繪制可能存在較高的技術(shù)壁壘和法規(guī)風(fēng)險(xiǎn)):
Autoware.universe部署02:高精Lanelet2地圖的繪制,Autoware.universe部署與調(diào)試,自動(dòng)駕駛,Autoware,SLAM,ubuntu,linux文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-676488.html

到了這里,關(guān)于Autoware.universe部署02:高精Lanelet2地圖的繪制的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Ubuntu 20.04 安裝 Autoware.universe自動(dòng)駕駛仿真工具

    Ubuntu 20.04 安裝 Autoware.universe自動(dòng)駕駛仿真工具

    ? ? ? ? 在入門自動(dòng)駕駛領(lǐng)域的時(shí)候,筆者主要使用的工具是QT+ROS+Gazebo,在該行業(yè)工作一段時(shí)間之后,發(fā)現(xiàn)各家都有自己的仿真平臺(tái),只能在公司平臺(tái)使用,但是如果個(gè)人要做城區(qū)的仿真,前面所說(shuō)的工具鏈(QT+ROS+Gazebo)顯然是不夠便捷的。目前主要調(diào)研了兩個(gè)開(kāi)源的平臺(tái)

    2024年01月15日
    瀏覽(33)
  • 【安裝教程】ubuntu20.04/22.04從零開(kāi)始搭建autoware.universe

    目錄 1. 基本配置情況 2. ROS2 Humble和git安裝? 2.1 ros2 humble安裝(對(duì)應(yīng)ubuntu22.04,僅源碼安裝需要) 2.2 git安裝? 3. 克隆autoware代碼 ?4.自動(dòng)安裝依賴項(xiàng)(推薦) 5. 手動(dòng)安裝依賴項(xiàng)(在一鍵配置失效下使用,這里僅列出docker安裝中需要的依賴) ?5.1 cuda安裝 ?5.2 docker engine安裝 5.3?

    2024年01月18日
    瀏覽(228)
  • 在Ubuntu20.04下安裝Autoware.universe和Carla并進(jìn)行聯(lián)合仿真

    在Ubuntu20.04下安裝Autoware.universe和Carla并進(jìn)行聯(lián)合仿真

    1、安裝 Carla 0.9.13 1、進(jìn)入U(xiǎn)E網(wǎng)頁(yè),按照順序完成以下6步。 https://www.unrealengine.com/en-US/ue-on-github 2、進(jìn)入EpicGame的Github https://github.com/EpicGames 點(diǎn)擊UnrealEngine 2、直接clone出來(lái)是最新版,需要設(shè)置classic token,可以參考: https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/

    2023年04月15日
    瀏覽(26)
  • 【基于Ubuntu20.04的Autoware.universe安裝過(guò)程】方案二:雙系統(tǒng) | 詳細(xì)記錄 | 全過(guò)程圖文 by.Akaxi

    【基于Ubuntu20.04的Autoware.universe安裝過(guò)程】方案二:雙系統(tǒng) | 詳細(xì)記錄 | 全過(guò)程圖文 by.Akaxi

    目錄 一、Autoware.universe背景 Part-1:安裝雙系統(tǒng)教程 二、查看Windows引導(dǎo)方式 三、制作安裝盤(pán) 四、設(shè)置電腦配置 1.關(guān)閉bitlocker 2.壓縮硬盤(pán)分區(qū) 3.關(guān)閉Secure Boot 4.關(guān)閉intel RST 5.BIOS設(shè)置U盤(pán)引導(dǎo) 五、安裝Ubuntu20.04 1.ventoy引導(dǎo) 2.安裝配置 3.安裝類型 4.完成安裝 Part-2:在Ubuntu20.04上安裝

    2024年04月11日
    瀏覽(29)
  • 【基于Ubuntu20.04的Autoware.universe安裝過(guò)程】方案三:Docker | 詳細(xì)記錄 | 全過(guò)程圖文 by.Akaxi

    【基于Ubuntu20.04的Autoware.universe安裝過(guò)程】方案三:Docker | 詳細(xì)記錄 | 全過(guò)程圖文 by.Akaxi

    目錄 一、Autoware.universe背景 二、安裝說(shuō)明 三、安裝git 四、克隆autoware 五、安裝cuda 六、安裝Docker軟件 七、安裝Nvidia Container Toolkit 八、安裝Rocker 九、拷貝Autoware的Docker鏡像 十、創(chuàng)建autoware_map文件夾 十一、啟動(dòng)docker 十二、源碼拷貝 十三、安裝依賴 十四、編譯Autoware.universe 十

    2024年04月10日
    瀏覽(181)
  • 在線高精地圖生成算法調(diào)研

    在線高精地圖生成算法調(diào)研

    ?整體的網(wǎng)絡(luò)架構(gòu)如圖所示,最終的Decoder輸出三個(gè)分支,一個(gè)語(yǔ)義分割,一個(gè)embedding嵌入分支,一個(gè)方向預(yù)測(cè)。然后通過(guò)后處理將這些信息處理成向量化的道路表示。方向預(yù)測(cè)把360度分為N份,然后GT的話是有兩個(gè)方向?yàn)?,其余為0,我們得到兩個(gè)方向,分別乘以步長(zhǎng)得到下一

    2024年02月14日
    瀏覽(18)
  • 自動(dòng)駕駛之高精地圖介紹

    自動(dòng)駕駛之高精地圖介紹

    高精地圖(High Definitation Map,HD MAP),和普通導(dǎo)航電子地圖的主要區(qū)別是精度更高、信息更豐富。精度更高主要體現(xiàn)在高精地圖的絕對(duì)坐標(biāo)精度更高(指的是地圖上某個(gè)目標(biāo)和外部的真實(shí)世界事物所在位置之間的精度),可以精確到厘米級(jí)別;信息更豐富主要體現(xiàn)在高精地圖不僅包

    2024年02月09日
    瀏覽(22)
  • 003:高精地圖數(shù)據(jù)采集

    摘要: 高精度地圖數(shù)據(jù)采集涉及多個(gè)環(huán)節(jié)和技術(shù),需要嚴(yán)謹(jǐn)?shù)囊?guī)劃和執(zhí)行,以確保采集到的地理信息質(zhì)量可靠、精準(zhǔn),并能夠支持各種智能交通和導(dǎo)航應(yīng)用的需求。 高精地圖數(shù)據(jù)采集需要高精度的設(shè)備,如Lidar(激光雷達(dá))、高清相機(jī)、慣性測(cè)量單元(IMU)、GNSS(全球?qū)Ш?/p>

    2024年02月22日
    瀏覽(17)
  • WxGL應(yīng)用實(shí)例:繪制高精度的3D太陽(yáng)系模型

    WxGL應(yīng)用實(shí)例:繪制高精度的3D太陽(yáng)系模型

    天何所沓?十二焉分?日月安屬?列星安陳?—— 屈原 遠(yuǎn)古時(shí)期的人類就對(duì)神秘幽邃的星空充滿了好奇與敬畏。仰望星空,宇宙浩瀚。比宇宙更壯闊的,是人類對(duì)宇宙的不懈追問(wèn)和沉淀在基因中的探索精神。 本文嘗試用WxGL來(lái)回答“日月安屬、列星安陳”這個(gè)古老的問(wèn)題。太

    2023年04月21日
    瀏覽(94)
  • 【Python】pyecharts 模塊 ⑤ ( 地圖繪制 | pyecharts 地圖繪制步驟 | 為地圖進(jìn)行全局配置 )

    【Python】pyecharts 模塊 ⑤ ( 地圖繪制 | pyecharts 地圖繪制步驟 | 為地圖進(jìn)行全局配置 )

    pyecharts 畫(huà)廊網(wǎng)站 : https://gallery.pyecharts.org/#/ 在該網(wǎng)站可查看官方示例 首先 , 導(dǎo)入 pyecharts 中的 Map 類 , 這是 地圖繪制 的核心類 , 該類定義在 pyecharts.charts 中 ; 然后 , 創(chuàng)建 Map 類實(shí)例對(duì)象 , 該對(duì)象對(duì)應(yīng)著一張地圖 ; 再后 , 準(zhǔn)備要繪制的數(shù)據(jù) , 數(shù)據(jù)類型是列表類型 , 列表元素是

    2024年02月16日
    瀏覽(29)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包