The factory camera for the Raspberry Pi comes with a tiny lens that has a Field of View of about 67 degrees diagonal(53 degrees Horizontal and 41 degrees Vertical). As any analemma enthusiast will tell you, this FOV just barely meets the minimum FOV needed (I will post details on this soon) to achieve a full figure-of-eight image with enough room on the sides for a nice foreground image. So the only way I can get my Pi to capture a full analemma is by changing the factory lens.
Luckily this is done quite easily. I followed the excellent instructions posted here to remove my factory lens and fitted an M12 (12mm) mounting bracket from a old broken webcam in place of the factory lens. Unfortunately the mounting screws did not line up with the holes provided on the Pi’s camera PCB and so I just glued it into place. This is what the result looks like…
An XY plotter is a machine that can control a plotting instrument (such as a pen or a cutting tool like a blade or a laser) over two axes in a accurate, precise manner. Computer Numerical Control (CNC) machines are very accurate XY plotters than can be used for anything from decorating cakes to cutting steel plates into very precise shapes and sizes.
I wanted to make a drawing robot that would be able to draw the contours of a human face, so I decided to experiment with some very basic stepper motors and a cheap toy plotter that I bought on the Internet. Unfortunately, the plotter itself is so poorly manufactured that it is useless as a drawing tool, but the whole project gave me much insight into the steps needed to design a build a proper computer controlled plotting machine.
Power for the 4 high torque DC motors comes from a single 1.3Ah 12 V battery. The second battery (the taller one) is a 4.5 Ah 6V battery that will power the micro-controller unit (an Arduino Mega) and the six servos that control the robotic arm. Once basic testing operations are completed, I will add two more servos for a pan-tilt sensor mechanism (wireless camera/ sonar ranger/ IR sensor etc) that will also draw power from this 6V battery.
After successfully completing this superb online course from Stanford University on Machine Learning, I am now quite confident with designing and programming neural networks. Also, playing around with the incredibly powerful openCV library has got me experimenting with computer vision. If I were to try and put these two powerful tools together, and the most obvious outcome would be intelligent, vision capable robots.
But before I get into any of the complex programming needed to create these robots, I first need to build myself a proper ERP, an Experimental Robotic Platform. So this weekend, I spent most of my time working on an ERP chassis……….
This project brings together the DIY Haptic Control Glove and the Robotic Hand that I made earlier. The cost of this entire project was less than 25 US$. For details on how they were built and how they work, just follow the link for each.
This video demostrates the complete project.
1. Calibration of the glove
2. Control of the fingers
3. Touching finger tips of little and index fingers to demonstrate
4. Performing a simple task
5. Detail of servo movements
To test the working of a robot hand like the one I built earlier, I needed a haptic control glove that would encode the flexing of my fingers into electrical signals. These signals would be interpreted by a microcontroller (like the ATMEGA328 on the Arduino platform) and cause the servo motors on the robot hand to mimic my finger movements inside the glove. Electronic puppetry.
The word robot comes from the Polish word ‘robota’ meaning forced labour. In Russia, robota means just work, employment or operation. Funny, I’ve spent nearly two years in Russia and have probably spoken this word many many times, never really realising that it is also the root word for robot!
Anyway, this post is a photo-essay/tutorial on how I built my new robotic hand.
DC Motors can be made to turn either clockwise or counter-clockwise by changing the polarity of the voltage applied to their terminals. The torque that is generated at the output shaft can be scaled up or scaled down by using a gear train.
What is torque? In simple words, torque is a quantity that decribes the ‘strength’ of a motor. A motor torque of 50 kgcm means that lifting a 50kg weight at 1 cm could be achieved with that motor. By the law of moments, lifting 50 kg at a distance of 1 cm is equivalent to ……
Lifting 500 kg at 0.1 cm
OR Lifting 5 kg at 10 cm
OR Lifting 0.5 kg at 100 cm
In most motors, like the one shown below, the gear train scales up the torque of the motor by using a reduction gearing that outputs a much higher torque (albeit at the cost of a much reduced output RPM).
Geared DC Motor: This one generates 120kg-cm torque at 3.5 RPM
Now that I have a working DIY flex sensor, the next step is to try and improve the degree of motion control I can implement. While my goal is to understand inverse kinematics a little better, I thought it best to experiment a little more with haptic control. Continue reading →