View Single Post
  #88   Spotlight this post!  
Unread 30-03-2010, 19:59
theprgramerdude theprgramerdude is offline
WPI Freshman
AKA: Alex
FRC #2503 (Warrior Robotics)
Team Role: Mentor
 
Join Date: Feb 2010
Rookie Year: 2008
Location: Brainerd, Minnesota
Posts: 347
theprgramerdude has much to be proud oftheprgramerdude has much to be proud oftheprgramerdude has much to be proud oftheprgramerdude has much to be proud oftheprgramerdude has much to be proud oftheprgramerdude has much to be proud oftheprgramerdude has much to be proud oftheprgramerdude has much to be proud oftheprgramerdude has much to be proud oftheprgramerdude has much to be proud of
Re: Programmers: I Have A Challenge For You

Quote:
Originally Posted by slavik262 View Post
To echo and summarize a lot of really smart people, there's a lot of problems with a fully autonomous robot. I'm listing them in order of importance (in my eyes) from greatest to least.
  1. Time/People - As people have said, it took teams of grad students working around the clock to accomplish a simpler challenge (DARPA) than what you're aiming to achieve. Even if you start working now, you'll still need to tailor the AI to the game next year. You can't do that much in six weeks without a time machine. You're highly underestimating the complexity of everything the robot has to do.
  2. Hardware - Autonomous robots have extremely beefy processors, usually custom-designed for the task. You have a 400 MHz PowerPC processor, which is not just controlling your robot's movement, but is also busy doing other things like communicating with the field. Consider how much power you would need to run autonomously. Think of what you would have to do:
    • Gather inputs from a large amount of sensors.
    • Formulate a "world view" of what is going on. Where is your robot? Where are the other robots? Where are the game pieces? What is your current strategy? What step in the plan for that current strategy are you in? How much time is left in the match? There's a lot of questions. You'll need to use complex algorithms to analyze your data (including slow image analysis if you're using the data) and even more complex algorithms to take that analysis and turn it into some useful strategy.
    • Act on that strategy. Use even more complex algorithms to determine if your strategy is working. Decide when to switch strategies or dynamically adapt to the strategies being employed against you by the other alliance.
    There's just not enough processor to do it all in real-time.
  3. Your drivers will want to drive the robot. Arguments about "what FIRST is" aside, telling your drive team that your code can perform as well as they can is an insult to any human being. It may be a great off-season project, but don't you want to achieve your best during competitions? I'm not claiming that it's "all about winning" - but the competition makes it fun for a lot of people, and I can promise you that because of all the above reasons, an autonomous program developed by a few high school students with a year (maximum) of development time, running on FRC hardware, and within the context of an FRC game will not perform nearly as well as even the worst driver. You're removing almost any chance your team will do well if you run fully autonomous, provided the other alliance's robots so much as move. Is the rest of your team willing to accept this just so they can say that their robot is autonomous?

I'm sorry for raining on your parade, but it can't be done - at least not well. Ambition is a wonderful thing - never give up your dreams. But technological marvels aren't created with just a can-do attitude. It takes years of research, hard work, development, and custom hardware to finish the job. The people who think this is possible need to stop and be a bit more realistic.

Try something on a much smaller scale. An automated scoring algorithm would be great, and is a totally reachable goal. Work your way up, and see what you can do. There's a huge difference between playing a match "mostly autonomously" and fully autonomously in that the "mostly autonomous" option allows human drivers to position the robot, aware of the field and match conditions, before letting it go to work.

Seeing as your #2 covered my reasons for more power thoroughly, I thought we might as well discuss ways to get more power now, with another 8 months ahead to plan.
So, does anyone believe there is a way to feasibly add a inverter/converter widget from the PD board to a PC PSU, which then runs a small PC/GPGPU with Linux, which can interface with the Crio for image analysis and strategy planning? (I'm not an electrical engineer) The main problem I'd see is that the voltage drop with the battery under load might have more severe effects on a PC than on the Crio.

The

Last edited by theprgramerdude : 30-03-2010 at 20:09.