Go to Post I just got pwned by Dave...how awesome is that?! - Tetraman [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 21-01-2011, 17:52
pmalmsten pmalmsten is offline
Registered User
no team
Team Role: Mentor
 
Join Date: Jan 2011
Rookie Year: 2006
Location: United States
Posts: 9
pmalmsten is on a distinguished road
Smart Dashboard - What do you think?

Hi Chief Delphi,

New in WPILib this year is a little thing we call the Smart Dashboard. This dashboard aims to simplify visualizing data sent back from your robot.

With this dashboard, no laptop-side programming is required. Simply add a call to SmartDashboard.log() on the robot and the cross-platform GUI is automatically informed of the data and puts it on the screen for you. The GUI can then be customized by dragging widgets around and changing how they look (text boxes, dials, and progress bars are included; each have a handful of adjustable preferences).

For more information and to download the Smart Dashboard client, see the SmartDashboard FirstForge project.

My question to all of you is: What do you think? What would you like to see improved?

Thanks for your time, and good luck!
~Paul Malmsten
  #2   Spotlight this post!  
Unread 22-01-2011, 20:15
MattG_3165 MattG_3165 is offline
Registered User
FRC #3165 (Newbots)
Team Role: Mentor
 
Join Date: Jan 2011
Rookie Year: 2010
Location: Oregon
Posts: 16
MattG_3165 is an unknown quantity at this point
Re: Smart Dashboard - What do you think?

Paul,

I had an initial look at SmartDashboard yesterday and I really like the simplicity and ease of configuration, especially from the robot side. The static log() method makes it exceptionally easy to get data out of the robot and onto a dashboard, and I also really like the fact that the client needs no configuration changes when new inputs are added.

We don't have anyone on our team with labview experience, so we were leery about attempting to customize the default dashboard, and our attempts to run the zomB dashboard failed. Now that I've seen SmartDashboard, I am really hopeful that it will meet our needs - and I expect that it will work out quite well.

I don't have any bugs to report, but after first glance I can think of some feature requests.

-Data logging: Store all the incoming data points and write them to a log file for later analysis.

-Plotting/graphing of data points, especially time-based running plots. Maybe use something like JChart2D for this task.

-More widget types (compass pointer dials especially) would always be nice, and the ability to add static elements (labels, targeting overlays on video feed, etc.) to the dashboard would also be useful.

If I feel brave (my Java is rudimentary) I may see if I can add any of this stuff myself and send you a patch.

On the whole, SmartDashboard is a nice piece of work, and I'm excited to make full use of it this year.
  #3   Spotlight this post!  
Unread 22-01-2011, 20:32
MagiChau's Avatar
MagiChau MagiChau is offline
Registered User
AKA: Michael Chau
FRC #0085 (B.O.B. (Built on Brains))
Team Role: Alumni
 
Join Date: Jan 2010
Rookie Year: 2010
Location: Zeeland, Michigan
Posts: 875
MagiChau is just really niceMagiChau is just really niceMagiChau is just really niceMagiChau is just really nice
Re: Smart Dashboard - What do you think?

Can you use the smart dashboard to create a "template" that you can then edit to add your own cool stuff then? From your report it sounds like you can. I did not try using the Smart Dashboard yet.

I was planning on possibly creating a dashboard for Analyst or Coach to glance at and tell the drivers what they need to know since drivers usually keep their eyes on the field. This year I plan on using sensors heavily for detecting situations that would require a certain programmed mode. This would mean the driver-station need to be looked at more.
  #4   Spotlight this post!  
Unread 22-01-2011, 20:35
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: Smart Dashboard - What do you think?

Quote:
Originally Posted by MattG_3165 View Post
and our attempts to run the zomB dashboard failed
sorry to hear this, did you set your team number in the team number box at the bottom, and did you install the .out file on the robot?
I must admit, I often forget to set the team number on new installs
__________________
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
  #5   Spotlight this post!  
Unread 22-01-2011, 20:40
basicxman basicxman is offline
Emily Horsman
FRC #2200 (MMRambotics)
Team Role: Programmer
 
Join Date: Oct 2007
Rookie Year: 2007
Location: Burlington, Ontario
Posts: 971
basicxman has a brilliant futurebasicxman has a brilliant futurebasicxman has a brilliant futurebasicxman has a brilliant futurebasicxman has a brilliant futurebasicxman has a brilliant futurebasicxman has a brilliant futurebasicxman has a brilliant futurebasicxman has a brilliant futurebasicxman has a brilliant futurebasicxman has a brilliant future
Send a message via AIM to basicxman Send a message via MSN to basicxman Send a message via Yahoo to basicxman
Re: Smart Dashboard - What do you think?

Quote:
Originally Posted by pmalmsten View Post
(text boxes, dials, and progress bars are included; each have a handful of adjustable preferences).
I love the idea and can't wait for Monday so I can try it out. Are the creation of different types of widgets just preferences?

From the looks of here,
http://mmrambotics.ca/wpilib/class_smart_dashboard.html
the static (thank you thank you, no more GetInstance) log() functions never specify a widget type.

If more GUI-like functionality is available for this (my team really really wants a compass like interface) then this shall be our new Dashboard. Really excited
  #6   Spotlight this post!  
Unread 22-01-2011, 20:46
zbanks zbanks is offline
Registered User
AKA: Zach Banks
FRC #0529 (Mansfield Hornets)
Team Role: Leadership
 
Join Date: Feb 2010
Rookie Year: 2008
Location: MA
Posts: 37
zbanks is an unknown quantity at this point
Send a message via AIM to zbanks
Re: Smart Dashboard - What do you think?

I used it earlier today and it worked pretty well. It's nice not to have to deal with labview. It's also *way* nicer than println statements.


Few problems I ran into:

It seemed that there was a maximum number of fields to log, afterwards they were ignored. It's not really a big problem, it would just be nice to see the capabilities documented somewhere. (i.e. does type of data affect? does length of field name?)

Documentation could also be elaborated a bit more. Although I figured it out soon enough, it would have been nice if "SimpleDashboard.init();" was mentioned in the readme. Example code is always good, especially for people who aren't experienced with Java.

Sometimes, when the robot was reprogrammed, a second copy of the fields would show up on the dashboard. Only the new ones were updated.

Aesthetically, it might be good to set up "snapping" for moving the controls on the page around. It could make the dashboard look more professional & as though more than 5 minutes effort was put into it


Overall though, I really like this project. It's so awesome. You have no idea how thankful I am
  #7   Spotlight this post!  
Unread 22-01-2011, 20:52
MattG_3165 MattG_3165 is offline
Registered User
FRC #3165 (Newbots)
Team Role: Mentor
 
Join Date: Jan 2011
Rookie Year: 2010
Location: Oregon
Posts: 16
MattG_3165 is an unknown quantity at this point
Re: Smart Dashboard - What do you think?

Quote:
Originally Posted by ZonChau View Post
Can you use the smart dashboard to create a "template" that you can then edit to add your own cool stuff then? From your report it sounds like you can. I did not try using the Smart Dashboard yet.
Sorry, no templating functionality at this point; the GUI is relatively basic. I was suggesting that I might try and contribute to the project by writing the code for the additional widget types. (But no promises on that front...)

Quote:
Originally Posted by byteit101 View Post
sorry to hear this, did you set your team number in the team number box at the bottom, and did you install the .out file on the robot?
I must admit, I often forget to set the team number on new installs
When we tried to boot the cRIO with the zomB plugin (.out file) installed, the plugin threw 30+ lines of missing symbol exceptions and then crashed during the startup process.
However, I don't want to hijack this thread into a discussion about zomB, so you can expect me to start a new thread or PM you if I want to attempt to run zomB again. No offense intended if I choose to stick with SmartDash though...
  #8   Spotlight this post!  
Unread 22-01-2011, 23:31
pmalmsten pmalmsten is offline
Registered User
no team
Team Role: Mentor
 
Join Date: Jan 2011
Rookie Year: 2006
Location: United States
Posts: 9
pmalmsten is on a distinguished road
Re: Smart Dashboard - What do you think?

Thanks for the feedback everyone. I have noted down all of your requests and will implement them when I can. For those of you with FirstForge accounts, feel free to submit bugs tickets (under the "Tracker" tab) or feature requests (under the "Tasks" tab) at the SmartDashboard project page and I will keep track of them.

To clarify a few things that were discussed:

- Maximum number of fields, etc.. Due to the structure of the network code, up to 127 fields may be created. This is not affected by data type. Name strings may be of any length (within reason), but value data of type String are restricted to 127 characters in length.

If you encounter one of these limitations or any other strange behavior, I encourage you to send the return value of SmartDashboard.log() to
SmartDashboard.diagnoseErrorCode(). It will return to a string suggesting what went wrong. A value of SmartDashboard.SUCCESS will be returned when the call succeeds.

- SmartDashboard.init(). Calling this function is now optional; if the SmartDashboard class is not already initialized, it will do so immediately upon the first call to log().

- Widgets are redundantly re-created and their predecessors are orphaned occasionally on a reboot. I noticed this as well earlier today; it is being tracked as a bug.

Thanks for all of your suggestions! A graph widget and logging to a file are very popular requests, so they are my top priority. I will also investigate adding a compass or other "directional" widget and optional "snap to grid" behavior.

Also, if any of you are interested in submitting patches to the client side code, I just posted a zip of the source code Net Beans project. Unfortunately, anonymous version control access is not available on FirstForge, but I would be happy to look at patches.

Feel free to keep posting ideas!
~Paul Malmsten
  #9   Spotlight this post!  
Unread 23-01-2011, 00:49
zbanks zbanks is offline
Registered User
AKA: Zach Banks
FRC #0529 (Mansfield Hornets)
Team Role: Leadership
 
Join Date: Feb 2010
Rookie Year: 2008
Location: MA
Posts: 37
zbanks is an unknown quantity at this point
Send a message via AIM to zbanks
Re: Smart Dashboard - What do you think?

Paul,

Thanks for the response!

As far as SmartDashboard.init(), goes: good to know! Man, that makes using it even easier.

As far as missing fields go, I'll play around with it. (I was no where near 127 fields, so that's not the issue...) It might be a problem with my specific code. If reproducible I'll get back to you on it Monday.

Last edited by zbanks : 23-01-2011 at 00:59.
  #10   Spotlight this post!  
Unread 01-02-2011, 07:23
sircedric4's Avatar
sircedric4 sircedric4 is offline
Registered User
AKA: Darren
no team (The SS Prometheus)
Team Role: Mentor
 
Join Date: Jan 2008
Rookie Year: 2006
Location: Lousiana
Posts: 245
sircedric4 has a reputation beyond reputesircedric4 has a reputation beyond reputesircedric4 has a reputation beyond reputesircedric4 has a reputation beyond reputesircedric4 has a reputation beyond reputesircedric4 has a reputation beyond reputesircedric4 has a reputation beyond reputesircedric4 has a reputation beyond reputesircedric4 has a reputation beyond reputesircedric4 has a reputation beyond reputesircedric4 has a reputation beyond repute
Re: Smart Dashboard - What do you think?

We are going to switch our Dashboard over to this tonight, hopefully without any issues.

We are not planning on using the camera this year, but if we change our mind and decide to add the camera, is it as simple to add the camera feed as it is variables. I am guessing the .log feature probably doesn't handle the camera?
  #11   Spotlight this post!  
Unread 01-02-2011, 09:21
NetPlanet NetPlanet is offline
Registered User
AKA: Michael Bilinsky
FRC #0296 (The Northern Knights)
Team Role: Mentor
 
Join Date: Jan 2011
Rookie Year: 2010
Location: Montreal, Qc
Posts: 23
NetPlanet is an unknown quantity at this point
Re: Smart Dashboard - What do you think?

I think the smart dashboard is great. It was easy to setup and show data. This is a great idea for teams with limited LabView experience. But our programming team still decided to use the LabView dashboard because of the extra widgets and toys.
__________________
Checkout my new blog! >> www.netopyaplanet.com
~yay
  #12   Spotlight this post!  
Unread 01-02-2011, 14:21
demosthenes2k8's Avatar
demosthenes2k8 demosthenes2k8 is offline
Graduated but not gone
AKA: Matt Soucy
FRC #0166 (Chop Shop 166)
Team Role: Mentor
 
Join Date: Jan 2009
Rookie Year: 2007
Location: Merrimack, NH
Posts: 590
demosthenes2k8 is a splendid one to beholddemosthenes2k8 is a splendid one to beholddemosthenes2k8 is a splendid one to beholddemosthenes2k8 is a splendid one to beholddemosthenes2k8 is a splendid one to beholddemosthenes2k8 is a splendid one to beholddemosthenes2k8 is a splendid one to beholddemosthenes2k8 is a splendid one to behold
Send a message via AIM to demosthenes2k8 Send a message via Yahoo to demosthenes2k8
Re: Smart Dashboard - What do you think?

Actually, it gets the camera feed automatically, and it's really easy! Just go to File>Preferences and fill in the info!
__________________


GSR Dean's List Finalist 2011
  #13   Spotlight this post!  
Unread 01-02-2011, 18:51
Radical Pi Radical Pi is offline
Putting the Jumper in the Bumper
AKA: Ian Thompson
FRC #0639 (Code Red Robotics)
Team Role: Programmer
 
Join Date: Jan 2010
Rookie Year: 2010
Location: New York
Posts: 655
Radical Pi has a spectacular aura aboutRadical Pi has a spectacular aura aboutRadical Pi has a spectacular aura about
Re: Smart Dashboard - What do you think?

I haven't had a chance to try this out yet (our cRIO should have gotten here yesterday ) but it looks like it'll be really useful! So much simpler than re-compiling a LV program every time the dashboard data changes.

Have you thought at all about implementing a dashboard-robot system for communication? I'd love being able to call SmartDashboard.update(pid_i) and have a edit box appear on the screen that lets me edit the value on the robot. If not, I may brush up on my java
__________________

"To have no errors would be life without meaning. No strugle, no joy"
"A network is only as strong as it's weakest linksys"
  #14   Spotlight this post!  
Unread 01-02-2011, 20:28
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: Smart Dashboard - What do you think?

Quote:
Originally Posted by Radical Pi View Post
I'd love being able to call SmartDashboard.update(pid_i) and have a edit box appear on the screen that lets me edit the value on the robot.
You can sort of do this with ZomB ( you have to a tad more though), if you have AllTCP set, you can send stuff back to the robot via all the controls that support it (All that are obvious, drag the value meter for example)
__________________
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
  #15   Spotlight this post!  
Unread 01-02-2011, 20:40
sircedric4's Avatar
sircedric4 sircedric4 is offline
Registered User
AKA: Darren
no team (The SS Prometheus)
Team Role: Mentor
 
Join Date: Jan 2008
Rookie Year: 2006
Location: Lousiana
Posts: 245
sircedric4 has a reputation beyond reputesircedric4 has a reputation beyond reputesircedric4 has a reputation beyond reputesircedric4 has a reputation beyond reputesircedric4 has a reputation beyond reputesircedric4 has a reputation beyond reputesircedric4 has a reputation beyond reputesircedric4 has a reputation beyond reputesircedric4 has a reputation beyond reputesircedric4 has a reputation beyond reputesircedric4 has a reputation beyond repute
Re: Smart Dashboard - What do you think?

We got it installed and working this evening, and I am already in love. Simple to add variables and when I heard the camera will show up too it was over. Bye bye Labview finally.

I haven't figured out the save mechanism yet. I rearranged the variables the way I liked them and saved them, but when I rebooted the robot after updating code, the variables all popped up again over my other ones. I assume I have to rearrange them every time I add another variable? Does it save the config between shutdowns? Also, how do you delete a variable on the screen that isn't being updated anymore?

Overall, I'll deal with "pretty" config issues anyday for how easy this was.
Closed Thread


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 03:50.

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