A low cost 3D-printed robot joint torque sensor

Technological advances allow researchers to develop advanced arm robots and can safely work side by side with humans Therefore, a robot arm controller can be designed in such way that the robot arm can move along the desired trajectories and act upon external influences, in this last case, the torque sensor plays an important rule. Currently torque sensors are available in the market has a high price. In this work, an inexpensive robot joint torque sensor is presented. Most parts of this sensor are made using 3D printers. While the other components are easily can be found in the market and with a relatively low-costs. The development of this sensor is intended to facilitate the prototyping of the robot arm for educational and research purposes. The basic idea of the sensor mechanism is to convert torque into a force absorbed by a spring. Then, the encoder senses the direction and the value of the input torque. This torque sensor can be easily too customized. Thus this sensor can be tailored to the needs by replacing some parts such as encoder and spring. The mechanism of this sensor can also be adjusted with the actuator to be paired. Experiments have been conducted to verify the accuracy and the performance of the proposed torque sensor.


Introduction
Recently there are many applications of robots arm, such as assembler robot in the automotive factory.Not a few of them that demand the robot arm not only can move from one point to another desired point, but also must be able to avoid obstacles that block the tajectory of the robot arm itself..With these capabilities, the robot can minimize accidents.So robot can operated safely and not dangerous for the surrounding near the robot.In example the surgery robot, the robot must have the ability so as not to harm the patient's body [1].
To gain that capability, the robot arm must have multiple sensors contained in each of its joints.Such as position sensor, speed, and torque sensor.So that the robot arm can know the position, speed and torque given to the robot [2].But to make the robot sense external forces that caused by undesired contact with obstacle, torque sensor play important rule.
Torque sensor is the most desirable to make a compliant joint for robot arm [3].Using a torque sensor, the robot arm can detect the torque changes caused by unwanted contacts with the obstacle [4].So when the robot touch the obstacle, the robot using control can avoid further collison with the obstacle.
Currently there are various torque sensors with different detection methods.Such as torque sensor developed by Hong-Xia Zhang and their colleagues [5].They developed a torque sensor which is claimed to have a high sensitivity level.Or a non-contact torque sensor that developed by Kyungshik Chongdu Lee [6] by applying Magnetic Sensor Band, which they claim does not require calibration in its use.And many other torque sensor types.
But the torque sensor that available in the market usually too expensive, and some time do not meet with specification that we need.And also torque sensors that are developed by researchers, most are very difficult to make because it uses materials that are difficult to find.Therefore this paper present a low-cost torque sensor, that suitable for prototyping a robot arm with low-cost material.The design and the material that needed discussed in section 3, and the testing result is presented in the section 4.  As shown in Fig. 1, there is 3 main side of the sensor they are input side, flexible mechanism, and output side.The input side linked to the flexible mechanism and then the other end of flexible mechanism there is an output side linked.The basic concept from torque sensor is to measure the torsional deflection that happen in flexible mechanism caused by difference torque between the input side and output side.This torsional deflection also can caused difference angle between input and output side.This condition can be translated to

The torque sensor principle
Where θ1 is the angle change on input side, θ2 is angle change on output side, 1 denote the torque that given on input side, and 2 represent the given torque on output side From (1), if the given torque on output and input side are the same ( 2 = 1) the deflection does not occur between input and output angle Δθ = 0.It means there is no torque that given on the output side.If the torque given on output side greater than on the input side, it will make difference between angle on output side (θ2) and on the input side (θ1).Then it can be said when there is a difference of torque on the input and output (Δ ≠ 0), there is a difference of angle also between the output and the input (Δθ ≠ 0).This is implies that Δ are equivalent with Δθ.Thus from the angular position difference can be used to indicate the torque given to the output.

Torque sensor design
From the principle of torque sensor that explained in section 2, can be used as a reference to create a design of torque sensors.The design has been created using cad/cam software, so it has more accuracy on the dimension.

Flexible mechanism
The figure below is the design of the flexible mechanism As shown in the fig.2, this flexible mechanism consist of 3 part.In the top, there is the output shaft.In this section, will be connected to the robot arm.Next in the middle there is a moving part, this part is a flexible part.Beside being able to rotate as direction where the input rotate, this part also can move up and down.This up and down movement caused by the roller that roll in the v-shape track on bottom part.In this moving part also has been installed 3 spring to resist the movement.This spring is the key to how big the torque that can be measure.

Rotary encoder
Another important part of this sensor are rotary encoder.Rotary encoder use to detecting how much the rotational deformation which has occurred due to torque changes.Rotary encoder that used in this sensor is the incremental type with 2048 data per rotation.This type of rotary encoder is used because by using incremental type can be known the direction of rotation of the sensor.While the amount of data per round is used because if the more data the sensor will be more precise in reading the change of angle.If in one full rotation or 360 degrees there are 2048 data, then the level of accuracy of 1 data is 0.175 degrees.So any increase of 1 data on the rotary encoder, we can assume an angle change of 0.175 degrees.That's is sufficient enough to be used to detect the rotational deformations caused by torque changes.

Full assembly
In the fig.3. is the full assembly design from this sensor.The flexible mechanism are attached in the top and then there is a log rod that used as the rotational axis from flexible mechanism that coupled to the encoder part in the bottom.In the fig. 4 is the complete built of this sensor.All body of this sensor is made using 3d printer with PLA (Polylactid Acid) filament material.All parts are printed with 50% infill, 2mm thickness of upper and lower layers, and outer perimeter 2mm thick.So although the entire body is made of thermoplastic but very strong because of the settling printing is solid

Low-cost
This sensor is built using low cost materials.Not only the body is made of relatively cheap thermoplastics, but other constructions such as springs, main shafts, buffer shafts, and coupling to rotary encoder, all use materials that are very affordable and relatively easy to find in the market.for example, the central axis of this sensor uses M6 bolts commonly found in the market.Spring which is used as an inhibitor of movement of moving part using spring commonly used in 3D printer to adjust the level of heated.Then coupler to connect the center axis of rotation with rotary encoder using 6mm flexible coupler commonly found in the market as well.
These sensors are built using low-cost and parts that are commonly found in the target market in addition to saving manufacturing costs also aims if later required different torque specifications, or different sensor dimensions, it will be easier to modify the sensor without the need to create new.

Features
To facilitate its use, this sensor is designed to have some features.Such as this sensor has embedded microcontroller.Embedded microcontroller serves to facilitate the reading of data from the sensor.So users do not need to process raw data again from this sensor.Users only need to transmit data using i2c communications to request readings from sensors that have been processed inside embedded microcontroller.These data can be data in commonly used units, such as kgcm and nm.With these features the sensor will be very easy to operate.
In addition to data that has been processed earlier, this sensor can also transmit raw data ie data readings from the encoder.This raw data is intended if one day this sensor has reduced its precision level, then the user can recalibrate this sensor using the raw data.

Result and discussion
Testing of this sensor is done by giving the burden of a calibrated weigh that hangs on the tip of the arm along the 11 centimetre from the central point of the sensor mounted on the sensor output.The weighted weights used have varying masses, ranging from 200gr, 300gr, 500gr, 800gr, 1kg, 1.3kg, and 1.5kg.
Table 1 is the result from 10 times encoder read result from each mass load.From the table above can be seen that the results of encoder readings of 10 times the test per each load has the same relative value.Torque value in the table above is a calculation of the value of time and radius distance of the test arm.This value will make the benchmark for processing data from data encoder into torque data.The difference in the value of 1 or 2 points is considered to be within reasonable limits due to the high degree of sensitivity of the rotary encoder sensor, so that very small angular changes can be read.
Then from the reading of the encoder can be processed into data torque value with linearization method.Experiment result of data reading result of encoder value processing shown in table 2. From data processing result of encoder value become torque value above can be seen that from all result of reading have value relative according to result value calculation.Error value or difference of reading result with calculation still seen but very small.Can be seen from the value of error a very small average that is below 0.3%.The largest error value is found in the reading of small torque values.This is because the value of the readout of the encoder is very small, so that when the change 1-2 data will greatly affect the result of reading its torque value.

Conclusions
The manufacture of torque sensors with low-cost materials has been successfully done.Although only using low-cost material, but this sensor has a capability that is not inferior to the expensive torque sensors in the market.This sensor is able to read the value of torque pretty well.In addition, by using low-cost materials and materials that are widely available in the market, enabling these sensors to be tailored to their needs, such as adjusting the dimensions, how much the value of torque can be read, and others without having to create a new sensor.The value of the largest sensor readings is at torque reading of 0.21 nm, this is because when the sensor is given the torque the rotational deformation of the flexible mechanism is very small then the value provided by the rotary encoder is also very small so that when a change 1-2 data will have a big effect on the results its torque reading value.

Figure 1
Figure1shows the basic diagram of a torque sensor principle.