View Single Post
  #10   Spotlight this post!  
Unread 29-03-2013, 10:02
Greg McKaskle Greg McKaskle is offline
Registered User
FRC #2468 (Team NI & Appreciate)
 
Join Date: Apr 2008
Rookie Year: 2008
Location: Austin, TX
Posts: 4,750
Greg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond repute
Re: FMS Differences with motor safety?

The first log shows a number of vision errors at the very beginning, presumably the camera is not completed booting and in the timeout case, the image processing fails because the image isn't fully initialized.

About 38 seconds into the teleop period, the code doesn't crash, but it does start producing Safety errors every 100ms. I'm not as familiar with the C++ implementation of the safety system, so I can't tell if this would occur if the errors will be sent repeatedly if the motors are never updated. Based on the pattern of the CPU, the image processing thread was operating normally, but it appears that the thread that calls RobotDrive or Motor functions for drive may have crashed or hung or gone into through a conditional code path where it failed to ever update the motors.

Log 2 does contain an error message at 17 seconds into teleop indicating that a joystick disappeared or started returning errors. Typically this is due to being unplugged. Make sure the drivers know that if you plug in a joystick during a match, you must press F1 for it to be recognized. While driving the robot, it isn't possible to poll for joysticks automatically or this would interfere with driving.

Log 3 shows a similar stream of safety error messages, but this time starting at 28 seconds into teleop. Again, based on CPU pattern, it seems that vision is still running and processing images.

Log 4 indicates that vision wasn't used. Nothing interesting here.

I'm afraid there is nothing else in the logs to narrow what is causing the issues other than the time at which the error started. If the drivers or coach remember initiating a certain action on the robot -- for example, when they hit button 7 on the joystick, then I'd look into that code or do a test with vision enabled and go through all of the special modes trying to exercise all code paths.

As for the FMS interaction, the FMS whitepaper goes into more detail, but the FMS never directly communicates with the robot. Your robot has great comms the entirety of each match, I do not see any indication the robot was ever disabled except by the safety mechanism. Also, the tracing code, which produces one of the blue traces at the top of the Log file viewer indicates that the teleop packets were still being processed and wherever that trace call is in your code was still being called at 20ms intervals. You can zoom in and see that those traces are in fact many small dots, each indicating what packet was sent and which code traces were executed in response.

Greg McKaskle
Reply With Quote