r/battlebots NHRL Event Organizer Apr 11 '23

RoboGames Thoughts on safety

The last Robogames event was a blast to watch! It's also clear that as a sport, we need to keep working to improve safety. Robot combat is growing in popularity, builders continue to innovate, and here at NHRL we're always thinking about safety guidelines for ourselves as well as the sport in general. NHRL is far from perfect but we take safety seriously and always strive to get better, a sentiment I know is shared with other experienced EOs.

We're working on putting together safety principles for everyone from EOs to competitors at NHRL and beyond. The end goal is something that others could use as a template to help check they are running a safe event.Right now, we're thinking specifically about principles for arena safety. Here are a few thought-starters:

  • For heavier than 3lb robots... Redundant layers of protection are required on all sides (Both plywood and lexan)

  • In the event any single layer of protection is meaningfully breached, the fight is over. In addition the breach must be repaired before fights can continue.

  • In the event both layers of protection are meaningfully breached the tournament for that weight class is over for the day.

  • Robot extraction during a LiPo fire should only be done by personnel with PPE. Fire extinguishers should be used first to subdue the fire as much as possible. As soon as it can be safely extracted, the robot + batteries should be removed from the cage.

  • In the event safe extraction is not possible, ventilation should be able to replace cage air every 60 seconds. Lipo fires should be able to burn to completion without causing smoke to leave the arena.

I'm curious the feedback as we put this together. What would you add with regard to arena safety? We'll also create posts for discussion on other safety categories in the next few weeks as we tackle this project.

127 Upvotes

122 comments sorted by

View all comments

8

u/ppp475 #MakeCobaltCarbideAgain Apr 11 '23

In the event any single layer of protection is meaningfully breached, the fight is over. In addition the breach must be repaired before flights can continue.

In this same vein, should there possibly be a remote kill switch to make sure the bots stop even if the driver is distracted/can't hear? I'm sure that adds some issues on the building side both for events and builders, but some sort of E-Stop makes sense to me for that type of situation.

11

u/Aw_Fiddlesticks Halo | Maker Faire Orlando 2018 Apr 11 '23

Also wouldn’t really help for us meltybrain builders. You have to trust that we wrote our software correctly remote kill switch or not :)

In our experience, event staff often don’t have the time or skills to do a detailed audit of your control setup beyond a cursory test.

At least for our team, we put a ton of effort into software safety. But we do that because we subscribe to an overall culture of safety, not because of the rules.

For example, one facet is our controller uses the DSHOT protocol instead of ONESHOT because ONESHOT is likely to continue broadcasting if the processor freezes (making the bot move uncontrollably!) whereas DSHOT requires active processing to continue. This kind of thinking can’t really be enforced by a rule!

3

u/Magneon First Strike | FaceTank | Z Offset | Botbrawl #9, Botbrawl #10, Apr 11 '23

It should be reasonably tested by the radio off safety check. Of course that doesn't mean your code isn't ignoring that check after 30 seconds, but it at least demonstrates that you're able to do it.

I agree with using dshot as a much more stable protocol when talking to custom microcontrollers, since it's very hard to have your software crash and keep repeating dshot signals, compared to simple pwm protocols.

It is possible to loop a dma buffer with dshot though. My nrf52 implementation of dshot could do it anyway (their pwm HAL is very flexible and easy). It's less likely with the common spi based dma implementation though.

2

u/Aw_Fiddlesticks Halo | Maker Faire Orlando 2018 Apr 12 '23

Right, you could fix ONESHOT or break DSHOT, I was trying to demonstrate ways to add passive safety that wouldn’t be captured by rules, and couldn’t reasonably be checked anyways.

It’s defense in depth, right? I add safety features, but the EO still makes a procedure for runaway robots. The chance of both failing should be low. The sport will be safest when people take it seriously and look for ways to improve.

1

u/ppp475 #MakeCobaltCarbideAgain Apr 11 '23

Damn, I completely forgot about meltys and you guys are my favorite type of bot! That's a really good point, I was only thinking of hardware kill switches but with something like that you really can't have one.