Tutorial: Build Your Own IssyDunnYet

  1. lnxfergy's Avatar
    lnxfergy lnxfergy is offline Mech Warfare Organizer Alumni
    Category
    Build Articles
    Views
    28,641
    Replies
    3
     

    Build Your Own IssyDunnYet

    Difficulty
    Intermediate to Advanced
    Estimated Time
    I built Issy in about 3 weeks.... your mileage may vary
    Skills Required
    Some mechanical skill, some programming skills (more skill required if you intend to significantly modify the code).
    Parts Required
    Issy parts:

    Command Station parts:

    • 2 - XBEE Module, and an XBEE Explorer

    • 1 - Logitech Attack Joystick

    • Python 2.5 (FREE)

    Tools Required

    • AVR ISP

    • Cordless drill, Hack Saw

    Build Your Own Issy
    Well, Mech Warfare 2009 is over, and luckily, Issydunnyet was dunn in time. This tutorial will go through the build process. Issy was designed to be a small, simple, lightweight, low-cost, and damn fast entry into the Mech Wars competition. After the competition, I'd say I accomplished most of those goals. Issy's guns were probably his weakest point, the control software was pretty decent.

    A successful mech warrior has only a few basic requirements: a walking base with servo-actuated legs, a power supply with at least 15 minutes of runtime, wireless control, wireless camera, guns, and a scoring board and panels.



    Assembling the Legs and Body
    Issy's original legs were 3DOF. I removed a servo from each leg onsite to lighten his load, and found that he worked way better (Keep it simple, right?). The upright part of the legs are built of SES bracket parts and tubing. I'm still not entirely fond of the leg uprights as the feet are kinda squishy now, and it's a toss-up as to whether the SES or Bioloid bracket legs are better. I had to reduce the friction on Issy at the games, since he doesn't have the nicest walking gait, I attached furniture casters to his feet with electrical tape, it worked pretty well.



    Upgrades to the legs and a return to 3DOF for 2010 are on the docket for Issy2 (also known as IssyBetterYet). I've since discovered that my way of generating gaits was limiting the power to the servos, I believe that a return to 3DOF without lightening the robot may be possible.

    Issy is built around the small CM-5 holder box found in the Bioloid Kit (note that this part is NOT found in the comprehensive frame kit!). For each leg, two Bioloid F3 brackets are attached back to back, and then mounted to the frame and the servos. I turned the box upside down, mounted my controller board on the top, and slid the batteries into the underside. I used straps to hold the batteries in. It worked, but it was a real pain to change the batteries out. Version 2 will use a custom center box. The image below shows Issy's underside:


    The Tilt Servo
    While I eliminated a panning servo to reduce weight, I chose to keep a tilt servo, since Issy didn't have any easy way to lift his body with the current software. I found that the easiest mounting method for the guns was to tie-strap it to the tilt servo, thus I had to have the tilt servo offset to the side on Issy. This unfortunately meant I had a tough time getting the tilt servo mounted on Issy, I ended up having to create some aluminum brackets since anything made of bioloid parts was just a little too flexible. I cut two pieces of 1"x1/8" aluminum. A short 1-1/2" piece was connected between the two rear horizontal servos. A set of standoffs connected it to a longer piece up above, which was connected to the tilt servo via an F2 bracket:


    The tilt servo horn and bearing end was connected to the F2 bracket. I then build a 1-1/2" x 4" x 1/8" aluminum bulkhead to mount the camera to. The bulkhead was attached to the front of the tilt servo via a bioloid F3 bracket.

    Mounting the Camera and Gun
    I used the Trendnet wireless IP camera, powered by a 6V 1400mAH battery.
    The camera was attached to the tilt servo by means of a 1-1/2" x 4" x 1/8" Aluminum bulkhead. The bulkhead connected to a Bioloid F3 bracket to attach to the servo. The camera was removed from its case, and a pair of stand-offs attached it to the bulkhead. Note that I tie-strapped the camera's power board to the main board so that it would not come loose while walking around.


    The gun was tie-strapped to the backside of the tilt servo with 2 small tie straps, passed through the AX-12 mounting holes. Easy enough, right? I built hoppers like Gdubb's. I also had a sparkfun lazer module on the gun, but really, this wasn't very visible from the camera view. I'd recommend adding a calibrated targeting sight in software rather than trying to see the lazer.


    Power and Distribution
    Issy used two batteries. For his primary power, he really needed a Lithium Polymer battery. The high power-density, combined with the perfect voltage range for AX-12 servos, make 11.1V LiPo for the servo and controller a clear winner. The camera desires a 5V input, since LiPo cells are 3.7V each, we can't find a decently close voltage. Instead I used a 6.0V NiMH for the camera. The 6.0V battery had a servo style plug on the end. It was wired directly into the Camera by cutting up a servo extension, and putting a 2.1mm plug on the end (the power plug can be seen in the picture of the camera parts above).

    The LiPo was wired through a shutoff switch to the arbotiX board's power terminals. I then used a Bioloid cable, with the header removed from one end, to attach the scoring board's power terminals to the main 12V power bus on the arbotiX board. I created a small voltage divider using a 10k and a 5k resistor, and wired it between 12V, ground, and an analog port, so that I could read back Issy's battery voltage. This is especially important with LiPo batteries, which aren't very forgiving if you pull the voltage down too much. See the schematic below for more details.

    Body Sheathing and Scoring Panels

    The body panels on Issy are designed similar to full size race cars (actually, the side panels are pretty much identical to a SCCA Spec Racer Ford). They are made of 0.030" Lexan sheet, like you would find in a hobby store for making RC car bodies. I created a paper template and then cut out the lexan pieces and bent them by hand -- I used a block of wood and my desk to get a nice, crisp edge. The side panels are held in place by some pieces of aluminum flashing, cut and bent into an L-shape.


    The scoring panels are held on by 2-layers of velcro, back to back. The extra velcro helped to isolate the panels from the body. Hopefully this won't be necessary for the 2010 scoring system.

    The Control Software
    My control software was written in Python on the PC, and C for the AVR. It uses a very simple packet structure to send forward/reverse/turning speeds to the AVR over the XBEE radios. The AVR then converts moving speed into actual leg movements.

    Issy was powered by an ArbotiX robocontroller. The ArbotiX makes connecting everything up quite easy. Power is applied to the terminal blocks, the ArbotiX has a built-in XBEE socket, AX-12 compatible headers, and dual motor drivers (we can power a tank gun with each of them). It is Arduino compatible, so the IDE and libraries aren't entirely foreign to many people. I used PyPose (part of the ArbotiX project's open source suite) to capture the joint positions for several neutral standing positions. We use these neutral positions, plus a set of parameters for walk speed, to create a smooth, variable walking gait.

    I then exported the poses as header files for Issy's C-based software. The individual poses are stored in FLASH memory on the AVR and are only loaded in to RAM just before they are sent out on the serial port. Issy's onboard software does the following:

    • The main loop recieves serial commands (at about 30hz), and then processes them to set the parameters for movement.
    • Each time the main loop goes by, we do a walk cycle to the next pose.
    • Every three seconds, we read the temperatures from each servo and the system voltage, and send it back to the console.

    The second major part of the software is PyMech, the PC side software that sends movement commands to Issy. PyMech actually has several smaller portions inside of it:

    • PyMechCon.py - the actual control software. This opens a serial port, to communicate with the XBEE, and then connects with the joystick. About 30 times a second it sends out updated movement commands to Issy, via the XBEE. PyMechCon also reads the input recieved from the XBEE and puts it into the correct variables for Voltage, Temperatures[], and Errors[].
    • Trendnet.py - The trendnet video driver. It opens a connection the camera, pulls images down, and displays them.
    • PyMech.py - The main program. Creates an instance of PyMechCon and Trendnet, and adds the side display of voltage and temperatures.

    Issy's source code is now an example for the ArbotiX project, and can be found here, under the sketches/issy directory. Here's a screen shot of PyMech:


    Conclusion
    Issy is an affordable, open-source Mech Warfare platform. There are still a number of improvements that can be done:

    • Smoother walking gaits, so that there is not as much abuse of the servos.
    • Monitor voltage of secondary camera batteries as well as main batteries.
    • Massive clean up of PyMech and onboard code. It was all hacked together in a very short time.
    • Better guns and hoppers. My actual hopper manufacturing might be at fault, but I really wasn't too keen on those particular tank guns either.
    • Issy's center body is almost too small to get all the target plates mounted on. A slightly larger frame would probably be a good idea.

    Most importantly for any mech builder, start early! I put in some serious work during those two weeks, but this would have been a much more enjoyable process if I had more time, Issy would have likely been a much better bot.
    Attached Files
    • issy-combat
    • Screenshot5
    • TUT-side
    • TUT-cam
    • TUT-camparts
    • TUT-tilt
    • TUT-bulkhead
    • TUT-tilt2
    • TUT-guns
    • TUT-under
    • legs-sm
    • TUT-panels


Replies to Tutorial: Build Your Own IssyDunnYet
  1. FunnyRobot Guest

    Re: Build Your Own IssyDunnYet

    Cool! Wish I had the money to build it...

  2. Join Date
    May 2010
    Location
    Princeton University
    Posts
    349

    Re: Build Your Own IssyDunnYet

    Would it be necessary to buy more than one battery for convenience at the competition? I'm just asking since you only list one main battery in your parts list.
        

  3. Join Date
    Nov 2012
    Location
    Plymouth, MA
    Posts
    2

    Re: Build Your Own IssyDunnYet

    I would recommend disassembling one of the Airsoft GI pistols. They are custom made, and provide an extremely useful metal barrel assembly, high powered bb drive and feed system that could easily be incorporated into a build. I have disassembled these airsoft pistols a few times and are about as high quality as they come.
        

Closed Tutorial