PDA

View Full Version : SMALdog



lnxfergy
11-27-2009, 08:45 PM
Thought I would post a few details about my new quadruped, SMALdog (Sorta Maybe Almost Littledog). (I was originally calling him "Littler Dog" for lack of a better name). He's a bioloid robot inspired by Boston Dynamic's Little Dog. I started assembling on yesterday, and was able to find enough time last night to get the IK worked out, and today got a default gait going pretty decently.
http://forums.trossenrobotics.com/gallery/files/1/7/6/8/littlerdog.jpg
SMALdog is using 12 AX-12 servos, a variety of bioloid brackets, SES tubes for the lower legs, and a simple sheet metal frame to tie everything together. His ArbotiX robocontroller is doing a full IK solution for each leg.

Here's a quick video of the default gait:

http://www.youtube.com/watch?v=nepcqhmPEE0

The default gait I've got right now is just a simple ripple gait, but he's already doing almost 20cm/s in a straight line, and 30 degrees/second turning in place -- better than Issy's highly-tuned gait performed at CNRG. (Needless to say, this bot may very well replace Issy as my fire fighter, he's smaller too, only 8" long).

Now onto the fun part - developing a geometrically stable non-periodic gait engine to maximize his speed. Future plans for this bot also include adding an IMU for stabilization, springs in the tibias, and adding sensory to the legs (my eventual goal is to be able to actually run with this bot...).

-Fergs

MikeG
11-27-2009, 09:10 PM
Wow... Excellent choice of axis!

nagmier
11-27-2009, 09:50 PM
Wow yet again! I love to quality of IK solution being run on the uC thats great to really show the abilities of modern robotics and how far it has come to the consumer level! I love the representation, done wonderfully!

rebel
11-27-2009, 10:01 PM
Looks realy good!

Adrenalynn
11-27-2009, 10:02 PM
Wow... Excellent choice of axis!

I concur, Mike. The hips are really quite innovative, imho. And the performance has to speak for itself!

darkback2
11-27-2009, 11:19 PM
Great work as always fergs...I really like the symmetry between the front and back of the bot...I'm also really impressed with you IK work you do. Can't wait to see more.

How do those hip twist servos work? Are they really helpful?

DB

Adrenalynn
11-28-2009, 12:01 AM
Turning without them would be tough on the servos. And balanced gaits would be impossible.

Zenta
11-28-2009, 12:04 AM
Wow!

Thats awesome work on both the IK/programming and the design. Seems like the COG are relative low too. Placing the hip at top like you did was a really good idea! I'm wondering, does your Littler dog even shift the cog while walking? It seems like the gait are fast enough for avoiding the body to tip over when lifting a leg. May I ask how many cycles of IK calculations you are doing per sec?

Excellent and very inspiring work as always, congratz! Looking forward to see more of this project.

-Zenta

lnxfergy
11-28-2009, 12:27 AM
Wow!

Thats awesome work on both the IK/programming and the design. Seems like the COG are relative low too. Placing the hip at top like you did was a really good idea! I'm wondering, does your Littler dog even shift the cog while walking? It seems like the gait are fast enough for avoiding the body to tip over when lifting a leg. May I ask how many cycles of IK calculations you are doing per sec?

Excellent and very inspiring work as always, congratz! Looking forward to see more of this project.

-Zenta

He's not shifting his COG yet. Frankly, he's still running the simplest ripple gait conceivable (he is, after all, only 2 days old). His stride is currently limited by the fact that he falls over when I increase the stride much more. I've got a geometrically driven gait in the works, but it's not quite ready -- that gait will shift the COG in order to maximize stride length.

He's currently doing 2 IK calculations for each leg forward motion (one to put it in the up and centered position, and 1 to put it on the ground at the front of a stride), and then of course 6 cycles per leg while on the ground, giving us 8 calcs per full cycle. He's then doing 30Hz linear interpolation between points. The interpolation for each cycle is currently 65ms, so a stride length of 100mm, gives us forward velocity of about 20cm/s (2 full cycles/sec). Certainly, the number of IK calcs could go way up (but I haven't tested what the max rate is... something I probably should do. It's all fairly un-optimized though).

This project has definately slid to the top of my interest list, so there will certainly be quite a few updates coming down the line.

-Fergs

Zenta
11-28-2009, 01:03 AM
Ok, thanks for the information.

He's then doing 30Hz linear interpolation between points. The interpolation for each cycle is currently 65ms, so a stride length of 100mm, gives us forward velocity of about 20cm/s (2 full cycles/sec). Certainly, the number of IK calcs could go way up (but I haven't tested what the max rate is... something I probably should do. It's all fairly un-optimized though).


I'm not sure if I get the 30 Hz interpolation part. Do you update each servo every 33mS with the value from the interpolation calculation?

Are you going to share your ArbotiX code one time?

-Zenta

lnxfergy
11-28-2009, 01:16 AM
I'm not sure if I get the 30 Hz interpolation part. Do you update each servo every 33mS with the value from the interpolation calculation?

Are you going to share your ArbotiX code one time?

Yes, the servos are updated at 30hz (for the smooth movement) -- I'm going to be experimenting with upping this to 50-70hz. The IK target values are calculated at about 15-16hz. (One of the gaits I've been working on for this bot is a 16 steps/full cycle gait, which would push the IK up around 30hz, hence the reason for possibly bumping the interpolation rate up a bit.)

As for sharing, yep, once stuff is worked out it'll be GPL'd. The IK/basic gaits are actually going to be part of NUKE ( see http://vanadiumlabs.com/nuke.html for a quick overview ) which will be released in beta very shortly (about 2-3 weeks, Seth and Jon used NUKE to get their quads walking at CNRG last weekend. The interface needs some tweaking, there's some error handling to implement, and the gait generator isn't quite ready yet)

-Fergs

Zenta
11-28-2009, 11:09 AM
That sounds great Fergs!

I'm wondering, do you really need the interpolation part if you are able to do IK at 30 Hz or even faster? I guess you would need some sort of dynamic gait engine instead of a constant count of steps gait.

I hope to study your work sometime, my comprehensive kit and Arbotix board are only collecting dust at the moment. But you littler dog inspired me! Thanks for sharing!

-Zenta

lnxfergy
12-09-2009, 05:29 PM
As I said earlier, "Littler Dog" was a temporary name, we've finally come up with a name for this bot: SMALdog, which stands for Sorta Maybe Almost Littledog.

I haven't had a lot of time lately (being the end of the semester and all), but yesterday and today I found a bit of time to work on SMALdog. I've been working on a geometrically stable gait, but that's got a ways to go before showing it off. In the meantime, I was playing around this afternoon, and here's SMALdog jumping onto a tissue box:


http://www.youtube.com/watch?v=TKs31nOf8pY

-Fergs

Zenta
12-10-2009, 12:49 AM
Ha! Awesome! I'm wondering, whats the total weight of your SMALdog? This quad plattform seem to have a great potential for doing some cool movements beside walking.

EDIT: Whats that wire connected to it? Battery power? (Thats cheating... ;) )

-Zenta

lnxfergy
12-10-2009, 07:13 AM
Ha! Awesome! I'm wondering, whats the total weight of your SMALdog? This quad plattform seem to have a great potential for doing some cool movements beside walking.

EDIT: Whats that wire connected to it? Battery power? (Thats cheating... ;) )

-Zenta

He's about 2 or 3 lbs I think (not sure). He doesn't have all his sensors yet, but he is carrying an 11.1V 2000mAH LiPO, I leave him plugged in on the desk because the LiPO only gives me ~45 minutes to an hour of runtime. Even after I add the sensors, he should be able to do this sort of maneuver. It's really just an exercise in throwing the robot's weight around, I had to slow down and reduce the backwards motion that gets this all started (at first, he barreled over onto his back quite a few times while getting this to work).

-Fergs

Adam
12-10-2009, 12:08 PM
Great little bot. Is this mammalian gait part of your NUKE platform?

lnxfergy
12-10-2009, 12:33 PM
Great little bot. Is this mammalian gait part of your NUKE platform?

Yes, it will be. The beta of PyPose w/ NUKE should be out within a week or two, with support for 3DOF Lizard quads and hexapods, and 3DOF mammalian quads. The gait support is currently quite limited for the mammal style walkers though, I hope to expand that later. A gait builder/tuner tool will most likely eventually be included in NUKE, but that's a bit down the road, for now, users will have to write some code to create new gaits (but the code should be very simple).

-Fergs

Suicidal.Banana
12-13-2009, 07:55 AM
awesome, im anxious for the update (even though it wouldn't help my robot much atm, it'll be a good thing to see whats to come)

Sorry for the slight offtopic but; I was thinking, would it be possible with (a future version of) PyPose to have poses that dont control all servos? or would it be better to make my own functions for that, just setting the servos to the positions i want (in a derived pypose sketch, wich i just send some cmd to trigger)

lnxfergy
03-12-2010, 09:44 PM
I've been working on getting SMALdog ready for fire fighting (since I decided Issy was just too big for the job). I recently got a Makerbot 3D printer and today I printed a new head for him.

http://forums.trossenrobotics.com/gallery/files/1/7/6/8/img_0994.jpg

http://forums.trossenrobotics.com/gallery/files/1/7/6/8/img_1011.jpg

Now, I've got about 4 wks before the fire fighting competition. Hopefully that is enough time to tune his walking gait, load the map following code in, and get everything else working.... There's a few more details and pictures over on my blog (link below).

-Fergs

Adam
03-14-2010, 10:33 PM
Very nice work. What software do you use to design the Makerbot parts and drive the printer?

lnxfergy
03-15-2010, 11:20 AM
Very nice work. What software do you use to design the Makerbot parts and drive the printer?

I design in Autodesk Inventor. I then export in STL, and run it through Skeinforge, the g-code creator for Makerbot. The g-code is then loaded using ReplicatorG, which actually controls the printer.

-Fergs

darkback2
03-15-2010, 11:22 AM
you make it all sound so easy. How about a tutorial for those of us who are less...capable.

lnxfergy
03-15-2010, 02:22 PM
you make it all sound so easy. How about a tutorial for those of us who are less...capable.

Well, there are numerous tutorials on different CAD systems out there, basically, any 3D modeling software that can export STL is good to go.

As for using Skeinforge and ReplicatorG, that's documented over on the makerbot wiki, as it's very Makerbot specific.

-Fergs

Adam
11-10-2012, 11:13 PM
Did you ever do any more work on this project? Did NUKE ever get this capability? Thanks!