Hardware Modifications for Robotic Interaction USM Engineering Levi Chouinard - ME JC Westby-Gibson - EE Advisor: Dr. Carlos Lück 5/15/2009 In order for two different robotic manipulators to be able to perform tasks together then they need to have similar work spaces and end effectors. This project will cover the hardware modifications made to enable interaction between the Staubli (yellow) and Scara (gray) manipulators. Table of Contents Introduction/Objectives 3 Cage Disassembly 4 Construction of Aluminum Frame 5 Building the Table Top 7 Creating a gripper for the Scara 12 Making a Universal Connection for Pneumatics 14 Modifications to Carts 16 Making Pieces for Robots to Pick Up 17 Control Assemblies 18 Conclusion 24 Budget 25 Receipt for Hardware Purchased 26 2 Introduction/Objectives: The purpose of this project is to control two robotic manipulators from one PC. For example, a task might need to be completed that requires the use of both manipulators. The completion of this project will allow someone to control both the Staubli and Scara manipulators from one PC and perform tasks using the track that moves carts between the manipulators. There are two aspects to this project, software and hardware. This report will cover the hardware aspects of this project. If these two different robotic manipulators are going to be performing tasks together then some things need to be the same for each robot. The workspace for each manipulator should be the same and the grippers on the end effector of each manipulator should also be the same. The grippers for the two robots should be interchangeable. This will simplify things in the future. If something breaks, then a new piece can just be made if all parts are all the same between robots. You won’t have to worry about making slightly different parts for each robot. Making some drawings of all of the parts with dimensions will also be helpful in the future. The stops and sensors in front of each robot need to be wired into the I/O for the Scara’s controller. Then the robots will know when the carts are in front of them. It would also be helpful if the stops and sensors on the track are the same for each manipulator. Excess wiring in the controller that is not being used should also be removed. This will help clean things up and make working on the robot in the future easier. The Staubli manipulator already has pneumatics connected for actuating the gripper. Pneumatics for the Scara will need to be connected and the servos will need to be wired into the I/O so that the software will know where to access it. The servo for the pneumatics on the Scara should also be switched out. Currently, a two sided servo controls the pneumatics for the Scara. It requires calling one side to open the gripper, then calling that side again as well as the other side to close the gripper. Replacing the two sided servo with a one sided servo will make the programming easier. The one sided servo will always give air to one side of the gripper. Then only one side of the servo will have to be called to open and close the gripper instead of both sides. The amount of money spent to complete this project should also be kept to a minimum. So reusing the supplies we already have to keep costs low is important. Ideally, money will only be spent on supplies for the table top to be constructed. 3 Cage Disassembly: Disassembly of the safety cage surrounding the Scara manipulator was the first step in creating similar work environments for each manipulator. Numbered stickers were placed on each post and each piece of plexiglass. Then pictures were taken of the cage from all directions with the numbered stickers in place. This will allow for easier reassembly of the cage if needed in the future. The black grids were then all removed to allow easier access to all of the bolts holding the cage together. An allen wrench was used to loosen everything and then the aluminum posts were all removed. All of the aluminum bars we kept to make a frame for the table top. 4 Construction of Aluminum Frame: After the cage was disassembled, a frame needed to be constructed so that the table top could be bolted down. The frame was constructed only from pieces of the aluminum bars that made up the safety cage around the Scara. There were 4 posts bolted to the bottom section of the cage. The part the Scara sits on. These four posts were used as the base of our frame. The ends of these posts were already drilled and taped. So pieces just needed to be cut to size and then bolted together. The four bars coming up from the base are square, 1 inch by 1 inch, and all of the other bars are rectangular, 1 inch by 3 inches. Seven pieces of aluminum were modified to make up the frame. There are 4 bars coming out, labeled A in the picture above. The two A bars in front are 33 ½ inches long and the two in the back are 29 ½ inches long. The four A bars are connected to the bars labeled B above. The two B bars are 19 ¼ inches long and there is one on each side of the SCARA. Originally, the frame consisted of only six bars . There was significant flex in the frame, especially when pushing down at the end of the A bars. A seventh bar was added in the middle, 5 labeled C. This added some rigidity to the frame, and the table for the SCARA needed to be as stable as possible. Angle brackets from the safety cage were then bolted at the comers of the B and A bars; these added a little more rigidity to the frame. 6 Building the Table Top: After building a solid frame to mount the table top on, it was time to make a table top. Three sheets of plywood were purchased: two sheets of regular plywood ¾ of an inch thick and a third sheet of plywood with a finished oak surface that was also ¾ of an inch thick. The pieces of plywood were laid down with a layer of wood glue in-between each sheet. Then some cardboard was placed on top of the wood to protect it from the weight placed on top. A couple hundred pounds of weight was placed on top to get rid of the gaps between sheets. The wood was left to dry over the weekend. After letting the glue dry the table had to be cut to the size we wanted. Since full 48 inch by 96 inch sheets of plywood were used and the bigger the work area the better the table was cut to 36 inches by 90 inches. This length brought the edge of the table just about even with the track that goes between robots and gave us plenty of extra table space. Since the table wraps around the Scara manipulator, a section had to be cut out of the table so that it would fit. To help keep the table top in good condition, three layers of water based polyurethane was applied to the table top and the square piece that was cut out. The square piece needed to be kept to try and fill in the gap after fitting the table top around the SCARA. The easiest way to mount the piece that was cut out was to screw two rails onto the inside of the gap on the table top and cut two slots in the piece to allow it to slide in and out. 7 Two pieces of angle aluminum were cut to 15 ½ inches. Then 4 holes were drilled in the rails and counter sunk so that the rails could be mounted inside to gap in the table. Two slots were cut in the piece of wood to fit over the rails and using the milling machine in the wood lab the piece of wood was milled to allow it to fit over the stack of servos mounted behind the Scara. To keep the piece of wood from slipping out a hole was drilled into the end of each aluminum rail. Then two drywall screws were put into the bottom of the piece of wood. They can be tightened to keep it in place and loosened back out to remove. 8 The table was cut to size and fitted around the servos and wiring coming out of the back of the Scara; it just needed to be bolted to the frame. Four brass collars were used to bolt the table top to the frame. These collars are threaded on the outside so they can screw into the wood and are also threaded on the inside so a machine screw can be screwed into it. Four brackets were reused from the safety cage disassembly. They were the right size and had slotted holes to mount into the frame, this allows for some movement of the brackets vertically. Only the brass collars and some machine screws were purchased, the brackets that were used did not require any modification at all. To mount the table to the frame, four clamps were used to clamp the table top to the frame and keep it in place. The four brackets were then screwed into the aluminum bars so 9 that marks could be made on the bottom of the table to indicate where to put the brass collars. After the table was flipped over, four pilot holes were drilled and then the brass collars screwed into the bottom of the table. The table was flipped back over and then a machine screw went through the brackets into the brass collars to pull the table flat onto the frame. Since the box containing the power switches and teach pendant for the SCARA were mounted to the safety cage, they needed to be mounted somewhere new on the new frame. There were two holes in the back of the box and we just put two machine screws through and mounted the box underneath the table top. This location keeps the box out of the way, but it is still accessible if it does need to be used for something. Its only purpose currently is the on/off switch on the front and the emergency shut off, since the teach pendant has its own emergency shut off the box was mounted out of the way. Two machine screws were screwed into the aluminum bar right next to the box to hang the teach pendant from. 10 That completed everything for the new table top. The two robots now have similar work spaces. The only thing left to do was put some yellow and black tape around the outside edge of the table. 11 Creating a Gripper for the SCARA: There were two different grippers to choose from for the SCARA. One was exactly the same as the gripper for the Staubli (20mm pneumatic actuator), but it was slightly damaged, and the other was slightly smaller (10mm pneumatic actuator). The 20 mm actuator was on the Staubli when it hit the table a couple of year ago. When that happened, it bent the metal bar that slides in and out and has the plexiglass mounted to it to act as the robots hand. The bent piece was straightened without breaking. This allowed the Scara to have a gripper identical to the Staubli’s gripper. The 20mm actuator was already on a base plate of plexiglass. Only and adaptor plate, to connect the gripper to the end effector of the Scara, and the two gripper pieces that get connected to the end of the gripper had to be made. The Adaptor plate was made by cutting a piece of plexiglass the same size as the one already on the gripper. Then four holes were drilled into each corner so that the two pieces could be bolted together, the holes were also counter sunk so that the bolts would not stick out too far. Then four holes were drilled in the middle of the piece that lined up with the holes on the Scara’s end effector, these holes were already tapped. After the four inside holes were counter sunk, the flathead screws would be level so that there is no gap between pieces. Four nuts were also used between the adaptor plate and the end effector of the SCARA. This created about a ¼ of an inch gap for the air lines to go through. The air lines were run down the hole on the arm of the Scara. This keeps the air lines from tangling with anything the robot might be picking up, and there were no twisting issues with the lines when the end effector twisted. Two more pieces had to be made to go on the end of the gripper. These are the pieces that are attached to the actuator and will be picking things up. They were also made out of plexiglass and were made the same size as the Staubli’s gripper. The specs of the actuator were looked up online, but the center to center distances were not posted. So the center to center distances were measured using calipers. Then four holes were drilled in the end of the pieces. A smaller bit was used that would just allow the screws to go through and screw into the actuator. Then the holes were drilled out again, but not all of the way through, with a slightly bigger bit to allow the head of the screw something to stop against. 12 A SolidWorks drawing was also made for all of the gripper pieces. This will give dimensions of everything to anyone that works on this in the future. They could also use either the rapid prototyping machine or the CNC machine to make the pieces for them if they want to. When drilling out the holes for the pieces that screw onto the actuator it was hard to get them all to line up. Using the rapid prototyping machine would ensure that all of the dimensions from the SolidWorks drawing will be accurate. 13 Making a Universal Connection for Pneumatics: The new gripper for the Scara manipulator had really small fittings for the pneumatic connections. The line used on the Scara is much larger and is stiffer so that quick disconnects can be used. The black hose used for the Scara is too large to fit snugly on the gripper. And the clear hose used to connect to the gripper was too small to fit into the quick disconnects. An adaptor had to be made so that we could use our new gripper on the SCARA. The clear hose coming off of the gripper was glued into a bigger piece of plastic that would fit into the quick disconnects. Loctite plastic bonder was used to clue the hose into the plastic adaptor. The quick disconnects are threaded on one side and the hose plugs in on the other side. A piece of bigger tubing was used to screw the quick disconnects into and then the smaller black tubing was connected. All of the quick disconnects and extra tubing used was already in the lab, so no money was spent other than the plastic bonder. 14 The pneumatic lines for the Staubli were also glued into plastic adaptors. Then quick disconnects were also used. This enables the grippers to be switch from one manipulator to the other. 15 Modifications to Carts: The carts that go around the track are how the two robots will perform tasks together. Pieces of plexiglass will be placed on the carts by one robot and the other robot will pick up the piece when it gets to the other side of the track. Each cart had a post sticking out of it that needed to be removed; it may have gotten in the way when the robots were running. The posts were punched out of the carts so that there was a flat area for the robots to work with. 16 Making Pieces for robots to pick up: The robots now have similar work spaces and their grippers are also the same. Now they just need some objects to move around. The Staubli already had an object to move around and it was just two pieces of plexiglass screwed together. Four more of these were made since we have four carts, and then there could be one object on each of the four carts at a time. Originally, the four pieces were going to be made smaller so that they would fit into the little square that was already indented into each cart. This would make things harder for the programmers, smaller pieces and having to put the pieces in an exact spot complicates the programming slightly. The simple solution to this was to make the plexiglass objects the same size as the existing one for the Staubli. The Staubli and its existing piece had some stick on sand paper on both the gripper and the object to help with gripping the object during the tasks. When the sand paper wears down, the gripper has a hard time gripping when it runs at higher speeds. To help with this some gripping strips were purchased. They are made to go on stairs and are much stronger than sandpaper. These were cut into pieces and placed on both the grippers and the plexiglass pieces the grippers will be picking up. Also, some rubber stickers were placed on the bottom of each piece to try to keep them from sliding when the carts hit the stops in front of each robot. A SoldWorks drawing was also made of these pieces so that if more need to be made in the future there drawings with dimensions. And, as with the grippers, these pieces could be made with the rapid prototyping machine. 17 Control Assemblies: In order to allow for the interaction of two separate entities (robots), establishing control points through the Adept SIO boards was necessary. The depiction below shows a basic user flow diagram in which a single computer can control multiple robotic platforms as well as the interaction of the track stops to utilize the build trays between the Staubli and the Scara. This is the broad purpose of the project in creating similar work environments while utilizing a single control interface. Control System flow diagram 18 Adept binary IO control assembly The PC, or, interfacing tool, connects to the Scara control assemblies. The PC is linked to the SIO controller assembly through a serial patch cable. This signal is then processed by assigning certain ports, via the pc, to ports on the microcontroller assembly, or programmable IO. The values are processed as binary information and simply produce a voltage of 24 Volts, between 7 and 20 mA once fed to the programmable IO. The computer team handled the signal path from the PC end, while we determined the correct patch points on the terminal boards to establish proper servo actuation. 19 In order to locate and efficiently wire the SIO bus to the programmable IO, we first removed some of the existing and un-used wiring. Including a D50 programmable controller assembly and numerous patch and relay buses. These items have been retained, and can be put to use in future modifications as additional IO’s are required. The next step was to remove the existing safety stops. These were originally implemented as a safety measure to disable the Scara movement upon the opening of the cage doors. With the cage removed, and a physical safety barrier smartly observed via the caution tape on the table, these sensors were removed and jumpers installed between terminal board points: (42>44 & 41>43). This action effectively produces a “safety engaged” signal to the SIO and renders the system operable. Safety jumpers 20 Care should be observed in that the SIO bus will in fact disable the Scara operation without the serial patch connected between the SIO and the microcontroller/programmable IO. Terminal board points were located with the assistance of a professional who has experience with this particular system. The SIO board and the computer interface was established by the programming team, and due to a lack of existing documentation concerning the SIO cabinet in relation to pre-existing conditions, we were forced to resort to a little trial and error in the discovery of our specific locations. This action is only recommended with the assistance of above mentioned “Professional” (Josiah), and should be done with caution. The Scara and Staubli track stops were Located at this point in time. As well as the Scara interface for pneumatic actuation. Stops and Pneumatic Actuation points 21 The SIO to programmable board array employs “Opto-Isolated Circuitry”. This proves beneficial in that if one channel fails, i.e.: grounds, overdrives, or experiences any problem. Only that effected channel will fail. This allows the continued operation of all other parameters with the exception of the downed signal. As can be seen above, the signals, after being provided 24 Volts DC via relay, will then continue on to our pneumatic tree. When the PC provides the signal, it will follow its circuit path and operate the drive parameter we have determined. This allows the operability of the pneumatic actuators, hence, the grippers and the track stops. 22 The track stop for the Staubli was salvaged from a spare Scara assembly on premises. After being installed in a location convenient to the Staubli it was wired to our IO bus, and helps to complete the “Interactive” theme of our project. Utilizing the single PC control station, the track stops allow the trays to move between the two robots. This allows each to perform a pre-determined task, working in conjunction with one another. The interchangeable gripper modifications allow for each entity to be used for its strengths within its own operating environment. 23 Conclusion: All of the objectives that were outlined in our project proposal were met. The safety cage was disassembled and a table top was built. A gripper was created for the Scara that mimicked the gripper for the Staubli. The pneumatic connections were made for the Scara and control of the servos as well as the sensors and stops were wired so they could be accessed by the software. Each manipulator ended up with a similar work environment and they were able to complete tasks using the plexiglass pieces that were made. There is still room for improvement on the current system. Long term objectives should involve taking further advantage of the modification by adding redundancy to the established protocol allowing for operability in the event of Scara failure. At this point in time the Scara IO board controls all track and stop functions, something to be addressed in the future if possible. Having the track relying solely on one IO cluster is unreliable, and lacks redundancy, if, the Scara were to have IO issues all interaction principles would be lost and the integrity and functionality of the system seriously haltered. Further integration of gripper assemblies could prove useful. Perhaps integrating pressure sensitivity via MEMS technology would further the usability and flexibility of the two robots. Feed back from the gripper assemblies would allow for a controlled or scaled ratio of compression, expanding the sensitivity of the end effector. Utilizing motion sensing technology via MEMS accelerometers. This addition would allow for 3-dimensional awareness. Feed back provided could track the instantaneous position of the end effector, and possibly relate this information to an object in its operating plain which has not been designated by a predetermined position. Allowing for the real time movement of a target and the arm being able to locate it with comparative programming. Optical sensing. Would further implement the accelerometer concept by allowing the robot to track an object in space and continuously define its position. Further forwarding the robots usability and reducing the amount of user input required to interact. 24 Budget: Product sheets of plywood Brass collars 1.25 inche bolts .5 inch cap screws .5 inch button cap screws Loctite Plastic bonder Skid Strips Rubber Bumpers Quantity Unit Price Total Price 3 $125.96 25 $0.68 $17.22 8 $0.35 $2.80 16 $0.11 $1.81 16 $0.12 $1.89 1 $4.99 $5.24 1 $2.97 $3.11 1 $3.12 $3.28 Total Spent = $161.31 An attached sheet has the receipt for all of the machine screws and the brass collars purchased with specifications for each. 25