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.
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
This will be really helpfull and fun to play with. I can't wait untill nest year
Wow, looks like there starting to make it to easy now. com'on. Let us do our wiring.
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?
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.
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?
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?
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).
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
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.
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.
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?
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")
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.
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
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
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.
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!
Joel We've now added CAD files into the zip file that should be fully compatible with the student edition of PTC Creo.
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
"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
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
Where will the beta team application be posted?
Also, is NI RTlinux avail yet?
Mark
Here is the flyer that was handed out at the championships: http://www.chiefdelphi.com/forums/attachment.php?attachmentid=16951&d=1398902573
We will have a full MXP dev kit sometime this summer to give teams time to create boards before kick off.
Markua wrote:
Also, is NI RTlinux avail yet?
It is availble on the myRIO and on the cRIO-9068.
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.
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.
How are the solenoid controllers connnected?
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.
The MXP pinout above was recently updated. Is this final, or is it subject to change?
It was changed from the myRIO to the roboRIO. It is locked down.
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.
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."
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.
Do you know if the PCM will drive 24-volt pneumatic solenoids?
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
Thanks for the link! That's very informative.
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.
As FIRST is running the beta test, I would recommend asking here: http://www.usfirst.org/roboticsprograms/frc/blog-2015-Control-System-KOP-Survey
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?
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.
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.
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
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.
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"?
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.
Is there a memory map for the RoboRio yet? I cannot see a programmer/user's manual.
Do all the DIO pins for the MXP have integrated pull-up resistors within the RoboRIO?
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.
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