FIRST Robotics Competition Documents

cancel
Showing results for 
Search instead for 
Did you mean: 

roboRIO Details and Specifications

Introducing the NI roboRIO Advanced Robotics Controller. This rock-solid device was designed specifically with FIRST in mind. It's more powerful, lighter, and smaller than the previous cRIO, giving FRC teams unmatched power and versatility.

 

roboRIO anaotated.png

Picture1.pngPicture2.pngPicture3.pngPicture4.pngPicture6.png

 

F.A.Q.

Does roboRIO support other programming languages?

> Yes, you can program the roboRIO in LabVIEW, Java, and C++. A few teams even use Python, although it's not technically supported. 

When can we purchase a spare roboRIO?

> All rookie FRC Teams get a free roboRIO in their Kit of Parts. All FRC teams can purchase additional roboRIOs at an 80% discount off of the retail price from AndyMark here.

How is roboRIO different from cRIO?

> NI roboRIO uses the same basic architecture of a Real-Time processor + FPGA, but the roboRIO is faster due to the  processor being dual-core. All of the I/O is accessible direclty on the roboRIO controller, so the cRIO's digitial sidecar is unnecessary. The Real-Time programming architecture you use to program the roboRIO is nearly identical to the way that professionals use LabVIEW to program their cRIO systems. 

How is roboRIO different from myRIO?

> Both devices use the Xilinx Zynq chipset (processor + FPGA) and use a lot of the same architecture. roboRIO has connectors and I/O specific for use in FIRST (e.g. CAN and PWM connectors), while the myRIO uses generic screw terminals for all I/O. The software experience will also differ between the devices since the roboRIO will require the FRC Update Suite for use in FIRST Robotics Competition. Additionally, the roboRIO is designed to be more rugged than the myRIO so that it can survive multiple FRC seasons through features such as conformal coating and extra short protection.

What operating system does roboRIO Use?

> NI roboRIO will be running the NI Linux Real-Time OS which is used is most of NI's new RIO devices. Introduction to NI Linux Real-Time, Under the Hood of NI Linux Real-Time

Can I use a Linux computer to program the roboRIO?

> No. You will still need to use a Windows computer to program and control the roboRIO, as the roboRIO tool chain is only supported in Windows.

Can non-FRC Teams purchase a roboRIO?

> Yes. Industry professionals and university students can purchase the roboRIO directly from National Instruments here. FRC teams, affiliates, partners, and organizers can purchase roboRIO from AndyMark provided they will be used to support FRC teams and competitions. 

 

 

Custom Electronics Port (MXP)

Create your own custom electronics board for any extra inputs and outputs for your system. Check out the MXP Developers Guide for more information on how you can deisgn your own MXP board.

 

! Idea: Have an awesome idea for a custom Expansion Board that would be useful for many teams? Create one and use tools like Kickstarter to share your work with other teams!  

 

roboRIO MXP Pinouts

roboRIO Pin Out.png

Comments
labmanager
Member
Member
on

This will be really helpfull and fun to play with. I can't wait untill nest year

RagingEnferno
Member
Member
on

Wow, looks like there starting to make it to easy now. com'on. Let us do our wiring.

dangyogi
Member
Member
on

We have developed our own Python based programming environment (FRC Team 4769).  Is there a way to get an early beta version of the RoboRio to port our programming environment to?  Or do we just have to buy one in the Fall when they become available to everybody?  Will the RoboRio sold this Fall include all of the software?

DAQjr
Member
Member
on

dangyogi wrote:


                       

We have developed our own Python based programming environment (FRC Team 4769).  Is there a way to get an early beta version of the RoboRio to port our programming environment to?  Or do we just have to buy one in the Fall when they become available to everybody?


                   

You may want to work with Peter Johnson of team 294 who also made a python robot library wrapper.  Team 294 is an alpha team and already has prototype hardware.  Perhaps working with them will allow you to test ahead of the general release.  You could also apply to be a beta team this Fall.  Keep an eye out for the application.

dangyogi wrote:


                       

Will the RoboRio sold this Fall include all of the software?


                   

It isn't known yet how this will be done.  We do understand there is a strong desire to have the software and hardware available before the 2015 kickoff.

fxca
Member
Member
on

I already burned 3 digital sidecar in a season FRC, the new roborio he will include protections or it will buy each time a new roborio and reprogram?

DAQjr
Member
Member
on

roboRIO's I/O is protected and the board is conformally coated.

Burning up 3 digital sidecars seems excessive.  I sounds like you must be abusing them.  More so that other people at least.  Do you have an idea of what causes it to fail?  What specifically is failing on the digital sidecar?

devodl
Member
Member
on

Our team also burned out 3 DSCs ($82) this season and I hold a similar concern.

This is a good thread. http://www.chiefdelphi.com/forums/showthread.php?t=109685&page=4

Posting #49 and especially #50 are enlightening

Our concern is the robustness of the roboRIO (our cRIOs have never fried) especially when high school students are involved with the wiring. If 12V or 5V hits the PWM ground on a roboRIO will our team be looking at a $400 replacement?

Note: I'm an ME and SW engineer so while I can build and wire the control system properly my diagnostic and analysis skills in semiconductor electronics are pretty basic (works/fried).

mkaa00x
Member
Member
on

Wait... Let's say a certain team decided to throw on a swerve drive onto their robot for the next year. It has 4 modules and each module powers a cim and a geared motor, this means that there will be 8 PWMs in use...

What about the rest of the Electronics?

It seems as if each few years our capability of programming many things on a robot at once is slowly decreasing.

When the cRio II came out, we were lowered from 8 slots to 4 slots. the 8 slot cRio may be used in some VERY rare cases, but the 4-Slot one seemed to pull of the job just as well

Now it seems as if we're loosing even more capabilities we've been lowered to 8 slots for PWMs which is a lot less than the previous 20 slots for PWMs

This is really kind of scaring me because I wanted a cool Swerve Drive on my robot lol

DAQjr
Member
Member
on

Hueter wrote:


                       

There are 10 PWM on the native I/O (same as sidecar) plus another 3 (total of 13) on the expansion port. So you should have more than enough for swerve drive plus some extra stuff. If you need more than 13 you could multiplex the PWM output using a custom electronics board that could support more motors than you could fit on your robot.


                   

This is actually inaccurate.  For the FRC image, there are 10 on-board channels and 10 multiplexed PWM channels on the MXP.  That's a total of 20 channels of PWM.

Robo_MD
Member
Member
on

Where can we find physical specifications for the roboRIO.  In particular, I am after the dimensions and layout information required for designing a custom electronics board using the MXP expansion port.

RagingEnferno
Member
Member
on

If I wanted to use a PWM on the custom electronics port, would I pick PWM 10 - 19 in the coding?

Or is there a special number these will get?

DAQjr
Member
Member
on

RagingEnferno wrote:


                       

If I wanted to use a PWM on the custom electronics port, would I pick PWM 10 - 19 in the coding?

Or is there a special number these will get?


                   

In LabVIEW you can use 10 - 19, but there is an Enum which calls these channels by name (e.g. channel 10 is called "PWM MXP 0")

DAQjr
Member
Member
on

Robo_MD wrote:


                       

Where can we find physical specifications for the roboRIO.  In particular, I am after the dimensions and layout information required for designing a custom electronics board using the MXP expansion port.                  

This may help you:  Dimensional Drawing for NI myRIO Expansion Port (MXP) Protoboard Accessory

Edit: Note that this is a drawing showing the right-angle header installed.  You will need a vertical header to mechanically mate this to a roboRIO as intended.

sraque
Member
Member
on

This may help you:  Dimensional Drawing for NI myRIO Expansion Port (MXP) Protoboard Accessory

Is there a part number or specification for these connectors? The drawing doesn't seem to include that information.

Thanks,

Steve Raque

FRC Team 2614

jvedder
Member
Member
on

I'm excited about the new connectivity options.  This year we tried to connect a microcontroller via I2C and struggled with how slow it was.  Having SPI, a UART, USB and (hopefully) a faster I2C port will be great addition to FIRST.

Can you please tell me if the SPI, UART and I2C are 3.3V or 5V?

Thanks!

-John

FRC Team 467

DAQjr
Member
Member
on

jvedder wrote:

Can you please tell me if the SPI, UART and I2C are 3.3V or 5V?


                   

All three are 3.3V for their outputs and 5V input compatible.  You should be able to use either on your devices.  The only exception is the on-board RS-232 port which includes a level translator to make it +-9V or so.  The UART on the MXP connector is 3.3V TTL.

The SPI and I2C ports on roboRIO will be faster than they were on the cRIO.  SPI will have a max clock rate of 1 MHz and I2C a max clock rate of 400 kHz.

Joel_4293
Member
Member
on

The 3D CAD linked above is not compatible with the Student Edition of Creo that is distributed to FRC teams.  Please update the zip to include either a Creo native that is compatible with the student edition software or a STEP file.  Thanks!

HunterSeeker
Member
Member
on

Joel   We've now added CAD files into the zip file that should be fully compatible with the student edition of PTC Creo.

sraque
Member
Member
on

So, I'm still wondering what the spec on the expansion port connector is. Kind of hard to design and build that great expansion board idea if you don't know the interface connector 🙂

-Steve Raque

dmaki
Member
Member
on

"the on-board RS-232 port which includes a level translator to make it +-9V or so.  The UART on the MXP connector is 3.3V TTL."

I strongly suggest changing that on-board RS-232 connector to a 9pin Dsub or minimally, supply an adapter with the RoboRio and change the silk screen to indicate the voltage level.  I asked at least 4 reps at the NI booth at Championship whether that port was TTL level or PC voltage levels.  Not a single one knew the answer for sure, but all assumed TTL level.  If it isn't obvious, kids will be frying their arduino UART, not know that it happened, and spend days troubleshooting and substituting other parts wich also subsequently get destroyed.

Dustin Maki

dmaki
Member
Member
on

What Linux Distro will be running on the RoboRIO?  What are the real time extensions?

I would like to see if I can get it to run ROS. ROS.org

Do you think that would be a technical possibility? 

I was recently asked for my input on potential rule changes.  If a robot could potentially run ROS, a rule may need to be made to allow it or disallow it.

Dustin Maki

Markua
Member
Member
on

Where will the beta team application be posted?

Also, is NI RTlinux avail yet?

Mark

sciencewhiz
Active Participant
Active Participant
on

Here is the flyer that was handed out at the championships: http://www.chiefdelphi.com/forums/attachment.php?attachmentid=16951&d=1398902573

HunterSeeker
Member
Member
on

We will have a full MXP dev kit sometime this summer to give teams time to create boards before kick off.

DAQjr
Member
Member
on

Markua wrote:


                       

Also, is NI RTlinux avail yet?

It is availble on the myRIO and on the cRIO-9068.

DAQjr
Member
Member
on

dmaki wrote:


                       

"the on-board RS-232 port which includes a level translator to make it +-9V or so.  The UART on the MXP connector is 3.3V TTL."

I strongly suggest changing that on-board RS-232 connector to a 9pin Dsub or minimally, supply an adapter with the RoboRio and change the silk screen to indicate the voltage level.  I asked at least 4 reps at the NI booth at Championship whether that port was TTL level or PC voltage levels.  Not a single one knew the answer for sure, but all assumed TTL level.  If it isn't obvious, kids will be frying their arduino UART, not know that it happened, and spend days troubleshooting and substituting other parts wich also subsequently get destroyed.

Dustin Maki


                   

The silk screen is quite accurate.  It says RS-232.  This defines the voltage range of the port.  Here is the spec.

There is no space on the board for the much larger DB-9 connector.

I'd tell the same thing to people you talked to in the NI booth that I'd tell the students.  "If you don't know what you should hook up then you should read a data sheet."

It is up to FIRST to decide if they want to include a cable for the RS-232 port in the KOP.

DAQjr
Member
Member
on

dmaki wrote:


                       

What Linux Distro will be running on the RoboRIO?  What are the real time extensions?

I would like to see if I can get it to run ROS. ROS.org

Do you think that would be a technical possibility? 

I was recently asked for my input on potential rule changes.  If a robot could potentially run ROS, a rule may need to be made to allow it or disallow it.

Dustin Maki


                   

Hueter added links to the FAQ about the OS and what real-time extensions are.  The distribution is called NI Linux Real-Time.  It is built with Open Embedded.

I see no reason that ROS would not build for the roboRIO with no issues.  Google says:  http://wiki.ros.org/ROS/CrossCompiling

I don't think there's a reason why ROS would require a rule change.

UNIT6
Member
Member
on

How are the solenoid controllers connnected?

DAQjr
Member
Member
on

The new control system supports a CAN-connected device from Cross The Road Electronics called the Pneumatic Control Module (PCM) that will be the primary way to control solenoids.  It is still possible to control 12 V solenoids using Spike relays connected to the roboRIO Relay ports.  There is no integrated solenoid control in the roboRIO.

sciencewhiz
Active Participant
Active Participant
on

The MXP pinout above was recently updated. Is this final, or is it subject to change?

DAQjr
Member
Member
on

It was changed from the myRIO to the roboRIO. It is locked down.

dano13
Member
Member
on

I filled out the application a few weeks ago for our team to be a beta test site however I haven't received a confirmation of the form submittal.  Should I have received a confirmation email?  I just wanted to make sure that our application went through.

JPL53
Member
Member
on

DAQjr,

Cross The Road Electronics lists a "CANipede RCM" (Robot Control Module), but it isn't listed on their distributor ANDYMARK.com's website.  I don't see any device called a PCM "Pneumatic Control Module."

DAQjr
Member
Member
on

JPL53,

The PCM is not yet released, so I'm not surprised that it is not on either website yet.

The RCM is an unrelated module designed by CTRE and will not be part of the 2015 FRC control system.

JPL53
Member
Member
on

Do you know if the PCM will drive 24-volt pneumatic solenoids?

devodl
Member
Member
on

I found blogs from the Alpha testers to be informative.

  http://www.fightingpi.org/Resources/Controls/Alpha/Alpha.shtml

If you look at the pictures of the alpha PCM unit it appears to be switchable (jumper) between 12V and 24V

JPL53
Member
Member
on

Thanks for the link!  That's very informative.

GeekyPete
Member
Member
on

The beta test application deadline was May 30, 2014.  Can you tell us when we should expect to hear whether we have been selected to participate or not?  I'd like some idea for summer planning with students.  Thanks.

sciencewhiz
Active Participant
Active Participant
on

As FIRST is running the beta test, I would recommend asking here: http://www.usfirst.org/roboticsprograms/frc/blog-2015-Control-System-KOP-Survey

sciencewhiz
Active Participant
Active Participant
on

The flyer above says 26 DIO (16 shared) shared, but the MXP picture only shows 10 DIO. Can the I2C and SPI on the MXP also be used as DIO?

DAQjr
Member
Member
on

sciencewhiz wrote:


                       

The flyer above says 26 DIO (16 shared) shared, but the MXP picture only shows 10 DIO. Can the I2C and SPI on the MXP also be used as DIO?


                   

Yes.

DAQjr
Member
Member
on

GeekyPete wrote:


                       

The beta test application deadline was May 30, 2014.  Can you tell us when we should expect to hear whether we have been selected to participate or not?  I'd like some idea for summer planning with students.  Thanks.


                   

This should be announced by early next week.

sciencewhiz
Active Participant
Active Participant
on

For those that haven't seen the list of beta teams, it is here: http://www.usfirst.org/roboticsprograms/frc/2015-FRC-Control-System-Beta-Test-Teams

sciencewhiz
Active Participant
Active Participant
on

Can I use a Linux computer to program roboRIO?

You will still need to use a Windows computer to program and control the roboRIO as the roboRIO tool chain is only supported in Windows.

Does this apply only for LabVIEW, or the other supported programming languages as well? For example, for the cRIO, the java development environment is supported on Mac OS X and Linux. I realize it is necessary to use some Windows only tools (eg driver station and imaging), but want to make sure that programing in some form or another is availble on other operating systems.

devodl
Member
Member
on

Good question and after reading the FAQ blurb

Can I use a Linux computer to program roboRIO?

You will still need to use a Windows computer to program and control the roboRIO as the roboRIO tool chain is only supported in Windows.

it left me thinking.

As sciencewhiz pointed out Windows is required for Driver Station operation and Imaging tools but for Java software development and deployment Linux and eclipse should be sufficient.

Could someone provide a complete explanation of what is meant by "the roboRIO tool chain"?

DAQjr
Member
Member
on

devodl wrote:

Could someone provide a complete explanation of what is meant by "the roboRIO tool chain"?


                   

The "tool chain" is referring to the compiler tools that are used for C++.  There is a linux and windows version of them out of the box, but WPI is only supporting the windows version to start with.  They have plans to test and possibly support the linux version time permitting.  They also have an experimetnal mac version that may also be available, time permitting.

Java should not matter where you run it, but currently you have to download and build your own java 8 for all 3 platforms, so windows (with the toolchain) is the current supported platform.

GenghisKen
Member
Member
on

Is there a memory map for the RoboRio yet? I cannot see a programmer/user's manual.

JPL53
Member
Member
on

Do all the DIO pins for the MXP have integrated pull-up resistors within the RoboRIO?

DAQjr
Member
Member
on

JPL53 wrote:


                       

Do all the DIO pins for the MXP have integrated pull-up resistors within the RoboRIO?


                   

Yes.  The I2C pins are a bit stronger than the rest, but they all have them.

jvedder
Member
Member
on

The Xilinx Zynq has a few errata regarding the I2C and SPI ports.  Most notably are these three:

Missing I2C Master Completion Interrupt

http://www.xilinx.com/support/answers/61665.html

I2C Master Generates Invalid Read Transactions

http://www.xilinx.com/support/answers/61664.html

SPI RxFIFO Not Empty Status is not Updated Promptly

http://www.xilinx.com/support/answers/47575.html

Does the roboRIO include workarounds for these?

Thanks,

John