We are the T-1000 Judgement day group of the automation technology class in UCN denmark. We were tasked to make a case involving a robot arm using ax12a motors and an arbotix controller. We also were required to implement a pixy camera for added functionality.
In this Instructable we will highlight how you can also create this machine, and if you explore the code and documentation you could definitely learn something from this if you are interested in this.
Step 1: Parts and Requirements
For this build you need:
- PhantomX Pincher Robot Arm Kit Mark II
- Pixy CMUcam5 w/ Mounting Hardware ASM-PIXY-CAM
- Robot Geek Large Workbench ASM-WRKBL
- 2x RobotGeek Relay ASM-RG-RELAY
- 2x RobotGeek Pushbutton ASM-RG-PUSHBUTTON
- RobotGeek 300mm 3-pin Sensor Cables (included with sensors)
- Bag of M3x10 F/F Standoffs(at least 20)
- M3x6 Bolts (at least 40)
You can obtain these at http://www.trossenrobotics.com/
- Conveyor (either direct control or via frequency converter. We used an Allen-Bradley PowerFlex40)
- 24vdc power or what is required to activate or control your conveyor
- some cabling to connect the conveyor to the relays and the relays to the control power
- Brightly coloured or colour coded objects.
Step 2: Pre Assembly
First, the required software and hardware needs to be installed. In this link several guides are given on how to install your pincher arm robot in the correct order:
You will also need to install the required software and libraries for the pixy camera. A full on explanation on how to achieve this is given here.
Once you installed the arm and the camera and have it all up and running, it is time to continue to this project.
Step 3: Main Assembly
And now it is time to assemble all the parts onto the large workbench plate.
You use the provided bolts and standoffs to mount all the components to the main plate.
The location is not terribly important, but it good to maintain some neatness and clearance so you can add in the cables later, of which the sensor cables will fit perfectly in the slots on the plate.
For ease of use and modification we took the robotix-m controller out of its position on the arm and onto the plate. It has more clearance there and with the short cables we are able to connect the pixy camera and all the others to the controller.
Step 4: Cabling
Here is shown how to cable up all the components so it can perform its tasks.
The robotix m controller has a multitude of pins available to which you can plug in all kinds of devices.
Check the image notes for further information.
Step 5: Getting the Program
Included are 2 zipfiles, you will need to open these with the arduino software you installed while following the pincher arm assembly guide.
There are 2 programs included here, one is a testing file that allows you to relax, tense up and measure the current motor positions. This is very useful for making it do poses and then saving the settings so you can use this in the other program.
The other program is the main program. And unless the parts used are exactly the same will not work properly until the poses have been set for your own setup.
Step 6: Reading and Saving the Poses
After you run the positionreader program, click on the magnification icon in the top right to open up the serial monitor.
Here you will have multiple options where you can test and check.
You can relax the servos, and then move it by hand to put it in the position you want. Then you torque the servos again and then you can measure the positions of the motors.Th
The data for all the poses are included in the poses.h file, which is inside of the robotarm folder.
The poses are as follows:
Home = the default position, straight up by default
ObjectOver = arm hovering above the object before it grabs
Object = arm around the object, can grab in this position
Clearance = an additional pose it will go to as to avoid any obstructions in the way
DumpOver = hovering above the dumping spot
Dump = At dumping spot, will release in this position
Step 7: Using Pixy and Testing Pixy
If you checked out the wiki on the pixy camera, you might have noticed This link.
Using this you can make it see your object that you want to filter out.
The object that you want to filter out should be set as signature 1,
The objects that you want to ignore should be set as signature 2 or more.
Once you set pixymon to the default program. You can once again run positionreader and use the conveyor camera test function. This will run the conveyor until the camera detects an object. Once it detects an object it will stop.
The position where it stops will also be the point where the conveyor stops for the main program. So you can use that point as the point where your arm will pick up the object. You will have to set your poses to take this into account.
Step 8: As Good As Done!
Once you have set up all the poses with the stopping position in mind. And have set up the pixy camera to work with the system you are ready to go!
You can now run the main program and use it with your coloured objects. Some of the poses might need tweaking at first, but it should not take too long.
Step 9: Working in Action
Step 10: Credits
Gerwin van Wanrooij