chasePlot
自我中心投射透视情节
描述
例子
模拟汽车在s曲线上行驶
模拟一辆汽车在s曲线上行驶的驾驶场景。创建和绘制车道边界。
创建一个驾驶场景,其中一条路有一个s曲线。
场景:“StopTime”3);道路中心= [-35 20 0;-20 -20 0;0 0 0;20 20 0;35 -20 0];
创建车道并将其添加到道路中。
lm = [laneMarking(“固体”,“颜色”,' w ');...laneMarking (“冲”,“颜色”,“y”);...laneMarking (“冲”,“颜色”,“y”);...laneMarking (“固体”,“颜色”,' w '));Ls = lanespec(3,“标记”、lm);路(场景、roadcenters“道”、ls);
添加一个自我载体,并从它的路径点指定它的轨迹。默认情况下,汽车以每秒30米的速度行驶。
Car = vehicle(场景,...“ClassID”, 1...“位置”,[-35 20 0]);航路点= [-35 20 0;-20 -20 0;0 0 0;20 20 0;35 -20 0];smoothTrajectory(车,路点);
绘制场景和相应的追逐情节。
情节(场景)
chasePlot(汽车)
运行模拟循环。
初始化一个鸟瞰图,并创建一个轮廓绘图仪,左车道和右车道边界绘图仪和道路边界绘图仪。
获得道路边界和矩形轮廓。
获取车辆左右两侧的车道边界。
推进模拟和更新绘图器。
bep = birdsEyePlot(“XLim”, 40 [-40],“YLim”[-30] 30日);olPlotter = outlinePlotter(bep);lblPlotter = laneBoundaryPlotter(bep,“颜色”,“r”,“线型”,“- - -”);lbrPlotter = laneBoundaryPlotter(bep,“颜色”,‘g’,“线型”,“- - -”);rbsEdgePlotter = laneBoundaryPlotter(bep);传奇(“关闭”);而advance(场景)rbs = roadBoundaries(汽车);[位置,偏航,长度,宽度,originOffset,color] = targetoutline(车);lb = laneborders (car,“XDistance”0:5:30,“LocationType”,“中心”,...“AllBoundaries”、假);plotLaneBoundary(rbsEdgePlotter,rbs) plotLaneBoundary(lblPlotter,{lb(1).Coordinates}) plotLaneBoundary(lbrPlotter,{lb(2).Coordinates}) plotOutline(olPlotter,位置,偏航,长度,宽度,...“OriginOffset”originOffset,“颜色”、颜色)结束
在驾驶场景模拟中显示目标轮廓
创建一个驾驶场景,并显示目标轮廓如何随着模拟的进展而变化。
创建一个由两条交叉的直线道路组成的驾驶场景。第一个路段长45米。第二条直路长32米,两边都有护栏,与第一条路相交。一辆以每秒12.0米的速度行驶在第一条路上的汽车接近了一名以每秒2.0米的速度穿过十字路口的行人。
场景:“SampleTime”, 0.1,“StopTime”1);Road1 = road(scenario,[-10 0 0;45 -20 0]);Road2 = road(scenario,[-10 -10 0;35 10 0]);障碍(场景,road1)屏障(场景、road1“RoadEdge”,“左”) ped =演员(场景,“ClassID”4“长度”, 0.4,“宽度”, 0.6,“高度”, 1.7);Car = vehicle(场景,“ClassID”1);Pedspeed = 2.0;Carspeed = 12.0;smoothTrajectory(ped,[15 -3 0;15 3 0],pedspeed);(车,[-10 -10 0;35 10 0],carspeed);
为车辆创造一个以自我为中心的追逐情节。
chasePlot(车,“中心线”,“上”)
创建一个空的鸟瞰图,并添加一个轮廓绘图仪和车道边界绘图仪。然后,运行模拟。在每个模拟步骤中:
更新追逐图以显示道路边界和目标轮廓。
更新鸟瞰图,以显示更新后的道路界线和目标轮廓。情节视角总是与自我载体有关。
bepPlot = birdsEyePlot(“XLim”50 [-50],“YLim”, 40 [-40]);outlineplotter = outlineplotter (bepPlot);laneplotter = laneBoundaryPlotter(bepPlot);传奇(“关闭”)而advance(场景)rb = roadBoundaries(汽车);[位置,偏航,长度,宽度,originOffset,color] = targetoutline(车);[bposition,byaw, length,bwidth,boriginOffset,bcolor,barrierSegments] = targetoutline (car,“障碍”);plotLaneBoundary (laneplotter, rb) plotOutline (outlineplotter、位置、偏航、长度、宽度、...“OriginOffset”originOffset,“颜色”(颜色)plotBarrierOutline outlineplotter、barrierSegments bposition, byaw, blength, bwidth,...“OriginOffset”boriginOffset,“颜色”bcolor)暂停(0.01)结束
输入参数
交流
- - - - - -演员
演员
对象|车辆
对象
属于…的演员drivingScenario
对象,指定为演员
或车辆
对象。要创建这些对象,请使用演员
而且车辆
函数,分别。
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。
在R2021a之前,名称和值之间用逗号隔开,并括起来的名字
在报价。
例子:chasePlot (ac,“中心线”,“上”,“RoadCenters’,”)
显示每个路段的中心线和道路中心。
父
- - - - - -用来绘制图形的坐标轴
轴
对象
用于绘制图形的坐标轴,指定为逗号分隔的对,由“父”
和一个轴
对象。如果不指定父
,一个新的图形被创建。
中心线
- - - - - -显示道路中线
“关闭”
(默认)|“上”
显示道路的中心线,指定为逗号分隔的对,由“中心线”
而且“关闭”
或“上”
.中心线沿着每段道路的中间。中心线是不连续的通过区域,如十字路口或道路分叉。
RoadCenters
- - - - - -显示道路中心
“关闭”
(默认)|“上”
显示道路中心,指定为逗号分隔的对,由“RoadCenters”
而且“关闭”
或“上”
.道路中心定义了图中所示的道路。
路点
- - - - - -显示参与者路径点
“关闭”
(默认)|“上”
显示参与者路径点,指定为逗号分隔的对,由“锚点”
而且“关闭”
或“上”
.路径点定义了参与者的轨迹。
网格
- - - - - -显示actor网格
“关闭”
(默认)|“上”
显示参与者网格,而不是长方体,指定为逗号分隔的对,由“网格”
而且“关闭”
或“上”
.
ViewHeight
- - - - - -地块视点高度
1.5 ×演员身高(默认)|正实标量
绘图视点的高度,指定为逗号分隔的对,由“ViewHeight”
和一个正实标量。高度是相对于演员的底部的。单位是米。
ViewLocation
- - - - - -地块视点位置
2.5 ×演员长度(默认)|[x,y实值向量
绘图视点的位置,指定为逗号分隔的对,由“ViewLocation”
和an [x,y实值向量。位置是相对于行动者坐标系中的长方体中心。视点的默认位置在长方体中心的后面,[2.5 *的演员。长度0]
.单位是米。
ViewRoll
- - - - - -情节视点的滚动角度定位
0
(默认)|真正的标量
绘图视点的滚动角度方向,指定为逗号分隔的对,由“ViewRoll”
还有一个实标量。单位以度为单位。
ViewPitch
- - - - - -情节视点的俯仰角方向
0
(默认)|真正的标量
图视点的俯仰角方向,指定为逗号分隔的对,由“ViewPitch”
还有一个实标量。单位以度为单位。
ViewYaw
- - - - - -情节视点的偏航角定位
0
(默认)|真正的标量
绘图视点的偏航角方向,指定为逗号分隔的对,由“ViewYaw”
还有一个实标量。单位以度为单位。
版本历史
在R2017a中介绍
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。