Suicide Autonomous

So I had an idea for an autonomous- what if you just programmed your robot to go park right in front of somebody’s goal zone, right by the stationary goal? It would be super easy to write and it would have a decent chance of interfering with most autonomous runs I’ve seen.

Actually, completely putting myself out there. My code had an error inside of it which forced the robot to be permanently trapped in a while loop and thus a robot that blocked our robot did not let our robot kill that while loop we were stuck in. Therefore, they made our robot useless and we lost in the semifinals for that competition.

It’d be a very good idea though if your robot can not do anything else, because

  1. It could potentially tip them over or cause detrimental effects to their robot that they couldn’t fix without physical contact.
  2. Help your partner to achieve their autonomous while you block the opponent’s.

If we were to build a push-bot that only scored mobile goals and the alliance had a similar autonomous, we’d run a program to do exactly this and block the opponent’s autonomous.

Yeah. Were going to write an offensive program later, but we don’t think we have time to write one right now, so I’m going to use this as our fallback.

Isn’t it illegal to purposefully attempt to tip or damage an opponents robot, even in autonomous? Because you are still held responsible for your robot’s actions during autonomous.
If your robot accidentally blocks or tips the opposing robot over in autonomous, though, I guess that would be okay because it is an expected part of gameplay.

What will you do when autonomous ends and they push you to touch the 10 point zone pole?

Okay, well in the competition it would be the intent to stop them from scoring; if perhaps the robot tips over, that wouldn’t be our fault because we were unaware that their robot was in such a position to tip.

The rule states; intentional damage to another robot, not accidental. Autonomous would be accidental.

I’m curious, was this because your robot kept trying to drive until it moved a certain distance, and it was never able to move that distance, so it kept going and burnt out? This is why I have a watchdog timer that kills the autonomous routine if anything takes longer than normal to happen, but hindsight is 20/20 and I’ve definitely run into that situation before (pun intended).

Haha, very funny! Yeah, I’m using tasks actually so the task was never killed and never killed when the robot was disabled; therefore it kept running and running even when the robot re-entered operator control; I’ve fixed it now though.

I better make sure to check for that kind of thing with a competition switch. My brother actually made that automatic competition switch on here a little while ago, that does 0:15 autonomous and then 1:45 driver control, so I can use the one he gave me to simulate actual tournament control. So basically it was like I was saying, but instead of the robot trying to keep going and burning out, the task just did not get deleted? Yikes!

And you fixed this by deleting the task as soon as driver control started, or while disabled? I guess I should put my code on Github and ask for a once-over from someone from the PROS team, so I can get a definitive okay on the tasks being deleted before crazy stuff happens at a tournament.

Nah, I just added something modifying the natural state of a while loop, so that if the robot wasn’t enabled (such as if the robot was disabled) all the while loops would be killed, and then the tasks would eventually be killed somehow.

I need to rewrite the code regardless to stop this from happening via a tasking method, probably killing tasks until only required tasks are required.

I think this is roughly what I have (while the robot is disabled, all the tasks are killed).

It’s illegal to purposefully cause someone to break the rules, so they’ll get DQed instead of me.

The original idea was to use a simple while(true){all drive motors on} program for partners that don’t have an autonomous. If we use it on our bot, though, I’m going to have it just park so we don’t risk tipping someone or running into their 10 point zone pipe, we just utterly annihilate their autonomous.