Open Source Drives Indy Autonomous Challenge Racecars
The Indy Autonomous Challenge (IAC) is a $1.5 million competition that gives university teams the chance to win the world’s first head-to-head, high-speed autonomous car race at the famed Indianapolis Motor Speedway. Think of it as a university software competition that’s played out using really fast, million-dollar autonomous robots.
To give you an idea of what the racecars look like, here’s a photo of the University of Hawaii and University of California, San Diego AI racing team with their IAC racecar. The car is sponsored by GAIA Platform and Eclipse Foundation member, ADLINK Technology.
Racecars That Are Really Fast Robots
Prior to the IAC, universities, open source foundations, and enterprises collaborate to develop base software that’s shared with all IAC teams. The software gives each team the same reference implementation that “just works” and enables the IAC racecar to complete yellow flag laps with no additional development.
To differentiate themselves and ultimately win the race, each university team focuses on unique aspects such as vehicle dynamics, race strategy, and algorithms they believe will allow them to outpace other entries.
Open Robotics, the Autoware Foundation, and the Eclipse Foundation all contributed to development of the open source base software for the competition. This autonomous driving software stack was developed and tested on the ADLINK autonomous driving computers running in the IAC racecars.
Open Robotics Provides the Application Development Framework and Tools
Open Robotics provides the Robot Operating System (ROS), ROS 2, and Gazebo, which is robot simulation software.
Despite its name, ROS is neither a robot nor an operating system. It’s an open source framework and tools for developing robotics applications. ROS 2 is the second generation of ROS, and it leverages advances made during the previous decade of open source robotics. ROS and ROS 2 are the standard for how robotics is taught at universities worldwide.
The Open Robotics community has contributed improvements that directly help these IAC university teams. For example, extremely fast “rosbag2” logging of camera and LiDAR sensor data was developed by Robotec.ai in collaboration with Apex.AI, ADLINK Technology, Bosch, and Tier IV.
Autoware Foundation Provides Autonomous Driving Packages
The Autoware Foundation provides the autonomous driving packages for ROS 2.
The Autoware Foundation’s technical steering committee (TSC) and board of directors made autonomous racing a committed workstream to support the IAC and F1TENTH, an international community that designed and maintains the F1TENTH Autonomous Vehicle System.
The foundation created a Racing Operational Design Domain (ODD) working group, and the foundation’s software architect, Josh Whitley, has been helping Clemson University, and other IAC teams, develop IAC racecar shakedown tests since the fall of 2020.
Eclipse Foundation Projects Provide Next-Generation Middleware
Three Eclipse Foundation projects are combined to create the next-generation middleware needed for robotics and autonomous driving:
- Eclipse Cyclone DDS is the default middleware for the ROS 2 Galactic Geochelone release and for Autoware.Auto developers. This widely adopted, next-generation Data Distribution Service (DDS) implementation was contributed to the Eclipse Foundation by ADLINK Technology. It’s small, easy-to-implement, and fast. According to Barkhausen Institute researchers, the Eclipse Cyclone DDS technology yields the lowest latency among the software evaluated for ROS 2 latency overhead in modular, time-critical systems.
- Eclipse iceoryx, which is integrated in Eclipse Cyclone DDS, is a blazingly fast, zero-copy shared memory publish-subscribe implementation contributed by Apex.AI and Bosch for autonomous driving workloads. The software provides pub-sub of camera data and LiDAR point clouds at more than 10 Gbytes/sec.
- Eclipse zenoh’s zenoh-plugin-dds software provides the IAC racecar’s vehicle-to-everything (V2X) and swarming capability. It does this by bridging Open Robotics’ ROS 2 DDS over Cisco’s Ultra-Reliable Wireless Backhaul to track-side race control and chase vehicles. Eclipse zenoh’s ROS 2 DDS topic filtering allows teams to choose which topics are propagated over the radio. Clemson University’s Deep Orange 12 team has already driven racetrack laps while teleoperating the IAC racecar using Eclipse zenoh from the chase vehicle.
These three projects are part of the Eclipse IoT Working Group and the Eclipse OpenADx Working Group, which focuses on autonomous driving. There’s also a roadmap for the Eclipse Foundation middleware to become automotive-grade and ISO 26262 safety-certified. Eclipse Foundation member, Apex.AI, developed the ISO 26262-certified ROS 2 fork that’s used by Toyota, so clearly they know what they’re doing in this area.
Learn More and Catch the Final Race
The final IAC race is October 23, and everyone is invited to watch. The race will be livestreamed, and it’s free to attend in person at the Indianapolis Motor Speedway.
In the meantime, to learn more:
- Visit the IAC website
- Check out the IAC base software in GitLab
- Follow #IAC2021 and @indyachallenge on social media
About the Author
Joe Speed is the Field CTO at ADLINK Technology. This article is a collaborative contribution by the Eclipse OpenADx Working Group Steering Committee, the Open Robotics ROS 2 Technical Steering Committee & the Autoware Technical Steering Committee.
The Eclipse IDE 2021-06 (4.20) was just released, so it’s a good time to highlight some of the major improvements that have been added to the software over the past year.
Michael Pöhnl talks about the Eclipse iceoryx 1.0.0 (Almond) release and the software’s integration in the Robot Operating System (ROS) 2 and other frameworks.