A Web tutorial for novice robot programmers

7 replies [Last post]
Terry
Terry's picture
Title: NooBot
Joined: 06/08/2009
Posts:
BotPoints: 55
User offline. Last seen 1 year 21 weeks ago.

Hi,
Some of you know me; I've been at NASA, Ames for years and helping the start new teams of Northern California for about
15 years. We have created a web site called "Program Your Robot" that has lesson topics on most of the fundamentals and
many examples and assignments so you can tell if you understand the descriptions. All topics are searchable directly, or with
a graphical map or a traditional site map, or following a lesson plan sequence. The indices are all on the right of the page.
Check it out: http://nasarobotproject.wordpress.com -- and leave comments!
-Terry

History is a race, between Education and Catastrophe

Jeremy Rand
Jeremy Rand's picture
Title: Botball Youth Advisory Council
Joined: 04/03/2009
Posts:
BotPoints: 1168
User offline. Last seen 3 years 22 weeks ago.

Is there any reason why the site introduces motor() before mav()? I cannot think of any case where beginners (to whom I gather this site is aimed) would want to use motor(). motor() is useful for a few very specific cases (e.g. producing jerking motion or pulling on winches/pulleys), but under no circumstances would I recommend using it for locomotion. (Even those special cases where motor() is useful, are better served by fd()/bk().) mav() is much more precise than motor() for locomotion and has a comparable learning curve. For this reason, I avoid teaching beginners motor().

-Jeremy Rand
Senior Programmer, Team SNARC (2012-2013), Norman Advanced (2010-2011), Norman HS (2008-2009), Norman North (2005-2007), Whittier MS (2003-2004)
2012-2013 VP of Tech, 2011 President, Botball YAC (2009-2013)
Mentor, Alcott and Whittier MS

Beta
Beta's picture
Title: The Magnificent
Joined: 02/24/2012
Posts:
BotPoints: 266
User offline. Last seen 4 years 36 weeks ago.

This looks really neat! I might send this out to a few coaches I know. Seems like it would be useful for the novice.

@Jeremy
The motor command is conceptually simpler than the mav command. Most people I know think of motors in terms of power when they first start. It also allows for the discussion of different motor control methods early on, rather than just saying "use this, it's better".

^.^

Braden McDorman

Developer of the KIPR Link, KISS IDE, KIPR's 2D Simulator, and CBCJVM.

Reach me at bmcdorman(cat)kipr(dog)org where (cat)=@ and (dog)=. if you need assistance of any kind.

Terry
Terry's picture
Title: NooBot
Joined: 06/08/2009
Posts:
BotPoints: 55
User offline. Last seen 1 year 21 weeks ago.

Jeremy,
I think the use of the motor() function is mostly due to historical precedent, but I don't think there is one 'best' path to programming robots, or learning any language. It seems to depend on the prior experience of the learner. We tried to minimize the lesson path by showing all the material and giving the student options regarding how it is covered.
I also agree with Braden that many robotics novices think in terms of providing power to motors, perhaps because that is the only option for most controllers. Beginners are usually not concerned about accuracy of motion until they experiment with controlling motion and realize that physical motion always has the side effect of movement error.

History is a race, between Education and Catastrophe

Jeremy Rand
Jeremy Rand's picture
Title: Botball Youth Advisory Council
Joined: 04/03/2009
Posts:
BotPoints: 1168
User offline. Last seen 3 years 22 weeks ago.

@Terry, I would recommend replacing the image slides (e.g. on the servo page) with something text-based using HTML/CSS for the formatting. At the moment that content is just about impossible for visually impaired people to read, and violates the WAI guidelines (and probably Section 508 guidelines as well, assuming that this was made with government money).

-Jeremy Rand
Senior Programmer, Team SNARC (2012-2013), Norman Advanced (2010-2011), Norman HS (2008-2009), Norman North (2005-2007), Whittier MS (2003-2004)
2012-2013 VP of Tech, 2011 President, Botball YAC (2009-2013)
Mentor, Alcott and Whittier MS

jiya
Title: NooBot
Joined: 06/06/2017
Posts:
BotPoints: 98
User offline. Last seen 15 weeks 5 days ago.

I appreciate the robot programmers as they are doing a heavy task in updating the code and other functions in a robot in order to have a proper functioning of it. Their hard work in this field made them receive such achievements. ready to occupy villas in cochin

jeni
Title: NooBot
Joined: 11/21/2017
Posts:
BotPoints: 10
User offline. Last seen 11 weeks 5 days ago.

I will let you know if this works for me Thanks and keep posting such a informative post. Get MB2-877 questions answers

peterseo
peterseo's picture
Title: NooBot
Joined: 08/07/2018
Posts:
BotPoints: 60
User offline. Last seen 11 weeks 11 hours ago.

Good focuses you composed here..Great stuff...I think you've made some really fascinating points.Keep up the great work. Software