Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Control System (http://www.chiefdelphi.com/forums/forumdisplay.php?f=177)
-   -   Virtual Driver Station (http://www.chiefdelphi.com/forums/showthread.php?t=75431)

Dave Flowerday 03-03-2009 00:55

Virtual Driver Station
 
2 Attachment(s)
I started working on this last week before the Midwest Regional, and lately I've seen some discussion on CD about the possibility of doing something like this so I figured it might be a good time to post a preliminary version. There's a lot more I'd like to do with it but it's usable now for some basic things. This is a preliminary/preview version only at this point.

So what is it? It's a program that runs on your Windows PC and emulates (most of) the FRC Driver Station. It will connect up to a robot and send commands to it just like a real DS, including reading values from joysticks on your PC. Right now it simply reads joysticks in the order it finds them, though one of the first things I plan to enhance is to allow you to assign a particular joystick to a particular DS port (this is important to my team as we use ports 1 and 3 but not 2). Additionally you can control the driver station digital inputs (analog inputs yet to be implemented) by using keys on the keyboard. Finally, it will also send data to the Dashboard computer. See the readme.txt file inside the .ZIP for more information.

As far as usability, I make no guarantees at this point. Our drivers drove 111's practice robot for a half hour or so using this software and couldn't tell a difference between this and the real thing. However, if you use different joysticks than we do it's possible it might not map them correctly. If you find this to be the case, please let me know.

A word of caution: since this software can control the robot, it could be dangerous if not used correctly. I've implemented it to start up in a disabled state, and require a 2-key sequence to enable it. Even still, do not use this software while anyone is near the robot. Make sure everyone is a safe distance away, and make sure you are able to disconnect the network cable from your computer if something doesn't work right.

Hopefully some people will find some use in this. Given all the problems with the real driver stations, I think it could be useful (we have 2 DSes and both have failed in a different way). If you only have 1 DS and need to send it in for repairs, it's possible you might be able to use this to practice with in the meantime.

Attached below is a picture of what it looks like while running and the .ZIP file containing the program. Please see the readme.txt file contained within the program for more details. Again, with a limited amount of hardware to test with I can't make any guarantees that it will work for you. Also, again I will say to please be cautious when using it and make sure no one is nearby when you run it. Thanks.

Jared Russell 03-03-2009 07:21

Re: Virtual Driver Station
 
Awesome work. This will be VERY useful in the coming weeks...

StephenB 03-03-2009 20:29

Re: Virtual Driver Station
 
Actually, this already exists. We used it at NI for months before the DS company made the DS and got us a few. It is a LabVIEW application called the 'soft driver station'

I'm not going to just give it out because I bet if it wasn't public... there is a reason. I'll check into it and get back to you.

I applaud the effort you have put into this already, nice work.

EricVanWyk 03-03-2009 20:46

Re: Virtual Driver Station
 
Quote:

Originally Posted by StephenB (Post 831353)
I'm not going to just give it out because I bet if it wasn't public... there is a reason. I'll check into it and get back to you.

There is a very good reason it isn't public - it allows you to create unsafe situations. That code is in need of serious polishing before it can be unleashed.

dpeterson3 04-03-2009 07:18

Re: Virtual Driver Station
 
Nice job. You beat me by about a week (homework and the robot code have been cutting into my coding time lately). What language is yours in?

Dave Flowerday 05-03-2009 10:39

Re: Virtual Driver Station
 
Quote:

Originally Posted by dpeterson3 (Post 831545)
What language is yours in?

C++. One of my goals was to have a stand-alone, small .exe that didn't need any extra DLLs or other junk with it, so that it can easily be run from a USB stick or whatever. I considered Python but honestly all the bit-manipulation is easier done in C anyway.

For those interested, here's some of the things I'm working on to improve it:
- GUI to set DS digital inputs
- GUI sliders to set value of DS analog inputs
- Display of DS digital outputs
- Prompt for team # at startup so you don't need to provide it as a program argument
- Map real joysticks to DS USB ports
- Virtual joystick support (a joystick widget that can be manipulated on-screen via mouse)
- Ability to run without needing to change your Ethernet IP address settings (I prefer to just leave my Ethernet port on DHCP)
- Adding an RC simulator (already have a basic version of this since it's hard to find time to test with the actual robot)
- Properly emulate DS's ability to randomly stop working when it detects static charge in the air (just kidding)

Daniel_LaFleur 05-03-2009 10:46

Re: Virtual Driver Station
 
Quote:

Originally Posted by Dave Flowerday (Post 832089)
C++. One of my goals was to have a stand-alone, small .exe that didn't need any extra DLLs or other junk with it, so that it can easily be run from a USB stick or whatever. I considered Python but honestly all the bit-manipulation is easier done in C anyway.

For those interested, here's some of the things I'm working on to improve it:
- GUI to set DS digital inputs
- GUI sliders to set value of DS analog inputs
- Display of DS digital outputs
- Prompt for team # at startup so you don't need to provide it as a program argument
- Map real joysticks to DS USB ports
- Virtual joystick support (a joystick widget that can be manipulated on-screen via mouse)
- Ability to run without needing to change your Ethernet IP address settings (I prefer to just leave my Ethernet port on DHCP)
- Adding an RC simulator (already have a basic version of this since it's hard to find time to test with the actual robot)
- Properly emulate DS's ability to randomly stop working when it detects static charge in the air (just kidding)

Could you add a virtual e-stop (just in case) and a watchdog (in case windows decides to not talk to the virtual DS)?

Dave Flowerday 05-03-2009 10:55

Re: Virtual Driver Station
 
Quote:

Originally Posted by Daniel_LaFleur (Post 832092)
Could you add a virtual e-stop (just in case) and a watchdog (in case windows decides to not talk to the virtual DS)?

E-Stop: I suppose, but what's the advantage of this over simply disabling? The spacebar or ESC can both be used to disable the robot (they are not toggles - if you hit either of them it sets the state to disabled no matter what the current state is). There is no E-Stop on the real DS either unless you're connected to the field control system (unless I'm mistaken?).

Watchdog: I'm not sure exactly what you're asking for here. It's already set up such that if it misses more than 5 packets from the robot (approximately 100ms), it disables the robot and takes it out of autonomous mode.

writchie 05-03-2009 11:05

Re: Virtual Driver Station
 
Quote:

Originally Posted by Dave Flowerday (Post 832089)
... I considered Python but honestly all the bit-manipulation is easier done in C anyway.

Perhaps you overlooked python struct. It doesn't get easier than struck.unpack_from(), especially in cross-endian situations.

Great job!

Dave Flowerday 05-03-2009 11:09

Re: Virtual Driver Station
 
Quote:

Originally Posted by writchie (Post 832097)
Perhaps you overlooked python struct. It doesn't get easier than struck.unpack_from(), especially in cross-endian situations.

I'm well aware of struct in Python. It operates on bytes, not bits. Several things in the data stream are bitfields, and it's hard to beat a C struct with each bit individually named that you can just set to 1 or 0. Python structs don't allow this that I'm aware of.

Daniel_LaFleur 05-03-2009 11:25

Re: Virtual Driver Station
 
Quote:

Originally Posted by Dave Flowerday (Post 832094)
E-Stop: I suppose, but what's the advantage of this over simply disabling? The spacebar or ESC can both be used to disable the robot (they are not toggles - if you hit either of them it sets the state to disabled no matter what the current state is). There is no E-Stop on the real DS either unless you're connected to the field control system (unless I'm mistaken?).

Watchdog: I'm not sure exactly what you're asking for here. It's already set up such that if it misses more than 5 packets from the robot (approximately 100ms), it disables the robot and takes it out of autonomous mode.

E-stop: Didn't see this in any of your posts. Only saw a 2 key enable.

Watchdog: If the program hangs (not responding), how does it send the disable/teleop bits?

EricVanWyk 05-03-2009 11:39

Re: Virtual Driver Station
 
Quote:

Originally Posted by Dave Flowerday (Post 832089)
- Properly emulate DS's ability to randomly stop working when it detects static charge in the air (just kidding)

Let me know if you need help with this. I did turn an early prototype of the PD into a static sensor - the blown breaker LEDs would glow when something statically charged approached the robot. If only I could do this on purpose...

Dave Flowerday 05-03-2009 11:42

Re: Virtual Driver Station
 
Quote:

Originally Posted by Daniel_LaFleur (Post 832111)
E-stop: Didn't see this in any of your posts. Only saw a 2 key enable.

It's in the readme.txt file included in the .zip.
Quote:

Watchdog: If the program hangs (not responding), how does it send the disable/teleop bits?
If it hangs, it's not sending any packets. If it's not sending packets, the watchdog on the robot will take care of disabling things, just like if the real DS hangs or if things become unplugged, etc.

writchie 05-03-2009 11:48

Re: Virtual Driver Station
 
Quote:

Originally Posted by Dave Flowerday (Post 832101)
I'm well aware of struct in Python. It operates on bytes, not bits. Several things in the data stream are bitfields, and it's hard to beat a C struct with each bit individually named that you can just set to 1 or 0. Python structs don't allow this that I'm aware of.

Not built in. But a relatively simple class like that discussed here keeps it pretty easy.

http://code.activestate.com/recipes/113799/

I'm not trying to start a flame war. Either C++ or python are good choices, depending on portability requirements. Which is easier depends on the person and the tools at hand.

Dave Flowerday 05-03-2009 11:51

Re: Virtual Driver Station
 
Quote:

Originally Posted by EricVanWyk (Post 832119)
Let me know if you need help with this. I did turn an early prototype of the PD into a static sensor - the blown breaker LEDs would glow when something statically charged approached the robot. If only I could do this on purpose...

Heh. A couple of years ago, I was working on board bring-up and the bootloader for a brand new PowerPC control board that we were developing for our 2-way radio networks. Things were good except for a mysterious reset that occurred randomly that I couldn't track down for about a week. I'd leave the board up and running all night and it would be fine, but as soon as I got to work the next morning it would reset within a half hour or so. After a while of trying to figure out if there was some funky network traffic at 8am or something, I happened to notice the reset LED sequence after standing up from my chair. Sure enough, with the board sitting about 3 feet away from me I could reliably reset it by simply standing up out of my chair. The static buildup from the fabric chair was enough to do it, and the reset was occurring when I stood up to go get a cup of coffee each day. That was definitely an interesting bug.

byteit101 09-03-2009 15:01

Re: Virtual Driver Station
 
Cool! this will be nice if we blow another ds! :)
Could I have the source? this would be really useful. Also, can you plug in a flashdrive, and update firmware? THAT, would be Awesome!

Kingofl337 09-03-2009 15:45

Re: Virtual Driver Station
 
This is a great tool, I can't wait till the joysticks selection feature is released.

I'm very surprised that FIRST did not release a softDS instead of giving them out to 1500 teams. It would have been allot cheaper for them, they could have just had driver stations with the field and had USB breakout that uses HID.

EDIT: Having played with this a for about 2 hours tonight I would like to upgrade this from great to AWESOME!

The only thing it needs is the Joystick Selection and Feedback for DS Outputs.

Gary Bonner 10-03-2009 21:18

Re: Virtual Driver Station
 
This sounds like just what we need. We have two cRIOs and only one driver station. We are planning on using the second cRIO for demonstrations at our upcoming regional and the DS will be occupied.

Can a Labview front panel be running and displaying data in another window while the virtual driver station is running?

Dave Flowerday 12-03-2009 10:01

Re: Virtual Driver Station
 
1 Attachment(s)
OK, I've got the next version ready for anyone who wants to try it out. It's a pretty big change over the previous one. Here's the features I've added:
- GUI to set DS digital inputs
- GUI sliders to set value of DS analog inputs
- Display of DS digital outputs
- Prompt for team # at startup so you don't need to provide it as a
program argument (previous value remembered)
- Map real joysticks to DS USB ports
- Labels for DS inputs/outputs that are saved

It's available here:
http://www.pier13.com/projects/frc/virtualds/

Check it out and let me know what you think. I added another safety feature which is that the mouse must remain on top of the window or the robot will be disabled. This may be a bit too paranoid (and can be annoying), but without that feature it's possible to click in another window and give it focus, and then the spacebar and/or ESC key no longer works to quickly disable the robot. Additionally, I had to change the key to change LCD screens from TAB to F1, and the reboot command is temporarily disabled.

There are labels for each of the digital inputs and outpus which can be edited. These will be saved when the program exits. Additionally, the team # that you are prompted for at startup will be saved as well.

Attached is a screenshot that shows the new version.
Quote:

Originally Posted by Gary Bonner
Can a Labview front panel be running and displaying data in another window while the virtual driver station is running?

We don't use Labview so I can't say for sure, but I don't see why not. When you say "front panel" is that the Dashboard or some other Labview thing? The catch with the Dashboard is that you need to set your computer's IP address to the address the DS would use (10.xx.yy.5), and the dashboard data is sent to 10.xx.yy.6. A revision to come soon will allow you to override the dashboard and robot IP addresses to help with this problem. In the meantime if you know what you're doing you can add the Dashboard IP address to your Ethernet network adapter in Windows (so it will have 2 address, 10.xx.yy.5 and 10.xx.yy.6) which should make it work.

Gary Bonner 12-03-2009 12:57

Re: Virtual Driver Station
 
The front panel is like a user interface; you can both view data from the cRIO as well as provide input. Others can describe it better. For our purposes, the virtual driver station would have to lose focus, so we'll try using two laptops.

Dave Flowerday 12-03-2009 13:24

Re: Virtual Driver Station
 
Quote:

Originally Posted by Gary Bonner (Post 835122)
The front panel is like a user interface; you can both view data from the cRIO as well as provide input. Others can describe it better. For our purposes, the virtual driver station would have to lose focus, so we'll try using two laptops.

I might add a menu option to turn that focus 'feature' off for things like that too.

byteit101 12-03-2009 16:57

Re: Virtual Driver Station
 
nice update!
could you add clicking the select button switches between modes and clicking the teleop auto button switches that?
also, could you send me the code?

Kingofl337 12-03-2009 22:04

Re: Virtual Driver Station
 
I haven't tried the new version on my robot yet, but after load and team number entry the display shows Team 0000. I also noticed the "feature" about having another application create no responce to the space bar. As, much as having the mouse over the application to allow it to enable is bothersome its much safer. I do not think you should allow for a bypass of this feature.

Virtual DS 2010!

Dave Flowerday 12-03-2009 23:14

Re: Virtual Driver Station
 
Quote:

Originally Posted by Kingofl337 (Post 835304)
I haven't tried the new version on my robot yet, but after load and team number entry the display shows Team 0000.

This is normal - I use the team number that comes back from the robot, so if you're not connected you'll get 0000. Also, it won't let you enable or go into autonomous unless it's receiving valid packets from the robot.

For anyone who's using the program, I posted a new version to fix a small bug with the analog values that I discovered when I was able to test with our robot tonight.

Gary Bonner 13-03-2009 11:59

Re: Virtual Driver Station
 
Last night I tried out the original version of the virtual driver station, which doesn’t have the mouse over feature, with an open front panel. Everything worked great. This is exactly what we needed. The demos we’ll be running with it are not on a robot, and are inactive except while a button is pressed, so a disable is more or less built into them.

Thanks.

Kingofl337 14-03-2009 12:11

Re: Virtual Driver Station
 
1 Attachment(s)
I found two bugs in the .5 version of the Virtual DS software. After detecting my robot it displayed the team number as 0111!? When I plugged in a Logitech Dual Action GamePad and started the software it gave an error and would not detect the game pad.

I was running the software from My Desktop on Vista Premium

Dave Flowerday 14-03-2009 13:23

Re: Virtual Driver Station
 
Quote:

Originally Posted by Kingofl337 (Post 835784)
I found two bugs in the .5 version of the Virtual DS software. After detecting my robot it displayed the team number as 0111!?

Yup, oops, sorry about that. Fixed. Incidentally, I created a cRIO simulator and I did test it with different team numbers, but now realized that my simulator didn't verify the correct team number was being received :(. Good catch.
Quote:

When I plugged in a Logitech Dual Action GamePad and started the software it gave an error and would not detect the game pad.
Yeah, I saw this on Thursday night when another mentor fired it up on his Vista laptop (I only have XP machines and it doesn't happen on those). It's not a defect in my code - it's in the wxWidgets library that's used. I'll need to look into how to fix it. However, it doesn't prevent it from working. It actually detects the joystick just fine, it just can't read the name of the stick. So, in the joysticks dropdown you'll see a blank line, which is your joystick. Not ideal but at least it works. I also need to confirm if this happens with all joystick types or just Logitech.

Additionally, I reworked the application focus safety feature. Now, it can detect the spacebar or ESC key even when the VirtualDS does not have focus. So, it no longer disables the robot when you move the mouse out of the window. This is quite an improvement I think. Now, if you go to another window, as soon as you hit space or ESC it will still disable the robot. The downside is it disables any time spacebar is hit - even if you're filling in one of the label fields in the DS. This is a good thing I think, but a little quirky.

New version here:
http://www.pier13.com/projects/frc/virtualds/

Tom Bottiglieri 25-03-2009 16:18

Re: Virtual Driver Station
 
This tool has been super useful to us. We killed our DS at the regional and still haven't gotten a replacement. Thanks.

We've put a bunch of software dev and drive hours on the vDS, and everything seems to run smoothly.

There is one issue where after a while of use, the robot will switch between enabled and disabled mode (at least on the UI) at about 5Hz. We have to reboot the cRIO to fix it.

Dave Flowerday 25-03-2009 17:30

Re: Virtual Driver Station
 
Quote:

Originally Posted by Tom Bottiglieri (Post 840981)
This tool has been super useful to us. We killed our DS at the regional and still haven't gotten a replacement. Thanks.

We've put a bunch of software dev and drive hours on the vDS, and everything seems to run smoothly.

I'm really glad to hear that it has been working for you. I have been curious if anyone was actually using it :)
Quote:

There is one issue where after a while of use, the robot will switch between enabled and disabled mode (at least on the UI) at about 5Hz. We have to reboot the cRIO to fix it.
Interesting. I'll have to see if I can get some extended time with our robot to attempt to reproduce this.

Tom Bottiglieri 25-03-2009 21:18

Re: Virtual Driver Station
 
Would it be possible for this to talk to FMS Light? We are doing some tricky things with some hard timed loop, and I want to make sure our code will run in a competition environment. I am 99% sure it will be fine, but Murphy can always find that 1%.

If not, would it be possible to add controls to the GUI select alliance color? We pull that data from the DS object in WPILib. Right now the vDS returns kRed.

Kingofl337 25-03-2009 23:06

Re: Virtual Driver Station
 
Good Call Tom, I think toggle would be better then having to use FMSLight.

Dave Flowerday 26-03-2009 10:21

Re: Virtual Driver Station
 
Quote:

Originally Posted by Tom Bottiglieri (Post 841109)
Would it be possible for this to talk to FMS Light? We are doing some tricky things with some hard timed loop, and I want to make sure our code will run in a competition environment. I am 99% sure it will be fine, but Murphy can always find that 1%.

If not, would it be possible to add controls to the GUI select alliance color? We pull that data from the DS object in WPILib. Right now the vDS returns kRed.

Yes, interoperability with FMS is something I had planned. I had actually decoded the FMS protocol first to produce an FMS-like program that would link up with any DSes it found rather than having to type in team numbers, so adding support should be straightforward.

In the meantime, however, I'll look into adding a toggle to select alliance color and position (though I'm guessing position isn't that useful to anyone since it has no bearing on where your robot is on the field).

Tom Bottiglieri 26-03-2009 10:50

Re: Virtual Driver Station
 
Quote:

Originally Posted by Dave Flowerday (Post 841288)
Yes, interoperability with FMS is something I had planned. I had actually decoded the FMS protocol first to produce an FMS-like program that would link up with any DSes it found rather than having to type in team numbers, so adding support should be straightforward.

In the meantime, however, I'll look into adding a toggle to select alliance color and position (though I'm guessing position isn't that useful to anyone since it has no bearing on where your robot is on the field).

Thank you. This tool is quickly becoming more valuable to me than the real hardware. I know I'll still be using it once our new DS comes in.

Dave Flowerday 26-03-2009 11:28

Re: Virtual Driver Station
 
Quote:

Originally Posted by Dave Flowerday (Post 841288)
In the meantime, however, I'll look into adding a toggle to select alliance color and position (though I'm guessing position isn't that useful to anyone since it has no bearing on where your robot is on the field).

OK, I posted a new version that lets you use Ctrl-C to toggle the alliance color. It's not the best implementation but it was something that I could do quickly to try to meet your needs. One problem is that there's no feedback on the GUI of which color you had selected, and the color choice is not saved between restarts (it always starts up as Red). I'll work on making it more user-friendly eventually but hopefully this lets you do some of your testing at least.

Let me know if it works for you guys. Thanks!

New version here, as usual:
http://www.pier13.com/projects/frc/virtualds/

JesseK 26-03-2009 11:56

Re: Virtual Driver Station
 
Oh snap!!! I just thought of a HUGE advantage to having this virtual DS.

Some times in the rush to get out of the pits and into the queue, we forget to charge our pneumatic system to full capacity. Since don't have power to the real DS in the queue area, having a virtual DS on the laptop we already bring to the field would allow us to charge our pneumatics in queue.

Quick question -- how does the virtual DS handle the data returning from the cRIO -- i.e. the small customizable packets received during a match?

Dave Flowerday 26-03-2009 12:09

Re: Virtual Driver Station
 
Quote:

Originally Posted by JesseK (Post 841315)
Quick question -- how does the virtual DS handle the data returning from the cRIO -- i.e. the small customizable packets received during a match?

To the best of my knowledge it handles it just like the real DS. If you have stuff that shows up on your DS LCD, you can see that in the Virtual DS as well (you can use F1 to toggle between the main DS screen and the secondary, custom screen). DS digital outputs that are controlled by the robot show up on the GUI, and anything else is dashboard data, which the Virtual DS sends to the Dashboard IP, so if you have your Dashboard connected you should see that work.

Right now the IPs that it uses are fixed (it expects the computer the DS is running on to be 10.x.y.5 and the Dashboard to be 10.x.y.6), but it is possible to assign BOTH of those IP addresses to the same laptop which means you can run the Virtual DS and your Dashboard on the same computer. See this page for some instructions on how to do this.

Tom Bottiglieri 26-03-2009 12:11

Re: Virtual Driver Station
 
Quote:

Originally Posted by Dave Flowerday (Post 841324)

Right now the IPs that it uses are fixed (it expects the computer the DS is running on to be 10.x.y.5 and the Dashboard to be 10.x.y.6),

Really? I have been running both on 10.1.25.6, no problem.

Dave Flowerday 26-03-2009 12:13

Re: Virtual Driver Station
 
Quote:

Originally Posted by Tom Bottiglieri (Post 841325)
Really? I have been running both on 10.1.25.6, no problem.

Well, actually my software doesn't care, but I thought the CRIO would only send packets back to the 10.x.y.5 address. I could have sworn I saw this when testing, but maybe something else was goofed up. I guess I'll have to try it again with it set to some other IP.

Joe Hershberger 09-04-2009 18:06

Re: Virtual Driver Station
 
The cRIO will always reply to the first IP address it receives a DS packet from (until reboot). Perhaps when you tried it you didn't reboot the cRIO after changing the laptop IP.

-Joe

Dave Flowerday 09-04-2009 18:37

Re: Virtual Driver Station
 
Quote:

Originally Posted by Joe Hershberger (Post 848252)
The cRIO will always reply to the first IP address it receives a DS packet from (until reboot). Perhaps when you tried it you didn't reboot the cRIO after changing the laptop IP.

Yeah, that's probably it. I'm sure I had the robot connected up to the real DS before trying the virtual DS.

GeorgeMitsuoka 13-04-2009 11:09

Re: Virtual Driver Station
 
This looks very cool. Can anyone answer this question: Is there any way to use the cRIO w/o the driver station (or virtual driver station)? I'm assuming the answer is 'no' as this could create a safety issue. The reason I'm asking is that we'd like to use the cRIO as a controller during the off season for an autonomous robot project and it would be better if we didn't have to tether it to a driver station or PC.

Russ Beavis 13-04-2009 11:28

Re: Virtual Driver Station
 
I'm fairly certain that you aren't limited to using the basic and advanced software frameworks. You should be able to use a "clean sheet" and design the software to do whatever you'd like. The benefits of the frameworks are obvious - easy DS communications, "functions" for teleop vs. autonomous, watchdog "petting", etc. - and you really should use them as a starting point but you can use a "clean sheet". You'll definitely want to borrow the "watchdog petting" software otherwise the FPGA will disable your outputs.

Speaking of the FPGA, it is probably completely locked down. But you should be able to generate your own TCP/IP or UDP packets of info when you're operating outside of a FIRST event, link to other networks, go fully autonomous...

Have fun!
Russ

EricVanWyk 13-04-2009 11:29

Re: Virtual Driver Station
 
Quote:

Originally Posted by GeorgeMitsuoka (Post 849932)
This looks very cool. Can anyone answer this question: Is there any way to use the cRIO w/o the driver station (or virtual driver station)? I'm assuming the answer is 'no' as this could create a safety issue. The reason I'm asking is that we'd like to use the cRIO as a controller during the off season for an autonomous robot project and it would be better if we didn't have to tether it to a driver station or PC.

You hit it on the head. With an FRC image loaded, you can not run the cRIO independent of a DS of some sort.

You could load a non-FRC image, but this would be considered an advanced (and possibly unsupported) use case.

Russ Beavis 13-04-2009 11:52

Re: Virtual Driver Station
 
I probably should have added the same comments from Eric to my response. Basically -

Try whatever you want but if you try to shove more data through WiFi, the field will stop you (during FIRST competitions). And don't try to fool with the safety features in the FPGA and Ethernet communications packets since the field will stop that as well (also only during FIRST competitions).

Russ

Burmeister #279 13-04-2009 23:42

Re: Virtual Driver Station
 
Dave,
[note: didn't dl your program, not on my team machine] Have you thought about allowing the hotkeys such as stop and change color to be changed?

~Burmeister.

Kingofl337 09-06-2009 21:05

Re: Virtual Driver Station
 
Dave any chance of getting this to talk to FMS Light, we have some local teams that have dead driver stations and would love to use an awesome tool like this for the off season. Also, the off seasons don't get an e-stop with FMS Light so the space bar would actually safer then the real deal. We are looking at getting a keyboard USB HID dev board to use for I/O and E-Stop.

It's really too bad the bridge won't talk to a ad-hoc network.

Nick Lawrence 17-10-2009 13:37

Re: Virtual Driver Station
 
Hello,

I just wanted to speak about how valuable a tool like this is. Team 1503 used it today during our Introduction to Robotics workshops. We used it, because we needed to run two robots with two 2009 control systems. We only had one Drivers Station. So, I suggested we use your VDS, and it worked flawlessly.

Thank you for writing such a wonderful tool. You beat me to the punch, too.

-Nick

daltore 04-11-2009 23:55

Re: Virtual Driver Station
 
After writing a different thread, someone linked me to this one, and I have to say, this program is truly the definition of awesome, i.e. worthy of awe! Next year in our robotics class, we're going to have a few cRIO's on mid-size robots (not for FRC, for our own class), and I we were shuddering at the proposition of having to buy as many full control systems (the "wireless control" budget I was given for research was $300, and it covered enough Netgear wireless bridges to form ad-hoc networks between the laptops and the robots). This tool looks amazing, and it's going to save us! Thank you so much for writing this, you're really helping a lot of people!

Only one complaint: it doesn't run in Linux under WINE :( Not your fault though :D

furiousgeorge 10-11-2009 16:11

Re: Virtual Driver Station
 
Quote:

Originally Posted by StephenB (Post 831353)
Actually, this already exists. We used it at NI for months before the DS company made the DS and got us a few. It is a LabVIEW application called the 'soft driver station'

I'm not going to just give it out because I bet if it wasn't public... there is a reason. I'll check into it and get back to you.

I applaud the effort you have put into this already, nice work.

did you happen to find out if the 'soft driver station' is available to everyone? if so, could you help direct me to a downloadable version or add on of the labview software that would allow me to use the 'softd driver station' as of now i have the 2009 frc competition version of labview.

Greg McKaskle 10-11-2009 21:07

Re: Virtual Driver Station
 
As Stephen pointed out, the internal soft DS used for development wasn't complete, and wasn't suitable for distribution. The one discussed in this thread seems very well done and is available for download.

Greg McKaskle

g_less1902 25-01-2010 14:59

Re: Virtual Driver Station
 
Dave,

I was wondering if I could get the source to the Virtual Drivers station, I would like to add interfacing to the Cypress FirstToutch PSOC-3 kit.

Thanks,
Eric Grajales
4-H Exploding Bacon
Team 1902


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

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