UBC-Thunderbots / Software

Robot Soccer Playing AI
http://www.ubcthunderbots.ca
GNU Lesser General Public License v3.0
55 stars 99 forks source link

Robot Automatic Subtitute FSM #3031

Open jameschuang2002 opened 11 months ago

jameschuang2002 commented 11 months ago

Description of the task

Note: We might want to separate this ticket into multiple tickets. One for each faulty behaviour and another one for the FSM design.

There should also be a function that reads from all the fault detection functions and return whether a substitute is needed. The FSM will only be implemented when this function returns true. The designer of the first fault detection function should implement this function.

Inspired by Tiger, we would like to implement a auto-substituting mechanism when detecting scenarios that the robots were displaying faulting behaviours. The FSM, when detect an error, will move the robot to the sidelines during the game so the team could place another robot into the game.

Faulty Behaviours Includes: (Please feel free to add to this list of faulty behaviours)

  1. The robot believes it is dribbling the ball when the ball is actually somewhere else

Acceptance criteria

Please feel free to change it if relevant.

FSM Requirements

Faulty Detection Function Requirements

Blocked By

3041

itsarune commented 11 months ago
  1. If the motor status messages have faults in them

Also we should be able to enable/disable this feature through dynamic parameters in case we don't have spare robots.

itsarune commented 11 months ago

Right now, as I think about this, one challenging part is that we don't have a way to fix certain robots to tactic ids

So we can have a robot that we want to substitute out but can't guarantee the assignment algorithm will do that.

Maybe the first task for this issue is to start supporting the ability to fix robot ids to tactics.