SmartDashboard1

hello again hey this is Brad Miller from WPI and with me is Alex Henning and yeah alex is a freshman at WPI in robotics engineering and what we want to show you today is using the smart dashboard alright so using the kiyose bought program that you can find in samples if you open up command base you will something envy okay so you can one thing to do is using this my dashboard you can put data and one type of data is the subsystems which we have here so we put those they will show up on this map dashboard so we won the robot we we hit a button it’ll show what the man each subsystem had so this is a great way of debugging your program we’re just operating the robot using our little gamepad here and you can see for each subsystem you can see exactly what it’s doing at any one time which commands it’s running and so we’re just playing it you can hear the thing going on and off and things are happening you can see what’s going on so if you remember from the previous videos or if you look at the sample program you see all those commands those are what’s running it’s nice seeing what’s running on each subsystem but what we want to see all the commands in the boba fett allotting so we just throw the key is bought and what we can do is tell the smart dashboard just record everything that the scheduler is doing and by just saying put data of an instance of the scheduler which you can get by typing scheduler get instance so so this is actually pretty nice okay now we do this we run the program this is this is something that you guys should use for debugging your programs because if you if your record of using commands they need to smart dashboard you can see at any time what’s happening and in fact you’ll see this is pretty cool you can actually test the commands right now so there’s no commands running I think we’re disabled will enable the robot ok and then as soon as we do something there we go you can see drive with joysticks command is running and prepare to grab is running and we can cancel those so we hit the cancel button it stops them from running that’s pretty nice I mean so you could you could actually use the schedule you can stop commands when they’re running and you can you know so that’s kind of a nice way of seeing what’s going on next week let’s put the potentiometer rangefinder value so that we can see what they show so say you’re debugging your program and you need to see what the potentiometer is doing on this elevator that we have so we want to see the height of the elevator and how it corresponds to the output value because we want to calibrate it or we want to see if it’s working or something like that so we’re just adding this update status method to two gears bot which is calling the update status method for the drivetrain so so by putting up The Ecstatic method and each of these subsystems then putting putting this stuff here then you can get all of the status updates at the same time and now we just want to make sure that all update status at every periodic function so and we also want to do with when it’s disabled just so we can see what value so I think so so the advantage of putting it into a method called update status and having here is then if you want to be able to use it in different robots States it’s easy to call it over and over again without having to retype all of these things and then if you ever want to get rid of it then you just remove the update status method from the gears buff whose main program and then all the status updates stopped coming out so in the drivetrain we want to put the value of the lane finder so and we will put and then we give it a name so what was called lanes find it and this is what it showed up on this mutt dashboard ass and we put

rangefinder dot get voltage you just put the day you want and it should just work and you something oh don’t do it and then we do the same thing for the elevator the way we want to do tensiometer here’s Ted and call it elevator pot import that should be all we need to if we go back here talking to complaining bed anymore so now we need to do is load the code and we’ll get some values on this my dashboard it also is really good just to monitor what’s going on while the program is running and you’ll see you can get some interesting displays of the status values so we’re running now so now it’s running and it’s showing the values now the others are kind of hard to read so we can we can put this make the speed editor bit so we can change them and if you right-click on the values we can change it to say a formatted field and now now it now you can and you can now set the number of decimal places it shows and so it’s a little bit easier to read so that’s pretty nice so now maybe we want to see what’s happening with say the elevator well it goes up and down by the code so we just you make it like a plot on line law enable the low bar and now as you can see if the elevator was going up and down you can see that the the value that we’re showing is going up and down and they don’t do a lot of other cool with it you can get so in addition there’s a progress bar which you can change the range to so the voltage is 5 volts so we’ll just go to 5 host I was disabled to Allah alright now new go down you can see your progress another widget that’s interesting though not tribunal here’s a compass and you need to accomplish this so your t-shirt so if you again 105 volts of kale so what’s the like tab so now it’s the list changes really changes you can see it moving now this wood is more useful to you like a gyro so you find them see how much of about is turn what are the each other I mean those are the main ones that oh this the title tip is in the compass well take a look yeah so look at his properties and we can set its upper and lower limits so again this is a 5 volt sensor and then you can drag these allowed in so you can change the layout to match anything you want you know for your that’s convenient for you and then you can save it and so the next time you start the smart dashboard you’ll get exactly the same layout so next let’s do some command stuff ok so if you go to the oh I let’s see we want to but it but something that we only want to do once in a while so we don’t want like a dedicated physical hugger but it we can make software buttons so one way to do that is you can create an internal button and then come down here you just press this not dashboard with the name

oh you’re passing me so we’ll have we’ll call this Stowe and we’ll make this one that’s toke man so you just treat it like a normal button after you put this my dashboard so you can put an IDOT one press new toe cherry stuff yeah so just one of our commands yeah so that’s a command and then that will do with one H but you can also do while held or one release just like a normal button another way of accomplishing a similar thing is you can just put a command that so we can just do smoke dashboard start put and then we can pass it a command oh that’s not should be put data put data and then compare to graph yeah so then this will come up as a button that wants to put that about demand so if we load this code so nice thing about this this will get buttons up here like these cancel but it’ll stoked man so you can just press it in it will just type whatever you want to stir it was talk whatever you want to talk this is good if you put in a bunch of commands but you haven’t got an old program together you can test them one at a time by just putting up to this mark dashboard and then they’ll show up there with a bunch of buttons to start and stop them and then you can you can try them separately without having to write code that does it alright so now we have so you’ll have noticed the command came up with a stud and it’s name and this toe is just normal better than looking like this and if we enable it we did so we start the program oh it’s in that it oh you’re gonna go out of edit mode and you get prepared without their clothes and you can cancel it though and then if you just oh it’ll show and you can see it well then key if you want cancel it now in addition if you you can switch to editable mode and you can actually make the command show up just like this but it and this has no options but so then if you go to editable mode it’ll one like that the only downside is you can’t really cancel it wants to touch except by going to here so if you want you can also a move with the man so you just right-click when you’re in editable mode you might click remove and if you want to add it back you put a feel so you know this so you can remove and add additionally you can add a connection indicator to see if you connect it and this just lets you see whether or not you are connected to the robot you can resize it it has properties if you want to change the coloring some of the color so now let’s say we want to we have all the stuff come to my dashboard let’s say we want to make a dashboard for drivers we’re driving they probably don’t care about all the commands in general so we just kind of lose that they pulled up I find the commands running on each subsystem interesting so we can just kind of put those lined up near the top in a somewhat sensible order what else would we do well it is pretty good it’s a pretty good start I mean we can see connection issues so you get to change the layout to something which makes sense and like we said you know some of these things like having a compass for the wrist pot maybe not may not make a lot of sense but it’s making a nice beach tow’ button you can resize resize everything you can change it to make it be like whatever whatever you make the interface look like

anything you want yeah so you can also it’s extendable so you can make your own custom widgets to do stuff that I don’t either aren’t already there and then maybe we can talk about how to do that later yeah so this is a pretty good-looking dashboard anything else all day Buhl’s so if you want to just like leavel something didn’t get a chief aside so thanks there you have it hello again hey this is Brad Miller from WPI and with me is Alex Henning and yeah Alex is a freshman at WPI and robotics engineering and what we want to show you today is using the smart dashboard alright so using the kiyose ball program that you can find in samples if you open up command base you will be let’s drive to distance that’s command base okay so you can one thing to do is using this my dashboard you can put data and one type of data is the subsystems which we have here so we put those they will show up on this map dashboard so we won the robot we we hit a button it’ll show what the man’s each subjects have had so this is a great way of debugging your program we’re just operating the robot using our little gamepad here and and you can see you can see for each subsystem you can see exactly what it’s doing at any one time which commands it’s running and so we’re just playing it you can hear the thing going on and off and things are happening and you can see you can see what’s going on so if you remember from the previous videos or if you look at the sample program you see all those commands those are what’s running all right so it’s nice seeing what’s running on each subsystem but what we want to see all the commands in the robot that of Aden so we just put the key is bought and what we can do though is tell the smart dashboard just record everything that the scheduler is doing and by just saying put data of an instance of the scheduler which you can get by typing scheduler get instance so so this is actually pretty nice so you’ll you’ll see this okay now we do this we run the program okay it’s downloading it and then and then we’ll start running in just a second as soon as it finishes downloading so you can see it you can see it now there goes it’s connected it’s FTP the program to the robot now for gluing it and when it finishes rebooting then we should see the schedule or object pop up in the smart dashboard so it’s it’s waiting for it to reboot this is this is something that you guys should use for debugging your programs because if you if your right part of using commands they need to smart dashboard you can see at any time what’s happening and in fact you’ll see this is pretty cool you can actually test the commands right now so there’s no commands running I think we’re disabled will enable the robot okay and then as soon as we do something there we go we can see drive with joysticks command is running and prepare the grab is running and we can cancel those so if we hit the cancel button it stops them from running and and so that’s pretty nice I mean so you could you could actually use the scheduler you can stop commands when they’re running and you can you know so that’s kind of a nice way of seeing what’s going on oh okay what’s next next we let’s put the potentiometer in rangefinder value so you can see what they show so say you’re debugging your program and you need to see what the potentiometer is doing on this elevator that we have so we want to see the height of the elevator and how it corresponds to the output value because maybe we want to calibrate it or we want to see if it’s working or something like that so we’re just adding this update status method to two gears by which is calling the update status method for the drivetrain so so by putting update status method in each of these subsystems then putting putting this stuff here then you can get all of the status updates at the same time and now we just want to make sure that call update status at every periodic function

so and we also want to do with when it’s disabled just so we see what values of loving so so the advantage of putting it into a method called update status and having here is then if you want to be able to use it in different robots States it’s easy to call it over and over again without having to retype all of these things and then if you ever want to get rid of it then you just remove the update status method from the gears button from whose main program and then all the status updates stopped coming out five train so in the drivetrain we want to put the value of the rangefinder so one put a boolean or an analog value right I’m eating a double yeah and we want to put and then we give it a name so we’ll just call Elaine’s find it and this is what I showed up on the cement dashboard ass and we put rangefinder get voltage you put the value you want and it should just work maybe some people do it and then we do the same thing for the elevator in the West potentiometer here’s Ted and call it elevator pot import that should be all we need to if we go back here talking to complaining vet anymore so now we need to do is load the code and we’ll get some values on this map dashboard so it turns out this mark guess what is the really powerful debugging tool for helping me debug your program and write your program and make sure everything’s working the way you think that it should it also is really good just to monitor what’s going on while the program is running and you’ll see you can get some interesting displays of the status values so we’re running now so now it’s running and it’s showing the values now the always are kind of hard to read so we can we can put this make this beat editable so we can change them and if you’re right click on the values we can change it to say a formatted field and now now it now you can you can now set the number of decimal places it shows and so it’s a little bit easier to read so that’s pretty honest so now maybe we want to see what’s happening with say the elevator well it goes up and down to the code so we just make it like a plot online log enable the low bar you know as you can see if the elevator was going up and down you can see that the the value that we’re showing is going up and down and they don’t do a lot of other cool with it you can get so in addition as a progress bar which you can change the wage to so the voltage is 5 volts so we’ll just to 5 all right now when you go down you can see your foie gras another widget that’s interesting though not to usual here’s a compass and you need to compass the so your t-shirt so if you again 105 volts of kale so much

like Ted so now it’s the list really changes you can see it moving now this would use is more useful to you like a gyro so you find them see how much of about his turn what are the with each other I mean those are the main ones that oh this the dial to Pacific compass well take a look yeah so look at his properties and we can set its upper and lower limits so again this is a 5 volt sensor oh that would do it it changed Oh next on high and well well anyway the wrench fighters yeah I got some stuff in front of it sold with messed up but you get the idea and then you can drag these allowed and you can change the layout to match anything you want you know for your that’s convenient for you and then you can save it and so next time you start the smart dashboard you’ll get exactly the same layout so next let’s do some command stuff okay so if we go to the O I let’s see we want to but it but something that we only want to do once in a while so we don’t want like a dedicated physical hugger but it we can make software buttons so one way to do that is you can create an internal button and then come down here you just press this my dashboard with the name oh you’re passing me so we’ll have we’ll call this Stowe and we’ll make this one that’s toka man so you just treat it like a normal button after you clip this my dashboard so you put an IDOT when Christ knew Jerry stuff yes so just one of our commands yeah such a command and then that will do with one H but you can also do well held or when released just like a normal button another way of accomplishing a similar thing is you can just put a command that so we can just do smoke dashboard start put and then we can pass it a command oh that’s not should be put data put data and then a string compare to grab you don’t need a string do you think oh it does yeah puts it automatically yeah so then this will come up as a button that wants to put head grab – man so if we load this code so nice thing about this this will get buttons up here like these cancel but it’ll stoked man so you can just press it and it will just uh whatever you want to stir it was talk whatever you want to talk this is good if you written a bunch of commands but you even got a little program together you can test them one at a time by just putting them to this mark dashboard and then they’ll show up there with a bunch of buttons to start and stop them and then you can you can try them separately without having to write code that does it alright so now we have so you’ll have noticed the command came up with a stud and its name and this toe is just normal better than looking like this and if we enable it we do so we start the peg grab oh oh you’re gonna go to edit mode and you hit prepare grab there it goes and you can

cancel it though and then if you it’s just a toe it’ll show and you can see it well then key if you want cancel it now in addition if you you can switch to editable mode and you can actually make the command show up just like this but it and this has no option but so then if you go out editable mode it’ll one like that the only downside is you can’t really cancel it what just to touch except by going to here so if you want you can also a move with man so you just right-click when you’re in editable mode you might click remove and if you want to add it back you photo feel so you know just so you can remove and add additionally you can add a connection indicator to see if you connect it and this just lets you see whether or not you are connected to the robot you can resize it it has properties if you want to change the coloring some of the color so now let’s say we want to we have all this stuff going to it’s my dashboard let’s say we want to make a dashboard for drivers we’re driving they probably don’t care about all the commands in general so we just kind of lose that they put so if I find the commands running on each subsystem interesting so we can just kind of put those lined up near the top in a somewhat sensible order what else did we do well it is pretty good it’s a pretty good start I mean you can see connection issues so you get to change the layup to something which makes sense and like we said you know some of these things like having a compass for the wrist pot maybe not may not make a lot of sense but it’s making nice toe button you can reset every size everything you can change it to make it be like whatever whatever you make the interface look like anything you want yeah so and you can also it’s extendable so you can make your own custom widget to do stuff that I don’t think there aren’t already there and maybe we can talk about how to do that later yeah so this is a pretty good-looking dashboard oh you can add a camera to see the camera and you can add labels so if you want to just like leave or something didn’t get a chief aside so thanks there you have it okay alright alright good so we’ll see you in the next video