![]() |
Re: Team 254 Presents: CheesyVision
Quote:
Also it doesn't look like you have a runner thread within the object. Are you running it externally? If so could you post that code as well? |
Re: Team 254 Presents: CheesyVision
Thank you very much for posting this. Within an hour of showing this to our programmer, we had it fully operational with our 1 ball.
|
Re: Team 254 Presents: CheesyVision
Quote:
The object implements a thread for reading from the IO stream by inheriting from jankyTask, the Run method is the wrapped threading function. |
Re: Team 254 Presents: CheesyVision
I think it is very kind of your team to post this publicly. The use of a built-in camera on the driver station is a very good choice for getting a human in the loop and you've sparked some thinking for Chief Delphi that will last for seasons to come.
After looking through the posted code repository, I have to ask: what is Team 254's philosophy on student involvement? The two contributors on github appear to be your mentors and the level of programming skill is also not commonly found in high school students. Have I missed the student involvement in this? I'm not making any sort of accusation that Team 254 has done something wrong or is not following rules. I am just surprised that for a high school competition the high-visibility work from your team seems to be mentor-only. I believe the announcer at Silicon Valley said that Team 254 won the regional for 15 of the last 16 years. This is impressive and clearly your team is doing something that ensures a solid victory record. |
Re: Team 254 Presents: CheesyVision
Quote:
|
Re: Team 254 Presents: CheesyVision
Quote:
|
Re: Team 254 Presents: CheesyVision
This was forked from our teams' FRC 2014 repository just for public release. It is different from what we competed with last weekend (it removed some team-specific features, streamlined some quick hacks, and added a ton of comments). Mentors went over the code with a fine-toothed comb before making it public. This was deliberate.
While our students are intricately involved in our teams' software (more on this below), we are talking about releasing code to the entire FIRST community DURING the competition season. A fairly high bar is required for teams to be able to understand, use, and trust the code in time for their next competition - we certainly don't want to be breaking other teams' robots. I personally made (and stand behind) the decision to go mentor heavy on this particular project for this reason. (To be clear, I fully believe that our students could have made just as polished a product, but I thought that an expedient release would be ultimately more important.) It might be software, but this is just another COTS module that you can choose to use (or ignore). Like an AM Shifter or a VEXpro VersaPlanetary, I believe that putting a high quality component in the hands of a student is a vehicle for inspiration. Quote:
First, never judge a book by its cover. Every year I am amazed at what students are capable of. This year, there are some very gifted programmers on 254. They wrote a RESTful webserver on our cRIO (that ultimately provided the TCP server part of CheesyVision). One of them - and this still absolutely blows my mind to think about - designed and implemented a quintic spline trajectory planner for our autonomous driving routine. I explained the basic concept, then sat back as he did the math, derived the differential equations, and gave me working code. Just awesome. Second reason: An anecdote. One of my earliest posts on Chief Delphi was in this thread. It was 2003, and WildStang had just posted about StangPS, a really sophisticated navigation system that I was sure had to be engineer-built (just look at my posts!). I was a senior in high school at the time. I thought my gyro-based autonomous mode was pretty nifty, but was blown away by StangPS. I watched their video dozens of times, enthusiastically emailed it to my programming mentor at the time, and was just totally fascinated with it. I ended up reading about odometry and dead reckoning, using interrupts to read optical encoders, Kalman filters, and all sorts of other concepts that I didn't fully understand as a high schooler, but found really, really cool. While at the time I was a little peeved that here I was, a high school student writing all of 341's code while these other teams had teams of engineers, in hindsight I cannot thank 111 enough for raising the bar and for sharing what they did. I was inspired and in some permanent and positive way, my life was shaped by it. While a little Python script for processing a webcam image is by no means as impressive as complete robot navigation system, my hope is that at least a few students will give it a look and see something they think is cool and want to learn more about later. |
Re: Team 254 Presents: CheesyVision
Quote:
I had expected that your project was forked and that was why I asked for clarification as to what the students did. Instead, your answer wasn't completely clear to me as to exactly what the students did for CheesyVision. I do understand that it was "mentor heavy." Though you couldn't tell the differences between student and mentor effort when you were in high school, I trust my judgment because I have done programming for 18 years and know the subtle differences in programming skills at all levels. I do think very highly of the work you released to all teams. I am sure students also do. Quote:
I am eminently fortunate to always have mentored teams that were student run and each team has students just as impressive as the ones you described. From what I have learned today, I think the difference between your team and my teams is that other mentors keep it students vs students. I do not intend for any of my posts to put you on the defensive nor to diminish your students' work hard. I am trained to speak my mind and your reply has been informative. Thank you for answering. |
Re: Team 254 Presents: CheesyVision
Quote:
|
Re: Team 254 Presents: CheesyVision
Quote:
If yes, mission accomplished. It doesn't matter who builds the robot. What matters is what the students get out of it. You don't have to turn a wrench or write software to be inspired to do so. -Nick |
Re: Team 254 Presents: CheesyVision
Let's get this thread back on track everyone...
Cheesyvision is really innovative! Way to think outside the box! |
Re: Team 254 Presents: CheesyVision
Team 254, thank you!
We ran CheesyVision any time we were doing a 1 ball auto at MSC and it worked perfectly. You guys are awesome. |
Re: Team 254 Presents: CheesyVision
Thanks to 254 for helping to patch the (still broken) field/fms. We're still running a 1 second delay at the start of auton to avoid the timing issues, which was still not enough in at least one of our qualification matches at MAR champs.
|
Re: Team 254 Presents: CheesyVision
Thanks to 254 for giving us more awesome stuff to look through and use.
Our competition season was over before this release but I think we will be trying to implement this for any offseasons we go to. |
Re: Team 254 Presents: CheesyVision
Huge thanks to 254 for releasing this. We showed it to our programmers on Wednesday and had a working hot goal auton before lunch Thursday. You guys saved us a huge amount of time and finally let us get rid of the annoying green led ring our robot. Now if only our shirts weren't tie-dye...
|
| All times are GMT -5. The time now is 05:08. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi