日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

障碍物决策横纵向标签

發(fā)布時(shí)間:2024/3/24 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 障碍物决策横纵向标签 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

障礙物標(biāo)簽

障礙物優(yōu)先級(jí)

# prediction/proto/feature.protomessage ObstaclePriority {enum Priority {CAUTION = 1;NORMAL = 2;IGNORE = 3;}optional Priority priority = 25 [default = NORMAL]; }# prediction/proto/predicition_obstacle.protomessage ObstacleIntent {enum Type {UNKNOWN = 0;STOP = 1;STATIONARY = 2;MOVING = 3;CHANGE_LANE = 4;LOW_ACCELERATION = 5;HIGH_ACCELERATION = 6;LOW_DECELERATION = 7;HIGH_DECELERATION = 8;}optional Type type = 1 [default = UNKNOWN]; }message PredictionObstacle {optional apollo.perception.PerceptionObstacle perception_obstacle = 1;optional double timestamp = 2; // GPS time in seconds// the length of the time for this prediction (e.g. 10s)optional double predicted_period = 3;// can have multiple trajectories per obstaclerepeated Trajectory trajectory = 4;// estimated obstacle intentoptional ObstacleIntent intent = 5;optional ObstaclePriority priority = 6;optional bool is_static = 7 [default = false];// Feature history latest -> earliest sequencerepeated Feature feature = 8; }

障礙物intent 意圖,決策規(guī)劃 沒有使用

障礙物priority? reference_line_info, isRelativeObstacle / IsCautionObstacle 用于排除障礙物

障礙物是否橫跨車道兩邊

感知給出障礙物屬性- static

決策proto

# planning/proto/decision.protomessage ObjectIgnore {}message ObjectStop {optional StopReasonCode reason_code = 1;optional double distance_s = 2; // in meters// When stopped, the front center of vehicle should be at this point.optional apollo.common.PointENU stop_point = 3;// When stopped, the heading of the vehicle should be stop_heading.optional double stop_heading = 4;repeated string wait_for_obstacle = 5; }// dodge the obstacle in lateral direction when driving message ObjectNudge {enum Type {LEFT_NUDGE = 1; // drive from the left side of the obstacleRIGHT_NUDGE = 2; // drive from the right side of the obstacleNO_NUDGE = 3; // No nudge is set.};optional Type type = 1;// minimum lateral distance in meters. positive if type = LEFT_NUDGE// negative if type = RIGHT_NUDGEoptional double distance_l = 2; }message ObjectYield {optional double distance_s = 1; // minimum longitudinal distance in metersoptional apollo.common.PointENU fence_point = 2;optional double fence_heading = 3;optional double time_buffer = 4; // minimum time buffer required after the// obstacle reaches the intersect point. }message ObjectFollow {optional double distance_s = 1; // minimum longitudinal distance in metersoptional apollo.common.PointENU fence_point = 2;optional double fence_heading = 3; }message ObjectOvertake {optional double distance_s = 1; // minimum longitudinal distance in metersoptional apollo.common.PointENU fence_point = 2;optional double fence_heading = 3;optional double time_buffer = 4; // minimum time buffer required before the// obstacle reaches the intersect point. }message ObjectSidePass {enum Type {LEFT = 1;RIGHT = 2;};optional Type type = 1; }// unified object decision while estop message ObjectAvoid {}message ObjectStatic {}message ObjectDynamic {}message ObjectMotionType {oneof motion_tag {ObjectStatic static = 1;ObjectDynamic dynamic = 2;} }message ObjectDecisionType {oneof object_tag {ObjectIgnore ignore = 1;ObjectStop stop = 2;ObjectFollow follow = 3;ObjectYield yield = 4;ObjectOvertake overtake = 5;ObjectNudge nudge = 6;ObjectAvoid avoid = 7;ObjectSidePass side_pass = 8;} }message ObjectStatus {optional ObjectMotionType motion_type = 1;optional ObjectDecisionType decision_type = 2; }message ObjectDecision {optional string id = 1;optional int32 perception_id = 2;repeated ObjectDecisionType object_decision = 3; }message ObjectDecisions {repeated ObjectDecision decision = 1; }message MainStop {optional StopReasonCode reason_code = 1;optional string reason = 2;// When stopped, the front center of vehicle should be at this point.optional apollo.common.PointENU stop_point = 3;// When stopped, the heading of the vehicle should be stop_heading.optional double stop_heading = 4;optional apollo.routing.ChangeLaneType change_lane_type = 5; }message MainCruise {// cruise current laneoptional apollo.routing.ChangeLaneType change_lane_type = 1; }

ObjectSidePass / ObjectAvoid / ObjectNudge 區(qū)別是什么?

apollo6.0 好像只有ObjectNudge 是有效的??

進(jìn)一步分析代碼 path_decider.cc / speed_limit_decider.cc

planning/proto/planning_status.proto

message PathDeciderStatus {enum LaneBorrowDirection {LEFT_BORROW = 1; // borrow left neighbor laneRIGHT_BORROW = 2; // borrow right neighbor lane}optional int32 front_static_obstacle_cycle_counter = 1 [default = 0];optional int32 able_to_use_self_lane_counter = 2 [default = 0];optional bool is_in_path_lane_borrow_scenario = 3 [default = false];optional string front_static_obstacle_id = 4 [default = ""];repeated LaneBorrowDirection decided_side_pass_direction = 5; }

Obstacle.cc

/** @brief This is the class that associates an Obstacle with its path* properties. An obstacle's path properties relative to a path.* The `s` and `l` values are examples of path properties.* The decision of an obstacle is also associated with a path.** The decisions have two categories: lateral decision and longitudinal* decision.* Lateral decision includes: nudge, ignore.* Lateral decision safety priority: nudge > ignore.* Longitudinal decision includes: stop, yield, follow, overtake, ignore.* Decision safety priorities order: stop > yield >= follow > overtake > ignore** Ignore decision belongs to both lateral decision and longitudinal decision,* and it has the lowest priority.*/

障礙物 的橫向標(biāo)簽,只有 nudge/ignore? ??

ReferenceInfo 中的Path Decision 在Frame 初始化過程中,對(duì)每個(gè)path obstacle 添加標(biāo)簽, 這個(gè)標(biāo)簽代表該障礙物的存在會(huì)對(duì)無人車造成的影響。代碼中僅僅利用路況以及路況中障礙物位置,初步設(shè)定了障礙物的標(biāo)簽,例如人行橫道路況,有人,則需要建立虛擬墻,否則忽略; 那些障礙物在車道上,但是不在特殊路況下(既不在停車區(qū)也不在禁停區(qū)等特殊區(qū)域),不會(huì)分配標(biāo)簽;

PathDecider 僅僅只能為靜態(tài)障礙物設(shè)定標(biāo)簽,無法為動(dòng)態(tài)障礙物設(shè)定標(biāo)簽;

PathBoundDecider

主要生成4種

fallback
regular
lanechange
left/rigit/no_borrow + lane_borrow_type
self
pullover

fallback

regular/pullover

regular/self

regular/lanechange

regular/left[|right/no-borrow]/laneborrowtype

SpeedDecider 對(duì)動(dòng)態(tài)障礙物更新標(biāo)簽

總結(jié)

以上是生活随笔為你收集整理的障碍物决策横纵向标签的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。