Go to Post Start simple and build up. - Mark McLeod [more]
Home
Go Back   Chief Delphi > Technical > Programming > Java
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 08-09-2013, 20:22
Team3266Spencer's Avatar
Team3266Spencer Team3266Spencer is offline
Team Captain and Lead Programmer
AKA: Spencer Lanman
FRC #3266 (Robots-R-US)
Team Role: Programmer
 
Join Date: Oct 2011
Rookie Year: 2012
Location: Richmond, Indiana
Posts: 280
Team3266Spencer is an unknown quantity at this point
Disappointed

Last season I had a few frustrations with the Java library. I feel very limited by the NI vision resources for image processing which may or may not apply to Labview and C++. Most frustrating was the disallowing of the Smartdashboard at competition evidently due to some network hogging issues with the Smartdashboard. Plus I struggled with constant crashing even after updates that were supposed to resolve it. This is disappointing because some of Javas best features are created by the Smartdashboard. Whenever I want to do something with the Smartdashboard now I feel discouraged to because I doubt its usefulness at competition. Maybe it wasn't for other teams but for us it was a pool of problems. I'm looking for someone to tell me we just have something wrong because I would really like to use the Smartdashboard.
__________________
2012: Buckeye Regional, Queen City Regional, Human Player
2013: Queen City Regional, Buckeye Regional, Crossroads Regional
Shooter Operator
2014: Crossroads Regional, Queen City Regional
Catapult Operator
2015: Georgia Southern Classic Regional (Winner), Queen City Regional
Chainsaw Operator
Want to talk? TeamSpeak: team3266.noip.me
Reply With Quote
  #2   Spotlight this post!  
Unread 08-09-2013, 21:41
Arhowk's Avatar
Arhowk Arhowk is offline
FiM CSA
AKA: Jake Niman
FRC #1684 (The Chimeras) (5460 Mentor)
 
Join Date: Jan 2013
Rookie Year: 2013
Location: Lapeer
Posts: 543
Arhowk is a splendid one to beholdArhowk is a splendid one to beholdArhowk is a splendid one to beholdArhowk is a splendid one to beholdArhowk is a splendid one to beholdArhowk is a splendid one to behold
Re: Disappointed

Honestly, I think that the SmartDashboard was only built for debugging functions, as its competition usefulness is extremely limited. I attempted to use SmartDashboard at first, but what I ended up doing is just making a custom .jar and using a custom byte processor to send messages between the dashboard and the robot. This made customization and vision processing ALOT easier.

The LabView NI Vision resources are... well... underdeveloped. They're useful, but you can't debug anything, view threshholds, etc. WPIJavaCV is slightly useful, but it's not really up to par. I ended up using the OpenCV for Java built-in implementation to do threshholding than converted it into a BufferedImage and did the parallelogram detection by hand.

Unless 2014SD is alot better in terms of competition usefulness this is your best choice. You can't adjust font sizes, you can't add static labels, you cant use HTML formatting, the save/loading of layouts breaks often, the Preferences widget breaks the ftp server, theres no good vision processing widget (hm.. I should make one that would be awesome), you cant swap in and out of pages easily (i have over 8 panels that i switch between based on debug, experienced driver, inexperienced driver, etc.)

Also, if your having problems with autonomous, have you ever tried command-based? I wrote a short little segment of code (100 lines) that lets me do every autonomous (we had static 3disc, 3disc + pyra, 3disc + back, etc) in 10 lines or less.

Last edited by Arhowk : 08-09-2013 at 21:46.
Reply With Quote
  #3   Spotlight this post!  
Unread 08-09-2013, 22:26
AllenGregoryIV's Avatar
AllenGregoryIV AllenGregoryIV is offline
Engineering Coach
AKA: Allen "JAG" Gregory
FRC #3847 (Spectrum)
Team Role: Coach
 
Join Date: Jul 2008
Rookie Year: 2003
Location: Texas
Posts: 2,557
AllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond repute
Send a message via AIM to AllenGregoryIV
Re: Disappointed

When were you not allowed to use smartdashboard? We use it every event and have never had any major issues with it specifically.

We use it for both displaying information to the drivers and the ability to change some of the robots settings on the fly.

It was definitely designed to be used during competition.
__________________

Team 647 | Cyber Wolf Corps | Alumni | 2003-2006 | Shoemaker HS
Team 2587 | DiscoBots | Mentor | 2008-2011 | Rice University / Houston Food Bank
Team 3847 | Spectrum | Coach | 2012-20... | St Agnes Academy
LRI | Alamo Regional | 2014-20...
"Competition has been shown to be useful up to a certain point and no further, but cooperation, which is the thing we must strive for today, begins where competition leaves off." - Franklin D. Roosevelt
Reply With Quote
  #4   Spotlight this post!  
Unread 08-09-2013, 22:29
Arhowk's Avatar
Arhowk Arhowk is offline
FiM CSA
AKA: Jake Niman
FRC #1684 (The Chimeras) (5460 Mentor)
 
Join Date: Jan 2013
Rookie Year: 2013
Location: Lapeer
Posts: 543
Arhowk is a splendid one to beholdArhowk is a splendid one to beholdArhowk is a splendid one to beholdArhowk is a splendid one to beholdArhowk is a splendid one to beholdArhowk is a splendid one to behold
Re: Disappointed

Quote:
Originally Posted by AllenGregoryIV View Post
When were you not allowed to use smartdashboard? We use it every event and have never had any major issues with it specifically.

We use it for both displaying information to the drivers and the ability to change some of the robots settings on the fly.

It was definitely designed to be used during competition.
We weren't allowed to use it at Kettering, first event of the season. Never attempted to use them at the rest.

Exactly what information are you displaying? Last season, our drivers were the type that they didn't take their attention off of the field and relied solely on peripheral vision to check the dashboard and we couldn't get fonts big enough onto the dash.

Also, what settings? (Just curious). The only settings that we even came close to changing were Xbox 360 > Logitech > Dualshock and camera processing (which had built-in presets for different venues)
Reply With Quote
  #5   Spotlight this post!  
Unread 08-09-2013, 23:21
Team3266Spencer's Avatar
Team3266Spencer Team3266Spencer is offline
Team Captain and Lead Programmer
AKA: Spencer Lanman
FRC #3266 (Robots-R-US)
Team Role: Programmer
 
Join Date: Oct 2011
Rookie Year: 2012
Location: Richmond, Indiana
Posts: 280
Team3266Spencer is an unknown quantity at this point
Re: Disappointed

We use command based and I'm surprised they didn't make you shut down your smartdashboard. Do you think you could help me with this custom dashboard of yours?
__________________
2012: Buckeye Regional, Queen City Regional, Human Player
2013: Queen City Regional, Buckeye Regional, Crossroads Regional
Shooter Operator
2014: Crossroads Regional, Queen City Regional
Catapult Operator
2015: Georgia Southern Classic Regional (Winner), Queen City Regional
Chainsaw Operator
Want to talk? TeamSpeak: team3266.noip.me
Reply With Quote
  #6   Spotlight this post!  
Unread 09-09-2013, 01:38
AllenGregoryIV's Avatar
AllenGregoryIV AllenGregoryIV is offline
Engineering Coach
AKA: Allen "JAG" Gregory
FRC #3847 (Spectrum)
Team Role: Coach
 
Join Date: Jul 2008
Rookie Year: 2003
Location: Texas
Posts: 2,557
AllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond repute
Send a message via AIM to AllenGregoryIV
Re: Disappointed

Quote:
Originally Posted by Arhowk View Post
We weren't allowed to use it at Kettering, first event of the season. Never attempted to use them at the rest.

Exactly what information are you displaying? Last season, our drivers were the type that they didn't take their attention off of the field and relied solely on peripheral vision to check the dashboard and we couldn't get fonts big enough onto the dash.

Also, what settings? (Just curious). The only settings that we even came close to changing were Xbox 360 > Logitech > Dualshock and camera processing (which had built-in presets for different venues)

We always displayed the speed of each of our 3 shooter wheels. We also have small things like a small disabled toggle that toggles while the robot is disabled to easily show the drivers that the smartdashboard hasn't crashed.

The dashboard was used mostly by the operator not the base driver. They could adjust the shooter speeds for each of the 3 wheels, and also the speeds the wheels ran when they were in collection mode. We had a couple things that ran on timers, like how long our flick motors ran to shoot out each disc. All of these setting could be adjusted pre-match or during the match.

One of the things that helps make sure you don't have any lag with the dashboard is to limit the number of times you update it. We have two update dashboard methods that get run based on the system clock. One runs every .2 secs and the other every 2 secs. That way we aren't trying to constantly stream information. 0.2 seconds is plenty fast for most things.
__________________

Team 647 | Cyber Wolf Corps | Alumni | 2003-2006 | Shoemaker HS
Team 2587 | DiscoBots | Mentor | 2008-2011 | Rice University / Houston Food Bank
Team 3847 | Spectrum | Coach | 2012-20... | St Agnes Academy
LRI | Alamo Regional | 2014-20...
"Competition has been shown to be useful up to a certain point and no further, but cooperation, which is the thing we must strive for today, begins where competition leaves off." - Franklin D. Roosevelt
Reply With Quote
  #7   Spotlight this post!  
Unread 09-09-2013, 13:43
Joe Ross's Avatar Unsung FIRST Hero
Joe Ross Joe Ross is offline
Registered User
FRC #0330 (Beachbots)
Team Role: Engineer
 
Join Date: Jun 2001
Rookie Year: 1997
Location: Los Angeles, CA
Posts: 8,572
Joe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond repute
Re: Disappointed

Quote:
Originally Posted by Arhowk View Post
Unless 2014SD is alot better in terms of competition usefulness this is your best choice. You can't adjust font sizes, you can't add static labels, you cant use HTML formatting, the save/loading of layouts breaks often, the Preferences widget breaks the ftp server, theres no good vision processing widget (hm.. I should make one that would be awesome), you cant swap in and out of pages easily (i have over 8 panels that i switch between based on debug, experienced driver, inexperienced driver, etc.)
In case you didn't see it, smartdashboard is being completely rewritten for 2014: http://www.chiefdelphi.com/forums/sh...50&postcount=4
Reply With Quote
  #8   Spotlight this post!  
Unread 09-09-2013, 14:01
connor.worley's Avatar
connor.worley connor.worley is offline
Registered User
FRC #0973 (Greybots)
Team Role: Mentor
 
Join Date: Mar 2011
Rookie Year: 2010
Location: Berkeley/San Diego
Posts: 601
connor.worley has a reputation beyond reputeconnor.worley has a reputation beyond reputeconnor.worley has a reputation beyond reputeconnor.worley has a reputation beyond reputeconnor.worley has a reputation beyond reputeconnor.worley has a reputation beyond reputeconnor.worley has a reputation beyond reputeconnor.worley has a reputation beyond reputeconnor.worley has a reputation beyond reputeconnor.worley has a reputation beyond reputeconnor.worley has a reputation beyond repute
Re: Disappointed

We haven't been able to get it to work reliably in C++ without NetworkTables dropping dead every so often. After more issues this season we've given up on it, the issues seem to be caused by SmartDashboard/NetworkTables/some combination of the two, not any particular language.
__________________
Team 973 (2016-???)
Team 5499 (2015-2016)
Team 254 (2014-2015)

Team 1538 (2011-2014)
2014 Driver (25W 17L 1T)
日本語でOK
Reply With Quote
  #9   Spotlight this post!  
Unread 09-09-2013, 14:31
Arhowk's Avatar
Arhowk Arhowk is offline
FiM CSA
AKA: Jake Niman
FRC #1684 (The Chimeras) (5460 Mentor)
 
Join Date: Jan 2013
Rookie Year: 2013
Location: Lapeer
Posts: 543
Arhowk is a splendid one to beholdArhowk is a splendid one to beholdArhowk is a splendid one to beholdArhowk is a splendid one to beholdArhowk is a splendid one to beholdArhowk is a splendid one to behold
Re: Disappointed

Quote:
Originally Posted by Joe Ross View Post
In case you didn't see it, smartdashboard is being completely rewritten for 2014: http://www.chiefdelphi.com/forums/sh...50&postcount=4
I did know that but ugh, javafx? nasty.
Quote:
Originally Posted by Team3266Spencer View Post
We use command based and I'm surprised they didn't make you shut down your smartdashboard. Do you think you could help me with this custom dashboard of yours?

The custom dashboard isn't much but some Swing architecture combined with a OpenCV for Java rendering agent, if you need help with any I can help. Attached is a pic of the nicer dashboard and the not-so-nice dashboard with a bigger screen. I can't give you the exact FPS on the processing, but its decent. Not the best because I do the primary step of processing (blobfinding) in my own Java code so it gets inefficient. (Though I benchmarked it and it was only getting like 5ms downtimes so idk)


Quote:
Originally Posted by AllenGregoryIV View Post
We always displayed the speed of each of our 3 shooter wheels. We also have small things like a small disabled toggle that toggles while the robot is disabled to easily show the drivers that the smartdashboard hasn't crashed.

The dashboard was used mostly by the operator not the base driver. They could adjust the shooter speeds for each of the 3 wheels, and also the speeds the wheels ran when they were in collection mode. We had a couple things that ran on timers, like how long our flick motors ran to shoot out each disc. All of these setting could be adjusted pre-match or during the match.

One of the things that helps make sure you don't have any lag with the dashboard is to limit the number of times you update it. We have two update dashboard methods that get run based on the system clock. One runs every .2 secs and the other every 2 secs. That way we aren't trying to constantly stream information. 0.2 seconds is plenty fast for most things.
3 shooter wheels? Why wouldn't they be the same? Also, if your showing them on the dash theres a large chance your controlling them via pid so it would be quicker to just display a green/red image if they are ready. Again, why are you being forced to change constants? The constants used on our robot for PID controlling were pretty much universal once kettering hit. For the SD, it seems like it would be easier to just intercept the putData calls and insert them into a flush buffer :/
Attached Thumbnails
Click image for larger version

Name:	num3.png
Views:	21
Size:	103.4 KB
ID:	15197  Click image for larger version

Name:	num2.png
Views:	19
Size:	75.5 KB
ID:	15198  Click image for larger version

Name:	num1.png
Views:	18
Size:	100.6 KB
ID:	15199  

Last edited by Arhowk : 09-09-2013 at 14:56.
Reply With Quote
  #10   Spotlight this post!  
Unread 09-09-2013, 15:38
AllenGregoryIV's Avatar
AllenGregoryIV AllenGregoryIV is offline
Engineering Coach
AKA: Allen "JAG" Gregory
FRC #3847 (Spectrum)
Team Role: Coach
 
Join Date: Jul 2008
Rookie Year: 2003
Location: Texas
Posts: 2,557
AllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond repute
Send a message via AIM to AllenGregoryIV
Re: Disappointed

Quote:
Originally Posted by Arhowk View Post
3 shooter wheels? Why wouldn't they be the same? Also, if your showing them on the dash theres a large chance your controlling them via pid so it would be quicker to just display a green/red image if they are ready. Again, why are you being forced to change constants? The constants used on our robot for PID controlling were pretty much universal once kettering hit. For the SD, it seems like it would be easier to just intercept the putData calls and insert them into a flush buffer :/
Every robot is different. Getting a linear shooter configuration to have reduced wheel slippage at each wheel requires individual control of the wheels to get the most energy transfer. We also changed speeds due to wheel wearing of the course of an event. We also collected with our shooter wheels so those speeds needed to be changed. Obviously this wouldn't need to happen with every robot but it did for ours. We found a system that worked for us that got us a finalist at Razorback and a trip to IRI so I think it came out alright.
__________________

Team 647 | Cyber Wolf Corps | Alumni | 2003-2006 | Shoemaker HS
Team 2587 | DiscoBots | Mentor | 2008-2011 | Rice University / Houston Food Bank
Team 3847 | Spectrum | Coach | 2012-20... | St Agnes Academy
LRI | Alamo Regional | 2014-20...
"Competition has been shown to be useful up to a certain point and no further, but cooperation, which is the thing we must strive for today, begins where competition leaves off." - Franklin D. Roosevelt
Reply With Quote
  #11   Spotlight this post!  
Unread 09-09-2013, 19:04
byteit101's Avatar
byteit101 byteit101 is offline
WPILib maintainer (WPI)
AKA: Patrick Plenefisch
no team (The Cat Attack (Formerly))
Team Role: Programmer
 
Join Date: Jan 2009
Rookie Year: 2009
Location: Worcester
Posts: 699
byteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of light
Re: Disappointed

Quote:
Originally Posted by Arhowk View Post
I did know that but ugh, javafx? nasty.
Firstly, I agree with your "ugh,nasty" for JavaFX *the language* from JavaFX *the toolkit* 1.x. However, JavaFX *the toolkit* 2.x is a toolkit that you can program in any JVM language, and is much better which is what 2014 SmartDashboard uses. Very handy.

Re the original question, I would have to agree with you for the current 2013 SmartDashboard. When SmartDashboard originally came out, I was the creator of the ZomB Dashboard System (search around for details about that) and saw absoloutely nothing interesting in it aside from the fact that it could run on Mac + Linux whereas ZomB was C#+WPF and windows restricted. If you wanted a totally AWESOME dashboard before 2012, ZomB was it. I was then a senior, and got accepted to WPI (Woo!), and am bringing my experiences from ZomB to SmartDashboard, so expect more awesome soon...

Side rant and strong opinions about GUI toolkits:

I originally wrote ZomB in WinForms, then picked up a book about WPF and was totally blown away, so re-wrote the UI side of ZomB in WPF. To this day, I feel as if WPF is the best engineered UI toolkit i've seen. I left Windows shortly after graduating high school so looked at Java stuff a bit. Swing felt like a worse WinForms and had many things that I felt were odd, in addition to its horrible ugly default look. Then I saw JavaFX and although it seems like a "quick! do WPF! but in java!" sort of thing and 2.x is missing some interesting things, it does have many of the good things I saw in WPF.

[/rant]
__________________
Bubble Wrap: programmers rewards
Watchdog.Kill();
printf("Watchdog is Dead, Celebrate!");
How to make a self aware robot: while (∞) cout<<(sqrt(-∞)/-0);
Previously FRC 451 (The Cat Attack)
Now part of the class of 2016 at WPI & helping on WPILib
Reply With Quote
Reply


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 11:36.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


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