Go to Post [in best Tom Hanks voice] Are you crying? ARE YOU CRYING? There's no crying! THERE'S NO CRYING IN ROBOTICS! - dlavery [more]
Home
Go Back   Chief Delphi > FIRST > Career
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 13-04-2006, 23:02
John Gutmann John Gutmann is offline
I'm right here
AKA: sparksandtabs
FRC #0340 (GRR)
Team Role: Mechanical
 
Join Date: Feb 2005
Rookie Year: 2004
Location: rochester
Posts: 804
John Gutmann has a brilliant futureJohn Gutmann has a brilliant futureJohn Gutmann has a brilliant futureJohn Gutmann has a brilliant futureJohn Gutmann has a brilliant futureJohn Gutmann has a brilliant futureJohn Gutmann has a brilliant futureJohn Gutmann has a brilliant futureJohn Gutmann has a brilliant futureJohn Gutmann has a brilliant futureJohn Gutmann has a brilliant future
Send a message via AIM to John Gutmann Send a message via MSN to John Gutmann Send a message via Yahoo to John Gutmann
Programming College Courses

Ok, So I do not know if this is the correct place for this thread so work with me. I a allready reall good at mechanical and electrical things. But seeing as how I want to do alot of my own robotics projects and be self-sufficient at them I want to get into programming more. I want to sign up for a programming course at college but I do not know how much I will get out of it. Understand that I know nothing and I mean NOTHING about programming. Well maybe a little...It only took me til now to get the timer working on my Atmel AVR. So if I take a first level or begginers programming course in college do you think I will get enough to do simple programs from just that one semester's worth of learning? I want to be able to do like timed actions, basic driving PWMs and reading and interpreting sensors and data. basically what we do for our robots in competition.
Reply With Quote
  #2   Spotlight this post!  
Unread 13-04-2006, 23:11
Liz Smith's Avatar
Liz Smith Liz Smith is offline
believes in robots
AKA: Pika1579
FRC #3940
Team Role: Mentor
 
Join Date: Jan 2004
Rookie Year: 2004
Location: Kokomo, IN
Posts: 386
Liz Smith has a reputation beyond reputeLiz Smith has a reputation beyond reputeLiz Smith has a reputation beyond reputeLiz Smith has a reputation beyond reputeLiz Smith has a reputation beyond reputeLiz Smith has a reputation beyond reputeLiz Smith has a reputation beyond reputeLiz Smith has a reputation beyond reputeLiz Smith has a reputation beyond reputeLiz Smith has a reputation beyond reputeLiz Smith has a reputation beyond repute
Send a message via AIM to Liz Smith
Re: Programming College Courses

I basically hasd the same skills as you, a lot of mechanical knowledge but no programming knowledge. I am currently taking an entry level programming course (in java) and really all we learned are the basics (arrays, loops, ifs etc.). Right now? I wouldn't really know how to program a robot. What we learned wasn't based on that. You seem to have specific things you want to be able to do.

My suggestion is that even thought you want to be self-sufficient, you should start out working with someone else, perhaps someone on your team. They should have knowledge that may be more specific to your needs. That way, you'll learn what you want to learn and won't be stuck in a class that isn't relevent to your what you want to accomplish with code.
__________________
Alumna of 555 Mentor of 3940
Volunteering since 2004: Say hi to me at events!
Applications Engineer
AndyMark, Inc.

Reply With Quote
  #3   Spotlight this post!  
Unread 14-04-2006, 00:49
TimCraig TimCraig is offline
Registered User
AKA: Tim Craig
no team
 
Join Date: Aug 2004
Rookie Year: 2003
Location: San Jose, CA
Posts: 221
TimCraig is a splendid one to beholdTimCraig is a splendid one to beholdTimCraig is a splendid one to beholdTimCraig is a splendid one to beholdTimCraig is a splendid one to beholdTimCraig is a splendid one to beholdTimCraig is a splendid one to behold
Re: Programming College Courses

I have degrees in both Aeronautical and Mechanical engineering but I'm done mostly software (long story). One thing you need to remember that programming a robot falls into the category of "embedded" software which is quite a bit different that the common garden variety programming taught in most beginning programming classes.

However, having said that, you have to start somewhere. Most of the programming constructs are the same. So my advice would be to take a C or C++ class to start. Don't bother with toy languages like Java or C# that are in vogue now.

When you've learned the basic things like using varibles, loops, etc. Start taking special care to learn how to "fiddle bits" as those are generally very important in embedded programming. Then you can graduate to understanding and using interrupts. From there learn about memory and processor architectures because the kinds of bugs you'll run into are sometimes esoteric. You have to much more understand the type of hardware your program is running on.

The biggest thing to remember is that there are very hard time constraints in most embedded programming. In a regular desktop program if you have a long calculation to do, you just put up the hourglass and tell the user you'll get back to them when you're through crunching the numbers. In an embedded system, you need to monitor what's going on. If you go away to calculate pi to seveal million digits, your robot is going to crash into a wall or IFI is going to shut it down for not tripping the watchdog timer soon enough. You've probably heard from the programmers on your teams about the infamous 26.2 millisecond main loop.
Reply With Quote
  #4   Spotlight this post!  
Unread 14-04-2006, 19:31
John Gutmann John Gutmann is offline
I'm right here
AKA: sparksandtabs
FRC #0340 (GRR)
Team Role: Mechanical
 
Join Date: Feb 2005
Rookie Year: 2004
Location: rochester
Posts: 804
John Gutmann has a brilliant futureJohn Gutmann has a brilliant futureJohn Gutmann has a brilliant futureJohn Gutmann has a brilliant futureJohn Gutmann has a brilliant futureJohn Gutmann has a brilliant futureJohn Gutmann has a brilliant futureJohn Gutmann has a brilliant futureJohn Gutmann has a brilliant futureJohn Gutmann has a brilliant futureJohn Gutmann has a brilliant future
Send a message via AIM to John Gutmann Send a message via MSN to John Gutmann Send a message via Yahoo to John Gutmann
Re: Programming College Courses

Quote:
Originally Posted by TimCraig
I have degrees in both Aeronautical and Mechanical engineering but I'm done mostly software (long story). One thing you need to remember that programming a robot falls into the category of "embedded" software which is quite a bit different that the common garden variety programming taught in most beginning programming classes.

However, having said that, you have to start somewhere. Most of the programming constructs are the same. So my advice would be to take a C or C++ class to start. Don't bother with toy languages like Java or C# that are in vogue now.

When you've learned the basic things like using varibles, loops, etc. Start taking special care to learn how to "fiddle bits" as those are generally very important in embedded programming. Then you can graduate to understanding and using interrupts. From there learn about memory and processor architectures because the kinds of bugs you'll run into are sometimes esoteric. You have to much more understand the type of hardware your program is running on.

The biggest thing to remember is that there are very hard time constraints in most embedded programming. In a regular desktop program if you have a long calculation to do, you just put up the hourglass and tell the user you'll get back to them when you're through crunching the numbers. In an embedded system, you need to monitor what's going on. If you go away to calculate pi to seveal million digits, your robot is going to crash into a wall or IFI is going to shut it down for not tripping the watchdog timer soon enough. You've probably heard from the programmers on your teams about the infamous 26.2 millisecond main loop.

As That is basically what I was thinking. Right Now I am working on an embedded system. The basic programming such as variables loops and all that are easy to figure out and learn about. One of my biggest problems is bit fiddling. Curse those data sheets. It is an atmega16 and about 95% of coding I have done *or gotten from people to learn from* has been defining bits. To configure it to do what you want.

Also to Tim, I have approached people on my team asking for their help and assistance but I have had no luck with trying to have people help me.
Reply With Quote
  #5   Spotlight this post!  
Unread 14-04-2006, 19:38
Tom Bottiglieri Tom Bottiglieri is offline
Registered User
FRC #0254 (The Cheesy Poofs)
Team Role: Engineer
 
Join Date: Jan 2004
Rookie Year: 2003
Location: San Francisco, CA
Posts: 3,187
Tom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond repute
Re: Programming College Courses

Quote:
Originally Posted by sparksandtabs

Also to Tim, I have approached people on my team asking for their help and assistance but I have had no luck with trying to have people help me.
Last time I checked Mike from 237 was pretty knowledgable with AVR's. I'm sure he wouldn't mind helping. Actually, I'm positive he'll lend you a hand. He owes some favors after the past 2 build seasons.

A little history on me and Mike: Mike was a freshman last year, and needed help with interfacing the camera to the bot, and controlling outputs. I taught him all I knew. My camera got ripped off at the first regional. He capped the vision tetra in NJ. Go figure..
Reply With Quote
  #6   Spotlight this post!  
Unread 15-04-2006, 00:28
TimCraig TimCraig is offline
Registered User
AKA: Tim Craig
no team
 
Join Date: Aug 2004
Rookie Year: 2003
Location: San Jose, CA
Posts: 221
TimCraig is a splendid one to beholdTimCraig is a splendid one to beholdTimCraig is a splendid one to beholdTimCraig is a splendid one to beholdTimCraig is a splendid one to beholdTimCraig is a splendid one to beholdTimCraig is a splendid one to behold
Re: Programming College Courses

If you have specific questions, feel free to contact me directly. I haven't worked with AVRs but I've poked around at the processor level on PCs of all ages and, of course, the PIC robot controllers. It can't be that obtuse.

If you're looking at C/C++, pay particular attention to the difference between the logical operators, &&, ||, and !; and the bitwise operators ~, &, |, and ^. Look up the descriptions of "masking" for isolating and manupulating individual bits.

In a somewhat related vein, it's helpful to know if your system represents multibyte variables in little endian or big endian form. (The origin of those terms is kind of interesting)

Another architectural detail is how I/O is addressed by the CPU. Is there a separate I/O address space or is it mapped to the memory space of the processor. Desktop applications generally don't care about this but with a lot of smaller embedded systems, you're on your own.
Reply With Quote
  #7   Spotlight this post!  
Unread 15-04-2006, 01:05
John Gutmann John Gutmann is offline
I'm right here
AKA: sparksandtabs
FRC #0340 (GRR)
Team Role: Mechanical
 
Join Date: Feb 2005
Rookie Year: 2004
Location: rochester
Posts: 804
John Gutmann has a brilliant futureJohn Gutmann has a brilliant futureJohn Gutmann has a brilliant futureJohn Gutmann has a brilliant futureJohn Gutmann has a brilliant futureJohn Gutmann has a brilliant futureJohn Gutmann has a brilliant futureJohn Gutmann has a brilliant futureJohn Gutmann has a brilliant futureJohn Gutmann has a brilliant futureJohn Gutmann has a brilliant future
Send a message via AIM to John Gutmann Send a message via MSN to John Gutmann Send a message via Yahoo to John Gutmann
Re: Programming College Courses

I don't know about other embedded systems but with AVRs and what I am doing now the code is pretty much 90% bit deffinitions. So right now it is just hard for me to know what I have to define for what options, and finding all the bits I need in the datasheet.

AS for taking the college course, I was wondering also because I hear that alot of people work with motorolra someting or other and I wanted to ask if that would be better for robotics applications or if something like an AVR would be fine for robotics. I do not know what kind of bit definitions need to be done for motorola's or even PICs.
Reply With Quote
Reply


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Programming - Getting Started Mark McLeod Programming 80 16-04-2008 23:37
College FIRSTers: What was your transitional year? Erin Rapacki General Forum 15 04-02-2005 22:38
College Students: How is your experience in FIRST? Ken Leung General Forum 30 18-03-2004 10:38
Full list of teams & competitions archiver 2001 14 24-06-2002 00:52
Promoting FIRST in college: an idea archiver 1999 1 23-06-2002 22:06


All times are GMT -5. The time now is 10:33.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi