Automated Parking Valet with ROS 2 in Simulink
This example shows how to distribute the Automated Parking Valet application among various nodes in a ROS 2 network in Simulink® and deploy them as standalone ROS 2 nodes. This example extends the Automated Parking Valet (Automated Driving Toolbox) example in the Automated Driving Toolbox™. Using the Simulink model in the Automated Parking Valet in Simulink example, tune the planner, controller and vehicle dynamic parameters before partitioning the model into ROS 2 nodes. Then you generate code for the ROS 2 nodes and deploy them.
Prerequisites: Automated Parking Valet (Automated Driving Toolbox), Generate a Standalone ROS 2 Node from Simulink
This autonomous vehicle application has the following components.
This example concentrates on simulating the Planning,
Control and the Vehicle components. For
Localization, this example uses pre-recorded localization map
data. The Planning component is further divided into
Behavior planner and Path Planner
components. This results in a ROS 2 network comprised of four ROS 2 nodes:
Vehicle. The following figure shows the relationships between
each ROS 2 node in the network and the topics used in each.
The example follows this general workflow from algorithm design to deployment:
Design a Simulink model without enabling ROS and verify that the controller algorithm provides accurate results
Replace the input and output ports with ROS 2 Subscribe and Publish blocks to prepare for actual deployment
Generate and deploy ROS 2 nodes
This example walks you through the simulation and code generation workflow for the automated parking valet components in these steps.
Simulate Automated Parking Valet with ROS 2 in Simulink — Examine Simulink models for all the components, and simulate the automated parking valet workflow.
Generate and Deploy ROS 2 Nodes for Automated Parking Valet in Simulink — Generate code and deploy the automated parking valet system components as ROS 2 nodes.