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

Apollo map模塊地圖、地圖格式以及地圖元素介紹

這篇具有很好參考價(jià)值的文章主要介紹了Apollo map模塊地圖、地圖格式以及地圖元素介紹。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一、map 生成流程

百度高精地圖數(shù)據(jù)格式采用(XML)文件格式的數(shù)據(jù)組織方式,根據(jù)(XML)文件生成base_map.bin文件,進(jìn)而生成routing_map和sin_map。工具的代碼在modules/map/tools中,調(diào)用bazel-bin目錄下的可執(zhí)行文件。
? base_map是最完整的地圖,包含所有道路和車(chē)道幾何形狀和標(biāo)識(shí)。其他版本的地圖均基于base_map生成。
? routing_map包含base_map中車(chē)道的拓?fù)浣Y(jié)構(gòu),可以有以下命令生成:
dir_name=modules/map/data/demo # example map directory./scripts/generate_routing_topo_graph.sh --map_dir(src dir) ${dir_name}(des dir)
//該腳本是map模塊中的tool工具的使用。在babel-bin下找到他的可執(zhí)行文件

--------------------------------------應(yīng)用舉例

bash scripts/generate_routing_topo_graph.sh --map_dir=/apollo/modules/map/data/apollo_map /apollo/modules/map/data/apollo_map 

? sim_map是一個(gè)適用于Dreamview視覺(jué)可視化,基于base_map的輕量版本。減少了數(shù)據(jù)密度,以獲得更好的運(yùn)行時(shí)性能。可以由以下命令生成:

dir_name=modules/map/data/demo # example map directory
bazel-bin/modules/map/tools/sim_map_generator --map_dir=${dir_name} --output_dir=${dir_name}

--------------------------------------應(yīng)用舉例

bazel-bin/modules/map/tools/sim_map_generator 
--map_dir=/apollo/modules/map/data/apollo_map 
--output_dir=/apollo/modules/map/data/apollo_map

map tool工具使用
modules/map/tools/proto_map_generator.cc由XML文件生成.bin和.txt文件。

bazel-bin/modules/map/tools/proto_map_generator 
--map_dir=/apollo/modules/map/data/apollo_map_test  
--output_dir=/apollo/modules/map/data/apollo_map_test

modules/map/tools/map_tool.cc由生成的bin或者txt文件進(jìn)行地圖偏移,生成新的bin和txt文件。

 bazel-bin/modules/map/tools/map_tool --map_dir=/apollo/modules/map/data/apollo_map_test  --output_dir=/apollo/modules/map/data/apollo_map_test/offset

modules/map/tools/sim_map_generator.cc用于生成由dreamview前端顯示的下采樣地圖的地圖工具,也就是生成sim_map
modules/map/tools/quaternion_euler.cc四元數(shù)轉(zhuǎn)歐拉角
modules/map/tools/map_xysl.cc車(chē)道點(diǎn)之間的相互轉(zhuǎn)換,xy->sl 、sl->xy 或者xy->lane 等
modules/map/tools/refresh_default_end_way_point.cc假設(shè)在我們的終點(diǎn)的絕對(duì)值(x,y,z)仍然正確的情況下改變了通道信息。 然后我們可以在新地圖上找到最近的點(diǎn)作為新的終點(diǎn)。
modules/map/tools/map_datachecker該文件還不知道能干啥,編譯的時(shí)候缺少一個(gè)grpc的文件,grpc是一個(gè)谷歌開(kāi)源庫(kù),是一種(Remote Procedure Call Protocol),需要把這個(gè)庫(kù)安裝一下才能使用.
安裝方法:grpc c++ helloworld 例子 實(shí)例解析
------構(gòu)建服務(wù)器

bazel build //modules/map/tools/map_datachecker/server:map_datachecker_server

------構(gòu)建客戶(hù)端

bazel build //modules/map/tools/map_datachecker/client:map_datachecker_client

二、map 介紹

Apollo地圖格式對(duì) OpenDRIVE 都有哪些改動(dòng),改動(dòng)的原因或初衷是什么,改動(dòng)有什么優(yōu)勢(shì)?
OpenDRIVE本身設(shè)計(jì)面向的應(yīng)用是仿真器,自動(dòng)駕駛需要更多的信息OpenDRIVE并沒(méi)有完全提供,所以我們對(duì)OpenDRIVE的標(biāo)準(zhǔn)做了部分改動(dòng)和擴(kuò)展。
主要改動(dòng)和擴(kuò)展了以下幾個(gè)方面:一是地圖元素形狀的表述方式。以車(chē)道邊界為例,標(biāo)準(zhǔn)OpenDRIVE采用基于Reference Line的曲線方程和偏移的方式來(lái)表達(dá)邊界形狀,而Apollo OpenDrive采用絕對(duì)坐標(biāo)序列的方式描述邊界形狀;**二是元素類(lèi)型的擴(kuò)展。**例如新增了對(duì)于禁停區(qū)、人行橫道、減速帶等元素的獨(dú)立描述;**三是擴(kuò)展了對(duì)于元素之間相互關(guān)系的描述。**比如新增了junction與junction內(nèi)元素的關(guān)聯(lián)關(guān)系等;除此之外還有一些配合無(wú)人駕駛算法的擴(kuò)展,比如增加了車(chē)道中心線到真實(shí)道路邊界的距離、停止線與紅綠燈的關(guān)聯(lián)關(guān)系等。改動(dòng)和擴(kuò)展后的規(guī)格在實(shí)現(xiàn)上更加的簡(jiǎn)單,同時(shí)也兼顧了無(wú)人駕駛的應(yīng)用需求
Apollo地圖規(guī)范
格式
百度高精地圖數(shù)據(jù)格式采用(XML)文件格式的數(shù)據(jù)組織方式,是基于國(guó)際通用的OpenDrive規(guī)范,并根據(jù)百度自動(dòng)駕駛業(yè)務(wù)需求拓展修改而成。
Apollo高精地圖文件的整體結(jié)構(gòu)如下所示:

坐標(biāo)

百度高精地圖坐標(biāo)采用WGS84經(jīng)緯度坐標(biāo)表示。WGS84為一種大地坐標(biāo)系,也是目前廣泛使用的GPS全球衛(wèi)星定位系統(tǒng)使用的坐標(biāo)系。

Status CoordinateConvertTool::CoordiateConvert(const double longitude,
                                               const double latitude,
                                               const double height_ellipsoid,
                                               double* utm_x, double* utm_y,
                                               double* utm_z) {
  CHECK_NOTNULL(utm_x);
  CHECK_NOTNULL(utm_y);
  CHECK_NOTNULL(utm_z);
  if (!pj_from_ || !pj_to_) {
    std::string err_msg = "no transform param";
    return Status(apollo::common::ErrorCode::HDMAP_DATA_ERROR, err_msg);
  }

  double gps_longitude = longitude;
  double gps_latitude = latitude;
  double gps_alt = height_ellipsoid;

  if (pj_is_latlong(pj_from_)) {
    gps_longitude *= DEG_TO_RAD;
    gps_latitude *= DEG_TO_RAD;
    gps_alt = height_ellipsoid;
  }

  if (0 != pj_transform(pj_from_, pj_to_, 1, 1, &gps_longitude, &gps_latitude,
                        &gps_alt)) {
    std::string err_msg = "fail to transform coordinate";
    return Status(apollo::common::ErrorCode::HDMAP_DATA_ERROR, err_msg);
  }

  if (pj_is_latlong(pj_to_)) {
    gps_longitude *= RAD_TO_DEG;
    gps_latitude *= RAD_TO_DEG;
  }

  *utm_x = gps_longitude;
  *utm_y = gps_latitude;
  *utm_z = gps_alt;

  return Status::OK();
}

車(chē)道

道路的reference line 存儲(chǔ)在ID為0的車(chē)道中,其他車(chē)道只存儲(chǔ)當(dāng)前車(chē)道的一個(gè)邊界。例如,reference line右側(cè)的車(chē)道只存儲(chǔ)車(chē)道的右側(cè)邊界。

車(chē)道 ID 的命名規(guī)則:
? lane section 內(nèi)唯一
? 數(shù)值連續(xù)的
? reference line 所在 lane 的 ID 為 0
? reference line 左側(cè) lane 的 ID 向左側(cè)依次遞增 (正t軸方向)
? reference line 右側(cè) lane 的 ID 向右側(cè)依次遞減(負(fù) t 軸方向)
? reference line 必須定義在 center 節(jié)點(diǎn)內(nèi)
車(chē)道總數(shù)目沒(méi)有限制。Reference line 自身必須為 Lane 0。
路口區(qū)域
基本的原理比較簡(jiǎn)單,路口區(qū)域用Junction結(jié)構(gòu)表達(dá)。在Junction內(nèi),incoming Road通過(guò)Connecting Roads與out-going道路相連。下圖展示了一個(gè)比較復(fù)雜的路口:

高精度地圖在Apollo的存在形式
在Apollo發(fā)布的Docker鏡像中,也包含了地圖的部分。Apollo在啟動(dòng)時(shí),你可以按照如下方式為啟動(dòng)的鏡像掛載地圖:
bash docker/scripts/dev_start.sh --map sunnyvale_big_loop
如果不指定掛載的地圖,默認(rèn)掛載以下地圖:
? map_volume-sunnyvale_big_loop-latest
? map_volume-sunnyvale_loop-latest
[外鏈圖片轉(zhuǎn)存失敗(img-ne26syyW-1568785146609)(。/images/map_sunnyvalue.jpg)]
一段道路的相關(guān)自動(dòng)駕駛地圖可以放置在如下結(jié)構(gòu)的目錄中:

sunnyvale_big_loop
├── background.jpg
├── background.png
├── base_map.bin
├── base_map.lb1
├── base_map.txt
├── base_map.xml               # Defined by FLAGS_base_map_filename
├── default_end_way_point.txt  # Defined by FLAGS_end_way_point_filename
├── grid_map
├── local_map
├── map.json
├── routing_map.bin            # Defined by FLAGS_routing_map_filename
├── routing_map.txt
├── sim_map.bin                # Defined by FLAGS_sim_map_filename
├── sim_map.txt
└── speed_control.pb.txt

可以將可用地圖文件名指定為備選列表:
–base_map_filename=“base.xml|base.bin|base.txt”
然后Apollo會(huì)找到第一個(gè)可用的文件加載。一般來(lái)說(shuō),按照以下擴(kuò)展順序加載:
x.xml # An OpenDrive formatted map.
x.bin # A binary pb map.
x.txt # A text pb map.
base_map, routing_map和sim_map之間的差異
? base_map是最完整的地圖,包含所有道路和車(chē)道幾何形狀和標(biāo)識(shí)。其他版本的地圖均基于base_map生成。
? routing_map包含base_map中車(chē)道的拓?fù)浣Y(jié)構(gòu),可以有以下命令生成:
? dir_name=modules/map/data/demo # example map directory./scripts/generate_routing_topo_graph.sh --map_dir ${dir_name}
? //該腳本是map模塊中的tool工具的使用。在babel-bin下找到他的可執(zhí)行文件
?
? --------------------------------------應(yīng)用舉例
?

bash scripts/generate_routing_topo_graph.sh --map_dir=/apollo/modules/map/data/apollo_map /apollo/modules/map/data/apollo_map 

?
? sim_map是一個(gè)適用于Dreamview視覺(jué)可視化,基于base_map的輕量版本。減少了數(shù)據(jù)密度,以獲得更好的運(yùn)行時(shí)性能??梢杂梢韵旅钌桑?br> ?

dir_name=modules/map/data/demo # example map directorybazel-bin/modules/map/tools/sim_map_generator --map_dir=${dir_name} --output_dir=${dir_name}

?
? --------------------------------------應(yīng)用舉例
? bazel-bin/modules/map/tools/sim_map_generator
? --map_dir=/apollo/modules/map/data/apollo_map
? --output_dir=/apollo/modules/map/data/apollo_map
高精地圖在Apollo中的流轉(zhuǎn)形式
xml格式的地圖見(jiàn)modules/map/data/sunnyvale_big_loop/base_map.xml文件。那接下來(lái)我們就看下從XML解析到proto的過(guò)程。
XML解析為Proto
主要是由方法opendrive_adapter.cc中的以下方法解析并讀?。?/p>

modules/map/hd_map/opendrive_adapter.cc
`OpendriveAdapter::LoadData(const std::string& filename,apollo::hdmap::Map* pb_map)`

解析的過(guò)程主要分為以下四個(gè)過(guò)程:
1、根目錄
2、header
3、道路
4、路口
等節(jié)點(diǎn)的獲取,具體的方法可以參考。
系統(tǒng)內(nèi)格式
不管原始數(shù)據(jù)格式為什么,在Apollo內(nèi)部的數(shù)據(jù)地圖的格式為proto。以下為Apollo高精地圖的對(duì)象定義:
modules/map/proto/map.proto
// This message defines how we project the ellipsoidal Earth surface to a plane.message Projection { // PROJ.4 setting: // "+proj=tmerc +lat_0={origin.lat} +lon_0={origin.lon} +k={scale_factor} +ellps=WGS84 +no_defs" optional string proj = 1;}message Header { optional bytes version = 1; optional bytes date = 2; optional Projection projection = 3;//坐標(biāo)系轉(zhuǎn)換 optional bytes district = 4; optional bytes generation = 5; optional bytes rev_major = 6; optional bytes rev_minor = 7; optional double left = 8; optional double top = 9; optional double right = 10; optional double bottom = 11; optional bytes vendor = 12;}message Map { optional Header header = 1; repeated Crosswalk crosswalk = 2;// 人行道 repeated Junction junction = 3;//路口區(qū)域 repeated Lane lane = 4;//車(chē)道 repeated StopSign stop_sign = 5;//停止線 repeated Signal signal = 6;//信號(hào)燈 repeated YieldSign yield = 7;//讓路標(biāo)志 repeated Overlap overlap = 8;//重疊區(qū)域 repeated ClearArea clear_area = 9;//禁停區(qū)域 repeated SpeedBump speed_bump = 10;//減速帶 repeated Road road = 11;//道路}

其中重點(diǎn)介紹車(chē)道與路口部分。

如前文所述,Apollo高精度地圖OpenDrive采用絕對(duì)坐標(biāo)序列的方式描述邊界形狀,依次為基礎(chǔ)生成直線或類(lèi)似直線的對(duì)象:
modules/map/proto/map_geometry.proto
// Polygon, not necessary convex.message Polygon { repeated apollo.common.PointENU point = 1;}// Straight line segment.message LineSegment { repeated apollo.common.PointENU point = 1;}// Generalization of a line.message CurveSegment { oneof curve_type { LineSegment line_segment = 1; } optional double s = 6; // start position (s-coordinate) optional apollo.common.PointENU start_position = 7; optional double heading = 8; // start orientation optional double length = 9;}// An object similar to a line but that need not be straight.message Curve { repeated CurveSegment segment = 1;}

道路Road

modules/map/proto/mao_road.proto
message BoundaryEdge { optional Curve curve = 1; enum Type { UNKNOWN = 0; NORMAL = 1; LEFT_BOUNDARY = 2; RIGHT_BOUNDARY = 3; }; optional Type type = 2;}message BoundaryPolygon { repeated BoundaryEdge edge = 1;}// boundary with holesmessage RoadBoundary { optional BoundaryPolygon outer_polygon = 1; // if boundary without hole, hole is null repeated BoundaryPolygon hole = 2;}message RoadROIBoundary { optional Id id = 1; repeated RoadBoundary road_boundaries = 2;}// road section defines a road cross-section, At least one section must be defined in order to// use a road, If multiple road sections are defined, they must be listed in order along the roadmessage RoadSection { optional Id id = 1; // lanes contained in this section repeated Id lane_id = 2; // boundary of section optional RoadBoundary boundary = 3;}// The road is a collection of traffic elements, such as lanes, road boundary etc.// It provides general information about the road.message Road { optional Id id = 1; repeated RoadSection section = 2; // if lane road not in the junction, junction id is null. optional Id junction_id = 3;}

車(chē)道Lane

modules/map/proto/mao_lane.proto
message LaneBoundaryType { enum Type { UNKNOWN = 0; DOTTED_YELLOW = 1; DOTTED_WHITE = 2; SOLID_YELLOW = 3; SOLID_WHITE = 4; DOUBLE_YELLOW = 5; CURB = 6; }; // Offset relative to the starting point of boundary optional double s = 1; // support multiple types repeated Type types = 2;}message LaneBoundary { optional Curve curve = 1; optional double length = 2; // indicate whether the lane boundary exists in real world optional bool virtual = 3; // in ascending order of s repeated LaneBoundaryType boundary_type = 4;}// Association between central point to closest boundary.message LaneSampleAssociation { optional double s = 1; optional double width = 2;}// A lane is part of a roadway, that is designated for use by a single line of vehicles.// Most public roads (include highways) have more than two lanes.message Lane { optional Id id = 1; // Central lane as reference trajectory, not necessary to be the geometry central. optional Curve central_curve = 2; // Lane boundary curve. optional LaneBoundary left_boundary = 3; optional LaneBoundary right_boundary = 4; // in meters. optional double length = 5; // Speed limit of the lane, in meters per second. optional double speed_limit = 6; repeated Id overlap_id = 7; // All lanes can be driving into (or from). repeated Id predecessor_id = 8; repeated Id successor_id = 9; // Neighbor lanes on the same direction. repeated Id left_neighbor_forward_lane_id = 10; repeated Id right_neighbor_forward_lane_id = 11; enum LaneType { NONE = 1; CITY_DRIVING = 2; BIKING = 3; SIDEWALK = 4; PARKING = 5; }; optional LaneType type = 12; enum LaneTurn { NO_TURN = 1; LEFT_TURN = 2; RIGHT_TURN = 3; U_TURN = 4; }; optional LaneTurn turn = 13; repeated Id left_neighbor_reverse_lane_id = 14; repeated Id right_neighbor_reverse_lane_id = 15; optional Id junction_id = 16; // Association between central point to closest boundary. repeated LaneSampleAssociation left_sample = 17; repeated LaneSampleAssociation right_sample = 18; enum LaneDirection { FORWARD = 1; BACKWARD = 2; BIDIRECTION = 3; } optional LaneDirection direction = 19; // Association between central point to closest road boundary. repeated LaneSampleAssociation left_road_sample = 20; repeated LaneSampleAssociation right_road_sample = 21;}

路口Junction

對(duì)于路口區(qū)域的描述
modules/map/proto/map_junction.proto
// An junction is the junction at-grade of two or more roads crossing.message Junction { optional Id id = 1; optional Polygon polygon = 2; repeated Id overlap_id = 3;}
Proto格式地圖的使用
這個(gè)時(shí)候的的地圖格式,可以為Apollo中的多個(gè)模塊,或者統(tǒng)一的方法所使用。

獲取高精度地圖元素

對(duì)地圖的操作方法
有了原始從xml格式到protobuf的數(shù)據(jù)之后,就可以訪問(wèn)這些高精地圖的元素,Apollo高精地圖提供如下的方法獲取元素:
提供高精地圖元素獲取的方法實(shí)現(xiàn)類(lèi):
apollo::hdmap::HDMapImpl,詳見(jiàn)apollo::hdmap::HDMapImpl Class Reference
LoadMapFromFile (const std::string &map_filename) 從本地文件加載地圖

GetLaneById (const Id &id) const
GetJunctionById (const Id &id) const
GetSignalById (const Id &id) const
GetCrosswalkById (const Id &id) const
GetStopSignById (const Id &id) const
GetYieldSignById (const Id &id) const
GetClearAreaById (const Id &id) const
GetSpeedBumpById (const Id &id) const
GetOverlapById (const Id &id) const
GetRoadById (const Id &id) const

// 在確定范圍獲取所有車(chē)道
GetLanes (const apollo::common::PointENU &point, double distance, std::vector< LaneInfoConstPtr > *lanes) const
// 在確定范圍獲取所有路口區(qū)域
GetJunctions (const apollo::common::PointENU &point, double distance, std::vector< JunctionInfoConstPtr > *junctions) const
// 在確定范圍內(nèi)獲取所有人行道
GetCrosswalks (const apollo::common::PointENU &point, double distance, std::vector< CrosswalkInfoConstPtr > *crosswalks) const
// 獲取確定范圍的所有信號(hào)燈
GetSignals (const apollo::common::PointENU &point, double distance, std::vector< SignalInfoConstPtr > *signals) const
// 獲取確定范圍內(nèi)的所有停止標(biāo)識(shí)
GetStopSigns (const apollo::common::PointENU &point, double distance, std::vector< StopSignInfoConstPtr > *stop_signs) const
// 獲取確定范圍內(nèi)的所有避讓標(biāo)識(shí)
GetYieldSigns (const apollo::common::PointENU &point, double distance, std::vector< YieldSignInfoConstPtr > *yield_signs) const
// 獲取確定范圍內(nèi)的所有禁止停車(chē)標(biāo)識(shí)
GetClearAreas (const apollo::common::PointENU &point, double distance, std::vector< ClearAreaInfoConstPtr > *clear_areas) const
// 獲取確定范圍內(nèi)的所有減速帶
GetSpeedBumps (const apollo::common::PointENU &point, double distance, std::vector< SpeedBumpInfoConstPtr > *speed_bumps) const
// 獲取確定范圍內(nèi)的所有道路
GetRoads (const apollo::common::PointENU &point, double distance, std::vector< RoadInfoConstPtr > *roads) const
// 獲取從目標(biāo)點(diǎn)的最近車(chē)道
GetNearestLane (const apollo::common::PointENU &point, LaneInfoConstPtr *nearest_lane, double *nearest_s, double *nearest_l) const
// 判斷車(chē)輛姿態(tài),獲取在一定范圍內(nèi)最近的車(chē)道
GetNearestLaneWithHeading (const apollo::common::PointENU &point, const double distance, const double central_heading, const double max_heading_difference, LaneInfoConstPtr *nearest_lane, double *nearest_s, double *nearest_l) const
// 判斷車(chē)輛姿態(tài),獲取所有車(chē)道
GetLanesWithHeading (const apollo::common::PointENU &point, const double distance, const double central_heading, const double max_heading_difference, std::vector< LaneInfoConstPtr > *lanes) const

// 獲取確定范圍內(nèi)的所有道路和路口邊界
GetRoadBoundaries (const apollo::common::PointENU &point, double radius, std::vector< RoadROIBoundaryPtr > *road_boundaries, std::vector< JunctionBoundaryPtr > *junctions) const
// 如果有兩個(gè)與一條停止線相關(guān)的信號(hào),則在車(chē)道上的某個(gè)范圍內(nèi)前進(jìn)最近的信號(hào),返回兩個(gè)信號(hào)。
GetForwardNearestSignalsOnLane (const apollo::common::PointENU &point, const double distance, std::vector< SignalInfoConstPtr > *signals) const
獲取元素實(shí)例
modules/planning/reference_line/reference_line_provider.cc
bool ReferenceLineProvider::GetReferenceLinesFromRelativeMap(
const relative_map::MapMsg &relative_map,
std::list *reference_line,
std::listhdmap::RouteSegments *segments) {
if (relative_map.navigation_path_size() <= 0) {
return false;
}
auto *hdmap = HDMapUtil::BaseMapPtr();
for (const auto path_pair : relative_map.navigation_path()) {
const auto &lane_id = path_pair.first;
const auto &path_points = path_pair.second.path().path_point();
// 從高精地圖中獲取對(duì)應(yīng)車(chē)道
auto lane_ptr = hdmap->GetLaneById(hdmap::MakeMapId(lane_id));
RouteSegments segment;
segment.emplace_back(lane_ptr, 0.0, lane_ptr->total_length());
segment.SetCanExit(true);
segment.SetId(lane_id);
segment.SetNextAction(routing::FORWARD);
segment.SetIsOnSegment(true);
segment.SetStopForDestination(false);
segment.SetPreviousAction(routing::FORWARD);
segments->emplace_back(segment);
std::vector ref_points;
for (const auto &path_point : path_points) {
ref_points.emplace_back(
MapPathPoint{Vec2d{path_point.x(), path_point.y()},
path_point.theta(),
LaneWaypoint(lane_ptr, path_point.s())},
path_point.kappa(), path_point.dkappa(), 0.0, 0.0);
}
reference_line->emplace_back(ref_points.begin(), ref_points.end());
}
return true;
}
使用其他地圖

  1. 更改全局 flagfile: modules/common/data/global_flagfile.txt 這是所有模塊的基本flag文件,保持了整體系統(tǒng)的統(tǒng)一。
  2. 作為flag標(biāo)記傳遞,這樣只影響單個(gè)進(jìn)程:
    –map_dir=/path/to/your/map
  3. 覆蓋模塊所屬的flag文件,生成位置:modules/**/conf/ * .conf明顯地,這個(gè)文件也只影響單個(gè)模塊:
    –flagfile=modules/common/data/global_flagfile.txt

–map_dir=/path/to/your/map
DreamView調(diào)用map流程
前端
Apollo map模塊地圖、地圖格式以及地圖元素介紹

后端
Apollo map模塊地圖、地圖格式以及地圖元素介紹

Apollo map模塊地圖、地圖格式以及地圖元素介紹
Apollo map模塊地圖、地圖格式以及地圖元素介紹文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-479439.html

到了這里,關(guān)于Apollo map模塊地圖、地圖格式以及地圖元素介紹的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(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)文章

  • uni-app開(kāi)發(fā)小程序中遇到的map地圖的點(diǎn)聚合以及polygon劃分區(qū)域問(wèn)題

    uni-app開(kāi)發(fā)小程序中遇到的map地圖的點(diǎn)聚合以及polygon劃分區(qū)域問(wèn)題

    寫(xiě)一篇文章來(lái)記錄以下我在開(kāi)發(fā)小程序地圖過(guò)程中遇到的兩個(gè)小坑吧,一個(gè)是點(diǎn)聚合,用的是joinCluster這個(gè)指令,另一個(gè)是polygon在地圖上劃分多邊形的問(wèn)題: 1.首先說(shuō)一下點(diǎn)聚合問(wèn)題,由于之前沒(méi)有做過(guò)小程序地圖問(wèn)題,所以瀏覽了很多資料,最終發(fā)現(xiàn)看的多了反而雜亂,而

    2024年02月11日
    瀏覽(89)
  • Visual Studio(2022)生成鏈接過(guò)程的.map映射文件以及.map映射文件的內(nèi)容說(shuō)明

    Visual Studio(2022)生成鏈接過(guò)程的.map映射文件以及.map映射文件的內(nèi)容說(shuō)明

    /MAP(生成映射文件) | Microsoft Learn ? ? ? ? 1. 右鍵項(xiàng)目屬性, 連接器 - 常規(guī) - 啟用增量鏈接,設(shè)置為否。如下圖: ????????2. 連接器 - 調(diào)試 ? ? ? ? ? ? ? ? 生成調(diào)試信息? 設(shè)置為? 生成調(diào)試信息 (/DEBUG) ? ? ? ? ? ? ? ? 生成程序數(shù)據(jù)庫(kù)文件? 設(shè)置為 指定路徑文件名,

    2024年02月10日
    瀏覽(45)
  • Ansible命令格式和常用模塊介紹

    Ansible命令格式和常用模塊介紹

    ansible [群組名] -m [模塊名] -a [參數(shù)] command模塊為默認(rèn)模塊,用于遠(yuǎn)程執(zhí)行命令(命令模塊) 使用command模塊在遠(yuǎn)程主機(jī)中執(zhí)行命令時(shí),不會(huì)經(jīng)過(guò)遠(yuǎn)程主機(jī)的shell處理,在使用command模塊時(shí),如果需要執(zhí)行命令中的含\\\"\\\",\\\"\\\",\\\"|\\\",\\\"\\\"等特殊符號(hào)時(shí),這些符號(hào)功能會(huì)失效 常用參數(shù): command模塊

    2024年01月19日
    瀏覽(44)
  • echarts geo3D結(jié)合map3D 生成可以點(diǎn)擊獲取省份信息跳轉(zhuǎn)到相應(yīng)省份 且地圖顯示省份名稱(chēng)

    echarts geo3D結(jié)合map3D 生成可以點(diǎn)擊獲取省份信息跳轉(zhuǎn)到相應(yīng)省份 且地圖顯示省份名稱(chēng)

    先講下需求: 1.地圖上顯示各個(gè)省份的名稱(chēng) 2.對(duì)不同省份進(jìn)行區(qū)分(項(xiàng)目涉及到省份排名之類(lèi)的); 3. 點(diǎn)擊進(jìn)入不同省份 展示各個(gè)省份的市區(qū)信息; 4. 在省份地圖上添加marker ; 1.中國(guó)地圖使用geo3d 和scatter3D做文字圖層,用map3d實(shí)現(xiàn)點(diǎn)擊可以獲取省份信息,如果單獨(dú)使用geo

    2024年02月16日
    瀏覽(44)
  • int[]數(shù)組轉(zhuǎn)Integer[]、List、Map「結(jié)合leetcode:第414題 第三大的數(shù)、第169題 多數(shù)元素 介紹」

    int[]數(shù)組轉(zhuǎn)Integer[]、List、Map「結(jié)合leetcode:第414題 第三大的數(shù)、第169題 多數(shù)元素 介紹」

    輸出: 眾所周知,將普通數(shù)組轉(zhuǎn)為L(zhǎng)ist集合,可以通過(guò)JDK提供的諸多方法來(lái)減輕我們的編碼負(fù)擔(dān),所以接下來(lái)小名借用兩個(gè)leetcode題中的場(chǎng)景來(lái)分享下數(shù)組轉(zhuǎn)集合的使用方法: 看到開(kāi)頭的 「int[ ]轉(zhuǎn)Integer[ ]」 可能有的小伙伴并不知道什么情況會(huì)用。當(dāng)然平日開(kāi)發(fā)我們斷然不會(huì)

    2024年02月14日
    瀏覽(22)
  • 寶塔Nginx環(huán)境安裝pagespeed模塊加速網(wǎng)站以及配置WebP格式圖片加速(筆記)

    寶塔Nginx環(huán)境安裝pagespeed模塊加速網(wǎng)站以及配置WebP格式圖片加速(筆記)

    起因: 由于站點(diǎn)內(nèi)很多本地圖片每次打開(kāi)要等很久于是就開(kāi)始搜索相關(guān)內(nèi)容 卡到了一個(gè)pagespeed這么一個(gè)模塊而且折騰起來(lái)也比較簡(jiǎn)單所以就開(kāi)始干活正式折騰。 正文: 首先我的環(huán)境是centos8+寶塔 【web環(huán)境lnmp(linux-ngingx-mysql-php)】 環(huán)境不一樣的不要直接復(fù)制?。?! 以下教

    2024年03月21日
    瀏覽(25)
  • 萬(wàn)兆以太網(wǎng)MAC設(shè)計(jì)(6)IP協(xié)議報(bào)文格式詳解以及IP層模塊設(shè)計(jì)

    萬(wàn)兆以太網(wǎng)MAC設(shè)計(jì)(6)IP協(xié)議報(bào)文格式詳解以及IP層模塊設(shè)計(jì)

    參考:https://sunyunqiang.com/blog/ipv4_protocol_rfc791/這篇文章內(nèi)容很豐富,建議看看 Version : 長(zhǎng)度為 4 比特, 表征 IP 協(xié)議的版本號(hào), 對(duì) IPv4 來(lái)說(shuō)該字段的值為 4 IHL : 長(zhǎng)度為 4 比特, IHL 是 Internet Header Length 的縮寫(xiě), 以 4 字節(jié)為單位指示 IP Header 的長(zhǎng)度, 對(duì)于 IPv4 來(lái)說(shuō), Header 的最小長(zhǎng)度為

    2024年04月28日
    瀏覽(38)
  • JSON格式介紹以及STM32串口通信JSON格式遠(yuǎn)程控制LED燈

    JSON格式介紹以及STM32串口通信JSON格式遠(yuǎn)程控制LED燈

    JSON(JavaScript Object Notation),即 JS對(duì)象簡(jiǎn)譜,是一種輕量級(jí)的數(shù)據(jù)格式。 它采用完全獨(dú)立于編程語(yǔ)言的文本格式來(lái)存儲(chǔ)和表示數(shù)據(jù),語(yǔ)法簡(jiǎn)潔、層次結(jié)構(gòu)清晰,易于人閱讀和編寫(xiě),同時(shí)也易于機(jī)器解析和生成,有效的提升了網(wǎng)絡(luò)傳輸效率。 JSON 可以將 JavaScript 對(duì)象中表示的一

    2024年02月02日
    瀏覽(15)
  • 【Apollo學(xué)習(xí)筆記】—— Routing模塊

    【Apollo學(xué)習(xí)筆記】—— Routing模塊

    Apollo的routing模塊讀取高精地圖原始信息,用于根據(jù)輸入 RoutingRequest 信息在 base_map 中選取匹配最近的點(diǎn)作為導(dǎo)航軌跡的起點(diǎn)和終點(diǎn),讀取依據(jù) base_map 生成的 routing_map 作為 topo_graph ,然后通過(guò)Astar算法在拓?fù)鋱D中搜索連接起始點(diǎn)的最優(yōu)路徑 RoutingResponse ,作為輸出發(fā)送出去。

    2024年02月15日
    瀏覽(23)
  • 畢設(shè)常用模塊之舵機(jī)介紹以及使用方法

    畢設(shè)常用模塊之舵機(jī)介紹以及使用方法

    舵機(jī)是一種位置伺服的驅(qū)動(dòng)器,主要是由外殼、電路板、無(wú)核心馬達(dá)、齒輪與位置檢測(cè)器所構(gòu)成。其工作原理是由接收機(jī)或者單片機(jī)發(fā)出信號(hào)給舵機(jī),其內(nèi)部有一個(gè)基準(zhǔn)電路,產(chǎn)生周期為 20ms,寬度為 1.5ms 的基準(zhǔn)信號(hào),將獲得的直流偏置電壓與電位器的電壓比較,獲得電壓差

    2024年02月06日
    瀏覽(21)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包