2015 FIRST® Robotics Competition

RoboRealm is a software application that provides you the ability to rapidly process images from the Kinect and/or Axis IP camera in order to visually detect field elements. You can use RoboRealm to track positional markers, follow lines, track balls, and augment camera images with additional visual graphics. RoboRealm is an ideal vision platform for the Hybrid Autonomous period and human controlled parts of the competition (i.e. Augmented Driving).

In the spirit of inspiring young people to be science and technology leaders, RoboRealm is actively supporting the 2015 FIRST® Robotics Competition. We are happy to announce that this support comes with 5 free copies of RoboRealm for any team that chooses to use RoboRealm in some way for the competition.

As the 2015 season is over you can still download a 15 day trial copy that you can use to experiment with before next season.


The following tutorials outline several possible ways to perform automated vision based target tracking and targeting for the 2015 FIRST® Robotics Competition. The actual method you use may be a variation of the following techniques, but these examples should for a base from which to work from. Keep in mind that the solutions presented here are not the only possible solutions and therefore if your final method differs from that presented that does not necessarily mean it is wrong.

These tutorials assume you are using some sort of visual hardware device on your FIRST robot and that you are interested in using an autonomous guidance mechanism to keep track of the vision targets. The targets are made of 4" retro-reflective tape which will reflect light directly back to the source. To see this characteristic of retro-reflective tape use a flashlight and while holding the flashlight right next to your eyes shine the light towards the reflective tape. You will notice that only when your eye and the flashlight are in line will the reflective tape have the best response.

Targeting Totes - Regular Image  In order to steer your robot towards a Tote you'll first need to identify the target in order to know where to steer the robot. There are many ways to accomplish this task. This tutorial shows a typical view of the field and introduces one way of processing for the specific targets. Remember, there are many ways to accomplish the same results.

Targeting Totes - Reflective Image  The high contrast images produced (either using LEDs or IR) has different qualities that can be processed in a different way than a typical RGB image. The reason for this is the shape of the targets is more evident and already mostly extracted from the image. Because of this we can leverage this aspect in processing.

Using the Axis IP Camera  If you have decided to use the Axis camera on your robot for target tracking, this tutorial covers how to capture images from the Axis camera using RoboRealm.

Using a webcam  If you have decided to use a webcam on your robot for target tracking, this tutorial covers image capture using RoboRealm and the control of digital zooming. This assumes you are running a netbook/laptop onboard your robot.

Using the Kinect  If you have decided to use the Kinect on your robot for target tracking, this tutorial covers the setup of the Kinect drivers and initial image capture using RoboRealm. This assumes you are running a netbook/laptop onboard your robot.

RoboRealm Computing  RoboRealm runs on a Windows PC. In order to utilize the vision processing that RoboRealm provides you will need to use a Windows based machine. This can either be a local extra onboard computing device like a tablet or a remote device like your dashboard PC. Either way, you'll have to decide where to place the computing power depending on what you are looking to accomplish.

Communication  Once you've determined the distance and location of the desired target you'll need to communicate that to the CRio. Using the Network Tables protocol, RoboRealm can share information to the CRio or any other device on the network like the Smartdashboard does. Using the Network Tables module, you can send the resulting data to the CRio in order to move your targeting system appropriately.

For more information

FRC 2017 RoboRealm Tutorials
FRC 2016 RoboRealm Tutorials
FRC 2014 RoboRealm Tutorials
FRC 2013 RoboRealm Tutorials
FRC 2012 RoboRealm Tutorials
Robot programming with WPILib
FIRST Robotics Resource Center

 New Post 

Related Forum PostsLast postPostsViews