FIRST Robotics Competition Documents

Showing results for 
Search instead for 
Did you mean: 

roboRIO Details and Specifications

by Member SpaceHunter on ‎07-31-2013 08:31 PM

Introducing the roboRIO the next generation in student robotics controllers. This device is designed specifically with FIRST in mind. It's more powerful, lighter, and smaller than the previous cRIO. This new controller will give FRC teams unmatched power starting in the FRC 2015 season.

roboRIO anaotated.png

Picture1.pngPicture2.pngPicture3.pngPicture4.pngPicture5.pngPicture6.png

F.A.Q.

Will roboRIO support other programming languages?

Yes, it will have the same language support as the current cRIO: LabVIEW, Java, and C++.

When can we purchase a spare roboRIO?

All FRC Teams will get a roboRIO in the Kit of Parts at Kick Off 2015. Teams can purchase a spare roboRIO from AndyMark for $435. Pre-order roboRIO now.

How is roboRIO different from cRIO?

roboRIO uses the same basic architecture of a Real-Time processors + FPGA, but the roboRIO is faster and features a dual core Real-Time processor. Teams will NOT need to use a digital sidecar with roboRIO as all of the I/O breaks out directly from the controller. The way you program roboRIO will be almost identical to the way you programmed the cRIO.

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 initially since the roboRIO will require the FRC Suite. The roboRIO is also designed to be more rugged so that it can survive multiple FRC seasons through features such as conformal coating and extra short protection.

What operating system does roboRIO Use?

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 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.

Can non FRC Teams purchase a roboRIO?

FRC teams, affiliates, partners, and organizers can purchase roboRIO from AndyMark provided they will be used to support FRC teams and competitions. roboRIO will be made available for non-FRC purposes in late 2015.

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! We'll be releasing a full MXP developers kit before kick off with everything you need to make your own MXP Board. Please share

roboRIO MXP Pinouts

roboRIO Pin Out.png

Comments
Member labmanager
Member

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

Member RagingEnferno
Member

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

Member dangyogi
Member

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?

Member DAQjr
Member

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.

Member fxca
Member

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?

Member DAQjr
Member

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?

Member devodl
Member

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).

Member mkaa00x
Member

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

Member DAQjr
Member

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.

Member Robo_MD
Member

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.

Member RagingEnferno
Member

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?

Member DAQjr
Member

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")

Member DAQjr
Member

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.

Member sraque
Member

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

Member jvedder
Member

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

Member DAQjr
Member

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.

Member Joel_4293
Member

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!

Member SpaceHunter
Member

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

Member sraque
Member

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

Member dmaki
Member

"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

Member dmaki
Member

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

Member Markua
Member

Where will the beta team application be posted?

Also, is NI RTlinux avail yet?

Mark

Active Participant sciencewhiz
Active Participant

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

Member SpaceHunter
Member

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

Member DAQjr
Member

Markua wrote:


                       

Also, is NI RTlinux avail yet?

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

Member DAQjr
Member

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.

Member DAQjr
Member

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.

Member UNIT6
Member

How are the solenoid controllers connnected?

Member DAQjr
Member

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.

Active Participant sciencewhiz
Active Participant

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

Member DAQjr
Member

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

Member dano13
Member

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.

Member JPL53
Member

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."

Member DAQjr
Member

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.

Member JPL53
Member

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

Member devodl
Member

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

Member JPL53
Member

Thanks for the link!  That's very informative.

Member GeekyPete
Member

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.

Active Participant sciencewhiz
Active Participant

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

Active Participant sciencewhiz
Active Participant

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?

Member DAQjr
Member

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.

Member DAQjr
Member

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.

Active Participant sciencewhiz
Active Participant

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

Active Participant sciencewhiz
Active Participant

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.

Member devodl
Member

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"?

Member DAQjr
Member

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.

Member GenghisKen
Member

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

Member JPL53
Member

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

Member DAQjr
Member

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.

Member jvedder
Member

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