Upcoming Events: OHM 2013 and AFRICON 2013

Come July 31, I will be in the Netherlands giving a demonstration and lecture on RoboArm at the Observe, Hack and Make(OHM) 2013. OHM which holds once in four years is a gathering of technology enthusiasts, DIY specialists and much more. I believe it is a must for anyone interested in the Maker Culture. I am seriously looking forward to seeing more practical and DIY presentations and learning as much as I can.

Using RoboArm we also hope to stir discussion on sustainability and the development of low-cost robotics at OHM.

3822574312_3c8b683e33_o

Picture copied from https://ohm2013.org/site/

Later in the year precisely from the 9th to the 12th of September, I will be at the 11th edition of the IEEE AFRICON 2013 Conference in Mauritius. The theme for this year’s conference is “Sustainable Engineering for a Better Future”. I will be presenting a paper on the development of  RoboArm. I really look forward to interacting with other professionals, creating links and exchanging knowledge.

FPO                  IEEE
FPO
FPO

IEEE currently does a huge lot for the technological world as a whole. Specifically in the robotics field, I consider the IEEE Spectrum’s Robotics blog an authoritative, and often up to date, source of news and information. I am therefore grateful for the opportunity to present a paper at an IEEE conference.

AFRON Announces the Ultra Affordable Educational Robot Project Challenge

The African Robotics Network (AFRON), which organised the 2012 10 Dollar Robot Design Challenge ,for its 2013 Design Challenge is asking contestants to select any of the award winning entries from the 2012 Design Challenge, but with special emphasis on LilyBot (the winning entry), and come up with enhancements in the areas of hardware, software and teaching curriculum. There is also a special ‘Community Challenge’ which requires the building of any of the designs working with students and documenting the entire process.

Roboarm was my entry for the 2012 Design Challenge and emerged as the only African Winner, fourth in the Tethered Category. I look forward to people participating in this year’s competition. AFRON is dedicated to the pursuit of robotics on the continent and you can become a member today.

More details of the competition can be found on AFRON’s website.

Reflections on the Nigerian Robotics Scene

On Thursday the 20th of December 2012, I saw in the Science section of the Nigerian Guardian an article on how a group of medical researchers from the University of Pittsburgh succeeded in teaching a woman to control a robotic arm using only thoughts via her brain. Further details can be found here. This news of course had me excited as one can imagine the plethora of applications that such a successful breakthrough holds for robotics as a whole and for prosthetics specifically. In a text sent to my brother, I stated that the article read like magic mentioning Arthur C Clarke’s third law. One of course knows that by now the field of thought-controlled computing is no more new. Beautiful work by the likes of Ariel Garten for years has seen this field grow and now merging its possibilities with that of robotics brings mankind to the place where the idealistic  intentions of prosthetics( to replace a lost limb with a device or system  that functions as closely as possible to it) are becoming realities.

The question that one tends to ask after reading an article like this is “when will Nigeria or even Africa come to such places in robotics research and development?” As far as I know no ongoing African research project in robotics or even prosthetics draws as close in magnitude, significance and reach to this project. The African robotics scene is at best nascent. I was privileged recently to be present at a meeting held in the Department of Medical Rehabilitation of a University that prides itself as being one of Nigeria’s finest. The reason for the meeting was to discuss the development of a robotic arm as a prosthetic replacement for those patients who had lost limbs. It was a fruitful meeting that brimmed with possibilities. I however know that comparing  w hat we discussed that day to projects like the Pittsburgh Project,  would be tantamount to comparing  mensuration to calculus in mathematics- one is basic, the other is advanced.

Professor Caroline Wagner of Ohio State University at the ATPS Annual Conference 2012, held from November 18 to 22 in Addis Ababa Ethiopia, discussed the evolution and present day existence of a knowledge network and the fact that we as scientists and engineers need to be conscious of its existence and find ways of plugging into the network as well as syncing with it.  This is a view I understand and appreciate as one who is enthusiastic about technology and knowledge advancement. But questions arise . First among them is “how do we bring this to bear on Nigeria’s current state in robotics and by extension prosthetics?”  In thinking of this, three levels of required development come to mind. I will discuss these forthwith. However I want to as a prelude discuss knowledge and skills. F.E. Ogbimi in his brilliant book “Solution to Mass Unemployment in Nigeria” states that learning is the key to industrialization. He also shows that learning is a combination of both knowledge and skills. Both are indispensable. This I also agree with. It would therefore not be enough to have access to knowledge, we need skills. Another way to put it will be to say that beyond knowing about technology based on what others have written and said about it, there is the place for experiential knowledge- knowledge that only truly comes from having handled and manipulated this technology. This experiential knowledge equates to skill. Learning is incomplete if only one of these ingredients is present.

The first level of development is the basic level. This is the level on which I believe most Nigerian research projects are. This level as with other levels is unavoidable. Every society has to pass through this level before moving on to another. I however also believe that even for societies that have gone on to higher levels of development, there needs to exist a large portion of members who still constantly carry out research and projects at this level. Thus we find that even in advanced western countries, there are still secondary school students, hobbyists, and robotic enthusiasts who consistently work on DIY projects that of course do not necessarily rank high in sophistication. This however serves to ensure the passing on of that experiential knowledge as well as to give room for serendipity.  By serendipity I am referring to that discovery of something new that goes on to further strengthen and enhance higher levels. It is therefore easy to understand what was meant by one of the medical doctors present at the aforementioned meeting when he said that we need to develop certain medical equipment ourselves using locally available materials instead of procuring them from others countries. He emphasised that this would aid troubleshooting these equipment should they ever go faulty-you made them so you can fix them if they are broken.

The second level is the intermediate level. Projects that exist on this level indicate an improved understanding of the dynamics of the field of robotics. They exist on a higher pedestal compared to the basic projects.

Lastly, we have the advanced level. This level consists of projects such as Rodney Brooks’ Baxter and the NASA’s Robonaut series to mention a few.  In prosthetics, examples include Dean Kamen’s  Luke , the John Hopkin’s University’s  neutrally-controlled arm (some have called it the RP2009) and of course the Pittsburgh project. These projects are often front leaders in the various areas and are born out of intense collaborative efforts by field specialists including mechanical engineers, computer engineers, design engineers and biomedical consultants. Oftentimes these projects are sponsored by government agencies (DARPA and NASA for example) or high-level investors.

Now we return to my initial question: “when will Nigeria or even Africa come to the advanced level in robotics research and development?” I am not just asking this out of a misplaced sense of solidarity or patriotism. I believe that the purpose of learning and by extension technology is to improve the general condition of life of those who possess it. Nigeria NEEDS to develop and has to do it FAST. But we are slightly disadvantaged. We are behind and there is a lot of catching up to do. Yet one of the conclusions reached at the ATPS Annual Conference 2012 held from November 18 to 22 was on the need for Africa not just to catch-up but to be keen on leapfrogging the rest of the world where science and technology is concerned.  Can this be done? I believe the answer is yes. I also believe the way to start is found in Professor Wagner’s advice. WE NEED TO TAP INTO ALREADY AVAILABLE KNOWLEDGE NETWORKS. Put another way, do not spend valuable time trying to generate knowledge that is already available; spend time acquiring the required skills for handling that knowledge. So rather than see ourselves as being disadvantaged, perhaps we should see ourselves as favoured. We have a chance to stand on the shoulders of great researchers the world over via the emergent knowledge network and chart the quickest possible route from the basic to the advanced levels of robotic development.

I have written primarily with Nigeria as my background. I would like to hear what holds in you country. Please feel free to drop your comments.

So What does Our Future Hold?

This week I am sharing the link to an article The Consequences of Machine Intelligence written by Rice University professor Moshe Vardi and previously published in the The Atlantic Monthly.

Professor Vardi explores the ever-increasing rate of Machine Development viz-a-viz its potential to reduce human jobs as well as  transform not only our economies but our entire form of life.

The issues raised here are pertinent and must be considered.

Also click here to see a transcript of Moshe Vardi in conversation with Steve Cherry of IEEE

A LOCALLY SOURCED ROBOTIC ARM

1.1 Preamble

The robot can be defined as a machine that, based on a preset programming, can make intelligent decisions and perform tasks with or without close supervision (Adebola 2012). This paper presents details of the robotic arm developed in a final year project at the Obafemi Awolowo University. Please note the project is non-copyrighted.

The robot was developed to be used for educational purposes and to be made from locally available materials. The robotic arm is a five degree of freedom robot with four of its joints (joint at gripper excluded) capable of 360o motion. The robot framework is made of transparent Perspex while the motors used were gotten from a toy car and from old television antennas.

1.2 Basic Mechanics of the Robot

 As previously stated, the robot is a five degree of freedom robot. It has four revolute joints and one prismatic joint located at the gripper. Figure 1.1 shows a free body diagram of the robot arm, its links, weights and joints using the Denavit-Hartenberg (DH) Convention as well as an adapted schematic. Upon calculation of torque and kinematics, various results were obtained.

Image

Image

Figure 1.1: A diagram showing the lengths and weights of the experimental robot arm

Torque about Joint 1,

τ1= ((L1W1)/2) + L1W2 + (L1+ (L2/2))W3 + (L1+L2)W4 + (L1+L2+ (L3/2))W5 + (L1+L2+L3)W6    ….(1.1)

Torque about Joint 2,

τ2= ((L2W3)/2) + L2W4 + (L2+ (L3/2))W5 + (L2+L3)W6                         …………………….    (1.2)

Torque about Joint 3,

τ3= ((L3W5)/2) + L3W6                                                                            …………………….     (1.3)

The location of the central point of the end effector (gripper) of the robotic arm using forward kinematics is given by 1.4 while its jaw positions are given by 1.5.

Image

Image

Equations 1.6, 1.7 and 1.8 together make up the joint configuration of the robotic arm to locate the gripper at a particular point in space.

Image

Image

1.3 Electronics of the Robot

As actuator for each of the joints of the robot, electric motors were stripped from old television antennas and from toys. More about this is said in section 1.5. The key components of the robot’s electronic set-up are:

  1. Silicon Diodes (1N4000)
  2. Resistors-4.7kΩ
  3. Relays
  4. A Bridge Rectifier
  5. Transistors
  6. Industrial controller(IPQ77)
  7. 12V 3 Anode Transformer
  8. Capacitors
  9. Light Dependent Resistors (LDRs) (these form the centre-point for the robot control)

The power supply to the electronic circuit and thus to the entire robot is made up of a 240V 500mA 12 V 3 anode transformer, two 1000μF electrolytic capacitors and a bridge rectifier. This DC voltage is then converted into the AC required by each of the stripped television antenna motors using four 2-Pole 12 Volts relays. Four 5W 100Ω resistors (high wattage) were used to reduce the current flowing into the relays while two 56Ω resistors connected in parallel were used for limiting the current to the gripper. The nucleus of the electronic circuit is made up of three IPQ77 (Each IPQ77 could handle two of the motors), ten TIP41 and five TIP42 (each motor is controlled by two TIP41 and one TIP42). Plate 1.1 shows the completed electronic circuit.

Between the electronic circuit and the computer software interface exists a set-up which eradicates the need for a USB port or serial port set-up. The light dependent resistor (LDR) is a special kind of resistor whose resistance drops appreciably when it is exposed to light. The higher the intensity of light focused on the LDR, the lower its resistance. This resistor was used as a medium of sending instructions from the computer to the robot arm via the electronic circuit. Ten LDRs were mounted on a strip of vero-board and connected via wires to the electronic circuit. Two LDRs each control a robot joint. Apart from the LDRs controlling the gripper, for each set of two LDRs, the lower LDR constantly receives no light(or a zero in binary parlance) while the top LDR when it detects a white light sends a signal into the circuit thus beginning the movement. Once this white light disappears, the signal is cut stopping movement. Plate 1.2 shows the strip of vero-board containing the LDRs.

Image

Plate 1.1:  A diagram showing the completed electronic circuit.

 Image

Plate 1.2: A diagram showing the LDRs assembled on a vero-board

1.4 Computing

The software used to control the robotic arm was written using the Visual Studio C Sharp(C#) platform. The software interface basically consists of a status bar, five control boxes each of which corresponds to an individual motor of the robot and contains buttons for its control, and a black pane at the right end of the screen. The veroboard containing the LDRs is attached to this side of the screen on this black pane. When a button is clicked in any control box, a corresponding white box flashes and this signal is picked up by a particular LDR and goes directly into the electronic circuit as stated above. Appendix A shows the written code. Figure 1.2 shows the interface.

Image

Figure 1.2: A diagram showing the software interface

1.5 Materials Selection

Because this robot was built to be used for educational purposes, it was believed that much was to be gained by having a transparent frame. As such a transparent form of plastic (such as those used in making PET bottles) was considered versus Perspex (known as Poly (methyl 2-methylpropenoate). Aluminium was also considered though it was not transparent. Eventually Perspex was chosen and forms the entire framework of the robot. .

1.6 Cost Reduction and Sustainability

In order to reduce cost, it was necessary to look for local approximate equivalents for electric motors that would otherwise have needed to be imported. DC motors from old television antennas and from children toys were stripped, tested and suitable ones were used.  Apart from the gripper joint for which a DC motor from a toy was used, for every other joint DC motors from old television antennas were used. Plate 1.3 shows an array of some of the motors considered for the robotic arm. The second motor is the motor selected for the gripper while the third motor is an example of the television antenna motors chosen for all the other joints.

Image

Plate 1.3: A diagram showing some of the motors considered for the robot arm.

2.1 Educational Applications and Possible Resources

This robot is to be built from scratch by the students. It will be especially challenging for students within the late primary school and secondary school gap. From learning to accurately calculate required torque based on selected dimensions to accurately fitting the motors to the links, cut from Perspex, using thin metal brackets and screws, to soldering electronic components on a vero-board in required order to accurately implementing the provided software and then setting up the entire robotic arm system; students are introduce to mechanics, electronics and a little computing. Also because the robotic arm is to be built using motors sourced locally by themselves, the students are taught from an early age to begin to consider local alternatives to foreign technology. Also as they view the good use to which old parts, that would otherwise have been disposed of, are put, they are subtly introduced to recycling.

3.1 List of Parts

The table 1.1 shows the various components of the robotic arm and its electronic circuit as well as the quantities used. Other details such as where the components could be procured, their availability and of course cost are provided. This cost is given in Naira. As shown, converting the total to Dollars using a conversion rate of 1 Dollar = 158 Naira we have a total cost of 50 Dollars.

Table 1.1: A table showing details concerning the components of the robot.

Image

4. 1 Other Tools and Equipment Used

Tools and equipment needed to construct the robot are shown in table 1.2. Costs are displayed in Naira. As shown, converting the total to Dollars using a conversion rate of 1 Dollar = 158 Naira we have a total cost of 9 Dollars. Datasheets are also needed for both the IPQ77 controllers and the TIP41 and TIP42 transistors.

Table 1.2: A table showing tools and equipment needed to construct the robot and their costs

Image

5.1 Dimensions for the Robot

The dimensions of the robot are as follows:

Thickness of Perspex = 3mm = 0.3 cm

Density of Perspex = 1.20g/cm3

General width of links = 5cm.

Length of link 1, L1= 14cm

Length of link 2, L2 = 12.5cm

Length of link 3, L3 = 11.5cm,

Volume of link 1, V1 = 21cm3,

Volume of link 2, V3= 18.75cm3,

Volume of link 3, V5 = 17.25cm3

6.1 Step-By-Step Instructions for Creating the Robotic Arm

Robotic Arm Frame

  1. Get a suitable platform preferably of wood upon which both the robot and its electronic circuit will sit.
  2. Sit the base motor on the platform and use metal brackets and screws to attach it firmly to the platform.
  3. Cut a square shape of approximately 14 cm by 14 cm out of the Perspex. This will serve as the base.
  4. Make a hole just big enough to allow the tip of the shaft of the base motor to pass through at the centre of the base. Pass just the tip of the base motor through this hole. Use the soldering iron to make two parallel lines, about 1.5 cm in length with a distance of about 3cm between them, also at the centre of the base.  Through these holes, pass a strip of metal bracket. Use screws to attach the ends of the metal bracket to the top of the base motor thus attaching the base to the base motor.
  5. Choose a side of the centre of the base where it will be ideal to locate the shoulder motor. Again use the soldering iron to make two parallel lines, this time about 1 cm in length with the distance between the, just slightly more than the diameter of the bottom of the shoulder motor. Place the shoulder motor on its side in between the two lines. Through these holes, pass a strip of metal bracket. Use screws to attach the ends of the metal bracket firmly at the top of the base. This should achieve a snug fit between the shoulder motor and the base.
  6. Cut a rectangle shape of approximate dimensions 14 cm by 5cm. This will serve as link 1. At one edge of this shape, make a hole just big enough to allow the shaft of the shoulder motor to pass through. At both sides of this hole, make parallel lines again, this time of lengths 1cm each. Pass the shaft of the shoulder motor through the hole and use screws and a metal bracket to attach it as before.
  7. At the other end of link 1 make a hole just big enough to allow the shaft of the elbow motor to pass through. Pass as much of the shaft of elbow motor as possible through it. Use a metal bracket and screw to attach the elbow motor to this end of link 1.  It is not necessary to make parallel lines since this metal bracket does not pass through the link 1; instead the metal bracket spans its entire width and is to be secured firmly behind the elbow motor. Ensure that the elbow motor is located on the opposite side from where the shoulder motor is located.
  8. Cut another rectangle shape of approximate dimensions 12.5 cm by 5cm. This will serve as link 2. At one edge of this shape, make a hole just big enough to allow the tip of the shaft of the elbow motor to pass through. Pass just the tip of the elbow motor through this hole. At both sides of this hole, make parallel lines again, this time of lengths 1cm each.Through these holes, pass a strip of metal bracket. Use screws to attach the ends of the metal bracket to the top of the elbow motor thus attaching the link 2 to the elbow motor.
  9. Repeat g above only this time it is for link 2 and the wrist motor. In this case, the wrist motor is located on the same side on link 2 as the elbow motor is located on link 1.
  10.  Cut another rectangle shape of approximate dimensions 11.5 cm by 5cm. This will serve as link 3. At one edge of this shape, make a hole just big enough to allow the tip of the shaft of the wrist motor to pass through. Pass just the tip of the wrist motor through this hole. At both sides of this hole, make parallel lines again, this time of lengths 1cm each. Through these holes, pass a strip of metal bracket. Use screws to attach the ends of the metal bracket to the top of the wrist motor thus attaching the link 3 to the wrist motor.
  11. Cut out of the Perspex the various parts that will make up the gripper and assemble them using screws. Ensure that a space is left for where the gripper motor will be inserted.
  12. Attach the gripper motor to the other end of link 3 using screws and making holes as required.
  13. Attach the moving shaft of the gripper motor to the driving gear in the gripper. Ensure you have as snug a fit as possible.
    Electronic Circuit
    NOTE: It is advisable to first test your circuit on a breadboard before moving to the vero-board. Also ensure that you build the circuit in a step-by-step fashion testing every step of the way. This will reduce possible errors, making it easier to troubleshoot.
  14. Set up the power supply connecting the bridge rectifier and capacitors to ensure the supply is properly rectified and filtered.
  15. Set up the IPQ77 controller as prescribed in its datasheet including the resistors needed.
  16. Connect the TIP41 and TIP42 transistors. Use a set of two TIP41 and one TIP42 for each motor. Two sets will be connected to one IPQ77 each. It is best practice to use colour-coding when connecting your wires, having one separate colour per motor. Also connect the necessary resistors.
  17. Connect the relays alongside the high wattage resistors. Also connect the 56Ω resistors.
  18. Cut a strip of vero-board of dimensions roughly 11.8cm by 2.2cm. Mount ten LDRs centred in a straight line with a space of about 3mm in between them and above and below the array. Connect wires coming from the built circuit to the LDRs bearing the colour-coding in mind.
  19. Put the built circuit into a designated container leaving gaps/slits for both the wires connected to the motors and also those connected to the LDRs to pass through.
  20. Connect each of the motors to the electronic circuit using their respective wires.

7.1 Software

As previously stated, the software is given in Appendix A.

8.1 Pictures of the Robot

References

Adebola S.O.M (2012), ‘Design of an Improvised Robot Arm System’, Unpublished B.Sc thesis, Department of Mechanical Engineering, Obafemi Awolowo University, Nigeria.

Akinwale O.B. (2010), ‘Development of a Robust Ilab Platform For Conducting Robotic Arm Experiments’, Unpublished M.Sc thesis, Department of Electronic and Electrical Engineering, Obafemi Awolowo University, Nigeria, pp 72-77

APPENDIX A: CODE FOR SOFTWARE INTERFACE (USING C#)

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using Microsoft.VisualBasic.PowerPacks;

namespace WindowsFormsApplication3

{

public partial class Form1 : Form

{

public static int numblank = 0;

public static bool toggle = true;

string jointStatus;

public static RectangleShape Rec;

public int blink;

public Form1()

{

InitializeComponent();

}

private void Form1_Load(object sender, EventArgs e)

{

Rec = whitePhotoBox1;

timer1.Start();

}

private void timer1_Tick(object sender, EventArgs e)

{

if (Rec != null)

{

if (numblank > 0 && toggle)

{

Rec.Visible = true;

toggle = false;

–numblank;

}

else if (numblank == 0 && !toggle)

{

Rec.Visible = true;

}

else

{

Rec.Visible = false;

toggle = true;

}

}

else

{

}

}

private void timer3_Tick(object sender, EventArgs e)

{

if (blink == 0)

{

label1.Visible = !label1.Visible;

}

else

{

label1.Visible = true;

}

}

private void baseMove_Click(object sender, EventArgs e)

{

blink = 0;

timer1.Start();

Rec = whitePhotoBox2;

numblank = 2;

whitePhotoBox11.Visible = false;

button8.BackColor = Color.Chartreuse;

button13.BackColor = SystemColors.ButtonFace; // changing base stop color

button12.BackColor = SystemColors.ButtonFace; // changing shoulder stop color

button14.BackColor = SystemColors.ButtonFace;// changing elbow stop color

button15.BackColor = SystemColors.ButtonFace;// changing wrist stop color

button11.BackColor = SystemColors.ButtonFace; // changing gripper stop color

rectangleShape1.FillColor = Color.Red;

label1.BackColor = Color.Red;

jointStatus = ” The Base is moving”;

label1.Text = jointStatus;

}

private void baseStop_Click(object sender, EventArgs e)

{

blink = 1;

timer1.Stop();

whitePhotoBox11.Visible = true;

whitePhotoBox2.Visible = false;

whitePhotoBox11.BackColor = Color.Red;

button13.BackColor = Color.Red;

button8.BackColor = SystemColors.ButtonFace;

rectangleShape1.FillColor = Color.Chartreuse;

label1.BackColor = Color.Chartreuse;

jointStatus = ” Movement Stopped”;

label1.Text = jointStatus;

}

private void shoulderMove_Click(object sender, EventArgs e)

{

numblank = 2;

timer1.Start();

blink = 0;

Rec = whitePhotoBox4;

whitePhotoBox11.Visible = false;

button3.BackColor = Color.Chartreuse;

button12.BackColor = SystemColors.ButtonFace;// changing shoulder stop color

button13.BackColor = SystemColors.ButtonFace;// changing base stop color

button14.BackColor = SystemColors.ButtonFace;// changing elbow stop color

button15.BackColor = SystemColors.ButtonFace;// changing wrist stop color

button11.BackColor = SystemColors.ButtonFace; // changing gripper stop color

rectangleShape1.FillColor = Color.Red;

label1.BackColor = Color.Red;

jointStatus = ” The Shoulder is moving”;

label1.Text = jointStatus;

}

private void shoulderStop_Click(object sender, EventArgs e)

{

blink = 1;

timer1.Stop();

whitePhotoBox11.Visible = true;

whitePhotoBox4.Visible = false;

whitePhotoBox11.BackColor = Color.Red;

button12.BackColor = Color.Red;

button3.BackColor = SystemColors.ButtonFace;

rectangleShape1.FillColor = Color.Chartreuse;

label1.BackColor = Color.Chartreuse;

jointStatus = ” Movement Stopped”;

label1.Text = jointStatus;

}

private void elbowMove_Click(object sender, EventArgs e)

{

numblank = 2;

timer1.Start();

blink = 0;

Rec = whitePhotoBox6;

whitePhotoBox11.Visible = false;

button7.BackColor = Color.Chartreuse;

button14.BackColor = SystemColors.ButtonFace;// changing elbow stop color

button13.BackColor = SystemColors.ButtonFace;// changing base stop color

button12.BackColor = SystemColors.ButtonFace; // changing shoulder stop color

button15.BackColor = SystemColors.ButtonFace;// changing wrist stop color

button11.BackColor = SystemColors.ButtonFace; // changing gripper stop color

rectangleShape1.FillColor = Color.Red;

label1.BackColor = Color.Red;

jointStatus = ” The Elbow is moving”;

label1.Text = jointStatus;

}

private void elbowStop_Click(object sender, EventArgs e)

{

blink = 1;

timer1.Stop();

whitePhotoBox11.Visible = true;

whitePhotoBox6.Visible = false;

whitePhotoBox11.BackColor = Color.Red;

button14.BackColor = Color.Red;

button7.BackColor = SystemColors.ButtonFace;

rectangleShape1.FillColor = Color.Chartreuse;

label1.BackColor = Color.Chartreuse;

jointStatus = ” Movement Stopped”;

label1.Text = jointStatus;

}

private void wristMove_Click(object sender, EventArgs e)

{

numblank = 2;

blink = 0;

timer1.Start();

Rec = whitePhotoBox8;

whitePhotoBox11.Visible = false;

button5.BackColor = Color.Chartreuse;

button15.BackColor = SystemColors.ButtonFace;// changing wrist stop color

button13.BackColor = SystemColors.ButtonFace;// changing base stop color

button12.BackColor = SystemColors.ButtonFace; // changing shoulder stop color

button14.BackColor = SystemColors.ButtonFace;// changing elbow stop color

button11.BackColor = SystemColors.ButtonFace; // changing gripper stop color

rectangleShape1.FillColor = Color.Red;

label1.BackColor = Color.Red;

jointStatus = ” The Wrist is moving”;

label1.Text = jointStatus;

}

private void wristStop_Click(object sender, EventArgs e)

{

blink = 1;

timer1.Stop();

whitePhotoBox11.Visible = true;

whitePhotoBox8.Visible = false;

whitePhotoBox11.BackColor = Color.Red;

button15.BackColor = Color.Red;

button5.BackColor = SystemColors.ButtonFace;

rectangleShape1.FillColor = Color.Chartreuse;

label1.BackColor = Color.Chartreuse;

jointStatus = ” Movement Stopped”;

label1.Text = jointStatus;

}

private void gripperExpand_Click(object sender, EventArgs e)

{

blink = 0;

whitePhotoBox9.Visible = true;

whitePhotoBox11.Visible = false;

button9.BackColor = Color.Chartreuse;

button11.BackColor = SystemColors.ButtonFace; // changing gripper stop color

button13.BackColor = SystemColors.ButtonFace;// changing base stop color

button12.BackColor = SystemColors.ButtonFace; // changing shoulder stop color

button14.BackColor = SystemColors.ButtonFace;// changing elbow stop color

button15.BackColor = SystemColors.ButtonFace;// changing wrist stop color

rectangleShape1.FillColor = Color.Red;

label1.BackColor = Color.Red;

jointStatus = ” The Gripper is expanding”;

label1.Text = jointStatus;

}

private void gripperClose_Click(object sender, EventArgs e)

{

blink = 0;

whitePhotoBox10.Visible = true;

whitePhotoBox11.Visible = false;

button10.BackColor = Color.Chartreuse;

button11.BackColor = SystemColors.ButtonFace; // changing gripper stop color

button13.BackColor = SystemColors.ButtonFace;// changing base stop color

button12.BackColor = SystemColors.ButtonFace; // changing shoulder stop color

button14.BackColor = SystemColors.ButtonFace;// changing elbow stop color

button15.BackColor = SystemColors.ButtonFace;// changing wrist stop color

rectangleShape1.FillColor = Color.Red;

label1.BackColor = Color.Red;

jointStatus = ” The Gripper is closing”;

label1.Text = jointStatus;

}

private void gripperStop_Click(object sender, EventArgs e)

{

blink = 1;

whitePhotoBox11.Visible = true;

whitePhotoBox9.Visible = false;

whitePhotoBox10.Visible = false;

whitePhotoBox11.BackColor = Color.Red;

button11.BackColor = Color.Red;

button9.BackColor = SystemColors.ButtonFace;

button10.BackColor = SystemColors.ButtonFace;

rectangleShape1.FillColor = Color.Chartreuse;

label1.BackColor = Color.Chartreuse;

jointStatus = ” Movement Stopped”;

label1.Text = jointStatus;

}

}

}

APPENDIX B: INSTRUCTIONS AND PRECAUTIONS TO NOTE WHEN USING THE ROBOTIC ARM

The following must be noted:

  1. All motors, apart from the gripper motor, are capable of 360 degrees motion but to save the wires and to avoid tensioning, it is advised to use a range of 90 degrees for the base and to also watch other joints.
  2. The screen contrast must be set at maximum light in order to ensure that signal is adequately picked by the photo-resistors.
  3. When the robot is not in use, the circuit MUST be disconnected from power to prevent light interference.
  4. In attaching the veroboard strip to the computer screen, paper type can be used but it is advisable to use the type of black adhesive tape used in industrial wiring. This is less sticky but it reduces the risk of light interference.
  5. Caution should be taken in operating the shoulder due to torque availability. The user should try as much as possible to reduce demand on the shoulder.
  6. To prevent breakage, the wrist should first be moved out of the way before moving the elbow.
  7. The gripper should not be allowed to operate too long to avoid gear breakage or misalignment.
  8. Do not press the EXPAND button and CLOSE button for the gripper at the same time. Always use the STOP button to end one motion before starting the other.

Hello world!

Robotics is a wide field consisting of or, better put, birthed out of the Material sciences, Mechanical Engineering, Electrical Engineering and Computer engineering with more fields being explored daily.

I seek with this blog to explore the possibilities, developments and news in this field that pique my interests.

Times will be when I will look beyond robotics itself and at the wider body of technology and engineering.

This is because I am enthusiastic about technology and its possibilities.

Through it all, this blog would be a haven of delightful items.

I hope you find things that will catch your attention and cause you to come again and again.

We will constantly evolve and get better.

Please come along.