Showing posts with label Testing. Show all posts
Showing posts with label Testing. Show all posts

Sunday, August 21, 2016

Mini Combat Robot Finished

I finally found the time and resources to finish the last few parts on the robot. The first and biggest thing was finishing the spinner. I discovered though testing the polyurethane belts I had originally chosen couldn't handle the rotation rate and would stop transmitting any torque (they also melted from slipping). I opted to redesign the spinner using inside-out timing belt. I chose this for a few reasons... I used the timing belt belt inside-out to make sure it could still slip in an impact situation. This prevents the motor from being damaged by the near instant changes in rotation rate. I chose to use timing belt because it's much easier to find small timing belt sizes than it is to find small flat belts. The timing belt also has low stretch cord (fiberglass or kevlar usually) embedded in the belt.

The new timing belt design required the whole spinner be redesigned and made. Thankfully I had a friend with access to a 5 axis CNC. The new spinner is made from a billet of 7075 aluminum (probably not the best choice because it's more brittle than other alloys) with S7 tool steel teeth. I made sure the design could safely handle 30krpm without ejecting the teeth.

I disassembled the whole robot again, and broke it down into just the spinner assembly for testing. I had to do a bit of rework on the main plates to fit the shaft properly. The new spinner mounted properly the first try. I also put some armor surrounding the motor shaft to make sure debris can't damage the motor.

The belt tensioner can be seen on the underside. The original design didn't need one because I was using stretchy polyurethane belt. In this new design, the timing belt is pulled tight by a few ball bearings pressed onto a dowel pin. The dowel pin mount slides back and is locked in place by two screws. The mounting block has a precisely machined slot to keep the bearings perfectly perpendicular to the mount.

Here is a quick test of the spinner mounted to some random material I had laying around. A friend and I threw objects at the spinner to see how much it could damage it could do. The soda can is one of the most satisfying tests.

I also tried throwing 2x4s at the spinner. I wasn't taking video at the time, but the hit that damaged this chunk of wood threw the 2x4 well above my head. I quit testing at that point before I did something dumb(er) and injure myself.

The robot was pretty much done at this point. I just needed to wire everything up and get the top/bottom plates made from metal (I had some temporary laser cut acrylic plates). Unfortunately I couldn't figure out how to get all of the motor controllers and wires to fit. Everything was just too packed in.

I opted to get new motor controllers for the drive. Hobby brushless motor controllers have come a really long way since I bought the ones for the drive. The old ones were rated for 25 amps each. They also couldn't instantly switch from forward to reverse (dumb "feature" for RC cars). The new controllers (the tiny circuit boards in the picture above) are meant for FPV racing multirotors. They're rated for 30 amps and can instantly switch from forward to reverse (an important feature for multirotors that can fly upside down). I've used these controllers on my hexrotor, so I knew they were good and the ratings were not made up.

A quick test of the drive ended up shattering the old 3d printed spline couplers. I reprinted the parts with tough resin (a less brittle type of printer resin from Formlabs). These parts held up fine and are still in use.

I easily fit all of the electronics in the robot. I also finally mounted the power wires in the robot such that the lid could close and seal the battery in.

A quick test fit showed even the battery could fit. I added some pieces of dense/rigid foam in to keep the battery and spinner ESC in place. The foam has some squish, so it prevents the parts from getting too much force during an impact. I also finally got the top and bottom plates made. I gave up trying to get machine access to make the plates myself. I ended up sending them out to a local shop. They even used the material I had already purchased. The parts ended up really cheap. I will definitely send out any future waterjet parts to this shop. It ends up better quality and even cheaper than me paying for my own machine time at a place like the techshop.

The plates fit nicely and none of the electronics or wires are badly squished. It was nice seeing it finally done after starting the project more than 3 years ago.

It makes a really nice display piece of my bookshelf... I  don't have any competitions to go to, so finishing this was mostly just to have closure on the project.

The robot is pretty quick. The new drive ESC make it significantly easier to drive. It rumbles the floor pretty badly, so I probably won't drive this indoors again (don't want to anger the neighbors below).

A few months after actually finishing the robot I finally got a chance to test it on something. A friend had me pickup some Legos from craigslist for him. He didn't pick them up after the entire summer. Normally I'd be down to play with Legos, but these were kinda gross. They were covered in dirt and who knows what else. They took up room in my living room... something had to be done...

My roommate and I made a video to provide some "motivation" for my friend to pickup his Legos. We made a small house using some of the bricks (only the really common or already damaged bricks). The robot instantaneously disassembled the house (ignore my poor driving).


The spinner took a nice chunk out of one of the bricks. The video also worked well. All of the Legos were picked up within a day of posting on Facebook.

It was nice to finally put this project behind me (actually behind me on a bookshelf). I'll probably never have it actually compete at this point. I probably can't even use it to smash stuff since I don't have an arena or some other safe place to protect me from flying pieces. That being said, it makes a nice desk ornament and could be used if I ever have the immediate need for a small combat robot!

Tuesday, January 13, 2015

Test - 3D Printed Gears

One of my goals for the 3D Printer was fast and cheap production of gears. Buying plastic gears can be expensive and they often require modifications. This can waste a ton of time. In addition, they might not be the exact number of teeth required for a project. I decided to test the 3D printer and determine what settings and orientations were best for high quality parts.

I started off by printing some 64 pitch gears. I was curious to see if the printer was capable of making these parts. The results were pleasantly surprising! All of these close up shots were taken with my phone. I hacked together a macro lens using a thumb sized magnifier. I taped the lens over my camera and got a 10x zoom! The only down side is there is a fair amount of distortion over the images. However, it reveals details that the camera or my own eyes couldn't see alone.



This is one of my first test prints of a 64 pitch gear. There is some surface roughness that can be seen on the gear, but all of the teeth seem to have a reasonable profile. This gear was printed in the coarsest layer height (0.1mm per layer). The layers don't seem to create "steps" in the teeth.The surface roughness is still pretty good even though the layers are visible


This is a picture that just looked cool. I have no idea what happened with the focus of the camera but it added some neat effects. This gear was printed on the highest layer resolution (0.025mm per layer). Here the layers can't be seen. It just looks slightly opaque.


Here is a side by side comparison between the course and fine layer resolutions (0.1mm and 0.025mm per layer respectively). Both gears seem to have reasonable tooth profiles. It is hard to tell whether there is warpage in the teeth as the lens created considerable distortion in the picture. The lens also created a very shallow depth of field so only portions of the gear are in focus at once.


I also worked on larger gears. The majority of these gears are 32 pitch - 40 tooth gears. I wanted to see how different orientations of the gears in the printer would cause different amounts of warpage on  the overall shape. I also wanted to see how various levels of post curing reduced wear on the gears. I also printed a set of 20 pitch - 25 tooth gears. All of the gears meshed fine, however some warpage in the gears led to noticeable wobble on the shafts. I found increasing the resolution and adding more supports during the printing helped to mostly eliminate these issues. I'll have some projects coming soon that will be built off of these gears. There is also a cluster gear in this photo that contains a timing belt pulley in addition to a 32 pitch gear. This part couldn't be made through traditional machining techniques, so I'm very excited to see what unique structures I can design and build with the 3D printer.

Thursday, May 16, 2013

New Project (finished too) - Heavy Weight Combat Robot

I guess there aren't going to be any project updates for this project considering its already done. This is the first amount of free time I have had all semester... and it's finals week. At the beginning of the first semester of this school year a small group of my friends and I decided it would be a good idea for the school to have a combat robot club, with the ultimate goal of competing in the 2013 RoboGames competition. With a little bit of work we were able to obtain adequate funding from the school to do pretty much whatever design we wanted.

Originally we wanted to enter into the 110 pound middleweight competition, however after watching videos we decided this weight class was a little lame (very wrong conclusion, even the 3lb robots are scary and exciting to watch). After some group brainstorming and preliminary weight estimates for our design, we
realized the 110 pounds wasn't going to happen, so we just switch to the 220 pound heavy weight class. Looking back, I kind of regret this decision because it made for twice the work, but I'm also glad we chose this weight class because there's a fairly small group of individuals that have attempted the 220 pound robots. It also really pushed me to put myself to my limit to get this project done while maintaining my grades!

One thing we wanted to do with the design was use components that teams don't currently use because either they're new and untested, or harder to use. These three sets of new components are as follows:

-Brushless motors
-Li-Poly Batteries
-Neodymium Magnets.

The first thing we decided to work on for testing was the brushless motors. These aren't just regular brushless motors, they're RC car brushless motors. The funny thing is that most people wouldn't consider these motors because they're designed to run RC cars that are only a few pounds. In addition, the motors are very small (around 1.5" in diameter, 2"-3" in length, and around 1 pound). Compared to the motors used on most combat robots in the 110 and 220 pound weight classes, these things are toys (most 220 pound combat robots use brushed motors that weigh upwards of 10 pounds and are 4" in diameter) The reason we thought these motors could work is that they had power ratings over 1800 watts, not far off from the big motors.

We decided to make a test platform to determine whether or not these motors were actually able to put out the power they advertised.

The idea for this platform was to measure the torque output over a range of different rotation rates while the motor was provided full power. Normally this is done by connecting the new motor to an existing one that has known parameters. We couldn't do this because we didn't have a motor that could spin 40,000 rpm and handle 2-3 HP. Instead I cooked up a platform of our own that tells the torque and rpm. There is an aluminum disk bolted to the motor. A neodymium magnet is spaced very closely to the aluminum plate. The neodymium magnet is held by an axle that is supported by ball bearings. The axle transmits torque between the magnet and a lever at the end. The lever is then placed on a scale.

The setup works by the same physics that cause a magnet to fall very slowly through a copper pipe. When the motor spins the aluminum wheel, the opposing neodymium magnet generates eddy currents in the aluminum (this is going to be a bad physics explanation, but bear with me). These eddy currents generate a magnetic field that opposes the magnet. The eddy currents turn all of the output power from the motor into heat because the aluminum has electrical resistance. The torque is transferred by the eddy current's magnetic field and the neodymium magnet to the lever arm. This torque causes the arm to press down on a scale. This allows us to measure the torque. The rotation rate is found by counting how many times a black stripe on the wheel passes by a light sensor. (Note that the setup uses some of the electronics from the "anti-gravity" robot that my roommate and I were constructing at the time.)

The system showed the motor was providing similar power outputs to the specifications. One mildly dangerous thing about the test setup was the temperature of the aluminum disk. Since the fixture is 0% efficient, all of the output power goes into heating the aluminum disk. Within a few seconds of testing, the disk was well above boiling (wet paper towels hissed as if they were touching a soldering iron)



The video shows a small piece of tape on the end of the motor shaft. The motor was surprising loud. Given that we verified the power output we decided to go with the brushless motors for their higher power to weight ratio. The only down side is that they need to be geared down a ton. ~40,000 RPM is not particularly useful on a combat robot drivetrain.

The weapon for our deign is a spinner. Spinners require massive amounts of horsepower to spin up within a reasonable amount of time. We bought the massive PERM motor. it can run up to 72 volts and have a peak power output of around 34 HP.




Even with only 12 volts I almost wasn't able to hold the motor down during start-up. We scored a good deal on the motor using ebay. It was sitting in someone's garage for a few years, but it was in perfect condition.

Naturally, the robot was drawn up before machining to ensure the parts all fit together and there wouldn't be any nasty surprises along the way.


I had trouble getting the colors to look good on the full render, so here's a contour render. It makes a great desktop background. (I've been making more of these contour renders because I think they look much better.)

I'll just include a bunch of pictures of the machining process. There were lots of cool parts. Since this was a school club project, we worked to get as many people involved in the production process. I was able to see many students go from having never seen or heard of a mill to being able to operate a CNC and make perfect parts.


This is the first time I ever used a water-jet. It made production of the large plates on the robot much smoother. This part was made in January, and was one of the first parts made for the robot.



Here you can see the motor on top of the belly pan. The belly pan greatly increases the shear strength of the chassis. It is also a great mount for the electronics. It is 34" x 22" x 1/8". This also shows how massive the spinner motor is compared to the rest of the robot. The limiting factor on the robot height was the motor.



After being back at school for less than 24 hours (came back from winter break), we already cranked out the transmission plates and some of the axles. In addition we picked up the gear stock for the transmission. One drive motor and motor controller are also in the picture.


We made a will call pickup from McMaster! (You can order on a Saturday and pickup the order an hour later!) Lots of screws. The metal came from Online Metals, but we put it in the McMaster box to keep the dorm room as clean as possible.


Here's our double vice setup for the chassis side rails. There's only one vice per mill in the school shop, so we had to jack the second vice from another mill. There are 4 of these parts on the robot. Lots of tool changes without an automatic tool changer is a horrible pain.



I used a machinable collet to hold the gears. The collet was bored out to the OD of the gear stock. This way the gear teeth were guaranteed to be concentric to the bore. This was much more pleasant than making custom jaws for the 3 jaw chuck.


Here is a finished gear stock. Buying 3 gears was more expensive than buying a whole gear stock, so for the 64 tooth 32dp gears we had lots of spare material.


The cutoff tool was used to remove most of the material, but the horizontal bandsaw was used to cut each blank off of the stock. This way stock could be supported by the live center at all times while inside the lathe. The rest of the facing and boring was done with the custom bore collet.



Gear stock makes great noises...



I designed the transmission to use as many of the same tooth number gear as possible. This way I could use the gear stock to its fullest. I made a full set of spares just in case some catastrophe happened during competition.


In just about 2 weeks we managed to make it this far. This is amazing considering we all have copious amounts of homework and there is only one CNC mill and lathe. The limiting factor has really been the single CNC mill. The manual machines are in such poor condition that even facing stock turns out poorly. All milled parts on the robot have to pass through one machine.


Thankfully I didn't cause this crash. That was 1.5" diameter stock. The tool holder was a little messed up afterwards, but thankfully there was no harm to the machine.

PRO TIP: Watch where you extend your stock relative to the zero of the machine. The program was written to face off the first .1" of the stock. If the stock is extended past that by lets say.... an inch or two, the machine rapids into the part.



The crash didn't really set anything back (aside from morale). The hubs for the wheels were made in a few hours. We used 3" diameter wheels. This reduced the amount of gearing required for the transmissions. The cool thing is that the chassis is so short that the wheels still stuck up past the top.




A quick rolling test verified the chassis could roll. We added some cardboard boxes to make it look cooler... not sure if we succeeded.

I flew back home to get the rest of the water-jet parts made. Lots of 3/8" 7075 aluminum plate and 1/2" 6061 aluminum plate.




 This is one of my favorite pictures from all of the machining.


Yeah... the spinner is pretty large.



A couple hours worth of water-jet time made the biggest jump in completeness for the robot.


I got to use my insert endmill again (GMT tools are really awesome in looks, performance, and price). It's pretty boss.


These bearing blocks are pretty large compared to the mill. The bearings are 70mm ID tapered roller bearings. Considering they handle all the damage potential, they need to be pretty strong. I also realized how much the student CNC mill needs flood coolant and an enclosure. removing copious amounts of material takes forever.


The finished wheel assembly looks really awesome. The sprockets were cut on an EDM machine. All of them were cut in one stack, so it wasn't a waste of machine time.


I made chain tensioners, but hoped the chassis wouldn't need them. I lucked out and the chain was perfect. #35 chain is pretty robust and can take some slop without any problems.


This is starting to look like a real battlebot.


A quick drive test greatly boosted morale (morale was good before the test, but it was super high after the test). The robot easily carried 3 people. The acceleration skids the wheels on the floor. The massive rpm of the motor makes the gears scream. It sounds pretty mean. This also proved we didn't screw ourselves by going with the brushless motors. The next priority was to build the rest of the spinner.


The stock was only wider than the 3 parts by .03" and thicker than 2 parts by .01". We had to get creative. This was very material wasteful, but considering the original 27 lb slab of 7075 was from a metal recycling place for only $2 a pound, I was cool with machining away half of the material.


Getting closer to the final assembly. Finishing the robot in time for competition is a little more stressful that we had originally thought. The CNC mill kept needing to be used for class projects, which killed the productivity.


The spinner looks pretty menacing on the robot. Now all it needs are the hammers and tool steel blades.


This shows how the parts interlock. The hammer is locked by geometry to the arm plates. This ensures the bolts don't need to take the shear force from the impacts. The 7075 of the arm corroded some which is why it is so much darker than the 7075 used in the tie rod blocks above the hammer.


I cut the protective lexan shields for the electronics using the CNC router. It was surprisingly easy considering some of the troubles I have had with the router in the past (my longboard).


Carbon Fiber tie rods. These parts connect each of the arms to improve the overall strength. We knew carbon fiber might be a mistake, but we used it anyways because it was light and we had it. It was a mistake, but we didn't find out until competition.


The spinner looks really awesome... mostly because its shiny. This weekend was a major push because testing was scheduled for that Sunday. We got access to a gravel pit across from the school to ensure we could be a safe distance from the robot.


Remember the idea of adding neodymium magnets that I talked about at the top of this post?


Yeah they work... We were able to jump on the chassis and not have it fall from the thin sheet metal door. (The concept of adding additional down force led us to design the "anti-gravity" robot)


We also tested it on top of 1" thick steel plate at the school construction site to make sure it could drive with the additional couple hundred pounds of down force. It didn't really seem to notice the extra force, but we had trouble removing it from the ground.


Greasing the spinner bearings... YUMMY


We finally made the S7 tool steel blades.



And heat treated them too... (had to pull 4 all nighters in a week to get to this point because the robot had to be finished for testing the following day)


We also have a robot name!

Considering this was the first combat robot any of us had ever built, we needed to test it. We needed a safe place to test it where we could control who was going to be near the robot. In addition we wanted no property near it just in case there was flying debris or a catastrophic spinner disintegration. We got permission to use the gravel pit next to the school. It's a giant gravel pit that takes up a few square blocks. No debris could escape.


The tool steel blades look pretty scary. The mac was broken, so it was cool to smash. You can imagine what shape the mac was in after the impact.



The mac was eaten up pretty quickly.




I like how the CD drive ejected. It isn't visible in the pictures, but there were a number of IC chips that flew off the board. The impact G's were so high the surface mount components flew off the boards! That's pretty cool.


Needless to say, the microwave didn't stand a chance.


The microwave got smashed in one solid hit.



The tool steel spikes seem to do their intended job pretty well.

Testing was a great way to prepare for competition, mostly because it was fun.

I'll summarize the competition in another post