|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
|||
|
|||
|
Re: Getting the Network Tables to work with an off loaded vision system
I am using NI Vision right now. It is working great. I am able to run 640 x 480 at around 25 FPS with 10% compression. I haven't started trying to make the code more efficient yet but I am sure that I can squeak a few more frames per second out of it. I am hoping to have it running this weekend.
I have the vision system on and have the exe made. I just have not had time to put it all together yet. I am keeping my fingers crossed. |
|
#2
|
|||
|
|||
|
Re: Getting the Network Tables to work with an off loaded vision system
I'm not sure what strange network tricks you are referring to. The configuration of the router and the field is pretty well documented, and if you have questions, someone may just answer them. Network Tables runs over TCP. Modifying it to run without TCP would be a big task. If you want to use I2C or another communication method, just pack or encode the data, transmit, and reverse on the other side. It isn't hard either, but I wouldn't advise mixing network tables and anything that doesn't support TCP.
Greg McKaskle |
|
#3
|
|||
|
|||
|
Re: Getting the Network Tables to work with an off loaded vision system
Hi Greg,
I wasn't planning to do anything to the NT server stuff. I was simply thinking that I could get a little more efficiency in the video processing and the camera coms. I am sure there is somewhere I can find something. Maybe not but I am going to look and see. I want this to be as fast as possible. If nothing else I get a better understanding of how it all work so I better understand it for following years. Tim |
|
#4
|
|||
|
|||
|
Re: Getting the Network Tables to work with an off loaded vision system
My response was mostly to the other post. If you want to reduce latency when using network tables, you may want to consider a flush call immediately after you post time-sensitive stuff. You can also change the update rate of the client and server, but as you set it smaller, you do increase network traffic and CPU load, so watch for those side-effects if you make those changes.
Greg McKaskle |
|
#5
|
|||
|
|||
|
Re: Getting the Network Tables to work with an off loaded vision system
Hi Greg,
After a few hours of trying we got the Kangaroo to talk to the RoboRio. What do I need to do to have the Kangaroo set up as it's own client? I used the Dashboard name for the client on the Kangaroo and it worked. When I switched it to the Kangraoo name I did not get data. I am guessing that I have to set up the Kangaroo as its own client for this not to happen. What are that basic steps to do this? One other thing that I am not liking is that we talk as long at the RoboRio is connected than we get really long delays when the RoboRio is not connected. This interferes with the vision processing. I would like to have this so if we are not talking to the RoboRio that we do not cause problems with the vision loops. I can build my own client using the vi's that are provided but if there is something simple that I am not doing I would prefer to play in FIRST's world. I did chase down where we are having the problem and I am sure that I can program around the problem I'm just wondering if I am not doing something correctly and that is why I am having the problem in the first place. Thanks for any advice, Tim |
|
#6
|
|||
|
|||
|
Re: Getting the Network Tables to work with an off loaded vision system
The client name is just an identifier and is just for documenting which client is which. It shouldn't have any impact on a connection. If not provided, the IP address is formatted and used for the name.
The important parameter is the server IP. You either need to "know" this or have mDNS be able to find it using the name. You may want to install the nimdnsResponder or another mdns tool to help with this. I'm not sure if StrToIP node in LV will work for this situation. The server is the robot, by the way, and if that isn't present, the clients do not actually communicate to one another. They go into unsynchronized mode and should run locally at full speed. I'm not sure what is causing your vision code to run more slowly. Can you explain it? Greg McKaskle |
|
#7
|
|||
|
|||
|
Re: Getting the Network Tables to work with an off loaded vision system
Come to find out I only see the overload problem when the driver station is running and not connected to the robot. I was testing on a different computer so it did not have the correct team number in it for the RoboRio. It seemed that the driver station must have been blasting the RoboRio with data and slowing down all of the connections.. As sson as I closed the driver station I had vision running normally with or without the RoboRio.
|
|
#8
|
|||
|
|||
|
Re: Getting the Network Tables to work with an off loaded vision system
If the DS isn't connected to the roboRIO, it isn't directly basting it because it doesn't know who to blast. But it is making mDNS requests to find it every two seconds, and it may be pinging if you are on the diagnostic tab.
Greg McKaskle |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|