The robotic arm is also something coveted by the makers, for the fascination it exerts as the first, perhaps most significant, a step towards the construction of a humanoid robot.
The importance assumed in various sectors by this portion of robots makes it necessary to have, in schools and in research and development, skills, teaching and prototypical support to develop projects in the robotics sector. The arm that we propose in this article was designed precisely to take the first steps and experiment and develop robotic applications, clashing with issues such as motion control and related firmware; it is therefore aimed both at hobbyists and at technical schools, where it can become an indispensable teaching platform, and also to designers who need to prototype robotic applications, as well as develop and refine their software and firmware for managing more complex industrial automation systems..
Let us, therefore, explain better what the project consists of; it is composed of a mechanical structure in which the electric drives are integrated, as well as electronics that govern the latter to obtain the desired movements.
The arm is of articulated type (also called anthropomorphic) since all the joints are rotating, characterized by 4 degrees of freedom (basic rotation, shoulder movement, elbow, wrist rotation) which, together with the pincer on top, give a certain positioning and orientation ability for small objects.
Let’s start from the mechanical structure, which is the most important part because it is, in fact, the robotic arm; electronics is just the part that controls it. The arm has a structure made entirely of 3 and 5 mm thick laser-cut plexiglass parts and assembled by means of brass / ABS spacers, screws and nuts.
The arm has three joints for up and down movement (it is composed of an arm and a forearm to which a gripper is attached as the hand function) and can rotate on the horizontal plane thanks to a steel ring pressed to a circle of balls, in turn screwed to the base support of the whole; at this base the section containing the electronics is also fixed. The arm can rotate on the support base by 180 degrees and the fifth wheel joins the base of the arm to the support base. The arm and forearm length is 160 mm and the arm can extend in height for a maximum of 27 cm, which becomes 310 on the wrist (the joint on which the gripper rotates) and a good 400 mm considering also the gripper.
The base is large enough to support the extended arm, but if it has to lift heavy weights it must be fixed to the support surface; for this purpose, we have provided four holes for screwing it, for example, to a table, a workbench or a machine whose arm you want it to become part of. The gripper has 45 mm long concave jaws and toothed jaws, so as to facilitate the taking of objects of various kinds.
The arm is driven by two 13 kg/cm servos with metal gears: one controls the rotation of the first section and the second raises or lowers the forearm on the elbow joint. In correspondence with the latter, there is a rocker arm which, thanks to a connecting rod pivoted on the rotating base and to another pivoted on the clamp support, ensures that it remains horizontal regardless of how far it extends or retracts the arm.
The rotation of the arm is 180° and is controlled by a further 13 kg/cm servo with metal gears identical to the previous two; note that for kg/cm we mean the force exerted by the servomotor for a given length of the lever, considered at the end of the lever itself, therefore 13 kg/cm means that the servo exerts a force of 13 kg to one centimetre from the axis of its post, while at 2 cm the 13 kg halves (becoming 6.5) and so on. This is logical since the mechanical system consists of the servo shaft and the operating lever, a disadvantageous lever (power on the fulcrum and resistance at a certain distance).
The support base has a steel ring with one row of balls that allows the entire arm to rotate around its axis; the angle of rotation is determined by the maximum range angle of the pin of the servo used (in our case 180°). The use of a continuous rotation servomotor would allow the same rotation of the entire arm, but the existence of an external power supply cable connected to the control board in practice limits the range. The problem can be avoided by installing the power source (for example a battery) on the arm itself, which would eliminate said connection. In this case, however, there would be limits of autonomy.
The fifth wheel allows obtaining a smooth rotation with very low friction, allowing precise movements with the minimum effort of the servo concerned.
The gripper is mounted on a base (wrist) which is hinged on the forearm and can rotate 180 degrees using a 1.2 kg/cm miniature servo; the same type of servo is mounted in the drive that allows opening and closing of the jaws of the clamp, which can open up to hold objects 65 mm wide. The back of the arm is designed to house control boards such as Raspberry Pi and Arduino UNO, as well as suitable devices (electric vacuum pump and two-way solenoid valve) to create a pick and place system with a suction cup: an add-on of the robotic arm that we will describe in a future article.
From the tests carried out in the laboratory, the arm (with the base appropriately anchored to the support surface) has shown to be able to lift a maximum load of 250 g at the wrist level (not with the clamp), contrary to what would suggest the material used for the structure; in fact, although the plexiglass with reduced thickness is quite fragile and flexible, if every single element subjected to high stress is made to work “in coast” (i.e. crosswise) it reaches surprising degrees of resistance, even if its limits of mechanical stress are not comparable to those of metal. The servo controls have been chosen (at least three from 13 kg/cm) with metal gears to avoid the breaking of the teeth due to the high effort they undergo under conditions of maximum extension and load. The arm does not use ball bearings at the pivot points, as they would not be justified by the manageable load.
The jaws of the gripper are synchronized in movement with each other thanks to the teeth present at the point where they are pivoted. They are driven by a mini servo and a lever system that allows exerting a maximum pressure of about 160 ÷ 170 g (@ 5.5V) in closing.
THE ELECTRONIC CONTROL
Now let’s move on to the electronic part of the system, which, we specify, is an option and you can choose at your discretion: in the application described here, the arm control is entrusted to the Arduino UNO REV3 (or Fishino UNO) equipped with the Octopus shield. This shield, compatible with the Arduino boards and with our Fishino Uno, using a minimum of hardware resources allows you to have as many as 16 PWM outputs and 16 additional digital inputs/outputs. Not only that, it is possible to stack up to a maximum of 8 Octopus shields (but in our robotic arm one suffices and is used…) allowing to manage with Arduino and Fishino up to 128 digital I/O and 128 additional PWM outputs; all made completely transparent to the user through a specific library called Octopus, with some features that make it very easy to use.
The shield is used because the Arduino and compatible boards have a small number of available outputs, especially I/O to which the PWM can be assigned, which are essential for servo control. Now, it is true that an Arduino/Fishino UNO has six PWM outputs and allows the piloting of the same servo controls, but the I/Os they are associated with could be used for other applications, so it seemed right to dedicate the Octopus expansion shield that (taking advantage of the only I²C-Bus connection of Arduino) takes care of the servo controls only. In addition, Octopus does not just supply the servo control signals, it also supplies the 5V power supply with all the current that the 13 kg/cm servo controls require to operate. Without shield we would still have to wire to part mass and + 5V servo, or create a simple shield capable of supplying power to the servo, so, in the end it seemed convenient to adopt a board ready to control the servos and to provide to the power supply independently, through its own power supply.