Go to Post you should see my scout sheet its the bomb diggity - Mirza95vx [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 13-04-2005, 13:15
cbolin's Avatar
cbolin cbolin is offline
Programming & Electrical
FRC #0342 (Burning Magnetos)
Team Role: Mentor
 
Join Date: Jan 2004
Rookie Year: 2004
Location: Charleston, SC
Posts: 72
cbolin is a splendid one to beholdcbolin is a splendid one to beholdcbolin is a splendid one to beholdcbolin is a splendid one to beholdcbolin is a splendid one to beholdcbolin is a splendid one to beholdcbolin is a splendid one to behold
Teaching "C" to 2006 students??

Hi,
To programming mentors and senior student programmers.

The nationals are next week. After that, thought must be given again by team 342 to developing newbie programmers into "Autonomous Programming Wizards" for 2006. Once more, we are losing our experienced "C" programmer to college.

Now, this seems to be a major issue for lots of teams since I see a whole lot of mentors programming their teams' robots. Many mentors don't have students with a programming interest nor the time to invest in training them.

Sooo...

I would like software that allows the student to write legal autonomous "C" code and to test it with a 'virtual robot'. The program would be friendly to the newbie programmer and not intimidating. I want them to be able to open and run sample programs as well as writing and saving their own examples. They could take this home. It would include a "C" programming tutorial and "Autonomous" tutorial so they could self-study. Further, it would be cool if this program could be made available to all teams for free that needed it.

The objective of this software is that the students could practice during the year at home or school. They could then sit in front of MPLAB with the 2006 default code, jump over to user_routines_fast.c and begin developing autonomous code to meet the teams requirements (with a little help from these forums and their mentors).

Is there anything like this that is immediately available for the students?

Would you like to use this if it was available?

I am working on such a project but would like to get some encouraging feedback before I get much farther along.

Attached is a simple screenshot showing what I have done. The gobbledegook in the bottom blue window is an intermediate virtual code to run the 26 mSec engine. The robot isn't doing anything yet.

Regards,
ChuckB
Attached Thumbnails
Click image for larger version

Name:	screenshot1.jpg
Views:	216
Size:	94.6 KB
ID:	3287  
__________________
Team 342 Programming & Control Systems
Good luck and have fun!
  #2   Spotlight this post!  
Unread 13-04-2005, 13:24
Paul H's Avatar
Paul H Paul H is offline
Renegade of Funk
AKA: Paul Huston
FRC #0033 (Killer Bees)
Team Role: Alumni
 
Join Date: Jul 2003
Rookie Year: 2003
Location: Royal Oak, MI
Posts: 364
Paul H has a brilliant futurePaul H has a brilliant futurePaul H has a brilliant futurePaul H has a brilliant futurePaul H has a brilliant futurePaul H has a brilliant futurePaul H has a brilliant futurePaul H has a brilliant futurePaul H has a brilliant futurePaul H has a brilliant futurePaul H has a brilliant future
Send a message via AIM to Paul H
Re: Teaching "C" to 2006 students??

That would be great, especially for teams like 1504, who don't have any mentors who know C enough to teach it.
__________________
-Paul
  #3   Spotlight this post!  
Unread 13-04-2005, 13:26
jdhawg's Avatar
jdhawg jdhawg is offline
Programmer/Mentor/Parent. Pick One
AKA: Jack D Higgs
FRC #0364 (Team Fusion)
Team Role: Programmer
 
Join Date: Jan 2005
Rookie Year: 2004
Location: Gulfport, MS
Posts: 49
jdhawg will become famous soon enough
Re: Teaching "C" to 2006 students??

I have to tell you, this is a GREAT idea.

Our team had several students who wanted to help write code at the start of the season. Unfortunately, only a couple had done any C programming before and that meant that I had to teach programming if any of them were going to actually write code. We ended up having the students do design of the autonomous, and the couple that knew C assisted me in the writing of the code.

It would be wonderful if next year we had students who had used a 'simulator' to try out different things with the autonomous mode and had some experience with C as well.

Please continue on with this great project. I'll be at the Championship Event in 364's pit if you'd like to chat, or I will stop by your pit to see how the project is coming along and just say "Hi". See You Next Week!
__________________
"Opportunity is missed by most people because it is dressed in overalls and looks like work." - Thomas A. Edison

"In the professional world, spelling mistakes, grammatical shortcuts, leet-speek, and misused verbiage are not interpreted as signs of cute, efficient communications. They are indicators of illiteracy, inefficiency, unprofessional behavior, and sloppy work habits." - Dave Lavery
  #4   Spotlight this post!  
Unread 13-04-2005, 13:28
jgannon's Avatar
jgannon jgannon is offline
I ᐸ3 Robots
AKA: Joey Gannon
no team
 
Join Date: Feb 2004
Rookie Year: 2004
Location: Pittsburgh, PA
Posts: 1,467
jgannon has a reputation beyond reputejgannon has a reputation beyond reputejgannon has a reputation beyond reputejgannon has a reputation beyond reputejgannon has a reputation beyond reputejgannon has a reputation beyond reputejgannon has a reputation beyond reputejgannon has a reputation beyond reputejgannon has a reputation beyond reputejgannon has a reputation beyond reputejgannon has a reputation beyond repute
Re: Teaching "C" to 2006 students??

Quote:
Originally Posted by cbolin
Is there anything like this that is immediately available for the students?
Yes... I've used RoboEmu2 a lot this season. While it doesn't explicitly support autonomous mode, you can write your autonomous routine in Default_Routine(), and it will run just fine. It looks like your approach to displaying data is a little different, but RoboEmu2 is definitely very useful for showing how input from sensors or users translates into outputs on the PWMs. Best of luck on your project.
__________________
Team 1743 - The Short Circuits
2010 Pittsburgh Excellence in Design & Team Spirit Awards
2009 Pittsburgh Regional Champions (thanks to 222 and 1218)
2007 Pittsburgh Website Award
2006 Pittsburgh Regional Champions (thanks to 395 and 1038)
2006 Pittsburgh Rookie Inspiration & Highest Rookie Seed

Team 1388 - Eagle Robotics
2005 Sacramento Engineering Inspiration
2004 Curie Division Champions (thanks to 1038 and 175)
2004 Sacramento Rookie All-Star

_
  #5   Spotlight this post!  
Unread 13-04-2005, 13:28
Ryan M. Ryan M. is offline
Programming User
FRC #1317 (Digital Fusion)
Team Role: Programmer
 
Join Date: Jan 2004
Rookie Year: 2004
Location: Ohio
Posts: 1,508
Ryan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud of
Re: Teaching "C" to 2006 students??

Looks nifty. I've thought about doing something like this before, but never got around to it...
__________________

  #6   Spotlight this post!  
Unread 13-04-2005, 15:19
spears312's Avatar
spears312 spears312 is offline
El Capitan
AKA: Ryan
FRC #0312 (Heatwave)
Team Role: Leadership
 
Join Date: May 2004
Rookie Year: 2004
Location: St. Pete, FL
Posts: 276
spears312 is just really nicespears312 is just really nicespears312 is just really nicespears312 is just really nicespears312 is just really nice
Send a message via AIM to spears312
Re: Teaching "C" to 2006 students??

It sounds like a great idea. Currently I have a "Teach your self C" book in my backpack I'm trying to get through so I can help our programmer next year and do some programing also. I find my self going a bit slow because I can't test some of the things I would like, I would definitely make use of your program if you completed and released it.
__________________
HEATWAVE 312
2004 FL Regional Chairman's Award Winners
2005 UCF & Palmetto Team Spirit Award Winners
2005 Championship Curie Division Semi - Finnalists (thx to 118 and 229)
FIRST
Under Construction
  #7   Spotlight this post!  
Unread 13-04-2005, 15:24
Mike's Avatar
Mike Mike is offline
has common ground with Matt Krass
AKA: Mike Sorrenti
FRC #0237 (Sie-H2O-Bots (See-Hoe-Bots) [T.R.I.B.E.])
Team Role: Programmer
 
Join Date: Dec 2004
Rookie Year: 2004
Location: Watertown, CT
Posts: 1,003
Mike has a reputation beyond reputeMike has a reputation beyond reputeMike has a reputation beyond reputeMike has a reputation beyond reputeMike has a reputation beyond reputeMike has a reputation beyond reputeMike has a reputation beyond reputeMike has a reputation beyond reputeMike has a reputation beyond reputeMike has a reputation beyond reputeMike has a reputation beyond repute
Re: Teaching "C" to 2006 students??

I recommend the EduBot, it's what I learned C on (it was fairly easy to pick up since I already knew PHP)

Within minutes you can have the edubot driving straight, and then dive into doing some dead reckoning, and if your team has a banner sensor lying around maybe some line tracking?
  #8   Spotlight this post!  
Unread 13-04-2005, 16:13
Ken Delaney 357 Ken Delaney 357 is offline
FTC #101(Radnor Robotics)
FRC #0357 (Royal Assault)
Team Role: Mentor
 
Join Date: Mar 2005
Rookie Year: 2000
Location: Drexel Hill, PA
Posts: 61
Ken Delaney 357 is a splendid one to beholdKen Delaney 357 is a splendid one to beholdKen Delaney 357 is a splendid one to beholdKen Delaney 357 is a splendid one to beholdKen Delaney 357 is a splendid one to beholdKen Delaney 357 is a splendid one to beholdKen Delaney 357 is a splendid one to behold
Re: Teaching "C" to 2006 students??

I think you should use the EduBot and the emulator in tandem. Back in 2003 our robot's fabrication was quite extensive. We were doing a crab drive for the first time. We used RoboEmu to test algorithms and sequence and then tested the code on the EduBot. When the time came to download the code into the robot it mainly was a matter of tweaking constants. Without RoboEmu and the EduBot I don't think we would have been successful. The EduBot(Robovation) is great because it is mainly autonomous. It helps programmers anticipate mechanical issues, like not driving straight. We are planning on spending all summer rewriting existing code in all our robots as teaching tool for the students since our only student programmer is also graduating. I hope you have success with your project, but take the time to look at RoboEmu2.
__________________
“Far better it is to dare mighty things, to win glorious triumphs, even though checkered by failure, than to take rank with those poor spirits who neither enjoy much nor suffer much, because they live in the gray twilight that knows not victory nor defeat.” ~Teddy Roosevelt

Thus spake the master programmer:
"A well-written program is its own heaven; a poorly-written program is its own hell."
  #9   Spotlight this post!  
Unread 13-04-2005, 22:41
Kyle T Kyle T is offline
waiting for next season...
FRC #0810 (Mechanical Bulls)
Team Role: Programmer
 
Join Date: Feb 2005
Rookie Year: 2004
Location: Smithtown
Posts: 20
Kyle T is an unknown quantity at this point
Re: Teaching "C" to 2006 students??

As an experienced programmer, I think that while that is a good idea, too much is dependant on the actual robot to really give new programmers a decent idea- the PWMSs are different for different robots, I don't think they should have to modify the alaiases file, and using constants for the wheel PWMS would mean that they had their drive in one specified meathod of coding.

In order for this to really work, it would have to have detailed robot input output values, convert the C to assembley, and simulate that.

I don't think the simple thing you have going is a great idea for a generalization, as I think the code should shape the ideas of the programmer, and not the ideas shaping to the specific way you have your simluator working...

I do think the project has potential if it's being designed for a specifc robot, you integrate the C compiler (not hard, it runhs at command line), and then use write a disassembly/simulator program which passes data to a simulator...

[edit- spelling errors.]
__________________

Last edited by Kyle T : 13-04-2005 at 22:45.
  #10   Spotlight this post!  
Unread 14-04-2005, 00:21
neilsonster's Avatar
neilsonster neilsonster is offline
Registered User
AKA: Andrew Neilson
FRC #0772 (Sabre Bytes)
Team Role: College Student
 
Join Date: Jan 2005
Rookie Year: 2005
Location: Waterloo, ON, Canada
Posts: 188
neilsonster is a name known to allneilsonster is a name known to allneilsonster is a name known to allneilsonster is a name known to allneilsonster is a name known to allneilsonster is a name known to all
Send a message via MSN to neilsonster
Re: Teaching "C" to 2006 students??

That's funny, I was talking with someone on MSN about the potential of a program like this right before I saw this thread.

What I'm doing for the next year's programmers as a project is making an electrical board for a robot fully equipped with motors, encoders, a gyroscope, the camera, and pneumatics along with a reference manual to use as a guide to programming the robot and learning many problem-solving methods I used over the past season. I already had a "practice board" that I used to test code, but I was always modifying it for whatever I was working on at the moment.

It's not a robot simulator, but my goal with it is to have someone who hasn't programmed before be able to have something very hands-on to work with and pick up programming fairly easily.
__________________
Andrew Neilson - Team 772 Alumnus
University of Waterloo Computer Science, Class of 2010
  #11   Spotlight this post!  
Unread 14-04-2005, 02:36
aziandorkess aziandorkess is offline
Registered User
no team (Midnight Mechanics)
Team Role: Alumni
 
Join Date: Feb 2003
Rookie Year: 2003
Location: San Diego/Boston currently
Posts: 31
aziandorkess is on a distinguished road
Send a message via AIM to aziandorkess Send a message via MSN to aziandorkess
Re: Teaching "C" to 2006 students??

This is such a great idea. I've been struggling to teach C to 2006 students, because of the dependency on the robot. We had a hard time getting the electrical board (similar to what neilster mentioned) set up this year, and cut into major time. It's a great project, but we had started way too late, and electrical people kept on stealing stuff off of it. Our mentee teams would greatly benefit from this too.. especially rookie teams. :thumbs up for taking the time to do this:
Please keep us updated on such software.
__________________
2007 SD Engineering Inspiration Award
2006 SoCal Chairman's Award
2005 SoCal Chairman's Award
2004 Championships Engineering Inspiration Award
2004 SoCal Engineering Inspiration Award
2003 Arizona Judges Award
2003 SoCal Team Spirit Award
2002 SoCal All Star Rookie Award

Alumna of The Midnight Mechanics (03-06).
  #12   Spotlight this post!  
Unread 14-04-2005, 08:46
BradAMiller BradAMiller is offline
Registered User
AKA: Brad
#0190 ( Gompei and the Herd)
Team Role: Mentor
 
Join Date: Mar 2004
Location: Worcester, MA
Posts: 592
BradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant future
Re: Teaching "C" to 2006 students??

We use the Robovation kits for teaching C and autonomous robot programming. The programming environment is identical to the the FRC controller (with a few minor exceptions). We've used it to prototype algorithms and then just move the code to the FRC robot. For example we have a "baby" four wheel omni-drive system with made from a Robovation kit running the same code as our full-sized robot. We did the small version as a proof of concept and it worked great.

Now for a shameless plug for some other stuff that we're doing...

To make programming easier I developed a framework that lets you quickly write complex autonomous programs with inexpensive "hobby-robotics" sensors. All "user" code is (usually) in a single file and "device drivers" can be installed that request services from the framework like timers and interrupts. I also removed the concept of the fast-code/slow code, and explicit getdata and putdata.

We used it with several Robovation tournaments and classes run at WPI with hundreds with students and it works great. I'm giving a presentation about the framework at the conference in Atlanta on Saturday and probably putting up the code on line somewhere right after that. (need to make sure it's cleaned up for release).

I'm hoping to port the code to the FRC and VEX controllers before next season.

Incidentally, we're running a two week summer high school robotics resident program at WPI. Students learn C programming and mechanical design on the VEX and FRC robots that ends in a VEX tournament between student teams with robots that they build. If you might be interested, here's the link (look at the bottom of the page):

http://www.admissions.wpi.edu/Frontiers/study.html

Brad
  #13   Spotlight this post!  
Unread 14-04-2005, 12:47
jdiwnab's Avatar
jdiwnab jdiwnab is offline
Really the Inventor Guy
AKA: Bryan Hartley
FRC #0617
Team Role: College Student
 
Join Date: Nov 2004
Rookie Year: 2002
Location: Highland Springs, VA
Posts: 260
jdiwnab is a jewel in the roughjdiwnab is a jewel in the roughjdiwnab is a jewel in the rough
Re: Teaching "C" to 2006 students??

That's a great idea. Last year, we wanted to make a tutorial series for all aspects of the robot, including programming. We wanted to have an interactive website for all the parts. We wanted to have a Javascript program to "compile" C programs (not necessarly for the robot) that could do simple things like printf and stuff. But we didn't have the time/desire to contenue. I think an interactive "compiler" that didn't really make programs is a good idea.
__________________
Proof that Macs will win the platform war: How did Scotty know how to use MacDraft in Star Trek IV?
// random()
I have 100 gmail invites. PM me if you want one.
If they want us to think outside of the box, why do they make us fit in a 38x28x60 inch box?
Beware of Geeks bearing GIFs
Help me test my server software
  #14   Spotlight this post!  
Unread 14-04-2005, 14:36
cbolin's Avatar
cbolin cbolin is offline
Programming & Electrical
FRC #0342 (Burning Magnetos)
Team Role: Mentor
 
Join Date: Jan 2004
Rookie Year: 2004
Location: Charleston, SC
Posts: 72
cbolin is a splendid one to beholdcbolin is a splendid one to beholdcbolin is a splendid one to beholdcbolin is a splendid one to beholdcbolin is a splendid one to beholdcbolin is a splendid one to beholdcbolin is a splendid one to behold
Re: Teaching "C" to 2006 students??

Great feedback!

During competitions over the past two years I have met a lot of teams that have very, very small budgets. These teams might not have the resources to buy the various programmable kits above. By all means they are wonderful to use and good for teaching programming.

For the hundreds of teams and potentially thousands of students and mentors with shoestring budgets, I am interested in a free teaching tool that translates the autonomous code into virtual robot actions.

I like the idea of the student constructing his or her virtual robot: i.e. adding various sensors. The fields could be constructed with obstacles, boundaries and lines to track.

I'll let you know if I can't write this program. The hardest thing is to write a routine that translates legal "C" source code into an assembly type language that can be processed every 26 mSec. I have made significant progress in this. If this works then the restof the programming problem shouldn't be a problem. I can work with OpenGL in VB6 pretty good...maybe we can make a 3D bot. ;-)

Thanks and regards,
ChuckB
__________________
Team 342 Programming & Control Systems
Good luck and have fun!
  #15   Spotlight this post!  
Unread 15-04-2005, 11:11
Jon236's Avatar
Jon236 Jon236 is offline
Registered User
AKA: Jon Mittelman
FRC #2648 (Infinite Loop)
Team Role: Mentor
 
Join Date: Jan 2004
Rookie Year: 2000
Location: Windsor, Maine
Posts: 741
Jon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond repute
Re: Teaching "C" to 2006 students??

Quote:
Originally Posted by BradAMiller
We use the Robovation kits for teaching C and autonomous robot programming. The programming environment is identical to the the FRC controller (with a few minor exceptions). We've used it to prototype algorithms and then just move the code to the FRC robot. For example we have a "baby" four wheel omni-drive system with made from a Robovation kit running the same code as our full-sized robot. We did the small version as a proof of concept and it worked great.

Now for a shameless plug for some other stuff that we're doing...

To make programming easier I developed a framework that lets you quickly write complex autonomous programs with inexpensive "hobby-robotics" sensors. All "user" code is (usually) in a single file and "device drivers" can be installed that request services from the framework like timers and interrupts. I also removed the concept of the fast-code/slow code, and explicit getdata and putdata.

We used it with several Robovation tournaments and classes run at WPI with hundreds with students and it works great. I'm giving a presentation about the framework at the conference in Atlanta on Saturday and probably putting up the code on line somewhere right after that. (need to make sure it's cleaned up for release).

I'm hoping to port the code to the FRC and VEX controllers before next season.

Incidentally, we're running a two week summer high school robotics resident program at WPI. Students learn C programming and mechanical design on the VEX and FRC robots that ends in a VEX tournament between student teams with robots that they build. If you might be interested, here's the link (look at the bottom of the page):

http://www.admissions.wpi.edu/Frontiers/study.html

Brad
We are developing a VHS (Virtual High School) course on C programming for Robotic control. We plan to use the VEX as a teaching tool. We are interested in both:

a) contributors to this effort (and from the responses on this thread, I can tell that there are loads of qualified contributors!); and
b) those schools who will use this to help teach students about C and robotic control

Jon Mittelman
Programming Mentor
Team 236
Closed Thread


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
Students design robots, beneficial technology Billfred FIRST In the News... 0 07-02-2005 01:32
Best Robot Ever(again) Corey Balint General Forum 26 04-08-2004 23:03
Competing students sickened by virus Brandon Martus FIRST In the News... 3 07-03-2004 21:23
Need help inspiring students? Anthony Towne General Forum 2 07-10-2003 06:29
Qotw [12-01-02]: policy on students... Ken Leung Rumor Mill 11 06-12-2002 15:38


All times are GMT -5. The time now is 00:15.

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