Summer 2016 SURI Blog
Friday, August 26th
Last day. We got our posters some cardboard backing, presented at lab meeting and had a great poster session in the engineering quad. Slash ice cream social as well. What a great summer. Looking at all the poster projects I felt super lucky to be working in the BDML. Learned so much..in such a short amount of time. I gotta take ME 210--mechatronics for real. Maybe I'll get to interrupts then too. Thanks to all the lab members for being extremely welcoming, thanks to Matt for taking me on and guiding me through the summer (it was an honor to be a part of the NASA space gripper initiative), to Shiquan for pushing my limits with mechatronics design (very fun), and of course thanks to Mark for the opportunity to research and learn with the best some all around great, very smart people. It was an awesome experience.
To all my blog followers (of which there are none..or one), thanks for putting up with frequent late posts and lack of pretty photos. I did my best.
So long BDML.
Thursday, August 25th
Finished up some last minute tidying. Took apart my actuated curved surface gripper. Attempted to de-solder the motor drivers, teensy and voltage drops. As much as I would have liked to see the actuated spiny hand in action, doesn't look like that will be possible before the summer ends. Maybe I'll get Shiquan to send me a video of the hand when everything is hooked up and working properly. It would also be cool to see the aluminum machined insert whenever that happens. I'll try and stay in touch for some updates.
Wednesday, August 24th
Poster is sent off and should be finished by tomorrow (Thursday) afternoon. Tuesday, August 23rd
Continued poster day. I have everything finished. Matt sent in some figures that he had and they look great. The envelope of adhesive gripper limit especially - very good aesthetic. Tomorrow SURI's will probably head over to the FedEx and get things printed.
Monday, August 22nd
Poster work all day today. I have the general layout and all the text I think I want. Worked a while on a figure of the curved surface gripper, but still need a few more figures, CAD's and data to paste on. Solid day of work though. I'm hoping to have this done by the end of the day tomorrow so Wednesday I can head over to FedEx and get it printed.
Friday, August 19th
The connectors came in today! But they don't fit... When I was ordering I looked for the smallest connectors possible which led be to the micro-connectors section of the Molex 'connectors' itinerary. Turns out the micro sized connectors are only valid for up to 2mm pitch for the pin spacing. I remember seeing that but every 2.5 pitch connector option was way to big to fit in the hand. This is an issue I'm going to have to bring up with Shiquan. I personally think direct soldering would be the best plan of action, but I get that it would make life difficult if there was ever a reason to debug the sensors or encoders. Planning on emailing him next week because I'd like to spend some time looking for connectors this weekend. Thought I've done a lot of searching already--not sure how much good it will do me to keep going.
Poster work starts next week too.
Thursday, August 18th
Once everything was soldered and rewired the output voltage from the motor driver worked perfectly. Go figure. Lesson well learned. I started by sending 8 volts through to the DC motor and then cranked it up to 12 volts with a PWM of about 75% which equated to about a 9 volt output to the motor. That is a heavy duty motor! It drew close to 3 amps and the entire bottom palm jumped when I completed the circuit with the power on. I see why it's so important to have the correct wire gages and proper connections to the pcb's. With all four large DC motors and two smaller motors running there will be a lot of current running into that hand. I see why heat sinks are recommended.
I spent the rest of the afternoon looking into detecting the angular position of the motor with the encoder. It took some time figuring out how to orient the magnet in order for it to be properly read. Red tape to the rescue. Shiquan was right, for one full revolution of the output motor shaft, the magnet spins a ton of times. According to the datasheet the voltage out reader that feeds into the teensy oscillates between 0 and 1024 bites. But I don't know how to keep track of these revolutions. Pretty sure an interrupt is necessary and I am a novice when it comes to interrupts. I'll keep at it but this might be something I hand back to Shiquan to finish when he gets back.
Wednesday, August 17th
More trouble shooting and debugging today with the setup. Turns out I am terrible at soldering. Also I was extremely wishful in thinking I wouldn't actually have to solder every used pin to the boards. So it was a day of learning to say the least. But Arul did help in discovering that the motor driver is actually powered by the motor voltage (V+) so I didn't need to hookup the 5V drop to the controller side of the pcb. Those two lines are in fact connected anyway. So there is an internal voltage regulator in the motor driver that will take care of necessary voltage drops and whatnot to ensure the safety of the signal pins.
Tomorrow I will re-solder everything and try again. I suspect that was the main issue. WOops.
Tuesday, August 16th
I can't seem to get the motor driver to output the desired amount of volts that I will send to the motor. I've been trouble shooting with the voltage regulator because it is very finicky when I connect to both the Teensy and the motor driver.
I also talked to Matt about the poster board due next Friday. I think there will be some overlap with Shiquan's project and the free flyer project so that's awesome. Next week I'll have to commit more time to that for sure.
Monday, August 15th
The connectors and the magnets wont be in until the end of the week, so in the meantime Shiquan suggested I get out the breadboard and test the magnetic encoder with the maxon DC motor. I had to do a bit of software uploading so that the Teensy controller could run through the Arduino sketchbook. Coding shouldn't be too much of an issue now that I'm fairly familiar with the Arduino layout. I am not familiar, however, with interrupts and timing so that will be something I either pass off to Shiquan, as we are getting towards the end of summer SURI (tear). But I would love to at least try and tackle that myself. Shiquan leaves for China on Thursday so we're trying to get the necessary things done early in the week.
Like the encoder. I got a short tutorial on soldering to a flat surface mount. I used the 32 gauge wire (pretty much the smallest we have), clipped the ends and flattened out the wires. Shiquan explained his techniques for wetting the surface of the wires and the board with solder and then just applying heat to the connection. That way you avoid over soldering and you can better control the connection to avoid shorting the circuit. There are only three wires attached to the encoder: ground, voltage and the signal wire. To strain relieve I hot glued the wires to the small circular board and let everything dry. Tomorrow I will mount to the bottom palm piece and test out the encoder. The only problem is I'm not entirely sure of how to code and read the angular position of the motor so that might take some time in the morning.
Turns out Matt isn't leaving until Saturday (if his visa comes in on time...Inshallah) so he will be around for the rest of the week most likely. Talked to him today about getting started on the poster which is coming up.
Friday, August 12th
(Not in lab today).
Thursday, August 11th
I finished Matt's data testing today. Turns out it is a lot harder than it seems to pull a semicircle of 2.7 N force with the ATI. My first trial somewhat resembled what we were going for but not quite accurate enough. So we tried a different idea of pulling a rubber band with a decently sized radius out to the 2.7N mark and then traced a semicircle around the ATI. This worked so well ahah! It deserves a laugh because it seemed like such a silly procedure. But the graph turned out very nice. I added a few elementary like "drawings" per Matt's request and that should be good for his talk in lab meeting tomorrow.
At 11 I went over to De'Arbeloff Lab to help with taking apart the transmissions. This took longer than expected. Finished around 2pm. Very greasy.
And then I ordered the connectors and wires so everything is good to go for hookup. Shiquan brought the finished part in today and it turned out really well! One small issue with a fillet, but when both parts are manufactured it should fit nicely. And the controllers/motor drivers fit as well. Yay:)
I won't be in tomorrow so work will resume on Monday.
Wednesday, August 10th
This morning I solidified the connectors and power connectors. I ordered about 20 dollars worth of connections which is probably more than we need but I'd rather be safe than sorry on this order. I ordered some 90 degree connections as well as some vertical ones and enough variation of circuit numbers to accomadate for the craziness that is the pin assignment I came up with. It will not necessarily be pretty. I also had to order some wire because we don't have the gauge we need. I'll have to talk to Shiquan about what he thinks would be appropriate in terms of ordering for wire length and color and what not.
The afternoon was spent working with Matt and Hao trying to decipher the data collecting issue for pure torque twisting. Matt and Hao apparently have two conflicting assumptions. Matt thinks that with a pure moment, both gripper arms will stay engaged with a tangential torque acting towards the center pivot point of the gripper, as long as the contact points remain attached to the surface of the free flyer. So there are four forces keeping the object in balanced equilibrium when applying a pure torque until the adhesive gives way and the free flyer breaks off. Hao, on the other hand, is arguing that when a pure torque is applied, one of the gripper arms (depends on which direction you apply the torque) will no longer produce a restoring tangential force as the direction of the twisting torque will not be in line with the adhesive cuts and therefore that gripper arm will no longer be loaded and not supply a fourth balancing force. This argument greatly reduces the feasible data points in the matlab models Matt has been working with. It would take away many data point possibilities. But this is not quite accurate as we have seen because we did achieve data points in Hao's "not achievable" data region. So this is an issue we are still trying to work out.
The process of applying a pure torque on the free flyer proved quite difficult. It depended on the accuracy of the reading, how parallel the forces were applied with respect to each other among other considerations such as location of the applied torque points with respect to the ATI gripper setup. We also did trials with on the paper side of the free flyer and the black silicon side as well. The paper significantly reduces the required pull of torque and made it difficult to stay balanced. We did notice however, with the orientation of our setup, and a torque applied in the horizontal direction (with respect to the flat ATI plane), one side was pulling the entire system in the positive y direction while still maintaining equal forces with the spring scales. This may have had to do with Hao's theory that when applying a pure torque, one arm of the gripper is disengaged due to the opposite loading effect. In which case the loaded gripper would be the only tangential force while also propelling the free flyer towards the gripper arm that is disengaged. This is a point of confusion and might take some more trials to really understand.
Tuesday, August 9th
I've found a power connector that should fit the wire size we want with the current draw we will expect. And it seems to be small enough to handle! I shouldn't celebrate too soon thought...who knows how it will turn out. I'm still working on finding a connector I'm happy with--initially I was going to go with the 90 degree connectors that lay flat against the board to save space, but after second consideration this idea will actually require more board space than we have. So I'm thinking of going with vertical micro connectors for the pins that are more central. For the pins that are tough to access I'm probably going to have to solder directly to the pcb's. Which is a bummer, but there really aren't many other options. Especially for the 12V power lines that are supposed to expect 20A of current. Connectors that can accommodate those specs are way too large for our parameters. I'm going to use 12 AWG instead of 8 for the motor/power wires. I looked up the difference between chassis wires and transmission power which are specified current limits in the AWG charts. Turns out chassis wires are wires that stand alone meaning they have air to dissipate heat to. Transmission power wires are wires that are clumped together with other wires and therefore generate more heat which reduces the allowable current through the same wire diameter. But I think all of our wires will be chassis which gives us some breathing room with wire diameter.
The CAD insert should have been printed either today or tomorrow. I do have a few new pin assignments for reset pins on the larger motor drivers. This fills up the Teensy pins. Completely. And with the way I've designed the insert, I can't really access the bottom surface mount pins. So here's hoping we don't need more PWM pins:) Kidding, if that's the case I would extrude cut a hole in the insert where we could then mount connectors to the bottom of the Teensy.
Met with Matt again to go over specifics. It looks like we are going to go with the string and fish scale approach to the moment data collection which will be performed tomorrow.
Monday, August 8th
I cranked out the finishing touches to the CAD insert today. We wanted to get the part printed but it turns out the 3D printer is not functioning properly right now (or something like that). Either way, the insert is pretty much as good as it's going to get with the limited allowable space. Now I have to find a way to connect all the wires reasonably well with options to disconnect and debug when necessary. I've been looking for micro connectors but the space we have to work with is extremely tiny. We will probably have to resort to soldering straight to the board in certain instances. Especially for the pins that are right up against the wall of the bottom palm chamber.
Matt also caught me up to speed on his progress with the ATI data he's been taking. He seems happy with his plots and figures and confident in the findings so the paper should be ready to publish soon I believe. He does want one specific data point on the curved surface gripper that represents a pull out of the black free flying object with just a moment force--no other planar forces. Apparently when we twist out the black box during trials there is always a bit of x or y force generated so there is no clear data point on the moment line, which is what he wants. Will probably go over this more tomorrow.
Friday, August 5th
We had a very interesting (not to mention inspiring) talk this morning from Idriss Aberkane. He talked about his passion for knowledge and how the world as it stands is placing value in the wrong commodity: knowledge is in fact the true item worth sharing and worth protecting. It was quite romantic and it was clear he was very passionate about the topic. It might be interesting to follow his progress.
Shiquan and I have decided to avoid an external layout board as the wiring is too complicated to attach in a clean mannor. So I've continued with my CAD design for an insert that will properly fit the arrangement of motor drivers, controllers and voltage regulators. We'v decided to cut the number of voltage regulators to one (if need be we can add the second one below, but this will eliminate the need to extrude a cut through the bottom chamfer of the palm. It was getting a bit too technical and the cuts would have been extremely thin which is very hard to manufacture. With a rearrangement of pcb's a different problem arises though...if I cut out rectangles for wire connections to the pins, the insert itself is disconnected into three parts. Obviously that isn't quite viable. I am instead cutting out individual pin holes so that the insert stays connected. The finished design looks decent, but I'm not 100 percent sure of how the holes will line up (that's always the danger) -- though I think I've left some room for error. We will see what Shiquan thinks about the individual holes.
As for connecting the insert, I will include drill holes at the supports. Apparently I have to plan for quite a bit of moment disturbance when inserting the USB chord, which I didn't realize would be that big of a deal, but it is.
It's coming along.
Thursday, August 4th
After assessing the pin arrangement and connector issues, Alice proposed using a portable layout board to connect our array of controllers which was interesting. If we could somehow solder the pins together in an adjacent manner it would have been a perfect solution, but unfortunately with the way the Teensy pins are ordered, the wiring is not perfectly adjacent, so I think it would be easier to just have a 3D printed insert and go from there. We will just have to deal with wire strain release when we get to it.
CAD'ing this insert is tedious. Spacing is so critical and there really isn't much room for error. I'm worried I will forget to think about the 0.1mm offset when actually printing the insert or some other issue that might arise. Though Shiquan seems to catch on to those issues very quickly so I'll run everything by him before we print.
Wednesday, August 3rd
Moving along with the pcb layout...I think I have a working arrangement of the drivers, voltage drops and teensy. There will be two layers, the top layer consisting of most of the important components, and the bottom layer consisting of the two left over motor drivers that don't fit on the top layer. Shiquan explained the fewer the layers the better which I'm starting to realize will make sense if something goes wrong and a replacement is necessary. With one clearly arranged layer disconnecting wires and taking out the blown motor driver (or whatever it happens to be) will be rather simple. I've also determined pin assignments--for the most part. I have to leave some pins open which is sketchy because I don't know how accessible they will be, but I'm just going to have to live with that. The top layer will have wires coming out of the bottom and then there is a tiny bit of space on either side of the palm where I can run the wires up to the larger motors, two smaller motors, motor encoders, and eventually the angular sensors we are still working on.
I'm going to have to find some connectors small enough to work with the limited spacing, so I'm actually wondering if soldering the wires straight to the board could be an option. It would be smarter to get connectors, but I can't seem to find a solution that is small enough, and most of the wires are not going that far as the pcb's are so closely spaced. I'll ask Shiquan about this tomorrow. Once I have my wires, AWG thickness, color codes, CAD'd insert and voltage connectors, slash external attachment figured out we will have a design review and make sure everything looks ok.
I want to work on the insert CAD tomorrow because that will definitely help with the spacing.
Tuesday, August 2nd
Today we had three visitors from Duke who are working on the hand project, which is actually a robot rock climbing project. Turns out Shiquan is designing just the spinny hand component of the robot. The lab from Duke is running the simulation and controls and the robot itself was actually from a separate party. A lot of discussing and decision making today. The project seems to be a long ongoing operation and is most likely a ways off from autonomously climbing various rock terrains. But the concept is really amazing in the sense that this robot will be able to search for gripping locations on the terrain, move accordingly and then stabilize itself while climbing vertically. The testing wall has slanted, vertical and overhang components so it is very lifelike.
Also Sean thought a bit more about the burr project and discovered that the burrs themselves have a recursive element to them--they kind of branch off at the ends of the spikes. This seems like it could be easily implemented in the scissor idea I've been exploring. Could be cool.
Monday, August 1st
I finished up the pin assignments today. The Teensy has plenty of pins. I didn't think it would for a while because there were minimal PWM inputs, but it turns out I really only need 4 PWM pins for the large motor drivers and every other pin should be either digital or analog. The dual motor driver inputs could be PWM, but they don't have to be...they work fine as GPIO (which is a new acronym I learned today: General Purpose Input/Output; it basically refers to analog/digital pins). In terms of clocking the large motor encoder, the input from the magnetic sensor is a analog pin with an interrupt capability. Shiquan explained today that the magnetic encoder senses the axial motor rotation before the transmission, so for one detected revolution the output shaft is only rotating 1/200 of a rotation. Basically the encoder will detect 200 revolutions before the output shaft rotates even once. That's why it's so important to keep track of the revolution history so that we know what angle we are dealing with and how that corresponds to the output shaft position. So the hardware is actually very simple, it will be the code that does most of the heavy lifting for our intended purposes.
The four main motor drivers have two input's: a PWM and direction input. The direction input is a simple digital pin that detects a high or low signal depending on the direction the motor is rotating. I decided to neglect the two fault pins and the reset pin because it would get way too messy with 3 extra pins per motor driver (and they aren't absolutely necessary, it's just recommended so that you don't fry your board). This same decision goes for the dual motor driver for the two smaller motors...we aren't going to use the EF1, EF2, or INH pins as they are fault and low power sleep mode pins respectively.
Shiquan also thinks we should use two step down voltage regulators from the power source to separate the power being supplied to the large motor driver and the motor encoder. Sometimes if the power source is from the same supply things can go funky. This will also help with wire spacing I would assume, though at the end of the day today I tried fitting the pcb's in the bottom palm and it is definitely going to be a tight fit. I'm worried about things overheating or shorting wires. Everything should fit but it might not be an ideal spacing.
Tomorrow I will choose pin connectors, wires and voltage power connectors, lay everything out in the palm, and then CAD an insert that would hold things nicely. I also have to remember to leave four open analog pins on the Teensy for the future rotary sensor we haven't dealt with yet. Preferably these pins would be easily accessible...though I don't think that will be the number one priority given the limited space in the palm.
Friday, July 29th
Success! It actually was though. Chris was masterful as our grill chef and the Erin's branding worked perfectly. You couldn't have a burger without the BDML logo branded on the top. The whole process took a while though. We had to skip lab meeting and start bringing stuff out early. And then clean up took a bit.
I did manage to sit down with Shiquan and talk through some questions that I had. Mainly I was wondering about certain connections and voltage inputs. It turns out the four larger DC motors take in 12 volts as do the motor encoders, but the Teensy and the motor drivers are smaller pcb chips so they only need 5V or so (much lower current draw). So I will need a step down voltage regulator from the 12V power supply to the Teensy controller which will run the 5 other motor drivers (4 large DC motors and a duel motor driver for the two smaller motors). Then the 12 volt line will supply the larger motors directly as well. It turns out the DC motor encoders are cylindrical and attached to one end of the shaft measuring the rotation. The issue is, however, these sensors detect the angular position of the shaft within a certain revolution, but it will take more than one revolution to curl the fingers of the robot, so I will need to keep track of the absolute position--meaning the total number of revolutions and the current angular position. This will involve an interrupt, which again, I haven't much experience with, but I will figure it out when I get there. For now I need to lay out all the pin connections and verify that the Teensy controller has enough input pins to control the entire system. Then I will figure out placement and hopefully CAD some placeholders for the motor drivers and controller. Lots to do next week.
Thursday, July 28th
Continued researching the components to Shiquan's hand mechatronics. I'm starting to put together the pieces of the puzzle...which is basically what it is--a puzzle. You have to know how many pins necessary for the main Teensy controller, know which input voltage goes where and how you are going to supply power to each sensor/controller/motor driver, and then you have to throw everything together with code. I don't think the code will be difficult at all, but right now everything seems like a jigsaw to me. I'm understanding better what the motor driver hookup will look like and where to connect those wires, but Shiquan is still unsure about the sensor that detects rotation angle of the outermost fingers that rotate 180 degrees. Apparently that sensor was too expensive so we are going with a different design that will require looking into.
We had to leave lab early to pick up stuff for the barbecue tomorrow. Which means tomorrow won't be a heavy work day either.
Wednesday, July 27th
I finished the assembly for a preliminary burr project CAD design in the morning. I'm getting the hang of Onshape which is great. It's mostly playing around with different kinds of mates--Chris seems to like the Solidworks assembly mates better which I feel is probably true, but OnShape is so convenient. In terms of the design I'm actually somewhat surprised it came out how I imagined it. I'm learning how to translate ideas in my head into CAD design...kind of a cool concept. I start out by drawing (or at least attempting to draw) and then jumping into CAD, but I never have a tangible visual to create - it's much more of a feel it out and let the software do its magic. The perks of being artistically challenged: CAD does all the work for you.
I shared what I've started with Sean who is also interested in working on the burr project, so it should be fun to work with him and see what he comes up with. I think it would be cool to 3D print a prototype once we have something we think could work.
Shiquan met with me today and he basically gave the go-ahead to jump right into the mechatronics behind his hand project. I will be assembling the electronics, hooking up the motors and controllers and then eventually putting everything together. Daunting? yes. But it will be awesome to get experience with a more involved mechatronics task. There will even be interrupts involved.
Tuesday, July 26th
I decided to switch over to the burr project today because I have an idea that I think could be interesting and I didn't want to lose the idea (which tends to happen when I start working on other things). So I tried to draw out a schematic for a spherical pliers assembly but to no avail...I ended up just going for it in Onshape and spent the whole day working out kinks and part connectors and what not. I actually have a decent design, it just needs some work if I want to 3D print. I'll describe the design in detail once I'm happy with the CAD but for now it's best just to think of it as a spherical scissors (pliers) concept. Which I know is really vague. I'm working on it.
Also, Shiquan needs some assistance with his project and asked if I would like to help out which is awesome! I believe we are meeting tomorrow to discuss.
Monday, July 25th
Tuned up the automatic gripper in the morning and tested out some irregular shaped objects. Decent, but not great results. It can pick up a mug or a bottle no problem, but anything rectangular or too "small" in comparison to the gripper wing span doesn't want to latch. The issue I found today however is that the release and pull back mechanism with the spring and servo motor wrap up is terribly inconsistent. I wanted to try and tune that so I could guarantee a release with the necessary tension to let the adhesive stick to the object it is trying to pick up. After talking to Matt in the afternoon, we concluded the balancing act of two elastic tendons--one from the rubber bands pulling the gripper shut and one pulling back on the wings--is very difficult to control. Thus the inconsistency. So Matt suggested ditching the spring idea and moving more towards a rigid trigger mechanism, meaning a physical object, that would release the wings and then some sort of pull back mechanism to reset. To make it easier I could even compartmentalize these two objectives and then try and combine them with the one actuator. This would provide a lot more stability and robustness to the design.
I don't think it will be that hard to implement but I would need to sit down and draw out the process before I jump into connecting parts. Might take a break from this to think about it and come back to it later in the week.
Friday, July 22nd
Issues arise when the gripper tries to wrap around smaller diameter objects. The black free floater is fine because the gripper settles right into the wider diameter, but as soon as I try to clamp down on a smaller object the adhesive doesn't cooperate. I think part of it is my trigger mechanism--it doesn't ease into the catch it sort of snaps at it. However, I also think the distance between the center point of the two adhesives is somewhat limiting when it comes to relatively small diameter objects. It seems like the gripper can be tuned to latch on to certain "uncooperative" objects, but my sensor trigger mechanism is not the ideal latch approach. I haven't really tested and tuned enough for this to be any form of a conclusion, but these are my thoughts nonetheless.
I took a look at Hao's larger space gripper that accommodates both flat and curved surface adhesion. It's absolutely beautiful by the way--the space gripper that is--it must have taken months to build. But in watching some trial runs of latching with the curved gripper, the objects were all an appropriate diameter given the distance between the two inner latch points of the curved adhesive. Meaning it wouldn't have been able to pick up a smaller CDR mug. I'll probably talk to Matt about this in more detail next week, but I'm wondering what the limitations are in terms of diameter of attachment for the current gripper design we are working with. I do want to get to the plastic bag though...didn't get there today.
Hao's space gripper had a release mechanism. I'm not sure what triggers the latch of the adhesives (in terms of whether it is a sensor or some sort of detection) but he definitely implemented a detach mechanism as well. That's something I'm starting to think about. That and moving the cylindrical wrap on the motor to a more convenient location on the gripper. This will probably take some rearranging of parts, which is a drag, but it kind of has to be done.
Oh and the BBQ was much better today. It will pale in comparison to our soon to be revealed branding stick next Friday, but not everyone can rock the CNC like BDML does.
Thursday, July 21st
Tuning the gripper required a few extra laser cut parts. So I spent the morning CAD'ing and figuring out dimensions that would work with the design. The biggest issue of the day was making a part that would stop the gripper wings from overextending which causes the rubber bands to snap out of place. Matt had this feature on his design but I had to rip those parts out to make room for the sensor and the spring attachments. So basically I just recut Matt's lever arm design with holes in the attachment point and without the mechanical trigger extensions. Hopefully this will get rid of the snap back issue I was having.
I've started to test picking up irregular objects (a CDR mug to start, which isn't that irregular) but it isn't going super well. I think I will need more closing tension meaning more rubber bands. Tomorrow will be a bigger testing day. I'm excited to try a plastic bag of water though--the real test.
Wednesday, July 20th
The laser cut cylinders worked like a charm. It was very simple to attach to the servo, and winding the string was super easy. I realized I would have to wire the two strings together and wrap them in the same direction otherwise one wing would close while the other would open. So I inserted a few parts to help guide the string towards the cylindrical windup. Very makeshift. I didn't know how invested the motor would be in the tension so I started out by just holding it up against the bottom surface of the ATI back plate, but it turns out the servo needed a bit more leverage to work properly. Which meant more tape and an attachment for the servo. But once everything was connected and stabilized, the trigger mechanism worked! I thought there would be a good deal of re-situating the string wrapped around the servo cylinder, but I actually was able to adjust the servo positions on the Arduino code and that lined up the wings to where I wanted them. I do need about 120 degrees of rotation to cross the bistable tension from the rubber bands. Most of the afternoon was spent tweaking and tuning...the issue right now: the rubber bands. I need some sort of stopping mechanism to prevent the wings from over extending past horizontal. It should be very similar to Matt's mechanical trigger design that had two pegs that limited the range of motion of the wings. I played around with taping on some wood but it didn't hold very well. I think I want the same design Matt had but with some holes cut in the wing attachment so that I can hook up the springs. Which means another laser cutting job:)
I'm attaching a video in case everything goes wrong from here on out. Also I haven't posted any media yet so it's about time.
Tuesday, July 19th
Super productive day--in the sense that I made a lot of progress with the motorized gripper design. I CAD'd and laser cut some modified attachment pieces and then hooked them up to the ATI back plate. For future reference, super glue and wood mesh very well together...it took me a while to detach certain parts so that I could insert the newly modified pieces. The xacto knife was semi helpful, but it turns out once again that brute force and ripping away at the crusty glue with pliers is the best option.
Because this is still a testing stage, I used tape for the side wing attachments and for the pulleys in case I was forced to move things around. The design is fairly simple in concept, but I think the implementation is not that easy. Essentially I'm building a trigger design (I think is what Chris called it) so that when everything is hooked up and stabilized, the servo motor will only have to turn a relatively small radius for the gripper to snap and catch. I need my tension balance to be right on the threshold of release. Pulling at the wings are two springs connected to string that wraps around two redirect pulleys down towards the bottom of the ATI back plate where a servo would be attached. With a simple twist of the servo, the gripper would/could be released and with the counteracting tension would grab hold of some object. Similarly for the detachment, a servo rewind would open up the wings to the initial resting position.
I spent most of the afternoon fidgeting with the string that attaches to the servo. I'm using the very fine blue string so it was tricky to hold the tension in place without slipping. The servo itself proved difficult to wind. I needed a cylinder to wrap the string around but then when I tried attaching to the servo fan, the string would tangle. I need a better solution for wrapping and as Chris pointed out, I will most likely need to plan on at least 2 inches of wrap distance, so my diameter better be wide enough. I think the solution is to laser cut a custom diameter which would make attachment and winding super simple. That will be my goal tomorrow.
Monday, July 18th
I am still on the pulley hunt - though I wasn't necessarily looking for them today, and Shiquan wasn't in the lab. Tomorrow I think I'll pick up where I left off with the gripper release design.
Today was an Onshape trial day. After the "burrs" meeting on Friday, and with Professor Lanzetta's proposed scissor design idea, I decided to give it a go, draw out some preliminary concepts and then CAD them in Onshape. It took me longer than I thought it would to assemble a fairly simple scissor design. To be fair I didn't really have a concrete design plan going into the CAD session, so I was thinking and playing around with different ideas while building the part/assembly. I came up with two similar designs where the second is a more involved extension of the first. I will say, every time I spend time in Onshape or Solidworks I learn something new. Onshape especially just because it's a slight divergence from Solidworks which I learned first. So all in all a productive day.
Friday, July 15th
This morning was filled with meetings. Hannah and Vanessa presented today on their hand progress. They are testing the effects of suction at the tips of the fingers which would greatly assist in picking up objects. Especially slippery ones like bars of soap. Following the official lab meeting, I joined in on Will's informal presentation on his ideas for perching talons. I had previously witnessed a demo of this perching when Will attached his blue bird like claw to a quadrotor and attempted a perch on the redwoods behind the D School. Hannah and Shiquan contributed to this informal brainstorm slash idea throw around. I love sitting in on these types of meetings. Collaboration at its finest - super cool to witness and contribute to if possible. And then finally we discussed the concept of burs and how they effectively attach to fibers or animal fur. Professor Lanzetta spoke to me yesterday about possibly joining in on this project to CAD a working prototype of a perching robot that could easily attach and detach from these fibers similar to burs. His method of thought followed a scissor design that would poke through and then open once inserted, creating a lock with the threads or hair fibers. In the meeting we explored other ideas such as a folding oragami type mechanism that would twist and compress when inserted. This would guarantee a lock within an animal's fur as the twisting is what ensures the attachment. Hannah remembered someone giving a lecture on this "oragami" type mechanism last year. Seemed pretty cool. Anyway, this could be another opportunity to practice CAD'ing and designing a prototype and then possibly 3D printing as well. We will see how this plays out.
In the afternoon, following a wreck of a barbecue put on by group #2 of the weekly MERL summer BBQ, I sat down and brainstormed some prototype ideas of how to activate and deactivate the gripper once I install the RangeFinder sensor. I basically needed a push pull mechanism that would release the gripper onto any sized object (not just the larger black object we've been testing with) and then detach as well. Ideally this design would include a simple twist of a servo motor, inducing a release or detachment of the gripper flaps. I actually felt pretty good about the design I came up with. I'm going to need some pulleys, which I don't really know where to find, but if nothing else I can create some makeshift pulleys that should suffice. I will draw out some extra parts in SolidWorks and lasercut on Monday and Tuesday of next week. Hopefully by then I have the mechanism working soundly enough to incorporate the RangeFinder sensor and Arduino.
Oh and the smaller diameter hex rods came in. They fit! Though there is quite a bit of wobbling which seems iffy. The spacing of the gears seems a bit suspect as well. What would be ideal is a hex bearing that would fit squarely in the motor casing and then also fit snuggly around the brass hex shaft. But that seems like a long shot and probably too expensive for what we are going for.
Thursday, July 14th
Did some reading today. Went through Matt's paper in detail which was really helpful. We've gone over general concepts in regards to the dynamics behind a gripper approach and attachment, but it was interesting to read the mathematical overview of such dynamics after testing and observing the gripper in action.
I also skimmed the adhesion article "Microwedge Machining for the Manufacture of Directional Dry Adhesives" from 2013. Arul's presentation got me thinking about how little I know of the actual manufacturing process of the adhesives. There were a few manufacturing details that went over my head so I might come back to that paper towards the end of the summer.
There might be a possiblity to CAD and 3D print a prototype of a perch mechanism for Will's project. Maybe more of a project that would benefit my own Solidworks practice, nonetheless, Professor Lanzetta seems keen on the idea and optimistic about having a working prototype around to reference.
Wednesday, July 13th
The RangeFinder is a go. It max's out around 200mm and tends to be a bit finicky when the object is quite close to the IR sensor, but it can detect movement within the mid range and fairly accurately represents the distances in mm. I got out a ruler and set up tested exact distances. It tends to be fairly accurate with the exception of a few instances where the reading was always about 10mm off. But for the purpose of our experiment, I don't think we are too worried about exact distances but rather general detection of whether or not an object is nearing the gripping zone. One side note about the sensor...darker objects seemed to register greater reflectivity and therefore produced more accurate distance readings. My iPhone for example extended the sensors range to about 196mm all the way down to 2mm. Other black objects produces similar results. My hand was a good example of an object that didn't register very close to the sensor and had trouble reading further out as well. Though again, our testing objects are black so this shouldn't be an issue.
Next on the docket is a servo motor. Initially I wanted to start by getting the servo up and running with the Arduino, but that was a very simple tackle so I moved on to positioning the servo based on RangeFinder sensor readings. It took most of the afternoon. One because I was using a continuous rotation servo that was acting funny (Chris ultimately decided it was a "sick servo"), but two because there are two ways to write to a servo via an Arduino (that I know of). From the tutorials I was following, it made sense to include the Servo.h library that Arduino provides and use their methods to program the servo, but Chris apparently uses the generic analogWrite() when he codes servos and that seems to work just fine as well. He had never tried the servo library though.
One thing I was confused about: the PWM signal in the digital pins on the Arduino. Even though it's a digital pin, you can use the analogWrite method to communicate with it. I actually haven't tried testing the difference between digitalWrite() and analogWrite to a digital ~PWM pin. That might be worth doing.
Once I switched out the servo and uploaded everything, it worked beautifully! The purpose of the demo was to get the servo to turn a certain angle when an object was within a certain distance of the sensor so that when the hardware is implemented with the gripper, the sensor will trigger the servo which will release or pull a trigger of some sort. That will be my goal for the next few days: brainstorm some trigger methods/ideas/prototypes. In addition to doing some catchup reading (BDML publications) I've been meaning to do.
Tuesday, July 12th
It turns out the VL6180x Range Finder measures both distance from the sensor in mm and also records the ambient light in Lux. The hookup to the Arduino is pre set meaning you have to attach the SDA line to analog input A4 and the SCL line to the analog input A5. I tried playing around with the starter code to see if this can be changed, but wasn't too successful. This could pose an issue when we finally implement the range finder with the gripper and wiring and what not but I guess we'll cross that road when we get there. I'd imagine we wouldn't want a full Arduino Uno but rather a mini Arduino which would probably switch around the hookup ports anyway.
The I2C Bus is another topic I'm not too familiar with. From everything that I've read online you need two step up resistors to implement the I2C but I'm assuming the SparkFly includes that in their RangeFinder. The electrical theory behind the I2C is still a bit foggy for me but there's plenty of info online about it. I haven't really touched the interrupts yet. Matt briefed me on them this morning but we're not using them for this project (most likely) so they weren't high on the priority list. Though the concept of an interrupt seems very useful and clever.
Also I ordered new hex shafts, closer to 3.18mm across the flats this time. Hopefully these work because there is no other in-between sizing. I also ordered plastic hubs that can be drilled to fit onto the 4mm inner diameter shaft sleeves. These are the hubs that Matt found/uses.
Monday, July 11th
Today was an Arduino day! I went through a fairly helpful series of tutorials on youtube by a guy named Jeremy Blun. A lot of it was EE overview and some review, but it ended up being quite a bit of breadboard work and then of course coding with the Arduino. I think it's safe to say I got lost in the thrill of lighting up LED's. I implemented a POT, a button with pull down resistors, and a few LED tricks. I also dabbled with the difference between Digital and Analog as well as PWM in the Digital pins. Kind of an interesting option...not sure where or when this would come up in practice (the PWM that is).
By the end of the day I was ready to tackle the time of flight sensor. I worked through most of the setup and library downloads, but I haven't quite figured out which sensor lines match to which function. The SDA and SCL lines are still a bit of a mystery. Tomorrow will be mostly a sensor troubleshooting day.
Friday, July 8th
Starting to research/read up on Arduino coding and sensors and how that might become applicable when dealing with range of flight sensors attached to the gripper.
I also took a few more tests of the gripper. Matt is implementing these raw data points in his theoretical zone of forces/moments in Matlab. He's basing the limits of this zone off of the outward forces in the z direction...might ask for clarification on his methods later on.
The 4mm hex shafts came in this afternoon. They were too big:( Will have to either order smaller sizes if possible, or sand down the sides. Though they really are too big and it would take a bit of shaving to attach with the motor.
Thursday, July 7th
This morning I finished putting together the test gripper that we are attaching to the force plate/mount. Building and supergluing is surprisingly relaxing. The adhesive took some maneuvering to get the correct tension in both wings. We also had to make sure there were clearly two points of contact when grasping the black test box. It should sort of wrap around nicely and hold at the edges but also be in contact at the inner most point by the two clear plastic tubes.
Testing: It took a few trials to set up the force plate and figure out both what gripper strength we wanted to test, and how that should match up with the graph. Basically we are latching the gripper on to the black box and then pulling apart in either the positive z direction (which is directly away from the length of the gripper), rotating free from the grasp and trying to keep the center of mass of the black box steady (which produces a positive moment about the x axis), and finally a horizontal pull which didn't quite work because the adhesive is too strong, but I pushed the gripper to what I felt was it's limit before stopping and testing again (positive y direction).
Then I coded a script to help decipher the data. We basically wanted to know the values of the forces and moments in the x, y and z direction at the peak data point for each trial. We separated each trial with a tap on the force sensor (negative x direction) which would indicate the start of a new trial and made testing much easier..I could do it all in one take.
Wednesday, July 6th
Matt has a new idea for testing his gripper. We're going with force plate as opposed to motion sensors. This way there will be a clear threshold of force and moment for which the gripper can withstand. I think the main issue Matt is noticing is that not only can the gripper experience normal force and rotational force separately, it can also experience both at the same time and he's not exactly sure of the dynamics behind that occurrence. This ($10,000) force plate can measure force in both the normal x and y direction as well as any moment produced by a body in contact with the plate. Pretty cool.
So today was spent CAD'ing and laser cutting a back plate/mount for the force plate and then rearranging the gripper to attach to this new plate. The gripper design isn't changing, other than the allowable degrees of freedom for this specific force plate experiment. The wings and the adhesive configuration are the same. I started rebuilding this portion of the gripper which involved tearing apart the old gripper and stealing bits and pieces to put on the new gripper. I'll finish that up tomorrow morning.
Matt went into some of the details of the physics behind this new testing which involves a convex optimization problem. Might have to look into this more, seems like a very cool topic.
Tuesday, July 5th
Today was a writeup day. I put together an instructional doc on the Trifilar-Pendulum for future undergraduate users. It's still a work in progress but most of the depth is included - if anything I could cut some stuff out.
I also finished up threadlocking the connector screws for the kangaroo demo. Tomorrow I'll try to find some scrap gussets and glue the base to the cross plates.
Also the 4mm brass hex shafts are ordered.
Friday, July 1st
Went and laser cut updated links for the kangaroo demo. Now the connector screws are flush with the top of the link and no spacers are technically needed. The plywood links do rub against each other with each cycle but for the demonstration it's not too big of an issue and regardless, the double walled links are a huge help with stability and robustness. I had to rethink screws for the crank connection to the driver shaft because the screws I was using didn't quite have enough surface area on the head thereby making it difficult to latch to the crank. So I switched to rounded pan head screws. It's funny how long it can take to find the right screw sometimes - it took me a few tries.
With the linkages assembled and the model looking fairly put together, the last thing was to solder the wires and connect the batteries, which I got from one of the old Roo's. I screwed the motor onto the cross base plate, closed the circuit and VualŠ! It ran with some minor issues, the first of which being if you let the linkage run for some time, the connector screws either unscrew completely or screw tighter together depending on the location of the connection and which side of the demo the link is on. Definitely going to need the threadlocker that Matt mentioned. When I kept the connector screws loose enough but not too loose and ran the demo things held together long enough to test the screw connections at the crank and motor shaft. Which brings me to the central issue of the design:
To be fair to the threaded sleeve design, I tried really cranking down on the shaft screws, ran the demo again and it seemed to work fairly well. However, the demo wasn't walking and therefore had no force exerted on the links. It would be interesting to see how a kangaroo design would fare under regular walking conditions with threadlocker applied at every screw connection. Essentially this defeats the purpose of the design as the goal was for it to be an easily constructible solution to a commonly troublesome problem.
I think we are going to revisit the hex shaft idea. Maybe with a different material choice.
Thursday, June 30th
This morning I finished up the cutting of the 4mm inner diameter sleeves so that they would fit nicely on either side of the motor. Used the Grizzly to cut pin holes through the sleeve. Turns out a slippery rounded surface doesnít bode well for drilling holes. Matt helped out suggesting to use the Dremel to flatten out the hole surface (because punching didnít suffice) and then drill. That worked very nicely. One note I would remember for next time is the diameter of the sleeve is compromised when the hole is drilled. I had to grind out the inside for a bit to get the sleeve to fit over the motor again. Not sure how to avoid.
Attaching the sleeve to the motor with the pin was simple. As Chris would say, I used the "hammer with brute forceĒ technique. All in all a productive machining day.
After lunch I looked over the moment of inertia calculations again as they seemed to be a little off. Turns out our method of calculating the moment of inertia of the triangular base plate was slightly off. Not so easy to find the moment of inertia of an equilateral triangle. Matt resorted to entering in weight values in SolidWorks. The error of a solid disk that we were testing reduced to about 5% with this new value. (We compared the experimental value with the theoretical moment of inertia equation for a disk).
I did try switching out and lengthening the string of the triangular platform contraption from 50 to 75cm. Thinner string would reduce the added mass as well as the possibility of effecting the oscillation. It turns out this thinner string, however, changed dimension under small amounts of tension, so Iím not exactly sure the length was constant.
Arul mentioned an idea for a more permanent/lasting solution to the moment of inertia measuring device involving steel cables as the string, and possibly steel cut triangular base plates, or if not steel plates, a stiffer solution to the current base plate situation. We could then attach a gyro to the bottom of the baseplate, string a cable up the wire and code a script (via Arduino?) to calculate oscillation time and thus moment of inertia. Seemed like an interesting option. Need to ask Mark his thoughts on this.
Wednesday, June 29th
Laser cut in the morning, and then attempted an assembly. I mostly worked through issues like what screws would work best to attach the linkages, should I use a washer and a bolt for the screw attachment to the threaded sleeve, and what's the best way to stabilize the model. I got both sleeve parts threaded and cut so the only thing left is to do is drill pin holes. Had to insert some spacers to align the four bar linkage correctly, but generally it looks pretty clean. It will be interesting to see how alignment of the two sides works with screw tightening - there might be some issues with things coming unscrewed if enough counter torque is applied.
Tuesday, June 28th
Mark discussed with me yesterday about possibly CAD'ing up basic linkages in Onshape and exporting them to a public file for future ME 112 students to access. Today the goal was to figure out some way to better attach the shaft of the Tomiya motors to the shaft of the Kangaroo (or future final projects), and then easily connect to the crank of the linkage.
We attempted introducing a hex shaft in the motor itself. This would eliminate the need for pin joints, or any sort of lengthening of the motor shaft as a hex shaft of your desired length could be ordered and cut. The hex shafts from a group from this past winter were ordered as a package with plastic adjustable timing belts. These hex shafts however were to small in diameter and the motor gears wouldn't mate correctly. A slightly larger diameter hex shaft most likely would have been successful, but McMaster doesn't sell hex shafts - ordering them would be a pain.
Instead Mark explored the idea of threading the inside of a 4mm inner diameter tubing that on one side, could easily slip on the end of the motor shaft (holed and pinned), and on the other screw the crank to the shaft via nuts and bolts.
Tomorrow I'll work on laser cutting cranks with indents for the cap of the screws to fit flush against the crank.
A concern that came up was how to properly drill holes in the tubing at the motor attachment and at the crank attachment, but with this new screw approach, two drill holes wouldn't be necessary so alignment is no longer an issue.
Monday, June 27th
Got started with Onshape today. Toyed around with their tutorials and practiced transfering solid works files to Onshape and vice versa. It seems like Onshape is capable of all the same major functions that Solidworks provides minus a few minor tricks that I learned through Solidworks tutorials during week 1. The one thing that is problematic is saving an Onshape file to Solidworks...the newly saved Solidworks file doesn't build your part the same way you built it Onshape. I made a simple disk with a circular pattern of holes cut out around the perimeter of the disk. I used the Onshape circular pattern to tool to set this up. As soon as I exported to Solidworks however, the reconstruction of the part was quite different. This could prove problematic if specific tools were selected to manage dimension adjustments and so on.
Friday, June 24th
More Solid Works practice today. I ran through a couple of examples and new tutorials on setting up equations to restrict specific dimensions based on base extrusion dimensions. Next week I think Matt and I will be getting into data analysis and more tests for the gripper.
Thursday, June 23rd
Discussed with Matt in the morning about specific mounting options and continued CAD'ing. The goal was to leave sliding room for the back mount in the event that testing required different mounting positions. For sliding room to be made possible, we decided on two bottom plates to screw into the air hockey base: one to attach the back mount, and one to leave room for the slidable screws. I CAD'd, laser cut and attached. It seemed to hold decently well. The test will be whether the gripper prototype can attach seamlessly.
In the afternoon we ran some tests of the working prototype with linear sliders over in the basement of Durand. Matt threw the round test object at the gripper and I recorded the trials specifying a fail or a success. Planning on analyzing data from these tests in the coming days.
Wednesday, June 22nd
In the morning I worked through assembly tutorials on Solid Works, familiarizing myself with typical techniques, tips, and strategies. Then Matt walked me over to the basement of Durand to introduce the motion sensor detection system for the smooth granite "air-hockey" surface where he tests and records the performance of the gripper. We went through the program setup and performed a couple of tests for practice.
Gripper prototype 2 needs a back mounting so I spent the rest of the day brainstorming ideas for the mount and CADing them in solid works. Will return tomorrow to finish this.
Tuesday, June 21st
Day two consisted mostly of lab inventory and clean up. It took most of the day.
In the afternoon I was able to finish up the calculation of the moment of inertia of the gripper.
The moment of inertia of an asymmetric object can be measured by suspending the object with string, introducing an angular displacement and measuring the period of oscillation of the object. Because Matt's gripper is fairly asymmetric, we instead constructed a suspended base plate to support the gripper. Three equally spaced strings support the base plate and attach to a top plate (also triangular) that we latched to a level table. Once the gripper was placed on the base plate, I gave the system a slight twist and let go, counting for ten full oscillations and recording the time. Given the weight of the gripper, radius of the triangular base plate, height of the suspension string as well as the mass and moment of inertia of the triangular base plate, the equation for the moment of inertia of the gripper is a simple calculation.
Monday, June 20th
Day one introductions. In the morning we disconnected and moved the adept robot outside with some much needed assistance. It was heavy. I discussed with Matt about his current project with a professor in the Aero-Astro Department and NASA involving adhesive robot grippers in the ISS. First task: measure the moment of inertia of a working gripper prototype strapped to a metal base which allows the gripper to act somewhat like an air hockey table for testing.