FIRST Robotics Competition Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

I'm concerned about "Watchdog" errors

Last year we had random Watchdog errors during Autonomous mode.  These caused us to terminate our match.

We have reached a point in our development that we are starting to think about that again.

I created a FRC cRIO Robot Project.  The only change was setting our team number.

I did a build followed by a "Run as startup"

I started the Driver Station and the Dashboard programs on my laptop.

I set the Driver Station ready to do the "Practice"

I powered up the cRIO

After the cRIO was up and the dashboard was showing the target I started the "Practice"

The robot went into Autonomous Mode and the motors started to search for the target.  I pointed the camera at the target and the wheels stopped.

Either at this time, or at the end of Autonomous Mode, I noticed that the Driver Station displayed a Watchdog message.

Then the Practice went into Teleop mode and I moved the joystick to make the motors go until the match was over.

Below is a copy of the Diagnostice Messages from the Driver Station.

Will any of these terminate our match.

================================

Watchdog Expiration: System 8, User 3

Watchdog Expiration: System 8, User 2

Watchdog Expiration: System 7, User 2

ERROR <Code> 1026 occurred at Property Node in DriverStation.lvlib:Stop VI Asynchronous.vi->DriverStation.lvlib:Get Competition Mode.vi->Robot Main.vi

LabVIEW:  VI Reference is invalid.

Watchdog Expiration: System 6, User 2

Watchdog Expiration: System 5, User 2

Watchdog Expiration: System 5, User 1

Watchdog Expiration: System 4, User 1

Watchdog Expiration: System 3, User 1

Watchdog Expiration: System 2, User 1

Watchdog Expiration: System 1, User 1

ERROR <Code> -44003 occurred at Camera.lvlib:Issue HTTP Request with Authentication.vi>>Camera.lvlib:Issue Get.vi>>Camera.lvlib:Set Image Appearance Property.vi>>Camera.lvlib:Set Enum Appearance Property.vi>>Camera.lvlib:Set Image Size.vi>>Begin.vi>>Robot Main.vi

<time>11:14:41 02/05/2010

FRC:  Operation failed due to a communication failure with the camera.

ERROR <Code> -44003 occurred at Camera.lvlib:Issue HTTP Request with Authentication.vi>>Camera.lvlib:Issue Get.vi>>Camera.lvlib:Set Image Appearance Property.vi>>Camera.lvlib:Set Enum Appearance Property.vi>>Camera.lvlib:Set Image Size.vi>>Vision Processing.vi>>Robot Main.vi

<time>11:14:43 02/05/2010

FRC:  Operation failed due to a communication failure with the camera.

Modified Network Configuration: Set The requested operation requires elevation.

I/O unit not detected or not installed correctly.

0 Kudos
Message 1 of 10
(8,767 Views)

"Will any of these terminate our match."

Watchdogs just pause outputs - when fed again things resume.  Don't yet be concerend about System watchdogs.  We are working on an update to fix those.  It may be common to see User watchdogs at startup as things are synching up, but if you see them often while running it means you are not feeding them in your code often enough.

Here is one way to think about errors.  First realize that this year we are automatically returning errors for you.  That means last year teams probably had errors they never saw, so they never worried about them if things seem to work.  If you see a single error from code that loops, it may just be caused by startup synching issues and not a big deal.  If the error repeats many times, you should look into why.  Notice the error message gives you a path to the VI reporting the error.  Notice that your camera errors are due to communication.  "FRC:  Operation failed due to a communication failure with the camera."  I suspect these errors went away once the communications synched up.  Also, a short communication glitch can cause this type of error.

If you get a single error from code that does not loop, you may have a problem.  I suspect this error

"ERROR <Code> 1026 occurred at Property Node in DriverStation.lvlib:Stop VI Asynchronous.vi->DriverStation.lvlib:Get Competition Mode.vi->Robot Main.vi

LabVIEW:  VI Reference is invalid."

happened when Autonomous stopped and Teleop started.  An invalid reference typically means we are trying to call a property or method on a reference that no longer exists.  In this specific case I think we are trying to stop the Independent Autonomous VI that has already stopped (or doesn't exist).  Sometimes this is normal coding and we don't care about the error.  However, since we are now always showing you unhandled errors, we need to do a better job of handling errors we don't care about in our template code.  One last thing to note is that this number is positive - positive numbers are warnings, meaning they are less serious.  This means we (NI) should do a better job with our messages as well.

Realize my answer may not be exactly correct, but I hope it gives you some insight of how to look into errors for yourself.

Hope this sheds some light,

Doug Norman

National Instruments

0 Kudos
Message 2 of 10
(3,774 Views)

Thank you.  I have reviewed my code and"cleaned" up some things.

The only messages I get now are:

Watchdog Expiration: System 8, User 3
Watchdog Expiration: System 8, User 2
Watchdog Expiration: System 7, User 2
Watchdog Expiration: System 6, User 2
Watchdog Expiration: System 5, User 2
Watchdog Expiration: System 4, User 2
Watchdog Expiration: System 3, User 2
Watchdog Expiration: System 3, User 1
Watchdog Expiration: System 1, User 1

You mentioned that the message tells you where it happened in the code.

Can you explain to me how to read the above System #, User #

Thanks,

Mike

0 Kudos
Message 3 of 10
(3,774 Views)

That's the number of times the system and user watchdogs have triggered. Are you seeing motors cut out, or anything like that?

0 Kudos
Message 4 of 10
(3,774 Views)

There have been times when I hear the motors "stutter".

I am using a simulator system where I have small motors mounted on a board.  The control hardware is the same as in our robot.

I am running the Driver Station software on my development labtop computer.

I ran a "controlled" test where:

The Driver Station was up and running on my laptop.

I had it set to do the Practice operation and was watching the messages appear.

I Powered up the simulator and got the following camera errors until the Dashboard display showed the camera image.

ERROR <Code> -44003 occurred at Camera.lvlib:Issue HTTP Request with Authentication.vi>>Camera.lvlib:Read JPG.vi>>Camera.lvlib:Acquire Image.vi:1
<time>15:05:52 02/08/2010
FRC:  Operation failed due to a communication failure with the camera.
ERROR <Code> -44003 occurred at Camera.lvlib:Issue HTTP Request with Authentication.vi>>Camera.lvlib:Read JPG.vi>>Camera.lvlib:Acquire Image.vi:1
<time>15:05:48 02/08/2010
FRC:  Operation failed due to a communication failure with the camera.
ERROR <Code> -44003 occurred at Camera.lvlib:Issue HTTP Request with Authentication.vi>>Camera.lvlib:Read JPG.vi>>Camera.lvlib:Acquire Image.vi:1
<time>15:05:44 02/08/2010
FRC:  Operation failed due to a communication failure with the camera.

I cleared the errors and then started the Practice run.

There was a slight pause and then the "Communications & Robot Code" lights turned red.

Another pause and they turned green and the starting horn sounded.  BUT, the system was in "Autonomous Disabled" mode.

This happens some of the time, but not all of the time.

I clicked on the Practice run button again and Autonomous Mode started

There were two drive motors that started and were to run for 'n' feet.  They ran the whole time because I did not turn the encoder.

The following messages appeared.

The list is in reverse time order.

I have slipped in comments regarding the sequence of messages.

NO! WAIT!  I wasn't sure of exactly were in the match cycle these messages occurred.

So, I ran another test. And then another test.

AND, I found this pattern.

I start the Practice run in "Operation" mode on the Driver Station and quickly switch to the "Diagnostics" mode to see when the messages occur.

This is typically what I see:

Watchdog Expiration: System 19, User 2
Watchdog Expiration: System 17, User 2
Watchdog Expiration: System 16, User 2
Watchdog Expiration: System 15, User 2
Watchdog Expiration: System 14, User 2
Watchdog Expiration: System 12, User 2
Watchdog Expiration: System 11, User 2
Watchdog Expiration: System 10, User 2
Watchdog Expiration: System 8, User 2
Watchdog Expiration: System 7, User 2
Watchdog Expiration: System 6, User 2
Watchdog Expiration: System 4, User 2
Watchdog Expiration: System 3, User 2
Watchdog Expiration: System 2, User 2
Watchdog Expiration: System 2, User 1
Watchdog Expiration: System 1, User 1

BUT, if I just stay in the "Operation" mode until the match is over, this is what I see:

Watchdog Expiration: System 3, User 3

Watchdog Expiration: System 3, User 2

Watchdog Expiration: System 2, User 2

Watchdog Expiration: System 1, User 2

Watchdog Expiration: System 1, User 1

I did three consecutive runs staying in "Operation" mode.

They all gave the same SHORT sequence of messages.

I ran another test and switched to "Diagnostics" mode when the match started and I got the LONG list of messages.

And finally, I ran my last match and stayed in "Operation" mode and only got the short list of messages.

It appears that viewing the messages frfom my laptop while the match is running causes some of the messages.

MY QUESTION IS "Will any of these Watchdog errors cause our robot to "abort the match"?

0 Kudos
Message 5 of 10
(3,774 Views)

Watchdog errors will not abort a match, they will only pause your robot until the error is cleared.

0 Kudos
Message 6 of 10
(3,774 Views)

THANK YOU!

I have been able to reduce them to 1-3 during a "Practice" match.

I'm still curious as to how to find exactly which vi is causing the error.

0 Kudos
Message 7 of 10
(3,774 Views)

I am also seeing a large number of Watchdog errors and the robot is "stuttering" while driving.  We actually watched the relays continually blink on and off in time with the 'Watchdog not found' message.  I created a new project and the only change that was made was turning the Arcade drive into a Tank Drive.  The stuttering was still happening.  I see in the Teleop.vi that the watchdog is being fed before entering the case structure.  Would there be another place to look to see if I could feed the watchdog to eliminate the stuttering?

Any help would be appreciated.

0 Kudos
Message 8 of 10
(3,774 Views)

Have you installed the new Driver Station update? It says it fixes unnescessary system watchdog errors

0 Kudos
Message 9 of 10
(3,774 Views)

I have the new updates and will be installing them tonight.  Thanks for the heads up that there are new updates available.

I updated the cRio, driver station and Labview with the new updates and I am not seeing the watchdog problems anymore.

0 Kudos
Message 10 of 10
(3,774 Views)