![]() |
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. |
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. |
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:
|
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. |
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.
|
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!
|
Re: Robots sharing information
Quote:
|
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. |
Re: Robots sharing information
Quote:
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. |
Re: Robots sharing information
Quote:
|
Re: Robots sharing information
Quote:
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. |
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?
|
Re: Robots sharing information
Quote:
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. |
Re: Robots sharing information
Quote:
Second, the existing rules already disallow active robot-to-robot communication: Quote:
Quote:
|
Re: Robots sharing information
Reminder that 2014 rules are not 2015 rules and the FMS is undergoing revisions for the new control system.
Quote:
R94 could also come into play, since the cables would extend beyond the 60" x 14" footprint and aren't worn/held by drivers. |
Re: Robots sharing information
Quote:
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:
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:
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:
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. |
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.
|
Re: Robots sharing information
Quote:
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. |
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. |
Re: Robots sharing information
Quote:
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). |
Re: Robots sharing information
Quote:
|
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. |
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 |
Re: Robots sharing information
Quote:
As CSA we are not usually asked to find this out. Perhaps the Robot Inspectors know? Quote:
Quote:
Quote:
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). |
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 |
Re: Robots sharing information
Quote:
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. |
Re: Robots sharing information
Quote:
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. |
Re: Robots sharing information
Quote:
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. |
Re: Robots sharing information
Quote:
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 |
Re: Robots sharing information
Quote:
|
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? |
Re: Robots sharing information
Quote:
Two robots: PHP Code:
|
| 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