You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
od4.dataTrigger: if recieving cone information, trigger collector.CollectorCones(); if recieving geolocation, trigger detectconelane.nextPos()
nextPos() will extract the global position (with longitude and latitude), and make some adjustment with gpsReference
collector will gather all cones in each frame, and then pass the frame to detectorlane
then cones are seperated into four categories: coneLeft, coneRight, coneSmall, coneBig; based on the corresponding type: blue, yellow, small orange, big orange
sort coneLeft and coneRight by the distance between cone and vehicle, from closest to furthest
compute the path length for each side by adding up the distance of adjacent cones, and decide which side has longer path
for the shorter path, insert some needed guessed cones if slam is not activated or the number of cones is not enough
segment the lane into many small surfaceArea: divide the long side path with a specific number of equidistant points, and then find out the corresponding point on the short side of each virtual point on the long side
send out surfaceArea via od4.send; the surfaceArea has x1,y1,x2,y2,x3,y3,x4,y4, corresponding to the four points in each segmentation
collector.CollectionCones() [if recieve ObjectDirection or ObjectionDistance or ObjectType]
[thread] collector.InitializeCollection()
collector.GetCompleteFrame()
collector.SendFrame()
detectconelane.receiveCombinedMessage()
detectconelane.sortIntoSideArrays()
detectconelane.generateSurfaces()
detectconelane.orderAndFilterCones() or .orderCones()
detectconelane.findTotalPathLength()
detectconelane.insertNeededGuessedCones()
detectconelane.guessCones()
detectconelane.findSafeLocalPath()
detectconelane.findTotalPathLength()
detectconelane.placeEquidistantPoints()
detectconelane.findFactorToClosestPoint()
detectconelane.sendMatchedContainer()
od4.send()
detectconelane.nextPos() [if recieve Geolocation]
Questions
when segmenting the short side path, we should check "if one of the two segments next to the cone has a perpendicular line to the long side point. If so, place the short side point on that place of the segment"; what does perpendicular to long side point mean?