|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
||||
|
||||
|
Watchdog!?!?!?!
Ok, so about 3-4 times during the match at Traverse City, MI we got this error on the driver station computer (the little blue box) Usually is says Disabled or Enabled, but those few times it said WATCHDOG. WHAT THE HECK IS WATCHDOG!?!?!?! We had to sit there the whole match til we learned how to do the remote reset from the computer during the match the last time it happened. So anyone have ANY info on this? I have no idea what it is, our programer doesnt either. help please! thanks
|
|
#2
|
||||
|
||||
|
Re: Watchdog!?!?!?!
I am not an expert on the watchdog, but what I do know is that you have to feed it, and feed it constantly. If the watchdog is not fed, the system is interrupted and you can't do anything. This is meant to observe a never-ending while loop and "hangs"
I am probably half wrong, so correct me. =] This is my learning experience, too. |
|
#3
|
|||
|
|||
|
Re: Watchdog!?!?!?!
Quote:
As keehan indicated, The watchdog is a safety feature that fail-safes the robot by shutting down all actuators when it isn't happy. Keep it happy by feeding it at regular intervals. This protects you when code hangs. One common watchdog source is putting slow camera code in your fast drive code. |
|
#4
|
||||
|
||||
|
Re: Watchdog!?!?!?!
I have seen a similar issue on Team 2022's robot where their auton would cause the watchdog message. This was caused by their labview implemenation to tight-loop which prevented the watchdog from being fed. Basically your program should "feed" the watchdog periodically so that if your program does something bad and "hangs" it will fail to feed the watchdog thus causing a timeout which will halt your motors. Are you using labview or windriver?
|
|
#5
|
|||||
|
|||||
|
Re: Watchdog!?!?!?!
Quote:
|
|
#6
|
|||||
|
|||||
|
Re: Watchdog!?!?!?!
Using printf (in C++ or any other print or file writing call) too frequently also causes the watchdog not to be fed in time. I suggest that any downloaded competition code have only a few infrequent print statements if any
|
|
#7
|
|||
|
|||
|
Re: Watchdog!?!?!?!
I think the Watchdog has to be fed about every 100 ms, otherwise it will timeout.
|
|
#8
|
||||
|
||||
|
Re: Watchdog!?!?!?!
ok just to be proactive. ( I have not run in to this problem with our own robot or any other that Ive messed with, but then Murphy's law n such.)
if you take out all the delay and feeds in auto mode. and replace them with your own way of delaying, AND place a parallel 100ms feed loop, everything will be OK? |
|
#9
|
|||
|
|||
|
Re: Watchdog!?!?!?!
Quote:
|
|
#10
|
||||
|
||||
|
Re: Watchdog!?!?!?!
Regarding our robot, apparently we do have some camera code in the program even though we aren't using the camera. We had previously planned to use it, and our programmer had made some progress with tracking software. We later decided to focus on defensive maneuvers and enter teleoperation with a loaded hopper.
Any code for driving the motors (or servos?) is disabled, but apparently the code is still trying to collect images from the camera. We will remove all of that. I don't know if it is (was) in the same loop as the drive code. We will also verify all the device setup (IP addressing, etc.). To professorX: To reset the cRio from the DS, simultaneously press all three white buttons on the DS and hold for a second or so. A new menu will come up and you can "select" reset. It takes about 20 seconds, but thats a lot better than sitting idle for the entire match. I recommend you test/practice in the pit on tether. Thanks to all for your help on this. |
|
#11
|
||||
|
||||
|
Re: Watchdog!?!?!?!
Yes, thanks to everyone for the help. Hopefully we can resolve our issues with your support. Thanks again to everyone.
|
|
#12
|
||||
|
||||
|
Re: Watchdog!?!?!?!
I think the driver station should be updated so that it reads either
"System Watch Dog" or "User Watch Dog" that would help teams who are not sure which is active. I also wish they would change the DS so it says "Status: No Code" instead of "Battery: No Code". Because people keep asking, "Why does the battery need code?" |
|
#13
|
|||
|
|||
|
Re: Watchdog!?!?!?!
Quote:
|
|
#14
|
|||
|
|||
|
Re: Watchdog!?!?!?!
Quote:
|
|
#15
|
|||||
|
|||||
|
Re: Watchdog!?!?!?!
A few notes on some of the things that have appeared in this thread:
1. I recommend disabling the watchdog entirely. This should be done by simply entering GetWatchdog.SetEnabled(false), NOT by "killing" the watchdog. That causes even more problems. I found this feature to be more of a pain than anything. 2. We have discovered that, if anything goes wrong in autonomous regarding code issues, you will be unable to retain control during teleop unless you reset, so resetting the system from the DS is critical. As such, we went through the process with our drive team. I highly recommend all programmers make sure that at least one driver knows how to do it. Wayne TenBrink posted instructions earlier on how that's done. |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| WatchDog Timeout | popo308 | Programming | 3 | 02-22-2009 10:04 PM |
| Watchdog | darty | NI LabVIEW | 8 | 02-16-2009 09:11 AM |
| System: Watchdog problems | dboisvert | C/C++ | 7 | 02-16-2009 02:36 AM |
| System: Watchdog problems | dboisvert | C/C++ | 1 | 02-15-2009 08:12 PM |
| Watchdog | Barchechath | Programming | 6 | 02-10-2007 08:05 PM |