|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
|||
|
|||
|
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. |
|
#2
|
|||
|
|||
|
Re: Virtual Driver Station
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.
|
|
#3
|
|||
|
|||
|
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?
|
|
#4
|
||||
|
||||
|
Re: Virtual Driver Station
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) |
|
#5
|
||||
|
||||
|
Re: Virtual Driver Station
Quote:
|
|
#6
|
||||
|
||||
|
Re: Virtual Driver Station
Quote:
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. Last edited by Dave Flowerday : 05-03-2009 at 10:57. |
|
#7
|
||||
|
||||
|
Re: Virtual Driver Station
Quote:
Watchdog: If the program hangs (not responding), how does it send the disable/teleop bits? |
|
#8
|
||||
|
||||
|
Re: Virtual Driver Station
Quote:
Quote:
|
|
#9
|
|||
|
|||
|
Re: Virtual Driver Station
Quote:
Great job! |
|
#10
|
||||
|
||||
|
Re: Virtual Driver Station
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.
|
|
#11
|
|||
|
|||
|
Re: Virtual Driver Station
Quote:
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. |
|
#12
|
|||
|
|||
|
Re: Virtual Driver Station
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...
|
|
#13
|
||||
|
||||
|
Re: Virtual Driver Station
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.
|
|
#14
|
||||
|
||||
|
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! |
|
#15
|
||||
|
||||
|
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. Last edited by Kingofl337 : 09-03-2009 at 20:44. |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Driver Station S.O.S. | M. Gildner | Electrical | 15 | 28-11-2009 19:35 |
| Driver Station | dnrobotics11 | Control System | 2 | 18-02-2009 21:35 |
| Inputs on Driver Station | z2daj | C/C++ | 8 | 16-02-2009 04:12 |
| Dead Driver Station? | tdeprince | FRC Control System | 3 | 12-02-2009 12:14 |
| Need Driver Station | dekker120 | FRC Control System | 2 | 02-02-2009 12:59 |