![]() |
Re: Making autonomous accessible to all teams
I would compare FIRST to the senior level DB course I just took. WPI has 7 week terms, so it is a very close match to a FIRST build season. Rather than building a database from the ground up, we built extensions on an existing framework. It sounds like many of the objectors to an ADK of sorts are arguing that it would make it too simple. I would argue that this is not that case.
The DB package worked out of the box requiring only one class to be created to utilize it, I believe and ADK could work similarly. However the cookie cutter DB package was greatly lacking, if you were to utilize it you would want to build extensions. For one of our extensions the goals was to create a deadlock prevention algorithm utilizing a loop finding algorithm. I use this example because if you utilize a state machine in your autonomous, you may want to find loops too. Any ADK would require teams to extend it, in order to accomplish anything beyond a sequential autonomous. this is a video of our robot from '06, to accomplish this a state machine was necessary. http://video.google.com/videoplay?do...3997861101882# I am just saying that utilizing a framework such as an ADK, would give students a soft-eng perspective, and teach them how to build extensions to existing frameworks. Also it would give them the opportunity to delve into some higher level design learning ( I <3 the factory pattern). Such an ADK would introduce students to: Threads Design Patterns Soft Eng Algorithms State Machines and I'm sure much more.... |
Re: Making autonomous accessible to all teams
I find this discussion similar to this thread in that an ADK of sorts would be an excellent resource for developing a working knowledge of how higher level code development and implementation is done, but by no means replaces the preexisting methods of writing autonomous scratch, which provides experience in a lower level of the process. And I think should such an ADK be developed, it would be used at the discretion of teams who are deciding whether they want to get into the nitty-gritty of doing it all themselves, learning the basics of what goes on in the autonomous code; or learning how to build off of someone else's packaged work to create more sophisticated, higher level programs (much like Assembly, C/C++, Java/C#, and on up).
|
Re: Making autonomous accessible to all teams
Quote:
Quote:
|
Re: Making autonomous accessible to all teams
Quote:
Now, the number one thing that needs to change in order for auton to be accessible to all teams? In my opinion points. The auton has to be able to swing a match if done well. Think back to 2006 (or 2008), many teams had autons because it was worth it. The last couple years (2008 excepting) it simply was either too hard (2005) or not worth it at all (2007, 2009) to try to score in auton. |
Re: Making autonomous accessible to all teams
Quote:
We don't need to give the teams more tools. We need to give them personal support. Whether that support helps them to use the tools they already have, or whether it comes with a new tool that they might end up being more effective with, is relatively unimportant. |
Re: Making autonomous accessible to all teams
Quote:
|
Re: Making autonomous accessible to all teams
Quote:
Quote:
I am not so far removed that I don't remember the horrid scavenger hunt and the fact that FIRST continues to throw "gotchas" and updates in their examples and software. Now, personally, I see this as part of the challenge and I am never one to give up pursuing a lead when I have one, but many, many people are not this way. This is more a philosophical discussion then a problem to be solved. Do we want to make it so easy everyone can do it, or do we still want to have some challenge that they have to learn to do it? The topic is making it accessible to all teams, which I feel is an awesome idea, but not one that will come about without serious compromises. Better documents and a code base that doesn't continously change can at least help those that want to learn, how to learn. (and I mean everyone from current expert mentors, to new "drowning" mentors, to the students themselves) |
Re: Making autonomous accessible to all teams
Quote:
*Steps off soap box* |
Re: Making autonomous accessible to all teams
Quote:
Quote:
What is hurting autonomous in FIRST right now is not the tools, but the education, and I don't think that FIRST wants to provide the education as many have pointed out. I think FIRST wants to provide the tools and then encourage the students seek the education. My thoughts with the ADK would be that it would be both an open source framework, and an alliance-led framework. It would give us control over what we were teaching, and in doing so we could lead a For Teams By Teams programming education initiative. We could work to put together a video series and curriculum to help young programmers learn and act as the mentor base to many more teams than just our own. |
Re: Making autonomous accessible to all teams
Autonomous is pretty simple, at least in the last two years (didn't check the earlier ones..)
Last year was my team's rookie year and because of many problems, we started two weeks after kickoff, exactly when I started studying Labview. After a week or two, I was able to program a simple auto part. All i used is NI's site, youtube videos and 0 mentors. This year, we helped a rookie team and I taught them all the programming part in one day. None of their programmers had any exprience in programming, and after that day they programmed a nice auto part for this season (and of course all the other code). So, in conclusion, I have to say that with enough time before or even during build season, enough resources and a little bit of help from other teams, each rookie team can do whatever they want~. |
Re: Making autonomous accessible to all teams
I'd guess that many teams are not doing much in autonomous because the hardware is still being built and fixed as the robot ships, and fixed some more at the regional, and fixed again after every match. The programmers don't get much access to the robot.
I'm most familiar with the C++ environment and will only comment on that. The Eclipse IDE I dislike but it it is what it is. For a rookie to load up one of the demos is quite a challenge. I take it for granted, but it can be overwhelming especially when you have to set up the link to the cRIO and download and debug. Simple it is most definitely not. How many threads were there this year on getting the darn camera code to run? Well, you need this version of that with this version of this, add some crushed bats tail, add water, cross fingers. Precious time can be wasted on finding the library gotchas, and that's all time taken away from programming autonomous. Why are there both simple and iterative templates? Iterative is the only one needed, considering that it can do what the simple one does plus more. Our autonomous code was about 3 lines, a state machine that read a table to control all the mechanics. We had grand plans to do lots of stuff in autonomous but the hardware became available to test on the morning of the regional, so surprise, not much was accomplished but we could push in balls and get out of the way. Not bad for 30 minutes of robot access. Perhaps example code like that would get more teams coding autonomous, but I'm not at all convinced that it's only programming that is preventing more autonomous robots. The bigger picture is that the smaller and newer teams run out of time. For the teams that have the time to code autonomous but are are finding autonomous difficult, is there a concensus as to why? It's essential to know why. Perhaps start a thread with a poll to ask? If this is an effort to "level the playing field", be prepared for disappointing results. Teams that appear to be larger than some entire schools (e.g. Uberbots) have more resources and will generally produce superior results than smaller and less well funded teams. There's nothing wrong with that, more power to them. All teams have equal opportunity, but someone will still come dead last and about half the teams will be below average. |
Re: Making autonomous accessible to all teams
Quote:
See http://www.chiefdelphi.com/media/papers/2331 I spent all of about 45 minutes writing that paper, so maybe it isn't all that clear. If people think that it may be useful but not in its current form, I'd be more than happy to modify and update it to make it more useful. |
Re: Making autonomous accessible to all teams
Quote:
Quote:
Quote:
Quote:
Putting in the extreme detail required for someone to start from scratch without additional assistance has two potential pitfalls. First, it bulks up the required reading to the point where it might be too intimidating. Second, it crowds the really significant points with helpful but less crucial ones. Quote:
It's still not going to be enough for some of the teams out there who don't know they need help, don't believe they need help when they are told it is available to them if they want it, and even refuse help when it is freely offered. But that's a topic for another thread entirely. Quote:
Quote:
|
| All times are GMT -5. The time now is 04:20. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi