Helpers
Some helpers function including a collision checker and occlusion checker.
AutomotivePOMDPs.get_conflict_lanes — Method.get_conflict_lanes(crosswalk::Lane, roadway::Roadway)Find the lanes in roadway that intersects with a crosswalk
AutomotivePOMDPs.get_ego — Method.return the ego vehicle from a given scene
AutomotivePOMDPs.get_end — Method.get_end(lane::Lane)return the end longitudinal position of a lane
AutomotivePOMDPs.get_exit_lanes — Method.return the list of exit lanes, i.e. the one that does not have any exits
AutomotivePOMDPs.get_exit_lanes — Method.Given a list of lanes returns the list of exits
AutomotivePOMDPs.get_lane — Method.get_lane(roadway::Roadway, vehicle::Vehicle)
get_lane(roadway::Roadway, vehicle::VehicleState)return the lane where vehicle is in.
AutomotivePOMDPs.get_lanes — Method.get_lanes(roadway::Roadway)return all the lanes in a roadway that are not crosswalk and not in the ego path
AutomotivePOMDPs.get_start_lanes — Method.return the list of entrance lanes, i.e. the one that does not have any entrances
AutomotivePOMDPs.is_crash — Method.is_crash(scene::Scene)return true if the ego car is in collision in the given scene, do not check for collisions between other participants
AutomotivePOMDPs.random_route — Method.random_route(rng::AbstractRNG, roadway::Roadway, start_lane::Lane)Generate a random route starting from start_lane to a random end node
AutomotivePOMDPs.is_observable_dyna — Method.is_observable_dyna(ego::Vehicle, car::Vehicle, scene::Scene)Occlusion checker verifying is car is observable from ego It considers only other vehicles (not pedestrians, not fixed obstacles)
AutomotivePOMDPs.is_observable_fixed — Method.is_observable_fixed(ego::VehicleState, car::VehicleState, env::OccludedEnv)
is_observable_fixed(x::Float64, y::Float64, ego::VehicleState, env::OccludedEnv)Occlusion checker considering only fixed obstacles in the environment:
- isobservablefixed(ego::VehicleState, car::VehicleState, env::OccludedEnv) check if car is observable from ego
- isobservablefixed(x::Float64, y::Float64, ego::VehicleState, env::OccludedEnv) check if x, y is observable from ego
AutomotivePOMDPs.can_push — Function.Heuristic to check if a vehicle can be added to a given scene
AutomotivePOMDPs.clean_scene! — Method.Remove vehicles that have reached an end scene or that have collided
AutomotivePOMDPs.get_all_lanes — Method.get_all_lanes(roadway::Roadway)returns a list of all the lanes present in roadway
AutomotivePOMDPs.get_end_frenet — Method.Returns a Frenet object of the end of the road Args: Roadway, LaneTag Returns: Frenet
AutomotivePOMDPs.is_crosswalk — Method.is_crosswalk(lane::Lane)returns true if a lane is a crosswalk
AutomotivePOMDPs.lane_to_segment — Method.lane_to_segment(lane::Lane, roadway::Roadway)Converts a lane to a LineSegment. It only works for straight lanes!
AutomotivePOMDPs.is_observable — Method.is_observable(ego::Vehicle, car::Vehicle, scene::Scene, env::OccludedEnv)Check if car is observable from ego, by considering both fixed and dynamic obstacles