-
Notifications
You must be signed in to change notification settings - Fork 2
Network topology
uakotaobi edited this page Mar 19, 2017
·
9 revisions
FRC introduced a new robot radio in 2017, the OM5P-AC, which only has two ports. This vastly complicated the networking situation for our robot since we have up to three devices that need to be connected to the robot network at once. This article will attempt to explain what devices we use, what the problem we encountered was, what our solution was, and how to connect the robot's components from scratch in case that needs to be done again.
-
OM5P-AC Robot Radio (FRC standard.)
- Serves as a DHCP and DNS server.
- *When configured with the competition software*:
- Has no driver-accessible wireless interface
- Web interface is disabled (you must use the configuration utility to change its settings)
-
RoboRIO (FRC standard.)
- Hosts the WPILib robot code (usually Java-based, but not always.)
- Requires imaging before it can be used
- Eclipse can deploy on these devices using either Ethernet or USB.
- The WPILib Build.xml tries each of the potential DNS names or IP addresses in sequence.
-
NVidia Jetson TK1 system on a chip (off-the-shelf purchase.)
- Runs an almost bog-standard Ubuntu, with a powerful processor so that PapasVision processing is I/O-bound rather than CPU-bound.
-
NetGear gs605 Gigabit Ethernet Switch (off-the-shelf purchase.)
- Purchased specifically because it has a 12V, 0.5A power connection which is perfect for our robot's voltage regulation module (VRM.) The other NetGear consumer routers use weird amperages, and none of us want to add a transformer to the robot.
- Doesn't seem to have a web interface.
- One or more Windows 7+ driver station laptops.
- You're going to need a very long Ethernet cable to tether to the robot for testing!
-
Block future package updates from breaking the graphics driver by executing the following command:
tegra-ubuntu$ sudo apt-mark hold xserver-xorg-core
- Enable the Universe repository so that you can install the OpenCV package.
- (Install required packages)
-
Configure the Jetson to have a static address in the 10.0.0.* subnet. Here are the settings we used:
- Subnet mask: 255.255.255.0
- Gateway: 10.0.0.1
- Connect the Jetson to the switch.
- Ensure that mDNS is working properly:
- If you're running a firewall on the Jetson (we didn't), then open up
UDP/5353
. - Use the following command to determine if
libnss-mdns
andlib32nss-mdns
are installed:tegra-ubuntu$ dpkg -l "*nss*"
- Confirm that
/etc/nsswitch.conf
contains a line that resembles the following:hosts: files mdns4_minimal[NOTFOUND=return] dns
- Run the following command and confirm that you can see the RoboRIO's mDNS name, roboRIO-1759-RFC:
tegra-ubuntu$ avahi-browse -alr
You can also use theavahi-discover
GUI to browse zeroconf services.
- If you're running a firewall on the Jetson (we didn't), then open up