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