Home > CollectorBot, My Robots > Finding Objects – A new robot idea for an autonomous robot

Finding Objects – A new robot idea for an autonomous robot

glossy_3d_blue_orbs2_108 I started this blog about a month ago to share ideas and robot programs using behavior-based techniques.  I went back to one of my favorite books, “Robot Programming – A Practical Guide to Behavior-Based Robotics” by Joseph L. Jones to renew my ideas.

I have decided to create a Lego NXT robot that is similar to the one featured in the online simulator that used to run for this book.  Unfortunately, the site was disbanded a while back so you can’t see it in action, but you can still find the user documentation here.  The java code for BSim is here.  Anyone want to host this applet?  It is pretty cool.

The task I am interested in is “Collection Task”.  This task uses several behaviors to have the robot move around an area collecting pucks and moving them to a light source in the middle.  It is fun to watch in Bsim because none of the behaviors collects anything?!  Each behavior they implement performs its goals that collectively solve this challenge.  The Collection Task uses behaviors Escape, Dark-push, Anti-moth, Avoid, Home, and Cruise in order of decreasing priority.


Of course, I have some hurdles to overcome implementing this on my Lego NXT robot.  Challenges are fun, right!

Here are some of my initial challenges.

  • Robot shape – Their robot is like Roomba.  Round and smooth.  Sensors are cool and well thought out.  Robot actions are very cool.
  • Limited sensors on the Mindstorms robots.  There are several sensors engaged on Bsim.  Some creativity with the NXT is necessary to come close.
  • The simulator has a perfect world where everything works as designed.
    • Lights are a problem because in the simulator they do not reflect light off the walls or objects.  They are easy to home in on.  The real world is not so easy.
    • BSim is able to understand PUSHING a puck vs. COLLIDING with a wall.  That is tougher with the NXT.  To implement this, you may need to be able to implement a stall sensor or something like it.  I have not been able to consistently make a stall sensor reliable.  I have some ideas around this.

I am up for the challenge.  I built and programmed a prototype this week, but still have some more work to do.  I will post more progress this week.

Stay tuned…


WordPress Tags: robot,ideas,behavior,Practical,Guide,Robotics,Joseph,Jones,Lego,documentation,code,BSim,task,Collection,Roomba,Round,Sensors,actions,Mindstorms,world,Lights,walls,sensor,prototype,techniques,goals,robots,simulator,behaviors

  1. July 6, 2009 at 1:33 pm

    Hi there — if you are interested in behavioral techniks on the NXT,, there is great bok out there by Daniele Benedettelli (the creator of johnny5 NXT the rubix solver and other really cool robots, The book is from Technology In Action and is called Creating Cool MINDSTORMS NXT ROBOTS . In his book he explain his programming method using NXC (Not eXacly C) and FSM (finite state machine) which if i understand properly is a type of behaviorial programming.
    Check it out… later

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: