Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   General Forum (http://www.chiefdelphi.com/forums/forumdisplay.php?f=16)
-   -   Robots sharing information (http://www.chiefdelphi.com/forums/showthread.php?t=131032)

dave1027 05-11-2014 09:16

Robots sharing information
 
So during competition the robots and driverstations for each team are segregated by individual vlans corresponding to the team number. Is it possible for cross VLAN communication to occur? I an not a network engineer but i work with equipment on several VLANs and as long as there is no firewall between them, i can access information on the other VLANs as long as i know the IP i am looking for.

Specifically: If i have an IMU with its own controller and network interface at say IP 10.10.27.8, connected to my wireless bridge, could a member of team 256 (whos IP is something like 10.02.56.1) go to that IP and determine my location on the field? If so, all six robots could know the position of the other robots on the field.

Or could i go to team 256's onboard IP camera and pull images?

If there is a firewall between the VLANs, what do you think is the possibility of the Field Technical Authorities opening specific IP tunnels to allow this? As long as the IPs do not conflict with the communication path between the roboRIO, Driverstation, and field i would not think it is a problem.

Monochron 05-11-2014 09:26

Re: Robots sharing information
 
I was wondering about this a while ago and I don't even think you would need to know the IP of partner robots. Your protocol could start off with broadcast messages and each robot could start an election process or something similar to select a master. Unless I am missing the limitations of how the VLANs are setup it sounds like a really interesting case study for students to get some ad-hoc network programming done.

Ideally someone could put out a single API that teams could hook into to establish communications. Then sending could be as simple as calling the API and letting it take care of the networking.

Jon Stratis 05-11-2014 09:44

Re: Robots sharing information
 
Check out the FMS whitepaper:
http://www.usfirst.org/sites/default...Paper_RevA.pdf

It seems to indicate that communication between VLANs is not possible, although it doesn't go into sufficient technical detail to explain why.

Quote:

The FRC competition field is configured such that each team has its own virtual local area network (VLAN) within which all data is passed. The characteristics of a VLAN ensure that the command packets from one team’s DS do not cause a response on another team’s robot. These VLANs exist on both the wired and wireless side of the playing field’s network; this is why for example, it’s necessary for a team in Blue Player Station #1 to connect their DS into the corresponding cable for that station. On the wireless side of the network, the VLANs are configured in the field access point by broadcasting an individual network (SSID) for each of the six teams on the field, each with its own encryption passkey. These VLANs are configured prior to the start of each match so that only the six teams assigned in FMS may operate on the field.

techhelpbb 05-11-2014 10:02

Re: Robots sharing information
 
Let me propose something else to achieve this result...

In previous years I asked in the official questions if a team was allowed to place a light source in the driver's station area anywhere for their alliance. In other words...if you are in 1,2 or 3...I asked if we could put say a flashlight in our other alliance member's windows. The answer was yes at the time as long as they agree and it does not require a power source or extra interconnecting cables.

So that would sort of indicate that there is a chance that FIRST would allow you to send data between robots or driver's stations using light. Maybe by modulating the low power laser we have in the past been allowed as well.

There are lots of ways to send data using light: modulation and encoding for example. You could take a picture of a QR code: there's a bunch of bytes and if you do that over and over there's a lot of bytes. You could watch an LED toggle between ON/OFF or change color. You could AM modulate a laser. You could use IrDA transceivers.

You could potentially exploit the fact that some cell phones have a camera that faces the user.
You could potentially use NFC.

So this is solvable without exploiting the field.
There is a way to actually communicate across the VLANs but it is a hack and very ungracious to your competitors.
So please - do not put yourselves or your team in the position to get in trouble with FIRST.

FrankJ 05-11-2014 13:54

Re: Robots sharing information
 
The Crios are on a different subnet from everything else. You would not be able to easily talk to other than your own even without the VLAN present. The competition FMS uses smart switches so DS computer only routes to the FMS computer & their robot. Without the smart switches the Driver Stations can see & talk to each other via ethernet.

Tungrus 05-11-2014 14:01

Re: Robots sharing information
 
FMS is secured, external access is not possible (as far as I know). Robot to Robot communication sounds interesting and great potential, however I am concerned with other robots taking up my bandwidth and other resources or the worst opponent rogue bot making our robot dance to their tune!

scca229 05-11-2014 14:26

Re: Robots sharing information
 
Quote:

Originally Posted by dave1027 (Post 1407417)
So during competition the robots and driverstations for each team are segregated by individual vlans corresponding to the team number. Is it possible for cross VLAN communication to occur? I an not a network engineer but i work with equipment on several VLANs and as long as there is no firewall between them, i can access information on the other VLANs as long as i know the IP i am looking for.

Specifically: If i have an IMU with its own controller and network interface at say IP 10.10.27.8, connected to my wireless bridge, could a member of team 256 (whos IP is something like 10.02.56.1) go to that IP and determine my location on the field? If so, all six robots could know the position of the other robots on the field.

Or could i go to team 256's onboard IP camera and pull images?

If there is a firewall between the VLANs, what do you think is the possibility of the Field Technical Authorities opening specific IP tunnels to allow this? As long as the IPs do not conflict with the communication path between the roboRIO, Driverstation, and field i would not think it is a problem.

This would only work if routing is allowed between the VLANs on the router that the switch is connected to which houses the VLAN subnets. As far as I know from seeing the router config during a field troubleshooting session 2 years ago, that isn't the case.

Jared 05-11-2014 14:49

Re: Robots sharing information
 
It's not possible with the current FMS setup.

The only device that can communicate with your robot is the laptop plugged into the correct slot. Even the enable/disable state and robot stats (battery voltage, dropped packets...) are sent through your driver station laptop. No other robots or laptops can communicate with the robot.

It is also not possible to get driver station laptops to communicate with each other.

techhelpbb 05-11-2014 14:51

Re: Robots sharing information
 
Quote:

Originally Posted by Jared (Post 1407467)
It is also not possible to get driver station laptops to communicate with each other.

Through the field network you mean.

http://www.chiefdelphi.com/forums/sh...21&postcount=4

Of course to do what I proposed above you should verify by asking in the official Q&A after kick off.
There is no hard and fast rule I have seen that would prevent inter-team electronic communication as long as it honors the field requirements and does not present a safety hazard.

Jared 05-11-2014 15:04

Re: Robots sharing information
 
Quote:

Originally Posted by techhelpbb (Post 1407468)
Through the field network you mean.

http://www.chiefdelphi.com/forums/sh...21&postcount=4

Of course to do what I proposed above you should verify by asking in the official Q&A after kick off.
There is no hard and fast rule I have seen that would prevent inter-team electronic communication as long as it honors the field requirements and does not present a safety hazard.

Fair point. I saw a cool electronics demo where the audio output of a ipod was amplified to drive a small laser pointer. This laser pointer shined onto a photodiode, which was used to drive a speaker. It worked very well over a distance of about 10 feet.

techhelpbb 05-11-2014 15:08

Re: Robots sharing information
 
Quote:

Originally Posted by Jared (Post 1407469)
Fair point.

For a few years I've been joking with Team 11 when we split into Team 11/193 that if we split again we can own a whole side of the field.

Then integrate light based communications into all 3 robots and make them electronically cooperative. If it wasn't for some of the rules maybe make them join into a bigger robot after the match started.

The trick is not really finding a way to communicate in a way FIRST might approve and may not even realize you have been doing. The trick is getting everyone involved on the same page to leverage it. Any team with a camera and a light source right now could strobe that light source and read that with the camera off the retro-reflective tape allowing the robots to communicate. FIRST already approves the cameras and the light sources. So really what can they do about this in the absence of a new rule?

You could actually code this at the competition and probably wire it up if you can get all the people involved to cooperate.

RyanShoff 05-11-2014 15:21

Re: Robots sharing information
 
What rules would prevent adding a second ethernet port on the driverstation laptops (usb dongle) and setting up a private alliance network?

techhelpbb 05-11-2014 15:49

Re: Robots sharing information
 
Quote:

Originally Posted by RyanShoff (Post 1407477)
What rules would prevent adding a second ethernet port on the driverstation laptops (usb dongle) and setting up a private alliance network?

I would ask in the official Q&A.

The larger issues I see is that such a device would appear in your local network routing table. This could cause you some grief if your default route goes to the wrong place (though the field should see that as a lost connection to your driver's station).

This would also result in a wire not related to the field going from one or more of the teams to others. That might be considered an issue but that is not for me to say.

Alan Anderson 05-11-2014 15:50

Re: Robots sharing information
 
Quote:

Originally Posted by techhelpbb (Post 1407470)
Any team with a camera and a light source right now could strobe that light source and read that with the camera off the retro-reflective tape allowing the robots to communicate. FIRST already approves the cameras and the light sources. So really what can they do about this in the absence of a new rule?

First, I don't see how using retroreflective tape would do anything special to allow communication. You could blink your light at the tape and see that you did it, but other robots wouldn't notice anything. They'd have to be looking at your light directly.

Second, the existing rules already disallow active robot-to-robot communication:

Quote:

Originally Posted by <R55>
One (1) D-Link Wireless Bridge (P/N: DAP-1522), hardware revision B, is the only permitted device for communicating to and from the ROBOT during the MATCH.

They also prohibit any signalling between operator consoles:

Quote:

Originally Posted by <R95>
Other than the system provided by the ARENA, no other form of wireless communications shall be used to communicate to, from, or within the OPERATOR CONSOLE.

However, <R95> was judged not to apply to waving at cameras, so the blinking light option might still be viable there.

cgmv123 05-11-2014 15:51

Re: Robots sharing information
 
Reminder that 2014 rules are not 2015 rules and the FMS is undergoing revisions for the new control system.

Quote:

Originally Posted by RyanShoff (Post 1407477)
What rules would prevent adding a second ethernet port on the driverstation laptops (usb dongle) and setting up a private alliance network?

T22Ei says any special equipment can't connect or attach to the OPERATOR CONSOLE(s). The laptop is part of the operator console, but I'd have a hard time believing cabling that links multiple consoles is.

R94 could also come into play, since the cables would extend beyond the 60" x 14" footprint and aren't worn/held by drivers.

techhelpbb 05-11-2014 15:57

Re: Robots sharing information
 
Quote:

Originally Posted by Alan Anderson (Post 1407489)
First, I don't see how using retroreflective tape would do anything special to allow communication. You could blink your light at the tape and see that you did it, but other robots wouldn't notice anything. They'd have to be looking at your light directly.

Line of sight or reflected line of sight.
It's just a bank shot and the focus of the goals is usually where the tape is.
Cooperative targeting.

Even without the retro-reflective tape a laser spot in a predictable spot could send a signal other robots, drivers or driver's stations could collect (speaking practically - not saying the rules allow that).

Quote:

Second, the existing rules already disallow active robot-to-robot communication:
You mean other than pushing each other out of the way, assisting a partner via contact or tossing a game element cooperatively?
FIRST has a lot of full contact robot to robot communications going on every match.
We have sensors that could detect objects on the field that the robot might interact with and with that information one could determine the proximity of other robots which would communicate position information between robots.
There is no rule I see that says that we can't build a sensor package that locates other robots or react to that information.

If this rule applies then this is a poorly enforced rule.

Also between the robot and the driver's station there's the FIRST supplied RSL light.
That's a visual indicator that can instruct the driver's to change the state of their driver's station.
There have also been several visual examples over the years of teams visually signaling their operators from the robot both to the field (in the form of a spot light) and indicators.

So this is also questionably enforced.

Quote:

They also prohibit any signalling between operator consoles:

However, <R95> was judged not to apply to waving at cameras, so the blinking light option might still be viable there.
I will look up later where the official Q/A question I asked previously is.
Basically I wanted to put lights in the driver's station window that the robot could visually lock onto to locate itself on the field. It was effectively one time passive communication and these lights could have been seen by all the robots on the field looking at that end.

Obviously visual targets like this are plentiful on the game fields but I liked the idea of simply controlling the target ourselves. This ends up being communication between control systems if 2 or more teams choose to use it. The robots will react and the information to control the robots will come from each driver's station indirectly.

Quote:

Originally Posted by cgmv123 (Post 1407490)
T22Ei says any special equipment can't connect or attach to the OPERATOR CONSOLE(s). The laptop is part of the operator console, but I'd have a hard time believing cabling that links multiple consoles is.

Perhaps but there have been several boards floating around that could be connected to the driver's station.
Though I have never actually done this so maybe there is a rule against it somewhere?


If someone is really serious about using this they really should propose it and ask in the official Q/A.
By the time that can happen the game will be set, the rules will be there and the consequences will be more clear.

FrankJ 05-11-2014 16:20

Re: Robots sharing information
 
The rules say the FMS ethernet cord most connect directly to the driver station computer. (IE not via a team supplied switch) The robot enable commands most originate from the approved driver station software. Other than that, what you can physically attach to the driver station is pretty open as long as it doesn't violate other robot rules. The cypress board is an example of a board connecting to the driver station.

techhelpbb 05-11-2014 16:29

Re: Robots sharing information
 
Quote:

Originally Posted by FrankJ (Post 1407493)
The rules say the FMS ethernet cord most connect directly to the driver station computer. (IE not via a team supplied switch) The robot enable commands most originate from the approved driver station software. Other than that, what you can physically attach to the driver station is pretty open as long as it doesn't violate other robot rules. The cypress board is an example of a board connecting to the driver station.

So then I guess the question is why can't one Cypress board blink an LED and the other monitor that LED through the barrier with a photo-transistor? Again FIRST could cry foul over this but why? It leads to cooperation? If it is a safety concern I would like to understand that concern. Right now teams can easily communicate themselves within hearing distance of those driver's stations. We can't really stop them from verbalizing to each other.

Am trying to figure out when this question about using lights in the driver's station was answered by FIRST.
Anybody have the 2011 Q&A? The link in the archive seems to be broken.
I have e-mails from 2011 and 2012 pondering this so somewhere in that range.

dave1027 05-11-2014 20:57

Re: Robots sharing information
 
A side from the vague reference to rules that disallow robot to robot communication, does anyone know the actual rule that does not allow this? I am pretty good with rules and regs and do not remember it specifically being against the rules. Infact in the spirit of co-opertition I would think this would be encouraged.

I am proposing an open hardware/software solution for a standardized protocol for sharing information between robots,

While light based applications could technically function the bad part is that they require line of sight to work, the nice thing about the field based network is that it already exists and would require very little effort to make it work.

techhelpbb 05-11-2014 21:18

Re: Robots sharing information
 
Quote:

Originally Posted by dave1027 (Post 1407532)
While light based applications could technically function the bad part is that they require line of sight to work, the nice thing about the field based network is that it already exists and would require very little effort to make it work.

Personally I am of the opinion that the field network is already stressed to the max by multiple teams using TCP based real time video back to the driver's stations.

These TCP flows can be so large that the video actually starves the UDP FMS packets to the robots and can often end up with your robot disabled and your control performance compromised. These show as missing packets on the field display and in the driver's station DS logs. FIRST made a serious investment in load balancing for the fields to keep this problem bottled up.

I would be concerned that opening the door to bi-directional inter-team communication on a network that can be so heavily saturated could lead to headaches where one team could inadvertently swamp their own alliance.

In this regard reducing that protection might not improve things for your alliance.

The other solutions (though line of sight) at least move this extra load off the field making the proof of concept a little less likely to result in unpleasant surprises. So in this regard I think the amount of effort for FIRST to actually QA this on their field network is way bigger than anyone realizes.

This also, in my mind, falls back into the idea that such communications should be simple and short lived.
The alternatives to the field are slower and will encourage brevity and simplicity.
Why send full video to your alliance peers when you can send messages like 'ready to shoot'?
TCP/IP is too often used like a hammer and every communications problem becomes a vastly more complicated nail.
(Ironic I wrote this because I have been writing Ruby HTTP functions all day that can do Windows Authentication without using the existing work which tends to mask exceptions I need to see for security reasons. So I make this post and then get back to my POST / HTTP/1.1).

Chief Hedgehog 06-11-2014 00:34

Re: Robots sharing information
 
Quote:

Originally Posted by dave1027 (Post 1407417)
So during competition the robots and driverstations for each team are segregated by individual vlans corresponding to the team number. Is it possible for cross VLAN communication to occur? I an not a network engineer but i work with equipment on several VLANs and as long as there is no firewall between them, i can access information on the other VLANs as long as i know the IP i am looking for.

Specifically: If i have an IMU with its own controller and network interface at say IP 10.10.27.8, connected to my wireless bridge, could a member of team 256 (whos IP is something like 10.02.56.1) go to that IP and determine my location on the field? If so, all six robots could know the position of the other robots on the field.

Or could i go to team 256's onboard IP camera and pull images?

If there is a firewall between the VLANs, what do you think is the possibility of the Field Technical Authorities opening specific IP tunnels to allow this? As long as the IPs do not conflict with the communication path between the roboRIO, Driverstation, and field i would not think it is a problem.

Oh goodness - what a blessing that would be! Or a curse! However, the way I see it working for our current 2014 robot it would allow the driver to abandon the driver functions in order to allow for the most optimal truss pass. And for our 2013 robot it could place us in the most optimal position for interfering with the opponent's FCS or optimal cycler.

techhelpbb 06-11-2014 03:54

Re: Robots sharing information
 
Been thinking about this some more...

When it comes to the idea of sharing video between teams which is less complicated?

1. Sharing or worse duplicating the video over the network to the other teams.
2. Offering them to look at your display of that video?

Obviously 2 is far less complicated!

If FIRST really wanted to allow this all they would have to do is allow teams to put an extra monitor on their driver's station which the other alliance members could see. Or they could let users transfer their images to Android devices as mass storage over USB from their driver's station and simply run a slideshow against that storage to the display in the same manner. Put that up against the barrier and the team immediately next to you can see your video with no field network load. Just some additional COTS device and some cables.

Also it occurs to me that when I helped propose an alternative to the cRIO we suggested that we send the FMS packets down a separate slower lower frequency radio link and let the teams use any other WiFi however they like. This would of allowed teams to share as they like as WiFi would be completely irrelevant to the FIRST field operations and it would dramatically remove the spectrum competition for the radio. Course it also would have made it the teams headache to deal with the consequences if it went terribly wrong or was interfered with.

I am personally of the opinion that the field's use of WiFi in this manner is actually more annoying to the people that want to use WiFi and TCP/IP for things like video and sharing than if the field only sent the FMS packets on a lower frequency. It puts FIRST in the position of stifling innovation to protect the field operations for business reasons. It also also gives the students trying to use TCP/IP less opportunity to be exposed to the entire operational aspect because they simply can't control what the current fields impose on them. What the current field does now is not truly analogous to real time video over most of the Internet so that is not a salvageable counterposition.

Greg McKaskle 06-11-2014 09:01

Re: Robots sharing information
 
2 Attachment(s)
I attend a good number of FIRST events, and I have a few tools that I use to look at the wifi spectrum. I've attached a few screenshots from Michigan State Champs last year.

The first is a bit fuzzy, but shows that on the campus, there were lots of other access points. Venues differ ALOT, and some are wifi-crowded. The field doesn't show up because it doesn't broadcast its SSIDs.

The second photo is the wifi usage on the channel(s) that the field was using. It is shown three ways. The lower one is total packets per second for each 100ms period. The middle one shows bytes transmitted per second. The top shows airtime being used, and is on top because this is the best indication of how much more you can transmit before you hit the ceiling.

The stacked colored bands are the traffic caused by each robot, and the external stuff is gray. There is a white line plotted over the rest that is the retransmissions.

To summarize what this says ... The robots in these matches were typically using 10% of the wifi spectrum. The spikes due to a radio momentarily shifting to slower speeds caused a momentary spike to 25%. If this had hit the ceiling and caused other radios to slow, it would have been a Xmas tree event. I logged the entire weekend and never saw a tree.

Another factoid? There were 1217 unique MAC addresses that showed up on the 5GHz wifi channel on Saturday -- a few of those are even robots. But most of those devices are simply looking to see what wifi networks are available. They build the list and go dormant again.

I have never been at an event where wifi was stressed to its limits. I have heard stories, and I believe it has happened. I do not believe it is common, and FIRST is diligent at using the wifi that is available to run the best matches possible.

By the way, I have also seen matches where individual robots are sending 20Mbps HD video. The sky didn't fall. The team was asked to change camera settings. No big deal. The wouldn't be nearly as simple without usage guidelines.

I'm not claiming that things can't be made better, but before we try to fix the problem, we need to measure quantitatively what is actually going on.

As for the original topic. The field controls whether robots can communicate with each other over its AP. It cannot happen without the field specifically allowing it and coordinating it.

Greg McKaskle

techhelpbb 06-11-2014 09:56

Re: Robots sharing information
 
Quote:

Originally Posted by Greg McKaskle (Post 1407576)
...
To summarize what this says ... The robots in these matches were typically using 10% of the wifi spectrum. The spikes due to a radio momentarily shifting to slower speeds caused a momentary spike to 25%. If this had hit the ceiling and caused other radios to slow, it would have been a Xmas tree event. I logged the entire weekend and never saw a tree.

Were the robots involved during this sample sending video and if so how?
As CSA we are not usually asked to find this out.
Perhaps the Robot Inspectors know?

Quote:

I have never been at an event where wifi was stressed to its limits. I have heard stories, and I believe it has happened. I do not believe it is common, and FIRST is diligent at using the wifi that is available to run the best matches possible.
On this I give FIRST credit. They have acknowledged there can be an issue and they do make an effort to limit the potential. It is hard however, as noted, to get everything in the field area to comply with these desires.

Quote:

By the way, I have also seen matches where individual robots are sending 20Mbps HD video. The sky didn't fall. The team was asked to change camera settings. No big deal. The wouldn't be nearly as simple without usage guidelines.
I agree the presence of the load balancing does restrict the consequences of a robot operating outside of the reasonable expectations FIRST offered.

Quote:

I'm not claiming that things can't be made better, but before we try to fix the problem, we need to measure quantitatively what is actually going on.
I have long given up on attempting to catch something like this myself because simply put everyone that tries is doing so at a disadvantage. The field venues change. The field settings could change. The robots can change.

For the purpose of sending the tiny amount of data FMS really needs the WiFi is just fine. Unfortunately with so many people sending video to driver's stations FMS is just plain drown out. Hence the increasing issues noticed the more people have sent video to the driver's station since FIRST started using WiFi. The result at the moment is usually an impact on just the team that needs to adjust their vision system and for that I am grateful because I do not believe it was previously the case before the load balance (call it a gut feeling - I can't go back in time - and now it does not change anything).

In the end WiFi is way more bandwidth than is really needed for FMS. So even compromised quality WiFi would work out if it wasn't for the video demands being put in competition. Even more so if the programmers of the robots make their code keep the robot moving in the last instructed direction/speed/operation until new instructions arrive. Then unless enough FMS packets are missed to disable the robot the robots can still maintain control performance even if FMS is missing some packets here and there. I think that example of dropping 5,000 of 7,000 FMS packets for a team with such software is adequate (this is an example from RampRiot 2014 I presented in another topic).

Greg McKaskle 06-11-2014 10:20

Re: Robots sharing information
 
The thicker bands in the attached image used video to the DS, the thinner ones didn't use it or used very little. There were matches with lots of cameras.

Greg McKaskle

Doug Frisk 06-11-2014 10:44

Re: Robots sharing information
 
Quote:

Originally Posted by techhelpbb (Post 1407533)
Personally I am of the opinion that the field network is already stressed to the max by multiple teams using TCP based real time video back to the driver's stations.

I worked as scorekeeper last year which meant that I was watching the bandwidth during matches. Last year, the stated limit was 7 megabits/sec. Very few teams reached that but there were several who went over 8 and one or two teams I saw that could suck down 20 Mbits/sec.

All other things being equal, even with 6 teams each consuming 20 Mbits/sec that shouldn't saturate the WiFi network. That much traffic would barely register as a blip at the Cisco box that's managing the routing. In all cases when I brought up excessive network usage, simply asking the team to adjust their camera settings brought the usage down. Just because your camera can transmit at 1080p 60fps doesn't mean that your display can even manage to show you that.

techhelpbb 06-11-2014 10:58

Re: Robots sharing information
 
Quote:

Originally Posted by DareDad (Post 1407603)
I worked as scorekeeper last year which meant that I was watching the bandwidth during matches. Last year, the stated limit was 7 megabits/sec. Very few teams reached that but there were several who went over 8 and one or two teams I saw that could suck down 20 Mbits/sec.

All other things being equal, even with 6 teams each consuming 20 Mbits/sec that shouldn't saturate the WiFi network. That much traffic would barely register as a blip at the Cisco box that's managing the routing. In all cases when I brought up excessive network usage, simply asking the team to adjust their camera settings brought the usage down. Just because your camera can transmit at 1080p 60fps doesn't mean that your display can even manage to show you that.

If adjusting their cameras to send less data is reducing the missing packet count the I propose team links are saturated.

The ideal bandwidth of a WiFi network does not apply in a situation where the robots are mobile (actually it doesn't usually apply in a situation where the radios are stationary either). The links actual bandwidth will change based on the ability of the radios to deliver the data.

The only way you can know for sure what the actual bandwidth to your radio is to try it and once you do with TCP you will hit the congestion control of the protocol which in many cases will magnify the saturation because the goal is reliable delivery not worrying about your link's issues. Now where are you going to try from and in what orientation to measure the bandwidth since the robots move around and are all constructed differently?

Order of falsehood: lies, statistics and datasheets.
Just because your Cisco/D-Link box says a bandwidth does not mean you have that bandwidth it's just a 'datasheet'.
It falls on the reader of the data sheet to understand the implications and criteria of that performance.

Also with respect to barely registering a blip. I own a police package Chevy Caprice LT1.
That car has a digital dashboard with three digits and a theoretical maximum display of 999MPH.
At 140MPH if the windows are open the car might catch air (there is a sticker on the dash board from GM).
At 180MPH you are playing with fire and I have been over 150MPH on a track with that car.
Just because the top of the scale is somewhere does not mean the scale represents realistic expectation.

This would be interesting:

Let's take some FIRST robots and drive them around using 2.4GHz like they are not on the field using on D-Link.
However these robots really will be on a field.
Let's put the another D-Link and DC/DC converter on 5GHz and drive these robots on the field.
Don't even worry about the FMS system.
Have a device on each of the 6 robots blast sequentially tagged UDP packets to the driver's stations over 5GHz.
Have a device on each of the 6 driver's stations blast sequentially tagged UDP packets to the robots over 5GHz.
Turn off the load balancing on the field and track to see how many of the packets you sent around you really got.
While all that is going on - drive the robots around.

Now there's no magic. No congestion control. Just raw bandwidth use as long as the devices are each capable of sending packets at a respectable rate and that can be easily tested by wiring them on a switch before hand.
So how many packets do you think will not survive this test?

Now change the packet payload in increments up the MTU for a few tests.
Graph the results and see how the network responds.

Let's make this even easier - start with an application like iperf on Linux (because it can pthread).
It could be a little more custom for this application but it already produces the sequence and the data.
Can probably graph the results with jperf or some VBA.

Alan Anderson 06-11-2014 12:00

Re: Robots sharing information
 
Quote:

Originally Posted by techhelpbb (Post 1407604)
If adjusting their cameras to send less data is reducing the missing packet count the I propose team links are saturated.

During the past two years, the "saturation" issues I have seen have never been shown to be due to WiFi bandwidth limitations. In every case where I watched a dropped-packet problem being fixed by reducing camera frame rate and/or pixel count, it was because the computer running the Driver Station program was unable to keep up with the incoming packets. The packets themselves were obviously being delivered just fine by the network.

In my experience, the CPU usage of the Driver Station computer is more important to the performance of the robot than the bandwidth usage of the WiFi network.

techhelpbb 06-11-2014 12:10

Re: Robots sharing information
 
Quote:

Originally Posted by Alan Anderson (Post 1407613)
During the past two years, the "saturation" issues I have seen have never been shown to be due to WiFi bandwidth limitations. In every case where I watched a dropped-packet problem being fixed by reducing camera frame rate and/or pixel count, it was because the computer running the Driver Station program was unable to keep up with the incoming packets. The packets themselves were obviously being delivered just fine by the network.

In my experience, the CPU usage of the Driver Station computer is more important to the performance of the robot than the bandwidth usage of the WiFi network.

I have seen Intel Core I7 laptops have this problem.
In my ISP days such readily available CPU would be considered crazy powerful.
I've had whole ATM backbones running with proper interfaces saturating DS3 with less CPU.

I've had the Windows performance counters on these laptops open before and not seen such an indication but via WMI all of that data can be logged into the DS log viewer if one wants. There are plenty of PowerShell examples around for this and via .NET there are plenty of MSDN examples. I do stuff like that all the time on enterprise networks.

Also if this was the case why do these teams often not experience this issue when tethered or in their private networks?

Then there's the before and after Einstein to consider. Before you could pump data as hard as you pretty much liked till something refused. Now the load balancing will cap you before you can do that and potentially steal opportunity from other teams to use the network. So in theory if teams could use a combined 20Mb/s before over the field why are these laptops so pegged now that they are capped at less?

I think these might be relevant:
DAP-1522 performance test from IEEE
CISCO 1250 performance test from TI

Nate Laverdure 07-11-2014 10:47

Re: Robots sharing information
 
Quote:

Originally Posted by techhelpbb (Post 1407470)
...light based communications...

Along the same lines :)

dave1027 07-11-2014 19:18

Re: Robots sharing information
 
To get the topic back on track, let me refocus the conversation with a question (or two): wouldn't it be great to have the x,y coordinates and heading of each robot reported globally for all robots to access? Perhaps with 3 or 4 additional user definable bytes

Transmitting an additional 10-16 bytes per robot (perhaps 10 times a second) would likely not bring down the FMS. Forget about trying to share video (I doubt that would be very productive anyway)

Would you use them?

yash101 07-11-2014 19:30

Re: Robots sharing information
 
Quote:

Originally Posted by techhelpbb (Post 1407470)
For a few years I've been joking with Team 11 when we split into Team 11/193 that if we split again we can own a whole side of the field.

Then integrate light based communications into all 3 robots and make them electronically cooperative. If it wasn't for some of the rules maybe make them join into a bigger robot after the match started.

The trick is not really finding a way to communicate in a way FIRST might approve and may not even realize you have been doing. The trick is getting everyone involved on the same page to leverage it. Any team with a camera and a light source right now could strobe that light source and read that with the camera off the retro-reflective tape allowing the robots to communicate. FIRST already approves the cameras and the light sources. So really what can they do about this in the absence of a new rule?

You could actually code this at the competition and probably wire it up if you can get all the people involved to cooperate.

Building on, you could use a wide-range, moderate-power infrared LED/sensor with a coprocessor. You could possibly create some sort of PPtP tunnel over this if treated like a serial port!

Two robots:
PHP Code:

} >=====[PPTP]======> ]
[ <=====[
PPTP]======< {

Robot 1:        Robot 2:
Tx } >=======[PPTP]======> ] Rx
Rx 
[ <=======[PPTP]======< ] Tx 

Basically, you can treat this like an opto-isolator. This can potentially give a very high speed with very low latency. However, I would use some modulation, say 100kHz to filter out the noise! Make sure that is much higher than the baud you want to use!


All times are GMT -5. The time now is 10:12.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi