Ive read R60 and 7 mbits/second is really low. Is there any way that i could work around that for my teams camera. I was thinking i run a co-processor that sends the video to a localhost/webserver(hosted by the co-processor). Then have my DS Computer run a separate program outside of DS to view camera. My thought is that running it outside of the DS my bandwidth wont be monitored/throttled. Are there any other ideas? Is my idea Illegal?
The FMS makes no distinctions between the types of traffic being sent between the the DS and the robot. All data transferred, including basic robot signaling, are included the the 7mbit limit.
Some parts of R60 to note:
A. Network Ports:
viii. UDP/TCP 5800-5810: Team Use, bi-directional
The rules specifically allocate a range of ports for teams to use in any way they wish. These ports will be open to any kind of TCP/UDP traffic you can ask the DS and the robot to engage in. For example, a web server running on the roboRIO separate of the other robot code and a custom viewer program running on the DS could communicate over these ports. Any and all traffic fall under the limit. You can’t ‘get around it’.
While FIRST makes every effort to provide a wireless environment
that allows teams access to a full 7Mbits/second data rate (with about
100Kbit used for ROBOT control and status), at some events wireless
conditions may not accommodate this.
We have experienced this personally. When using 4.5Mits/sec for a relatively high resolution camera feed, we were instructed by the FTA to decrease our bandwidth usage, as ours was “much higher than other teams”. So to be safe it might be wise to plan to use less than the 7 alloted. That being said, we have never had any trouble doing vision processing on the DS and meeting this limit, so I would imagine you could figure out a way as well.
One thing to remember is your 7mb limit applies to your robot control packets, not just your camera and custom data.
What you’re describing make sense. One thing I will not is it’s possible to configure the driver station to read from your new webserver. The labview one might be easier to modify for this but it should be possible on C++ & Java as well. You just need to replicate the application layer interface.
What do you want to stream that exceeds 7mbps?
What are you basing this statement on?
Yes, this is low compared to the bitrate of a 1080p movie stream.
However, for most team’s use cases (displaying a very small live feed in a small box on an average resolution laptop), this is more than adequate. You likely don’t need high resolution, and you also don’t likely need a high frame rate.
Try your camera settings on a fairly low quality setting. If you find this isn’t sufficient, start bumping it up. Monitor your bandwidth. If you find you hit the limit and you don’t have high enough quality, then it might be time to start a discussion about what you are trying to achieve.
Much of this has already been said, but let me summarize.
The limits are monitored by multiple elements, sometimes just to tell you what you are using. Other times to let the FTA know if something is not right with the field.
The new radio will be imposing the limit, not just monitoring it.
The spirit of the rules, and the FTAs, robot inspectors, CSAs, etc is to apply the rules in a consistent manner so that everyone has a good experience.
I’d encourage you to be clever about how you operate within the rules rather than being clever about how you can break the rules.
Finally, please experiment with the camera settings, using either the dashboard or Windows feedback to see just how easy it is to fit within 7Mbps. There are many choices for how you use it, and that is a great thing to experiment with.
Greg McKaskle