PDA

View Full Version : [Project] Woodstock - Mech Warfare entry



kamondelious
02-03-2011, 10:53 PM
Introducing Woodstock, my Mechwarfare 2011 project.

This is a rather ambitious project for me given my lack of robotics experience and the time frame I have to complete it, but the challenge/reward is just too awesome to pass up. I've been loosely following Mech Warfare since I first discovered it back in 2008 as the first event was being planned. I couldn't help but be drawn into it, as it's easily the coolest robotics event (at least in my opinion) since the humanoid "kung-fu" events started popping up.


http://forums.trossenrobotics.com/picture.php?albumid=86&pictureid=595


Woodstock is ready from a hardware usability perspective, but I do need to add the hopper(s), some cosmetic niceties and the scoring system, which I'll do when I have the scoring system.

I have more pictures of Woodstock in one of my profile albums http://forums.trossenrobotics.com/album.php?albumid=86

Currently Woodstock's major parts consists of


14 AX-12 servos (technically 13 AX-12 and 1 AX-12+ servos)
a BeagleBoard (rev C3) for onboard processing and providing me a comfy environment to play in.
goodies by HUV Robotics : Bioloid bus board, I/O Board, 6 axis IMU and Foot Pressure Sensors
a Stunt Studios semi-auto airsoft pistol
USB Webcam & Wifi

As you can see from the picture I have 6DOF legs and a pan & tilt turret. I'm a bit worried that the tilt servo won't be able to cope with the load, over the course of a match, once I add all the targeting half plates on it. It's a little front heavy already, but hopefully I can balance it out. If not, I might have to drop the tilt servo and make use of the hip servos.

I've opted to make use of a Bioloid I/O board to trigger the RCE200X switch for firing the gun. I had originally planned to use the BeagleBoard expansion header for this, but it's just so much easier to keep everything interfaced off the Bioloid bus.

I'm currently running Ubuntu 10.10 (ARM) on the BeagleBoard and making use of gstreamer for network video streaming from the USB webcam. It works great and makes for a smaller overall package (size & weight?) than an arbotix combined an IP camera from what I've seen. The USB wifi dongle I'm using (with the case removed) is only slightly larger than a ZIG100 board and has an external antenna that you can sort of see sticking up off the top of Woodstock's head in the picture above. Mostly, I prefer the comfort of running Linux, it means there is one less thing I need to learn/worry about to make my robot work.

I have code for interfacing with all of the goodies on my bioloid bus and specific to controlling the turret via a PS3 controller. I still need to finish making all the needed changes to get this working across the network, but as soon as I do I'll post video of that.

The big ticket item left to do is make this thing walk. I feel that it's very doable based on the balance experiments I've done with this leg configuration so far. Specifically, balancing on one leg with no power on (or even connected). I am aiming to use Inverse Kinematics to generate a variable gaits and have been further fueled in this ideal by seeing Zenta's awesome work with Archer. Not that I think I'm anywhere near Zenta's mad skill level, it's just awesome and inspiring to see that caliber of work. I started on the math for this a while ago and I think I'm close to having something usable for it.

I scored myself the seasoned Mech Warfare veteran Gdubb2 as partner in the 2vs2 competition, so failure is not an option. Go Team Maggot!

Cheers!

:D

mannyr7
02-04-2011, 08:13 AM
Wait a minute?!! He let a biped on his team?!!! Nice work with that Beagle Board, Btw.

master_of_robots
02-04-2011, 10:44 AM
Nice bot! I like that you are using the Beagleboard and that you are streaming a usb cam rather than having to rely on a wifi ip camera. I've experimented with streaming a usb cam, and the picture quality was great, but the camera (logitech I believe) didn't like jitter. Any sudden movement would cause the picture to blur, so I put this element of my project on the backburner.

What brand of camera are you using, and have you seen any issues like the one I described?

kamondelious
02-04-2011, 12:00 PM
Thanks mannyr7 & master_of_robots

The BeagleBoard has been pretty fun overall.

I'm using the cheapest "no name" UVC camera I could find, it was less than $10 and I got 3 of them. I went cheap on the camera because I was just experimenting with making it work at the time and figured I'd probably break one or two. I might upgrade to something a little nicer in the future. Though, this cheap camera has pretty great value for the money. It's low light ability without IR is fantastic. The flipside, it tends to wash out a bit under very bright light, but that should be a matter of adjusting the auto-white balance or something like that.

If I run the server stream at 640x480 I can get a fairly solid 13 fps with a slight (200ms) lag and ok image quality. I do get a fair bit of motion blur on that too. After seeing Tyberius' wifi encoder test run, I figured I should be able to do a lot better. I was right. I dropped the capture resolution to 320x240, maxed the image quality and was getting a very good quality clear image at 25fps, which also eliminated the motion blur. It even scaled up to 640x480 nicely on the client side. I know I can get gstreamer using the DSP and will probably try that out at some point, time permitting.

Cheers,

:D

kamondelious
02-04-2011, 12:33 PM
And yet more good advise from Tyberius! :D

I'll have to try out various video settings with my wireless connection unencrypted. It's currently doing WPA2.

Cheers,

:D

master_of_robots
02-04-2011, 12:57 PM
And yet more good advise from Tyberius! I'll have to try out various video settings with my wireless connection unencrypted. It's currently doing WPA2.

I will concur, that removing the encryption also made a drastic improvement in my framerate/reliability for my setup. Just out of curiosity, what language are you developing in?

kamondelious
02-04-2011, 01:52 PM
I'm doing all my development in C.

I'm no expert in it, so I've got some learning curve going on there too, but it's a good time.

:D

master_of_robots
02-04-2011, 03:08 PM
I'm doing all my development in C.

I'm no expert in it, so I've got some learning curve going on there too, but it's a good time.

:D

Ever considered python? It's great for prototyping...then once you get it the way you want, you can re-write in C/C++. Since you mentioned you are on a short development cycle, you might consider it.

kamondelious
02-04-2011, 03:47 PM
Indeed I have.

I'm already fairly proficient with Perl, Bash & PHP and have explored those avenues as alternatives. I have always wanted to learn C and have been using Robotics and my motivational means to learn it. Adding another language at this point might hurt my head too much. That said, I have seriously been considering picking up Python for use on the client side of things instead of C. I think it's the only programming language I haven't heard anyone complain about and I probably could pick it up fairly quick. I know it's multithreading capabilities far and away exceed that of Perl and PHP.

I want to use SDL on the client side for control/display goodness and there is a nice library for it and gstreamer. I'll have to explore how well ported it is to Python, but a quick search and things look promising. I did some work trying to make a go of it with Perl, but couldn't get it to work with SDL.

:D

kamondelious
04-05-2011, 08:51 AM
I'm hard pressed for time, so my usual "do it all the hard way" approach wasn't going to have me ready for Mech Warfare 2011. So I picked myself up an Arbotix starter kit and gave Woodstock a quick makeover.

I've been playing with pypose since late last week. I did a sequence for getting up yesterday and took some video of it.

YouTube - Woodstock getting up

I'm hoping to connect the guns together with a servo so I can adjust their aiming, but if I don't have time, I'll lock them in place at a slightly inward angle.

I was test firing the guns off a 3.7V 500mAh Lipo so I'm thinking that I can power them straight off digital IO ports of the Arbotix. I'm only planning to fire one at a time in an alternating pattern, but I need to double check that the Arbotix can handle it (pretty sure it can).

I'm using two 1800mAh (143g) 3S Lipos at the moment and it seems to be giving me a good couple hours of playing with poses. I have four 2200mAh (122g) 3S Lipos ordered which should make life even better.

More to come.

:D

Stobs
04-05-2011, 10:20 PM
Very cool bot kamondelious, I love it! Very interesting setup on the legs, and are those guns simply inverted? Overall nicely done.

kamondelious
04-05-2011, 11:16 PM
Very cool bot kamondelious, I love it! Very interesting setup on the legs, and are those guns simply inverted? Overall nicely done.Thanks Stobs.

Yeah the guns are chopped down a bit, but are basically just inverted.

I found the stock comprehensive kit humanoid hip configuration can bind up and didn't like that. With my leg design, I went for something that resembled the human range of motion as best I could with 6 DOF and stock brackets.

Cheers!

:D

sthmck
04-06-2011, 12:33 AM
I don't think it would be a good idea to try and run the guns directly from the chip. If you are not using the motor driver chip I would recommend hooking the guns up to them. You can set the speed on them to around 120 to keep it from burning out the motors in your gun. This is a better option then running the risk of killing your 644p. Also I would hook your guns up to a dmm and see how much current they draw. I think you will find that the current will vary depending on where the firing mechanism is. As the motor pulls it further back the draw will be a lot higher than when it is released.

kamondelious
04-06-2011, 01:18 AM
I don't think it would be a good idea to try and run the guns directly from the chip. If you are not using the motor driver chip I would recommend hooking the guns up to them. You can set the speed on them to around 120 to keep it from burning out the motors in your gun. This is a better option then running the risk of killing your 644p. Also I would hook your guns up to a dmm and see how much current they draw. I think you will find that the current will vary depending on where the firing mechanism is. As the motor pulls it further back the draw will be a lot higher than when it is released.

Oooooo, thanks for that tip. I'll go that route, sounds much safer.

Cheers,

:D

kamondelious
04-25-2011, 10:28 PM
Oooooo, thanks for that tip. I'll go that route, sounds much safer.Turns out the current draw from the guns was too high to work off the motor driver, but not high enough to make it pop (whew). I ended up using an RCE200x series digital switch I had as it was the only one I had that could handle the load. I activated it off on of the Arbotix servo connections and powered the guns off it (@12V) too. This seemed to work,but I never did end up test firing any BBs, it might have been firing too fast.

I think I did the other day, what I did just before Robogames, which was to tweak some walking poses to hold the head/turret up straighter. Causing the walking gaits to be thrown off balance. For Robogames, I didn't realize this until the very end of Friday after spending all day getting the guns, lasers and code operational. Then didn't have enough time to re-tweak the poses. That'll teach me for changing how I do everything 3 weeks before the event. Not that what I had worked. No matter it was still a good time and great to meet so many of the fine people of this forum.

I will be retiring Woodstock now, but took some video of the final product, cobbled frantically together over the past month.

By the end of Robogames I had Woodstock shuffle-stepping around, but still needed to work out issues in my controller code. After getting home, much to my wife's dismay, I jumped back into it and fixed up some of the code (it still has some issues) and reworked the all the walking poses to be more walking and less shuffling. This worked fine on my desk but had issues on the floor. Tweak tweak tweak + some electrical tape on the feet for traction and here's what I ended up with.

YouTube - 2011-04-25_A.avi


And yet more drunken biped stumbling. :p

YouTube - 2011-04-25_B.avi


You can see that the COG keeps shifting too far backwards during walking and strafing. Once that happens too much while balancing on one leg, it's topple time. The strafing also seems to step on itself as it finishes up which makes for sloppy unbalanced starts to the next walk sequence. I managed to correct it sometimes by making a rotate step. The rotate sequence is pretty stable since the feet never leave the ground. A pivot on the heel and a slide on the tip of the toe one foot at a time. That worked pretty well for both speed and stability.

"But it worked on my desk." No no, really.

YouTube - 2011-04-25_C.avi


Or was I drunk when I thought that happened? Did I mention Woodstock is camera shy? :p It is a bit better on my desk, I'm guessing due to improved traction, but the walking poses are definitely messed up as the COG is still getting pushed to far over the heels.

I will be taking what I learned on this project and applying it to the next. Next up will be my RG2012 entry. I'm sure I can improve significantly with the next 11 months and will start a new project thread as soon as I have anything picture worthy. Probably starting with a pile of parts and an outline of my objective. ;)

Cheers!

:D

elaughlin
04-25-2011, 11:26 PM
Kam! Really cool man. The leg design is really nice. Its almost like a chicken walker, and almost like her has a really big foot and toes like a humanoid walks on. Really like it man. I don't care that it falls over, you could keep improving it enough to walk nicely.

I personally think you should keep it for next year, as well as, building another one if you want. But real cool man, none the less. Post more videos if you keep tweaking.

+rep

kamondelious
04-26-2011, 01:23 AM
Thanks a bunch elaughlin.

The idea is to keep with the "chicken walker" idea, but do a much better job of it that I did with Woodstock.

Cheers!

:D

sarendt
04-26-2011, 05:48 AM
Any words of wisdom for people following in your foot steps Kamondelious?

Cheers,
Scott

gdubb2
04-26-2011, 09:35 AM
Hey Kam,
I like it... It walks very well, and the actual heels are something that most bots don't have..I think they add not only to the stability, but the look is interesting.

Gary

kamondelious
04-26-2011, 10:56 AM
Any words of wisdom for people following in your foot steps Kamondelious?

Cheers,
Scott

Yeah.

Be sure and give yourself lots of time. Start now, if you haven't already. Never think, "oh there's lots of time". Get everything done as early as possible. The more time you have to test run your mech the better you will do. I'm sure Tyberius has said that many times before and it's why I'd started Woodstock in September last year. Then I didn't stick to my time-lines and spent too much time obsessing over minor details instead of making it work. Fine tuning is the thing you do when you have something that works, not part of R&D.

The competitors and rules are going to get tougher as the event matures. If you're not ready, you're not likely to qualify anymore. If you're not ready and can manage to qualify, you're probably not adding to the quality of the event. Which is not fair to the people running the event or all the competitors that are ready. This doesn't mean everyone has to have a champion mech (but wouldn't be cool!), just that you should be ready for your matches and your mech should be functionally able to compete when it's your turn.

Cheers!

:D

kamondelious
04-26-2011, 11:01 AM
Hey Kam,
I like it... It walks very well, and the actual heels are something that most bots don't have..I think they add not only to the stability, but the look is interesting.

Gary

Thanks Gary,

Sorry I wasn't ready to partner up for 2 vs 2. I don't think that happened at all, did it?

For the most part the heel definitely added to the stability, but having it round and rubber means managing the COG carefully.

Cheers!

:D

elaughlin
04-26-2011, 12:21 PM
Thanks Gary,

Sorry I wasn't ready to partner up for 2 vs 2. I don't think that happened at all, did it?

For the most part the heel definitely added to the stability, but having it round and rubber means managing the COG carefully.

Cheers!

:D

I think that is totally true about the heel.. You did get stability, but if you had a squared off on, something that could give it 2 points of balance instead of the 1 point only hitting on the circle. But still, the heel was a great idea. Run with it man.

kamondelious
04-26-2011, 01:02 PM
I think that is totally true about the heel.. You did get stability, but if you had a squared off on, something that could give it 2 points of balance instead of the 1 point only hitting on the circle.

Actually I had a square heel first. I found that once the foot pivots, you have the same problem, but the single point of contact is even smaller. I went with the round heal, so that the transition would be uniform and thus more stable. The wheel was just what I happened to have handy that would double as a round heel and add grip. I think it needs to be more oval so the bottom is flatter and curved upwards. I also think the rubber either has too much grip, or requires more precise movements to use effectively. Possibly more precise than I can do with AX-12s, but a better shaped heel would help a lot there too.

Thanks for the input elaughlin!

Cheers!

:D

darkback2
04-26-2011, 02:32 PM
Not to jack your thread...

How do multiple point of contact feet compare with large flat feet? I can see the advantage of multiple contact feet on uneven surfaces, the cost being increased friction in walking. Large flat feet would risk destabilizing the robot as it walks on uneven surfaces but would allow things like skid turns and shuffle gates which are more difficult with multi-point feet.

I've never had success with multi point feet on a biped, so I was wondering how much of an advantage you were seeing.

DB

kamondelious
04-26-2011, 04:52 PM
Not to jack your thread...

How do multiple point of contact feet compare with large flat feet? I can see the advantage of multiple contact feet on uneven surfaces, the cost being increased friction in walking. Large flat feet would risk destabilizing the robot as it walks on uneven surfaces but would allow things like skid turns and shuffle gates which are more difficult with multi-point feet.

I've never had success with multi point feet on a biped, so I was wondering how much of an advantage you were seeing.

DB

Sounds relevant to me.

The only large flat feet I've played with are the stock bioloid feet, but I'd image that larger flat feet would be similar in usage to those.

The advantage over the standard bioloid feet seemed pretty significant to me. It allows the robots legs a greater range of motion before full weight transfer needs to happen. This means weight transfer can happen much slower to maintain balance better, which allows for a smoother/faster gait. For example, lifting the heel instead of the whole foot as a prelude to a step. There is far less weight transfer required and it lets you position both legs in better positions to allow follow through with lifting the rest of the foot. Stable ground contact with both feet is maintained longer while the robot is in motion and minimizes the amount of time the foot needs to be in the air. The reverse is also true for putting the foot down. You can take a longer stride because you can come down on the front portion of the foot first at greater distance from the other foot and begin shifting weight as the heel comes down.

Woodstock's rotation sequence is basically a skid turn, I just arch the foot so there is less friction in the skid. Without the rubber on the heal I found shuffle stepping very easy and very stable. At robogames I had him shuffle-stepping (on a flat plastic heel) before I left. It was pretty wobbly, but he never fell. Even with my jerky control code.

Unfortunately in order to really improve Woodstock's walking, I'd need to make the legs longer and I don't think the AX-12s can cut the extra strain in this configuration. It would make him that much more top heavy.

Cheers!

:D

mannyr7
04-27-2011, 12:47 AM
I hope you don't completely decimate him. That foot showed a lot of promise and hope to face Woodstock next year on equal footing. Keep up the awesome work, pal!

kamondelious
04-27-2011, 09:27 AM
I hope you don't completely decimate him. That foot showed a lot of promise and hope to face Woodstock next year on equal footing. Keep up the awesome work, pal!

Thanks Manny!

Yeah the motivation behind the redesign is simply taking what I've learned with Woodstock and improving it.

Cons :
- COG is too high
- Requires too much lateral motion to maintain balance while walking.

Pros :
- leg & foot range of motion
- overall foot stability

I'm very much looking forward to next year's MW. It won't be Woodstock that you face, but his yet unnamed successor.

Cheers!

:D