Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   FRC Control System (http://www.chiefdelphi.com/forums/forumdisplay.php?f=176)
-   -   2015 RoboRIO/Control System Feedback (http://www.chiefdelphi.com/forums/showthread.php?t=136974)

Bryan Herbst 28-04-2015 13:33

Re: 2015 RoboRIO/Control System Feedback
 
From what I heard from folks at FIRST, NI has an update ready to go that fixes the need to restart the DS (or toggle the team number) between back to back matches.

It wasn't released during the season due to the complexity involved with trying to ensure that every team got a mid-competition season update, but *should* be available sometime during the offseason.

Overall, the new control system has been great. I love the web config, and I have dreamt of being able to use more modern versions of Java for years.

The most annoying problems I ran into were also the most common (mDNS being slow on the field and Axis camera configuration), so I have faith that they will improve for 2016. We've already seen some improvements, so hopefully another few months will make it even better.

As Alan mentioned, the Weidmuller connectors are easy for teams to wire incorrectly. Too many teams have copper splayed out around the connection. Hopefully this will get better as teams gain more experience with the connectors (and with their robot shorting out on the field).

Jared Russell 28-04-2015 13:48

Re: 2015 RoboRIO/Control System Feedback
 
Quote:

Originally Posted by Jared (Post 1477304)
-Timertasks don't work properly if they are started before connecting to the driver station, but work if the reset button is pushed on the roboRIO. Troubleshooting this behavior is difficult, and it's never comforting when resetting or redeploying code puts the controller in a different state than a cold boot.

-Java timertask timing is worse than in previous years.

We ran into the first issue at CVR...the problem is that the scheduleAtFixedRate() method schedules execution relative to the timestamp of the first execution (and the RoboRIO initially assumes it is turned on at the beginning of the epoch), but when the robot connects to the driver station, the local clock is synched to the driver station time. Your code freaks out because it thinks it has ~45 years worth of work to do in order to catch up, and as a result your TimerTask hogs the entire CPU. TL;DR, never use scheduleAtFixedRate(). Thanks to Joe Hershberger for helping us to figure this out.

As for TimerTask timing being bad otherwise, this is because of some incomplete JNI between the HAL and WPIlibJ. Whereas LabView and C++ use the onboard hardware timer to generate interrupts for calling recurring tasks, the current implementation of TimerTask uses Thread.sleep(), which is quite unreliable. We would schedule 5 ms periods and get around 5 ms most of the time, but we would see several 10+ ms periods per second, and occasionally even 200+ ms periods.

We hacked our WPIlib JAR with some additional JNI to get to the FPGA timer and were much, much happier with our timing jitter. I think Tom submitted a patch to WPIlib, so hopefully this will be fixed for next year. It took us a long, long time to figure it all out...

wireties 28-04-2015 14:14

Re: 2015 RoboRIO/Control System Feedback
 
I generally loved the new control systems and the Talon SRX motor controllers this year. Just a few requests:

1 - Please reconfigure the kernel to include POSIX message queues and semaphores. Embedded Linux is incomplete w/o these primitives.

2 - Please make it easier to use static priorities in threads. Many teams roll their own software solutions and we can't do the same things we did with VxWorks.

3 - Please use latching connectors on the roboRio. It is nearly a crime that we use the old PWM connectors in a high vibration environment.

4 - Please do not use Silverlight. It requires the client be Windoze and install a bunch of crap.

TIA

RyanShoff 28-04-2015 19:31

Re: 2015 RoboRIO/Control System Feedback
 
Requiring Silverlight to manage a Linux device bugged me.

If we left the robot on for a long time, maybe 15-30 minutes, the robot would freak out. Planning to debug that later.

Thad House 29-04-2015 11:00

Re: 2015 RoboRIO/Control System Feedback
 
Quote:

Originally Posted by RyanShoff (Post 1478113)
Requiring Silverlight to manage a Linux device bugged me.

If we left the robot on for a long time, maybe 15-30 minutes, the robot would freak out. Planning to debug that later.

This was actually an issue at Worlds, since Chrome dropped NPAPI support the week before. So we spent about 10 minutes trying to connect to the webdash, until I remembered, and we switched to IE. I would prefer to use chrome, which means they should switch to something chrome supports, and not silverlight.

RyanShoff 29-04-2015 11:26

Re: 2015 RoboRIO/Control System Feedback
 
Quote:

Originally Posted by Thad House (Post 1478384)
This was actually an issue at Worlds, since Chrome dropped NPAPI support the week before. So we spent about 10 minutes trying to connect to the webdash, until I remembered, and we switched to IE. I would prefer to use chrome, which means they should switch to something chrome supports, and not silverlight.

This chrome://flags/#enable-npapi and click enable will work for another year or so until Google has said they will really remove it.

tcjinaz 29-04-2015 23:57

Re: 2015 RoboRIO/Control System Feedback
 
Quote:

Originally Posted by JamesD (Post 1477638)
I've noticed this for several years now. You need to go into the properties of the WiFi adapter on the laptop and disable all power saving options. Otherwise when the battery gets below a certain level the Wifi adapter will actually disappear from the operating system until the power cord is plugged in again.



Team 111 Wildstang did this season: http://wildstang.org/blog/?p=225

We used the Wildstang part this year, worked like a charm.

Thanks 111!

timytamy 30-04-2015 00:19

Re: 2015 RoboRIO/Control System Feedback
 
Quote:

Originally Posted by RyanShoff (Post 1478113)
Requiring Silverlight to manage a Linux device bugged me.

I agree it seems wrong, however maybe have a look at Pipelight (http://pipelight.net/cms/installation.html). Seemed to work ok for me (admittedly, I only opened the management page and clicked around, I didn't do any serious work with the roboRIO this year).

For convenience, Pipelight installation on Ubuntu (and derivatives):
Code:

sudo add-apt-repository ppa:pipelight/stable && sudo apt-get update && sudo apt-get install --install-recommends pipelight-multi && sudo pipelight-plugin --update

MrRoboSteve 30-04-2015 11:42

Re: 2015 RoboRIO/Control System Feedback
 
Quote:

Originally Posted by JamesD (Post 1477638)
Quote:

Originally Posted by MrRoboSteve (Post 1477611)

. physical retention for control cables at the roboRIO -- maybe someone should design a 3d printed part that sticks to the top/side of the unit, with retention like the Jaguar?

I've noticed this for several years now. You need to go into the properties of the WiFi adapter on the laptop and disable all power saving options. Otherwise when the battery gets below a certain level the Wifi adapter will actually disappear from the operating system until the power cord is plugged in again.



Team 111 Wildstang did this season: http://wildstang.org/blog/?p=225

Thanks for the pointer. I noticed in today's email blast that AM has a product to address this as well.


All times are GMT -5. The time now is 05:10.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi