RoboRace - An autonomous support series for Formula EOpen Wheel 

I'm really hoping this series gets the proper amount of coverage. The media's obsession with self-driving cars is all but gone now and I'd really hate to see this handwaved away as a novelty as a result, especially with all the work that's gone into it so far.
 
Full on-board of the DevBot in autonomous mode.



You can see it slow down at 1:28 and 1:33 where there's a blind high speed corner. It probably thinks there's a much sharper corner from its sensors only to realize it's not that sharp halfway through the corner.
 



Here's the raw footage of the AI laps from two different universities. Very cool to see just how different the two AIs are.

 
The Italian team leads the first half, then bottles it and gets overtaken by team Germany. Sounds familiar? ;)

Seriously though, that is probably the first ever AI vs AI race. Would've liked to see them both on track at the same time to see how the software would cope. Baby steps but I'm looking forward to what the future brings 👍
 
Endurance racing was to test the reliability of cars. Formula 1 was to innovate as much as possible. Racing was always about trying to make the car more efficient than everyone else (and then regulations came and balance is performance etc but that's a different story).

Formula E is about trying to innovate in batteries and electricity which is definitely our next power source especially after "dieselgate". This is about trying to innovate autonomous vehicles and considering there's already autonomous vehicles being tested on the road, it's about time we see who can make theirs the fastest and most efficient. It's the future. Time moves on.

Sorry, I can not agree with this. By F1 not having giants involved like Ford, GM, and Chrysler it is extremely difficult to say that manufacturers and auto racing "need" each other. Many, many forms of motorsport have absolutely nothing to do with advancing the automotive market. Manufacturers are involved in racing for 1 reason and one reason only, to sell cars on Monday after a successful weekend of racing.
Besides, race cars, even F1, lag in technology behind the current cars already on the market. As far as battery development the batteries are used and discharged in a far different way while racing than they will be in a road car, the difference is so extreme that I highly doubt it even applies. As long as there are fans and gearheads there will always be motorsport. The first race ever happened when the 2nd car was built, it's just human nature. :)
 
I'm assuming everyone and their mother has seen the clip of the Roborace car immediately crashing into the wall today. If not, here's the clip of it.

I'm glad a Roborace is getting the attention, but I'm extremely frustrated that everyone is just dismissing the whole series and the concept of autonomous racing.

Developing a program to drive a car is incredibly difficult and it'll obviously take years to perfect. This is just one team's implementation that clearly still needs to work out the issues.

Today was Event 1.1 Round 1. Each team has to complete 3 laps and the winner is the team with the smallest total time. There's also a lot of augmented reality obstacles, what they call the "Metaverse", that are pretty interesting to say the least.

Two of the other teams were able to successfully complete their laps. The team that did crash spectacularly was SIT Autonomous. SIT is the Schaffhausen Institute of Technology, a university in Switzerland.

Here's an interview with Jasmina Zubaca, the algorithm designer for Autonomous Racing Graz, a team of researchers from Graz University of Technology and Virtual Vehicle Research, both of which are based in Austria. Their team was only able to complete one lap out of three. Their main goal was to finish one lap with dynamic planning. They'll be working on it all night to be able to compete again tomorrow.

You can watch Carnegie Mellon University's complete 3 lap run here, who came in second behind Arrival:

 
Last edited:
IMO, they need to work on their marketing strategy. It's more of a tech competition than a motorsport race. I mean the cars are not even racing each other on track! But looking at their youtube channel all of the videos are really short and superficial. They try to push this idea of driverless racing as cool and futuristic but it's still quite far from that now obviously.
 
This is still the "beta" season. The technology just isn't there yet where the cars can race at the same time. Of course it would be so much cooler to see them on track together, but none of the teams are ready for that. It'll probably take another year or so to develop the algorithms sadly. Developing this stuff is incredibly hard, as we've seen with more pedestrian implementations such as by Waymo for instance.
 
(language warning if you clickthrough to the whole thread)


One of the members of SIT wrote an explanation as to what happened, emphasis mine:

Hi all, I am one of the engineers from the SIT autonomous team (its our car that crashed in the video). I want to address the crash and clarify a bit what happened.

The actual failure happened way before the moment of the crash, on the intialization lap. The initialization lap is there to take the car from boxes to the start/finish line and the car is driven by a human driver during the lap. The intialization lap is a standard procedure by roborace.

So during this intialization lap something happened which apparently caused the steering control signal to go to NaN and subsequently the steering locked to the maximum value to the right. When our car was given a permission to drive, the acceleration command went as normal but the steering was locked to the right. We are looking at the log values and can see that our controller was trying to steer the car back to the left, but the car did not execute the steering command due to a steering lock. The desired trajectory was also good, the car definitely did not plan to go into the wall.

We are not yet sure what was the actual cause, but it seems that its an extremely rare event during which there was a short spike in the inputs to the controller. Normally, this spike would have been filtered out, but apparently there exists a configuration under which this spike is allowed to propagate through the system and we were "very lucky" to collect it during the competitive run. We had testing days before and had never experienced this.

We are putting a lot of effort atm into investigation and hopefully will be able to fix it before the second round tomorrow. So if you have any questions, feel free to ask them here in the thread, I will try to address them when I'm available.



UPDATE: spelling and added more info

UPDATE 2: A lot of people are asking about failure modes checking, so I want to address that additionally. We do have a failure modes system in place, and the intended scenario is to put the car into emergency braking once one of the system becomes nonfunctional or stops producing any output. This also shows as a big red NO-GO on the telemetry screens so that Roborace operators could also take action.

But what happened in the video is that the system somehow managed to produce a NaN (not a number) value and all verification logic was designed to work only with numbers. Due to this and partially due to how these NaNs are handled by MATLAB, the verification layer just let the value through and it locked the steering.

What additionally caused the confusion is that the output values are transferred via control area network (CAN) to the actuators, but there is no definition for a NaN in the CAN specs, so it just transformed it into a normal number, albeit a very large one.



UPDATE 3: So we spent a lot of time investigating and making fixes and hopefully will be able to mitigate this issue if it occurs again. The round 2 should start soon and hopefully this time we will avoid driving into the wall :) Head over to roborace twitch if you want to see the action live. Unfortunately our car had to be sent to the factory for repairs, so we will run on a default Roborace car today.



UPDATE 4: We did it! Round 2 went smoothly and our car drove straight without any significant problems! We went straight to take the 2nd place :) Here's a link to our run if anyone's interested :)

To summarize in non-programming terms, it seemed like during the outlap where a person was driving the car, something happened that caused a sensor to spike which then caused it not to send a number. Due to the way the programming language works, it would continue using this nonexistent number throughout the algorithm. Once it reached the actuator that controls the steering wheel, it doesn't have a specific way to handle something that isn't a number so it became a large number so the steering was locked to the right. The algorithm definitely did not want it to go to the right.

Additionally, the more unfortunate and perhaps scary fact, none of the safety checks in place expected the possibility for a value to not be a number which is why the vehicle didn't immediately stopped when given a complete steering lock to the right.

They continued to respond to people's questions, here are a few responses:

I absolutely agree with you from the analysis/verification process standpoint.

We did implement checks for what seemed to us as more common failure scenarios, but the devil here was that this one first appeared during the run and we did not cover it at the analytical analysis stage. In other words, we did not expect a NaN value to appear there and put too much confidence in our decision.

It seemed like they just overlooked the possibility that the sensor would not send a number.

We are a team of 4 engineers, our backgrounds are in computer science, software engineering, control engineering and machine learning.

Apparently only 4 people are working on this project in this team!

Ironically, it did show up on telemetry monitors, but it showed up along with 1.5k other telemetry values. Usually the operators would look only at the indicator flags that there were no failures, and in our case all indicator flags were green

There was data that the steering output was a full lock to the right, but because they have many more telemetry data points, they didn't see it.


Sorry for the massive information dump, but as someone who's learning programming and doing stuff like this, it's really interesting!
 
Last edited:
Small behind the scenes video of Event 1 at Anglesey. They had cancelled the event because of technical problems that were a safety concern. Apparently the car was receiving "phantom messages"

 
Back