|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools |
Rating:
|
Display Modes |
|
|
|
#1
|
|||
|
|||
|
Re: Teams happy with Wind River Workbench?
Quote:
It ain't happening. I promise. C++ is here to stay. LabVIEW is here to stay. |
|
#2
|
|||
|
|||
|
Re: Teams happy with Wind River Workbench?
I'm the only person who programmed the bot. I loved being able to use C++ on the robot and oop
Also, the remote console feature for the cRIO is simply amazing - I finally discovered that feature the two weeks before the end of building the robot.However, a frustration of mine was not being able to separate header files and C++ files, like in Visual Studio I personally don't like programming with pictures :\ |
|
#3
|
|||||
|
|||||
|
Re: Teams happy with Wind River Workbench?
If it was just a matter of text vs. pictures in a procedural programming language, I'd agree with you. However, LabVIEW is a dataflow programming language. Once it clicks, "wiring it up" graphically is a very natural and intuitive way to do things.
I would have been very happy to experience the quick compiling and ease of posting code snippets with C++ and WindRiver, but I don't regret choosing LabVIEW as the programming environment for the TechnoKats this year. |
|
#4
|
||||
|
||||
|
Re: Teams happy with Wind River Workbench?
Quote:
However, what is *really* amazing is the DriverStationLCD class, which allows you to print output to the DriverStation. We've implemented a set of maintenance/diagnostic related routines using a menu system that uses the LCD for output and a thumbwheel and switch on the DS for input. We also have it setup where there are multiple different ways to configure the joysticks (driving according to the robot direction, driving according to the field position, etc) using a thumbwheel switch, and having it output the currently selected control setup and the robot heading relative to the field has been quite useful. Quote:
![]() |
|
#5
|
||||
|
||||
|
Re: Teams happy with Wind River Workbench?
In VS, It has virtual folders in the "project explorer" that seperate resources, CPP files, and H files
|
|
#6
|
||||
|
||||
|
Re: Teams happy with Wind River Workbench?
Ah, thats what you meant.
Personally, I actually find those to be rather annoying for large projects, especially when you get into large projects.I'm not sure how complex your bot is, but we have around 50 or so seperate cpp/h files spread over 6 directories. ![]() |
|
#7
|
||||
|
||||
|
Re: Teams happy with Wind River Workbench?
wow! 50?! what is all that for?
we just have myrobot.cpp camera.cpp/h for camera functions mech.cpp/h for mechanism control DriverStationLCD.cpp/h just if we want to use this DriveDampen.cpp for ramping up drive code for a total of 8 files. did you make seperate classes for all sensor access, or what? (that seems a bit excessive for 25 different files) |
|
#8
|
||||
|
||||
|
Re: Teams happy with Wind River Workbench?
We are using a swerve drive this year, with all 4 wheels independently controlled. So we had to write code to control all of those (essentially creating servos using an encoder and a motor). One of the big problems with swerve drive for us is that we haven't agreed on the best way to control it using joysticks and such. As a result we have about 4 different ways that you can use to control it.
We also are using a layered approach to control, where all of the joystick/user interaction takes place in a 'movement control' class selected by a thumbwheel switch on our DS, that talk to a 'DriveController' and give it speed/angle/rotation parameters. The drive controller sends the input to various drive classes which can act as filters for the values (or record them), and then finally down to the actual class which controls the motors and translates the speed/angle/rotation parameters to motor values and servo angles. Its similar to RobotDrive in WPILib, but quite different since we separated out the stuff that talks to the user and the stuff that talks to the motors (which is a far better design and more extensible in my opinion). While it sounds complicated, it makes writing autonomous mode code extremely easy, since it is just a form of a 'movement control' class. There is also a 'maintenance mode' controlled by a switch on the DS, that allows us to run various diagnostics and calibrate our servos, with user feedback displayed on the LCD on the driver station. There are also probably about 10 files that just have utility functions (like missing math functions/constants, various filters and serialization stuff, a wrapper around the Joystick class to give it a better deadband, and a class useful for doing delayed actions). I've attached the 'collaboration diagram' generated by Doxygen for our code. Its really quite logical, but there is a lot of stuff there. I will actually be releasing our teams code in the very near future (as we are done for the season now that the Boston Regional is over), as soon as I finish work on my WPILib Test Harness GUI (its quite useful for some types of debugging, and lets me run code on my home computer -- but not quite ready for prime time). |
|
#9
|
||||
|
||||
|
Re: Teams happy with Wind River Workbench?
wow! you must have had time before the season to learn the code, and a very good programming team! we learned about it in the season. I would consider our team good (we have 6 people), even though 1 hardly ever comes, 2 barely know about coding this years control system, 1 knows some C++, but would have a hard time modifing our code, 1 knows most of the code, and I know all the code (I programmed most of the actual robot code) for a total of 2 1/4 people (productivity soars!) I would be interested to see your code, it sounds a bit much, but very OOPy sounding. WPILib Test Harness GUI? like a fake cRIO? that would be cool && usefull! I am also planning to release our code after the Boilermaker at Purdue in the spirit of GP and helping other teams learn more about C++
|
|
#10
|
||||
|
||||
|
Re: Teams happy with Wind River Workbench?
Quote:
Reading WPILib helps a lot too. Quote:
My goal for the offseason is to use the code and help him (and others who might be interested, since he will be a senior next year) to learn more about OOP and such. Quote:
Quote:
![]() |
|
#11
|
|||
|
|||
|
Re: Teams happy with Wind River Workbench?
Wow!
My project consists of the following files: myRobot.cpp Pretty massive project, huh? Then again, we only had 2 programmers, and it's our first year in this competition, so...I guess I'm pretty happy. Plus or robot's got a simple driving mechanism, and all the functions we do in operator control aren't worth writing up seperate classes for anyways. The cRio emulator's a good idea! Saves time loading the program into the robot every time, I'm guessing? I'd like to see it in action! Maybe for next year or something...(I'm definitely not experienced in C++ (I'm more AS3.0), but C++ isn't a problem so far. Also, looking over some of your code would be nice! P. |
|
#12
|
||||
|
||||
|
Re: Teams happy with Wind River Workbench?
Ok, the WPILib Test Harness/simulator/whatever is finally released, you can get it/see it at http://www.virtualroadside.com/blog/...ness-released/
I've also posted our teams complete source code tree for 2009 on my FRC software resources page, http://www.virtualroadside.com/FRC/ |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Obscure Wind River Workbench Problem | {td} | C/C++ | 16 | 21-01-2010 10:11 |
| Wind River Printing from cRio | Mr.Macdonald | C/C++ | 6 | 12-01-2009 20:42 |
| Wind River header issues | dpeterson3 | C/C++ | 6 | 11-01-2009 18:17 |
| Wind River Help | BenB | Programming | 3 | 02-01-2009 21:42 |
| Open Wind River | excel2474 | Programming | 12 | 31-12-2008 17:36 |