Autonomous Vehicles
Simulation
Marcus Vinícius Leal de Carvalho

Simulators
Gazebo: Widely used for any ROS distro version
CARLA: Built over Unreal Engine
AWSIM - TierIV simulator coupled within Autoware Universe Stack
LGSVL: Built over Unity Engine (Deprecated)
Common Middleware: ROS, ROS2
Intro Explanation
https://docs.google.com/presentation/d/1opeDVfEwBe5nfs6IECpV_E1zUqjQIlDs/edit#slide=id.p9
GAZEBO
ADVANTAGES
Customize the world, customize sensors, there are a bunch of different sensors, agents (gazebo libraries), light in resources consumption (GPU)
DRAWBACKS:
There is not specific autonomous driving scenarios and custom car-like robots ready for usage (meshes)

CARLA
Link: https://www.youtube.com/watch?v=uBeim-YSiV8&t=19s

ADVANTAGES
Customize easily Weather, road conditions (wetness), agents (cars, pedestrians)
Provide an API to interact with
Oriented to AV technology
DRAWBACKS:
Not so easy to Customize worlds, sensors, vehicles
High Resources Consumption (GPU)
Proficiency (Read Documentations, etc)
AWSIM (TierIV)
https://www.youtube.com/watch?v=DJjGjKFchWI

ADVANTAGES
Robust Integration with Autoware Stack
Well documented
DRAWBACK
Not integrated with other Autonomous Driving Stacks
Autoware Forks and releases in Git are unstable and incomplete (specific modules)
LGSVL + ROS BRIDGES ( IN GENERAL)

https://www.youtube.com/watch?v=BcCOudHdc60&t=187s
CARLA: Autoware (ROS), Apollo (cyber-Rt) briges
GAZEBO: ROS & ROS2 bridges (not all Autoware releases)
Tier IV: Autoware Universe release bridge
LGSVL: Project canceled, but still available on git (without team support), has Autoware.AI, Autoware.Auto and Apollo bridges
Autonomous Driving Stacks (Autoware vs Apollo)

Detailed Presentation Link of ADS + CARLA Simulators:
https://slides.com/marcusvinicius-13/code-59a343#/6
Apollo Studio (mix of Teste Case Scenario + Apollo ADS + Simulator)
Courses | Documentation | Tutorials
Autoware.Auto: https://www.apex.ai/autoware-course
Apollo Course: https://www.udacity.com/course/self-driving-car-fundamentals-featuring-apollo--ud0419
Apollo CARLA Bridge: https://github.com/guardstrikelab/carla_apollo_bridge
AWSIM + Autoware.Universe: https://autowarefoundation.github.io/autoware-documentation/main/
Github: https://github.com/autowarefoundation
CARLA API Course: https://www.classcentral.com/course/youtube-self-driving-cars-with-carla-and-python-45702
Materials, Articles, etc
Racecar with ROS - https://arxiv.org/pdf/2206.00770.pdf
https://www.youtube.com/watch?v=tZeA7ykIYwA
Article from my Master Resarch:
https://drive.google.com/file/d/13Y8y6yUDGAJ9mJ93nxJ0MATUTws4dO0g/view?usp=drive_link
Master Thesis: https://drive.google.com/file/d/1hy0xOtyPXfuFlN9VVhWjxZpwh1rn5l9n/view?usp=drive_link

Conclusion
From my Experience there is not the Ideal Simulator or Autonomous Driving Stack. Each simulator or stack have advantages and drawbacks.
If you have custom sensors, custom-specific world, functionalities, etc, the best idea is to try these algorithms, vehicle models and the basics context with "RAW Code": With this statement I mean, use Gazebo for first vehicle modelling and code primary functionalities. When you understand the basics (control, perception, planning, localization) then you can "jump" to use Autonomous Driving Stacks and more powerful simulator.
Courses Platforms: https://www.theconstructsim.com/
https://www.udemy.com/
https://www.coursera.org/
http://wiki.ros.org/pt_BR
Good Lucky !
Autonomous Vehicles
By Marcus Vinícius Leal de Carvalho
Autonomous Vehicles
- 18