Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Programming (http://www.chiefdelphi.com/forums/forumdisplay.php?f=51)
-   -   Introducing the Open Source Driver Station (http://www.chiefdelphi.com/forums/showthread.php?t=118768)

gluxon 29-08-2013 22:50

Introducing the Open Source Driver Station
 
Hey Chief Delphi!

I would like to share with you what the Second Law Enforcers (Team 178) have been working on for the Summer of FIRST project in the last two months. We’ve replicated the current FRC Driver Station and created a version that will be functional without platform-based dependencies. In other words, this Driver Station will work on OS X and Linux as well as Windows.

At the current state, the only thing you really can do is enable and disable the robot. Joystick support is coming up soon. The main issue with adding this feature is that I don’t have one to test with, and won’t until our next team meeting. :(

Anyway, this is just a beta test. I’m working on creating a version for iOS, which I hope to have out within the next month. I do realize this has been done in the past, but the app is no longer up, so I’m recreating it with 2013 and hopefully 2014 season support. :)

Download links are on the GitHub page. https://github.com/Summer-of-FIRST/DriverStation.js

Note: This is not legal for usage during a competition match. I will most likely add a kill switch if it detects FMS in the future.

joelg236 29-08-2013 23:20

Re: Introducing the Open Source Driver Station
 
Saw this on github earlier. Is this legal for competition? Also, how is performance of packets and UI? Any enhancements available?

dellagd 30-08-2013 00:35

Re: Introducing the Open Source Driver Station
 
:O

This is awesome, I cant wait till I can look at this code after school settles down...

EDIT: Uh, what happened to separate lines in "jquery-2.0.3.min.js"?

magnets 30-08-2013 07:08

Re: Introducing the Open Source Driver Station
 
This is pretty neat. I like this user interface more than I like the provided driver station's interface. Just out of curiosity, do you know why the file is so big? Also, why does it come with ffmpeg?

Michael Hill 30-08-2013 07:10

Re: Introducing the Open Source Driver Station
 
Quote:

Originally Posted by dellagd (Post 1289221)
:O

This is awesome, I cant wait till I can look at this code after school settles down...

EDIT: Uh, what happened to separate lines in "jquery-2.0.3.min.js"?

A jquery.min.js will be a minimized version of jquery. It's a pretty common thing to do with javascript to really squeeze down on filesize. If you have 1000 lines of code, there's a hidden "\n" on every line taking up a byte, so by getting rid of those, it reduces the file size by about a kB. But it doesn't just stop with \n, a minimized version will also rename your functions to typically single letter names, so each reference to them will be reduced down to a single letter. This isn't anything you worry about in a compiled language, but since js is interpreted, it can matter.

FrankJ 30-08-2013 08:20

Re: Introducing the Open Source Driver Station
 
Quote:

Originally Posted by joelg236 (Post 1289213)
Saw this on github earlier. Is this legal for competition? Also, how is performance of packets and UI? Any enhancements available?

I don't see it ever being legal for competition. The driver station enables/disables the robot. So it will be always a controlled bit of software.

gluxon 30-08-2013 12:50

Re: Introducing the Open Source Driver Station
 
Quote:

Originally Posted by magnets (Post 1289239)
This is pretty neat. I like this user interface more than I like the provided driver station's interface. Just out of curiosity, do you know why the file is so big? Also, why does it come with ffmpeg?

For the work on this application, I wanted to focus more on the protocol parts, as that was more uncertain. This was basically just a test for the later iOS and possibly Android version. As a result, I used a GUI setup that I was already familiar with and could code quickly. This ended up being node-webkit. The entire interface is written in web technologies (HTML, CSS, and JavaScript).

The file you're downloading is my code bundled with a special version of the webkit engine. I realized that the file size would be in the 60 MB range when making this decision, and modern computers don't really have an issue with storage, so I went with it.

Writing this in web technologies also gave me a very large amount of control over how I wanted this to look, which was huge bonus for me.

brennonbrimhall 31-08-2013 14:50

Re: Introducing the Open Source Driver Station
 
This is great! One thought I have is that this would be even better with a similar homebrew FMS solution. Is this on your roadmap?

I have heard of others who have tried to replicate FMS (https://github.com/itguy51/FRC-OpenFMS, for example), but these haven't been documented very well yet, and look like they're the work of single people, not the FRC community.

gluxon 01-09-2013 15:51

Re: Introducing the Open Source Driver Station
 
Quote:

Originally Posted by brennonbrimhall (Post 1289386)
This is great! One thought I have is that this would be even better with a similar homebrew FMS solution. Is this on your roadmap?

I have heard of others who have tried to replicate FMS (https://github.com/itguy51/FRC-OpenFMS, for example), but these haven't been documented very well yet, and look like they're the work of single people, not the FRC community.

If there is a desire for this, sure. I'll probably end up contacting existing open FMS maintainers to see who's interested in a collaborative effort.

Andrew Lobos 01-09-2013 17:26

Re: Introducing the Open Source Driver Station
 
Quote:

Originally Posted by gluxon (Post 1289498)
If there is a desire for this, sure. I'll probably end up contacting existing open FMS maintainers to see who's interested in a collaborative effort.

I'd be interested in getting something going to develop a full open source FMS.

Here is some of the stuff I worked on a while ago, mainly as a proof of concept: https://github.com/4ndr3w/Java-FRC-FMS/

FMS -> DS is fully implemented. Robot mode(auto/tele), state, alliance, and station setting all work with the 2013 DS.
Since the DS->FMS stuff is not yet implemented, the FMS will just blindly send packets to the team's DS IP without gathering status info, but it works.

For anyone interested, I used this whitepaper as a reference for the protocol. Despite this being for the old Kiwibyte 2009 DS, it still works with the 2013 DS.
http://www.chiefdelphi.com/media/papers/2266

TheBassett 04-09-2013 01:14

Re: Introducing the Open Source Driver Station
 
Quote:

Originally Posted by brennonbrimhall (Post 1289386)
This is great! One thought I have is that this would be even better with a similar homebrew FMS solution. Is this on your roadmap?

How much need is there for this type of FMS lite program? I have been working with my team to create an FMS Lite solution and just a few weeks ago we ran nearly 10 full matches with 3 different robots and no apparent issues. If there is a need for this we would be happy to prep it for release(as open source) :D

Andrew Lawrence 04-09-2013 01:47

Re: Introducing the Open Source Driver Station
 
Any idea when the OSX version will be released?

brennonbrimhall 04-09-2013 06:07

Re: Introducing the Open Source Driver Station
 
Quote:

Originally Posted by TheBassett (Post 1289835)
How much need is there for this type of FMS lite program?

Need? None. We already have the FIRST-sanctioned FMS Lite, and the practice button on the real Driver Station.

It's definitely more of a want. For example, FMS Lite hasn't been updated since 2009, can't be implemented very well at teams' practice fields, and the underlying logic is not accessible to the of the community (minus NI and FIRST, of course). It stands as a decent (but old) solution for some offseason or preseason events. There really isn't any way a team can set up an instance of FMS (homebrew or official) easily for their own purposes.

Plus, after Einstein 2012, I would personally prefer my team's drivers practicing under some sort of FMS to more accurately approximate a real match – and not just driving with the Driver Station set to practice mode.

Quote:

Originally Posted by Andrew Lawrence (Post 1289839)
Any idea when the OSX version will be released?

While I don't know much about node-webkit, I have worked with node.js before. It should be cross-platform, and while there isn't a nice installer or executable, you should be able to download the source and try it from there, I believe – assuming you have node.js installed, of course. It wouldn't be a nice, clean .dmg or installer that you'd be used to, but it would be functional. I'm sure you could PM me or gluxon if you have any questions, or you could just wait until the next release.

gluxon 04-09-2013 17:43

Re: Introducing the Open Source Driver Station
 
All I have to do is package the OS X version into a nice .app. I'll do it tonight when I get home. :)

mlepard 17-09-2013 17:48

Re: Introducing the Open Source Driver Station
 
I really appreciate this open source driver station. I'm not a fan of installing LabVIEW on our programming teams personal laptops just so that they can play with our test cRIO setup (we only have one driver station).

I'd really love the ability to use a joystick with it.

Thanks a lot for this!


All times are GMT -5. The time now is 03:04.

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