|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools | Rate Thread | Display Modes |
|
#16
|
|||
|
|||
|
Re: Autonomous chooser not working when connected to the field
Quote:
Here's the link they were using but I think you did the static steps right https://wpilib.screenstepslive.com/s...g-at-the-event |
|
#17
|
||||
|
||||
|
Re: Autonomous chooser not working when connected to the field
I had this happen once. Windows 10 displays a message in the corner "your firewall is disabled", and if you click it then it seems that it will automatically re-enable it.
|
|
#18
|
||||
|
||||
|
Re: Autonomous chooser not working when connected to the field
Quote:
Quote:
Quote:
Quote:
Both teams had issues with connecting to the robot during their first events, but after switching all devices to static IPs (robot: 10.xx.xx.2, ds: 10.xx.xx.5), we had zero connection issues. |
|
#19
|
||||
|
||||
|
Re: Autonomous chooser not working when connected to the field
Quote:
The dropdowns in the stock dashboards have caused all sorts of headaches this year. |
|
#20
|
||||
|
||||
|
Re: Autonomous chooser not working when connected to the field
Quote:
No one on my team uses Python, for better or worse. We have plenty of kids who eventually use it during Cyber stuff, but for FRC stuff we stick to either Java or (eventually) Web. I don't want to get into a language debate - it's just what our team knows and does. I'll check out the links you provided though. Thanks for the correction on ntcore - some of my info is 2nd-hand since I'm not on the programming team. I took a look at a few things, but it'll take a bit more analysis to figure out where it puts the rate limitation in. If not, maybe next year we'll do something like Pete Lawrey's OpenHFT and then dump the results to the web server. |
|
#21
|
||||
|
||||
|
Re: Autonomous chooser not working when connected to the field
Quote:
Quote:
The nice thing about pynetworktables2js is that although underneath the hood it uses python, to use it to create a dashboard you really only need to know HTML/JS and how to run a python script. However, it sounds like it isn't really what you're looking for either, as you wouldn't be able to write anything to disk without writing some python code. |
|
#22
|
||||
|
||||
|
Re: Autonomous chooser not working when connected to the field
Quote:
|
|
#23
|
||||
|
||||
|
Re: Autonomous chooser not working when connected to the field
Very cool if you can help us solve this. It was a common way to execute a few different things, and write all of the data to disk on the driver's station.
Here are the streams of data through the architecture. Note - Node.js also splits off a MongoDB write of the data it receives:
I'm not sure if everything is pub/sub, or if some things just poll the node server for the 'latest' data when it is needed. I do know that they had all three of these working at the school and in the pits, but not on the field since the RoboRIO could never get to the Node server on the laptop. We had re-try logic in the RoboRIO, Node.js hardening for sudden stop/starts of connections, CORS, etc. We took the system through the flow of
I don't remember for sure if the exception on the RoboRIO side was "Connection Refused" or one of the other socket/network-related errors. I can ask though. FWIW, total network bandwidth using a 15hz update rate on telemetry and a 30fps rate on the camera (320x240) was about 3.5Mbps. |
|
#24
|
||||
|
||||
|
Re: Autonomous chooser not working when connected to the field
That sounds like a reasonable flow of operations... If everything was a static IP, that should work... I bet they're blocking outbound connections on 443. Did you try different ports instead of 443?
Also, I misread what you said earlier, I read "4k hz" instead of "4hz". You should be able to get at least 10hz out of ntcore, and 20hz out of pynetworktables. I haven't really benchmarked either of them recently, sounds like something someone could do. |
|
#25
|
||||
|
||||
|
Re: Autonomous chooser not working when connected to the field
We also had issues with SmartDashboard during our time at the MAR Bridgewater-Raritan event. Our SmartDashboard just would not connect to the field and the match had to be played without our autonomous. From what I remember it wasn't just us either.
We decided that we didn't want to rely on SmartDashboard, so we switched to a wheel selector (Don't actually know what is called, will find out tomorrow). We wired it to three DIO ports and using binary we select our auto. That way when we set up the robot we just move the wheel to the right number and don't have to worry about it. |
|
#26
|
||||
|
||||
|
Re: Autonomous chooser not working when connected to the field
Quote:
I added a benchmark script to the pynetworktables samples, it should be pretty trivial for someone to port it over to Java/C++ et al. In it's default configuration, I got around ~19hz running on localhost. I expect that my methodology isn't perfect, but that number is around what I would expect, and varying the write flush period also varied the latency. I would expect a similar test of ntcore in its default configuration to be around 9-10hz. This doesn't reflect an 'actual' performance difference between pynetworktables and ntcore, but rather just a different default value for the update rate (I chose 50ms, they use 100ms). |
|
#27
|
||||
|
||||
|
Re: Autonomous chooser not working when connected to the field
Quote:
Around this time last week someone on the programming team said they clocked Network Tables at 4hz - it matters at the moment since that's how vision sends parameters back to the robot. I'll examine how they benchmarked in more detail then. 10Hz is more palatable for post-match analysis, but in the shop I'd like to bump it higher so we can track some of the sensor outputs better. Thad, I'll look for the rate to remove it. Thanks for the tip! Last edited by JesseK : 10-04-2016 at 23:10. |
|
#28
|
|||
|
|||
|
Re: Autonomous chooser not working when connected to the field
Does the ntcore implementation have a flush command? This is a good way to keep a relatively low rate of transmission, but ensure that when you want lower latency, you can do so.
And just to confirm what was said earlier, there have always been different, but compatible network table implementations. Unless you are using the LV implementation, you do not need the LV runtime engine. The Java and C++ ones are now a common implementation. Greg McKaskle |
|
#29
|
||||
|
||||
|
Re: Autonomous chooser not working when connected to the field
Quote:
|
|
#30
|
||||
|
||||
|
Re: Autonomous chooser not working when connected to the field
We are a labview team, and years ago we had issues with making selections on the dashboard, make it to the bot, for auto selections. The fix we implemented back then, and still use today, is that we use joysticks to make the selections, and the dashboard only displays the value. We put the code for the auto select in the disabled state. This forces communication path to the bot be working, for the selection to work.
Like I said we are Labview, but thought that this maybe a simple workaround to make sure the robot is going to run the right code. |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|