This weekend really gives patronage to how challenging the sport ofrobotics is (Technically it’s not a sport since it’s not in theOlympics), and how frustrating everything can be!!!!
Last year, MANOI barely showed off any holiday spirit. Just a seemingly 2D stocking sticky-tacked onto its head.

This year I really wanted to improve on that because… well, I don’treally have a reason. I just wanted to. I wanted to see what it wouldbe like for MANOI to ring bells
The decorating started off with just a hat, followed by the hunt tofind jingle bells that are a circle, not a bell. My mom eventuallyfigured out the type of bell that I was looking for, and bought me somefestive bells and bows!
Et voila, MANOI! C’est magnifique! (Tada, MANOI is magnificent!)

I spent an enormous amount of time getting various actions set up sothat I can string them together into a final product. In total, thereare 7 different movements. My favourite of which, called ‘tango’ can beseen in the video below where one of MANOI’s arms is outwards, andanother is inwards, perpendicular to its front shell with the bow.Surprisingly enough, its only two motion frames:- int tangoHeadTilt = 400;
- int tangoHandTilt = 200;
- int tangoHandIn = 120;
- int tangoHandUp = 500;
- int tangoArmUp = 500;
- int tangoArmTilt = 600;
- int tangoHipTilt = 200;
- int leanBack = -25;
- int tango_keyframe1[17] = {
- HOME0-tangoHeadTilt,
- HOME1+tangoHandTilt,
- HOME2-tangoHandIn,
- HOME3-tangoHandUp,
- HOME4,
- HOME5+tangoArmUp,
- HOME6+tangoArmTilt,
- HOME16+tangoHipTilt,
- HOME17+leanBack,
- HOME18,
- HOME19,
- HOME20,
- HOME21-tangoHipTilt,
- HOME22+leanBack,
- HOME23,
- HOME24,
- HOME25
- };
- int tango_keyframe2[17] = {
- HOME0+tangoHeadTilt,
- HOME1,
- HOME2+tangoArmUp,
- HOME3+tangoArmTilt,
- HOME4+tangoHandTilt,
- HOME5-tangoHandIn,
- HOME6+tangoHandUp,
- HOME16-tangoHipTilt,
- HOME17+leanBack,
- HOME18,
- HOME19,
- HOME20,
- HOME21+tangoHipTilt,
- HOME22+leanBack,
- HOME23,
- HOME24,
- HOME25
- };
- void tango(int repeat) {
- for(int i=0; i<repeat; i++) {
- setFrame(tango_keyframe1, 800, 50);
- setFrame(tango_keyframe2, 800, 50);
- }
- }
It’s weird because tango looks way more complicated than a movementthat has 6 frames, the ‘both arm jingle’. This is where MANOI jinglesboth of its arms, so one is back and the other is forwards, then thehands both jingle.- int bothArmJingle_frame1[17] = {
- HOME0+200,
- HOME1,
- HOME2+leftArmOut,
- HOME3+leftArmForward,
- HOME4,
- HOME5+rightArmOut,
- HOME6+rightArmForward,
- HOME16,
- HOME17,
- HOME18,
- HOME19,
- HOME20,
- HOME21,
- HOME22,
- HOME23,
- HOME24,
- HOME25
- };
- int bothArmJingle_frame2[17] = {
- HOME0+200,
- HOME1-leftWristMovement,
- HOME2+leftArmOut,
- HOME3+leftArmForward+50,
- HOME4-rightWristMovement,
- HOME5+rightArmOut,
- HOME6+(rightArmForward-170),
- HOME16,
- HOME17,
- HOME18,
- HOME19,
- HOME20,
- HOME21,
- HOME22,
- HOME23,
- HOME24,
- HOME25
- };
- int bothArmJingle_frame3[17] = {
- HOME0+200,
- HOME1+leftWristMovement,
- HOME2+leftArmOut,
- HOME3+leftArmForward,
- HOME4+rightWristMovement,
- HOME5+rightArmOut,
- HOME6+rightArmForward,
- HOME16,
- HOME17,
- HOME18,
- HOME19,
- HOME20,
- HOME21,
- HOME22,
- HOME23,
- HOME24,
- HOME25
- };
- int bothArmJingle_frame4[17] = {
- HOME0-200,
- HOME1,
- HOME2+leftArmOut,
- HOME3-leftArmForward,
- HOME4,
- HOME5+rightArmOut,
- HOME6-rightArmForward,
- HOME16,
- HOME17,
- HOME18,
- HOME19,
- HOME20,
- HOME21,
- HOME22,
- HOME23,
- HOME24,
- HOME25
- };
- int bothArmJingle_frame5[17] = {
- HOME0-200,
- HOME1-leftWristMovement,
- HOME2+leftArmOut,
- HOME3-(leftArmForward+50),
- HOME4-rightWristMovement,
- HOME5+rightArmOut,
- HOME6-(rightArmForward+50),
- HOME16,
- HOME17,
- HOME18,
- HOME19,
- HOME20,
- HOME21,
- HOME22,
- HOME23,
- HOME24,
- HOME25
- };
- int bothArmJingle_frame6[17] = {
- HOME0-200,
- HOME1+leftWristMovement,
- HOME2+leftArmOut,
- HOME3-leftArmForward,
- HOME4+rightWristMovement,
- HOME5+rightArmOut,
- HOME6-rightArmForward,
- HOME16,
- HOME17,
- HOME18,
- HOME19,
- HOME20,
- HOME21,
- HOME22,
- HOME23,
- HOME24,
- HOME25
- };
- void bothArmJingle(int repeat) {
- for(int i=0; i<repeat; i++) {
- setFrame(bothArmJingle_frame1, 500, 0);
- for(int i=0; i<5; i++) {
- setFrame(bothArmJingle_frame2, 20, 0);
- setFrame(bothArmJingle_frame3, 20, 0);
- }
- setFrame(bothArmJingle_frame4, 500, 0);
- for(int i=0; i<5; i++) {
- setFrame(bothArmJingle_frame5, 20, 0);
- setFrame(bothArmJingle_frame6, 20, 0);
- }
- }
- }
Crazy right? I’ve found that in most of my other MANOI motions, themovement was very focused, with no other moving parts. So I made sureto make the most things move at once. I think it gives off a more exciting vibe. Check out the video!
弹出
It really wasn’t as easy as the video makes it look. There were alot of times where various movements wouldn’t match up, so they wouldcatch the balance off-guard. Also, one of MANOI’s ankle servos wentcrazy on me, so it let the other foot down, causing a fall.
It’s super challenging to fix this because when MANOI falls, thereare at least two things that temporarily break. You fix those things,but while you’re fixing them, other things break. While you’re tryingto fix the new things, you can’t get a good grip on the robot becauseits entire body is made up of servos, and if you set the robot down,another thing will break. I would be willing to wager that working inno-gravity is a cinch compared to this!
Once everything is working again, you go and fix the motion. Fixingthe motion is a whole separate routine of trial and error- you changesome of the values of the servos and see what happens. There are twooptions for the next step, either have super fast reflexes, or onlyprogram with one hand on the keyboard. Since macs are not very one handfriendly, I have to have super fast reflexes to turn the power switchoff on MANOI so that it won’t fall. If it does fall, you have to goback and fix everything.
In any case, once the motion is fixed, you go back and try it withthe other movements. Just your luck, the battery runs out! MANOI falls,and you have to fix everything again.
It’s so unbelievably frustrating!! Especially doing it for 3 days straight! There have been three timeswhere MANOI has fallen off the table, about 1 meter (3 feet) tall. Therisk of this is MANOI getting shocked by me, the air, and the carpet!It’s really nerve wracking, but thankfully MANOI is alright. Here’s avideo of all of MANOI’s falls from the various videos that I tried totake:
弹出
At the end of the day, I really enjoy seeing MANOI move around. Ithink of it this way: it is my frustration and patience that has givenan otherwise inanimate object LIFE. How cool is that?
There will be more videos of MANOI in its holiday gear showing up soon, with more blinky lights too!

文章来源:http://robotgrrl.com/blog/2009/1 ... xtravaganza-warmup/ |