Hey guys, Just found out about LMR and wanted to share some of the robots we have made in past. (so, I will post 4-5 more projects soon)
Jeffrey The Quadruped is a quite small walker with 4 legs. It has printed circuit board with a custom arduino setup, using an Atmega328. It has a Sharp IR Rangefinder attached on 2 servos and uses a simple rotational object tracking algorithm to let him create temporary low resolution visual maps. This way it can stay on a table, stay away from objects and even track your hands with a single sensor. Programmed it to be a pet robot. It can interact with humans at a very low (but cute) level.
Here are some more photos:
And some photos from the first prototype (before the casing and printed circuit board):
Planning to build a dock for it to automatically charge itself in future.
It is a pet. It can stay on tables without falling, navigates around via IR sensor, interacts with people
Actuators / output devices: 2 micro servos, 8 mini servos
Yeah, I purposely used a piezo buzzer to create a bug like sound. Love that sound. Also, adding sound to your robot makes it psychologically more comfortable to interact for humans. I guess I will add a new project every day, too busy these days.
That is what is really striking about this bot. It has so much personality. Seems to be pissed off when things get in his way and the twitchy head thing I mentioned before. Like a grumpy mad-man! Perfect. LOL
I didn’t even mention the angry/fearing behavior we have intended to reach, it’s great to see that you got the exact same feeling that was aimed for. Thanks!
He’s very cute! Awesomely cute. I’d love to build one of these - looks ot be within my capabilities (perhaps) - though some more in depth info would help a lot! Hint, nudge… oh, who am I kidding … Pleeeeeeease begs
You don’t need the write it in the eprom, it keeps a very small amount of data in realtime (does not keep a log), so the memory is enough. Although, you can use the same concept in a way where you log the data for more complex calculations. It has a very low resolution of 10x2. Basically what it does it to create an array of distance values (from the IR sensor) as the head moves. If you watch it as it moves forward, you will see a circular-like movement of the head, it scans 2 lines (one 90 degrees to the ground and one 45 degrees to the ground). I keep 10x samples for each line and store them in an array. After that it depends on how you process that array, for example Jeffrey uses the first line to avoid obstacles and the second line to avoid falling down of a table. For the first line I find the lowest value to locate the location of the “obstacle” and the highest value to find the correct place to move in order to avoid it. (the position of these values on the array corresponds to real physical positions since the scanning process is linear). I do the exact opposite for table edge avoidance. Of course, there are exceptions with extra actions, but this is basically how it works. With the same method you can create a larger resolution array for more calculations, but of course the time lapse between the samples would increase.
Those servos do break. Jeffrey broke 2 servos till now. I plan to redesign its legs with a more solid structure. The correct way to avoid breaking servos is to build mechanical legs and control them via wires connected to the servo. That way you can take some of the tension off the servos.
Wow, thanks for explaing that in such a detailed novel Now I can make myself an image about how it works.
Yep, Chopstick Junior was a lot of fun to build to show off and even doing a workshop in out hackerspace and let 50 insurance sellers build two of Chopstick Junior clones ;-)
It was pretty much the arduino code that I was after too. If it happened to be annotated into the bargain that would be GREAT! I’m a total noob at arduino coding, so being able to look at (read: probably steal) other people’s robotic code would be awesome. This design is very cool, and I think it may be used in a planned pet robot - though with different cues for certain behaviours.
Also, some pics of how the legs are attached to the body (and which servos you used). I have been humming and harring about whether to use legs or wheels in my pet. I was thinking legs might be too difficult, but these appear to be only 1DOF, and yet still allow him to move relatively well.
Thanks for posting him - he’s a cute little dude. I especially like that he makes noises. It’s almost like a ‘purr’.
Hey guys, sorry for the late reply! I have been working on a new robot, pretty much shut myself to the world.
Of course, I will send you the code (once I get to my computer at house), but keep in mind that the code is specifically written for jeffrey’s body. it would require lots of trimming and fixing even if you make a similar structure.
It was a look at Jeffrey’s personality stuff that I was keen on. Oh, and info on how you connected the buzzer. I want to give Hexy some personality when he arrives. A happy noise and a grumpy noise for starters.