|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
||||
|
||||
|
Re: Can I Make Something Clear?
Quote:
I read somewhere that within 50 years, a single desktop computer will have the same computational power of a human brain. Albeit, it will not have the same intelligence, but nonetheless the power will be there. You suggest that this will never happen, at least within our lifetimes. You are wrong. Calling people names because you don't believe they can succeed is not the way that humanity innovates, the way we move forward. I think that someone who even tries this challenge, regardless of success or whether they use a library or not, regardless of whether they succeed or not, is going to be better off in the long run. You claim someone who thinks their programming can outperform a human is either "arrogant" or "stupid". I would prefer to call them "hopeful" and "persevering". |
|
#2
|
||||
|
||||
|
Re: Can I Make Something Clear?
Quote:
There are research groups at top Universities all over the world that are working on robots that play games and perform tasks much simpler than playing a typical FRC game. These teams are creating some incredible robots, however none of them are working on short deadlines, with limited hardware, and with teams driven by HS programmers with limited knowledge in the fields of Perception and Planning. I am not trying to discourage David, or any one else, I am simply speaking as some one with more experience than most of those posting (3 years of research between RPI's Center for Automation Technology and the Rensselaer Artificial Intelligence Research Lab) and saying that this is not a practical goal, this like any problem needs to be attacked progressively. We should not be jumping from 15 seconds of unreliable Autonomy in a relatively static environment to a fully autonomous system. |
|
#3
|
|||
|
|||
|
Re: Can I Make Something Clear?
Quote:
|
|
#4
|
||||
|
||||
|
Re: Can I Make Something Clear?
Quote:
With regards to building character, there is no undergraduate CS curriculum that says okay you have no education, go figure it out, then we'll talk. Don't worry it will build your character. The goal of an ADK is not to build character, but provide a platform on which to provide an education for programmers of all skill levels. Even within programming, there are many types of programmers. I can tell you are a low-level programmer, and that's awesome. Personally I hate it and suck at it. I am better at the high-level design and architecture. Many colleges split up their CS departments into several concentrations for this very reason. So please note that what you view as building character for you, may be time that could be better spent for someone else. That's the beauty of soft eng, you learn to utilize several people on a team and leverage their strengths, rather force them into their weaknesses. I have the utmost respect for low level programmers, because it's something I just can't do, but in the same sense many low level programmers aren't great at the managerial and high level tasks required on a group programming task. As Mark Jung the founder of IGN said "Great doers don't always make great managers" We should all play to our strengths and realize rather than one of us being right, we are probably both wrong (and right) all depending on the context. I agree with you, that doing stuff from the bottom up will give you an experience you otherwise wouldn't have. But also realize working from an existing complex architecture could also give you an experience you otherwise wouldn't have. For example if you were to try to break up the task your are trying to achieve right now to a team of 5 programmers (much like what would happen in a real programming environment) many things would be different. In my soft eng class I had to lead a team of 15 students, and had to learn all about their strengths and individual work ethic before I could delegate the work. There's a certain amount of character building that occurs when you work on a project and just have to trust what someone else is doing will work. PS... If you hope to use your code in competition, please remember to open source everything you do before the build season. |
|
#5
|
||||
|
||||
|
Re: Can I Make Something Clear?
David,
As another programmer that likes low level programming, and has programmed several simple fully autonomous robots, I'd like to mention a few things. First of all I don't know your programming background is, if you haven't done much robot robot programming, but you have done computer programming, you will be in for a tough challenge. Because as you have probably noticed, computers and computer operating systems are very well organized, yes you have to deal with messy user inputs sometimes, but for the most part you know what you are going to get. However, once you cross over into the world of robot programming, it's a whole different story. The robot lives in the ridiculously unorganized world that we live in. Nothing is well structured, and everything is always changing. This is a very interesting challenge when you first start working with it, and it will continue to be a challenge always. Now, another thing I wanted to say is: This is not a low level programming project. You may want to start at the low level, with each reading and understanding each sensor, and as you say this builds character, it will also help you understand what kind of information you actually get from each sensor. However, at some point, you have to start treating this project as a high level programming problem, and if you want my advice, you start that at the beginning. If you really want this project to succeed, start at the top, design your behaviors, then figure out what types of computation you need to do to achieve those behaviors, then figure out what kind of data you need to get, then figure out what kind of sensors you need. Since you are using an object oriented programming language, then you need to start developing your class diagrams. Once again you need to start at the high level and work down. Once you have a diagram of your program, that is when you finally start typing your code. And more than likely, once you get down to a certain point in the development process, you will appreciate the advantage of using libraries ![]() While this may not sound like a very fun way to approach this project, if you do it this way, you will end up with much cleaner and better code. This is how professional programmers do it, and there is a reason for that. Not to get sidetracked, but for example, I am in the process of "programming" a 2D game engine, because I recently was looking for a usable one, I was unsatisfied with how they worked. It has been almost two weeks since I started the project, and I haven't written one line of code, all I have been doing, is developing a UML diagram for the project, and writing documentation. Once I am done with this stage however, the programming will take a much sorter period of time than it would if I did it otherwise. As someone who as spent their fair share of time writing assembly code, I understand your desire to start at the bottom. And to all those people who say there is no point in that, I would have to disagree, majority. I have used libraries, and I have started from scratch, libraries are great, but only if you truly understand what you get out of them. One very common mistake with robot programming is thinking that you are getting one piece of data from a sensor when you are really getting a slightly different piece of data, and sometimes when you are using a library it's hard to tell the difference. However, if you really get down there to the low level, you fully understand your data, you fully understand what the computer or microprocessor has to do, and I believe that is important. That said, with a project this size, you can't treat it as a low level project, you have to start at the top and design down. Then program from what ever bottom you choose up. And what you will find if you really use the object oriented model is, you will be making your own library. ![]() David, I respect your enthusiasm, and this is an idea that our programmers have talked about, however, only jokingly. I would love to see a robot that could run completely on it's own. You just have to realize the magnitude of this project, and make sure you design it accordingly. -Kit |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Can you add something to the spell checker? | devicenull | CD Forum Support | 79 | 07-11-2006 10:35 |
| Anyone ever make something rideable (go-kart/scooter/misc.) from the Kit Of Parts? | Elgin Clock | Technical Discussion | 9 | 29-07-2004 22:09 |
| Can we make a general science forum? | Adam Y. | CD Forum Support | 7 | 27-12-2002 19:23 |
| How can we make this better? | archiver | 1999 | 6 | 23-06-2002 22:39 |
| Can someone clear up please? | archiver | 2000 | 1 | 23-06-2002 22:23 |