Mission Planner with Locally-generated, Sensor-based Maps #4545
Replies: 9 comments 16 replies
-
Great job! Very excited to see progress in sensor-based maps. I am welcoming to see this progressive approach to include local-map-based planning step by step. I would like to share some of my reactions to the architecture and would love to learn from your response :).
|
Beta Was this translation helpful? Give feedback.
-
We will present the project next Thursday in a working group meeting (Planning & Control WG)! |
Beta Was this translation helpful? Give feedback.
-
In the current version of Autoware the motion planner and controller expect inputs in
With a map-less architecture we need to assume that the
I think for motion planning and control the change would be minor as they do not directly care about the If we do not want to add an The following figures illustrate the two options.
|
Beta Was this translation helpful? Give feedback.
-
A prototype implementation of the architecture proposed in this discussion has been made public here: https://github.com/tier4/mapless_autoware |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
A wonderful job! Thanks for generous sharing. But I'm still confused about some of the details and would like to get your reply. I have one question about how the mapless_autoware code works with the original autoware. Since you provide an example launch file, mapless.launch.xml, for running Autoware along with the mapless architecture. But how to use the xml exactly? For example, I can run an autoware demo with the following command: ros2 launch autoware_launch planning_simulator.launch.xml map_path:=$HOME/autoware_map/sample-map-planning vehicle_model:=sample_vehicle sensor_model:=sample_sensor_kit So I'd like to know what the exact command for mapless_autoware is, and how the mapless folder and the original autoware folder are laid out. Hoping for your reply! |
Beta Was this translation helpful? Give feedback.
-
Thank you for your contributions to autoware's maplessness! I'm confused about the external odometry signal provider and hope to learn from your reply. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
Hello! I noticed that mapless_autoware directly uses the centerline as a trajectory or path with no smoothing operations, whereas smoothing components in autoware such as path_optimizer work to require a map as well. Is there a subsequent consideration to add relevant optimizations? |
Beta Was this translation helpful? Give feedback.
-
Mission Planner with Locally-generated, Sensor-based Maps
The following proposal is a joint project of TIER IV and driveblocks.
We are exploring an innovative approach to enhance the autonomy of vehicles using the Autoware software framework. Our proposal involves the development of a local mission and behavior planner utilizing local maps, which are created based on the sensor inputs from cameras and LiDARs. For this proposal, we assume these sensor-based maps to be readily available. They can be used for full self-driving when no HD maps are available.
The following screenshot shows camera images from a Japan Taxi vehicle (images on the bottom) recorded by two cameras mounted on the vehicle's rooftop. The resulting local map, which consists of four road segments that fit into the available highway lanes and is computed based on the sensor inputs, is visualized at the top of the screenshot. The camera images on the bottom are overlayed with the results of the line detection and with the projected local map.
Please note that we assume a local map will be given for our proposal.
Motivation
Currently, the mission and behavior planning modules in Autoware rely on global, static HD maps, which can be expensive to create and maintain.
We propose to enable autonomous operation without the need for HD maps by allowing Autoware to use locally created, sensor-based maps.
When operating with local maps, the navigation goal may not always be present or visible in a locally available map snippet—in contrast to HD maps. Therefore, we would like to propose a concept for new local mission and behavior planning modules that can support a locally feasible driving behavior when no HD map is available.
The current architecture of Autoware is kept unchanged, but the new local mission and behavior planning components shall form the basis for a new HD map-free planning component. In the future, the HD map-free planning component can be unified with the current Autoware planning component to enable seamless transitions between scenarios (e.g., urban driving with an HD map to highway driving with a local map) or to combine HD maps and local, sensor-based ones.
In this discussion, we would like to collect your feedback and ideas on implementing a local mission and behavior planner for local maps and their integration into Autoware.
Use Cases
In a first step, we would like to target highway use cases, explicitly supporting the scenarios of
The following section proposes a software architecture to handle these scenarios with a local map.
Proposed Architecture
In the following diagram, we visualize a possible software architecture. From top to bottom, we include a custom local road provider that computes the road segments based on sensor inputs. A local map provider node transforms the road segments into an Autoware local map message, which we must implement. Therein, the detected road segments are converted into driving corridors that comprise lane centerlines, left and right boundaries, and semantic types, e.g., road, highway exit, or shoulder lane. The map provider node also enriches the driving corridors with navigation information from OpenStreetMaps or detected road signs. The new Autoware local mission planner picks up the local map representation and a local goal. It extracts the mission lanes containing the target lane, drivable lanes, and a spatial deadline parameter indicating when the mission goal must be reached. The mission goal is a new Autoware message that defines the mission type (e.g., lane keeping, lane change, take next exit) and includes the mentioned spatial deadline parameter. This parameter can be set to
infinity
if it doesn't apply to any specific mission (like lane keeping). The new local behavior planner computes a rough, collision-free reference trajectory to the target lane while adhering to the constraints imposed by the spatial deadline parameter, the drivable lanes, and the surrounding objects. An additional motion planner could smooth the reference trajectory before forwarding it to the controller.The data flow from the Human Machine Interface (HMI) to the controller follows a structured path, which will be introduced in the next section.
Example Use Cases
First, let us introduce the data flow from the goal information source to the control output. The global goal can be identified algorithmically by a goal planner or be set by the safety driver via the Autoware HMI. The safety driver would initiate a particular behavior by setting a ROS mission parameter (given in the table below, first column) via the terminal/a GUI, which is then converted into a local goal message of type
autoware_auto_planning_msgs::msg::LocalMission
. The safety driver could initiate, e.g., the missionslane_keeping
,lane_change
, ortake_next_exit
.Local Mission Planner
A set of rules is defined for each mission type to select the target and drivable lanes, described in the message type
autoware_auto_planning_msgs::msg::MissionLanes
from the local map.field
/missiontarget_lane
drivable_lanes
deadline
infinity
If a local mission does not clearly indicate its meaning in the available local map, we propose continuing with the currently active mission type or postponing this request for a maximum distance of a few hundred meters. An example is a mission request to stop on the shoulder lane even if no such lane is available.
Local Behavior Planner
Based on the
MissionLanes
, the behavior planner computes a collision-free trajectory such that the ego drives along or switches to the target lane while following the constraints imposed by the deadline parameter, the drivable lanes, and the surrounding objects. If necessary, the trajectory could cross the drivable lanes to, e.g., avoid an obstacle or cross multiple lanes.Future Directions
In the future, combining the information from local with global maps (such as OpenStreetMap or HD Maps) will become necessary. Through this, navigation information can be fused with our local, sensor-based map to combine both their advantages: global navigation knowledge and local topicality. A global navigation information source and an advanced local behavior planner enable the omission of human mission input. Additionally, exploring supplementary sources like street sign detectors can enrich the information pool, facilitating comprehensive decision-making processes. As the introduction states, the mapless architecture will function as a separate planning component. Our ultimate vision involves combining this component into a single architecture with the existing Autoware modules to seamlessly transition from HD to local maps or combine both into a single environment representation if desired.
Seeking Feedback
We're excited about this idea's potential and would love to hear your thoughts, feedback, and suggestions. Are the architecture and the defined interfaces capable of handling the use cases and missions that come to your mind regarding local maps?
Please share your insights, experiences, or any questions you have. We look forward to collaborating with the community to make local maps available to the Autoware software stack.
Thank you for your interest and contributions!
Beta Was this translation helpful? Give feedback.
All reactions