The advancements and quick developments in the technology has made it possible to create a platform for the invention of new as well as great things. One of the concept that is being used lately to improve the technology is the concept of robotics. This project focuses on the implementation of inverse kinematics for a 2-DOF (two degrees of freedom) robot arm using an Arduino microcontroller. The inverse kinematics equations are derived and programmed to calculate the joint angles required to position the robot arm\'s end effector in a desired location within its workspace. The Arduino board is used to interface with the robot arm\'s actuators and control the movement of the arm. The Arduino programming aspect of the project involves developing a control algorithm that accepts target coordinates for the end effector and computes the necessary joint angles using inverse kinematics equations. Servo motors are manipulated through the Arduino Servo library to achieve the calculated angles, enabling the arm to reach the desired positions accurately and efficiently. To enhance the functionality and safety of the 2-DOF robotic arm, the project includes features such as calibration routines, testing procedures, and safety measures to avoid collisions and servo load. The project aims to demonstrate the application of inverse kinematics in controlling robotic manipulators for precise positioning tasks.
Introduction
I. INTRODUCTION
A 2-degree-of-freedom (2-DOF) robotic arm is a versatile mechanical system with two rotational joints, allowing it to move in two dimensions. Inverse kinematics is a fundamental concept in robotics that involves calculating the joint angles necessary to position the end-effector of the robotic arm at a desired point in space. When implemented using an Arduino microcontroller, inverse kinematics enables precise control of the robotic arm's movement for various applications. The integration of inverse kinematics with a 2-DOF robotic arm and Arduino offers numerous possibilities for automation, experimentation, and learning. This combination empowers enthusiasts, students, and even professionals to explore the principles of robotics, programming, and kinematics in a hands-on manner. By understanding and implementing inverse kinematics, one can control the robotic arm's behavior and achieve specific tasks accurately By successfully implementing inverse kinematics for the 2-DOF robot arm, we can create a system capable of accurately positioning the end-effector in a specified location. This opens up possibilities for various applications, such as pick-and-place operations, drawing, writing, or even more complex tasks that involve interacting with objects in the robot's environment. Throughout this project, we will delve into the necessary concepts, from the fundamental principles of inverse kinematics to the practical implementation using an Arduino microcontroller. We will explore the code, wiring, and necessary components to bring the 2-DOF robot arm to life, enabling it to perform precise movements based on the desired end-effector position.
II. METHODOLOGY
A. Existing System
The existing system for pesticide spraying in agriculture typically relies on manual labor or conventional tractor-mounted spraying systems. In many agricultural settings, pesticide spraying is carried out manually by farmworkers. This approach is labor-intensive, time-consuming, and can lead to inconsistent application rates. It also exposes workers to potentially harmful chemicals, posing health risks. While the manual labor try to cover more ground, they lack precision in targeting specific areas, resulting in overuse of pesticides and potential environmental harm to themselves as well as the farms.
B. Proposed System
The 2-DOF robotic arm based on inverse kinematics employs a combination of servo motors and components for robust monitoring. Initially Arduino software is installed in our computer.
After the installation process, the desired code is written in high level language set the coordinates of the desired position of the pesticide. The laptop connected to the Arduino board via a jack wire. The code is dumped into the Arduino .we connect the servomotors, Arduino and L298N accordingly and input coordinates will be provides in the code.
Give the desired X, Y positions.
Microcontroller (Arduino UNO): Acts as the central processing unit, acquiring data and processing it.
Connected to the 2DOF robot arm.
End Effector to desired X, Y position.
Water pump connected to spray the pesticides.
The following figure 1 shows the block diagram of the proposed system:
IV. WORKING
Initially install the Arduino IDE software in the PC or a laptop and write the desired code in a high-level language. Set the coordinates (X and Y positions) of the robotic arms connected to the servomotors to the desired position where the pesticides need to be sprayed. Then setup the hardware as follows: Connect two servomotor wires to the breadboard and Arduino UNO board. Servo motor consists of three connecting wires, they are brown - ground, red - supply, and orange - control. Connect ground and supply wires of servo motor to the breadboard, and control wire to the Arduino UNO board (Pin no - ~3). Repeat the same step for the second servo motor, by connecting the control wire to the Arduino UNO board (Pin no - ~5). Connect the Vin and ground pins of the Arduino UNO board to the breadboard. Power jack of the Arduino UNO is connected to the 12V adaptor and another power supply i.e., an USB cable is connected to the laptop. Consider the L298N Motor driver, connect the Vin and ground pins of the driver motor to the breadboard, and connect the input to the Arduino UNO board (Pin No – A0). Then connect the outputs from the driver motor to the water pump. The water pump is submerged in a tank of pesticides. After the hardware setup is done, now connect the laptop to the Arduino UNO board and dump the code into the board. Setup the coordinates in the code and run the program. Now the robotic arms move to the desired position that has been set and the pesticides will be sprayed at the affected location of the plant, instead of spraying all over the plant, which causes no environmental harm and also reduces the harm for the workers those are working in the farm or a nursery or a garden.
V. RESULTS
In this project, Robotics and Embedded Systems plays an important role. Two robotic arms, two servomotors, Arduino UNO board and L298N Motor Driver are the components used to make the connections of the required circuit. In order to spray pesticides at a particular place, we are supposed to give the X and Y coordinates to the system, the embedded system process the input and calculate the angles according to the input coordinates then the processed output is given to the servomotors which has a robotic arm attached to it. Now, the pesticides is sprayed at the target.
The mathematical formula used for calculating the angles are:
(Note: The length of the robotic arm considered is a1 = a2 = 20cm)
Now, let us analyze the different cases:
Case 1: Let X=20, Y=25
The calculated shoulder angle is 40.5(degree), the elbow angle is 60.5(degree) and the end effector angle from the reference is 110(degree). It means the Coordinates are in the free space of the robotic arm. Initially the shoulder angle is calculated and then the elbow angle. The pesticides will only be sprayed at the target i.e., at end effector angle.
Case 2: Let X=25, Y= 30
The calculated shoulder angle is 55(degree), the elbow angle is 75(degree) and the end effector angle from the reference is 130(degree). Since, the coordinates given are not in the blind spot. The robotic arm moves to the target position and spray the pesticides.
Case 3: Let X=35,Y=45
No angle is calculated because the input coordinates are given in the blind spot. The robotic arm cannot be positioned in the target coordinates.
In this way, the robotic arm calculates the angles and move its end effector to the target position and spray the pesticides at the target. This reduces the effect of health Hazards.
Conclusion
The accuracy and precision of the arm\'s movement are analyzed and discussed. The accuracy and precision of the robot arm\'s movement are discussed, highlighting any discrepancies between the desired and achieved end-effector positions. Factors affecting accuracy, such as sensor noise or mechanical limitations, are addressed. The limitations of the implemented system are discussed, including any constraints imposed by the Arduino microcontroller, mechanical design, or computational limitations. Potential sources of errors are identified and analyzed. Suggestions for potential improvements to the system are provided, considering both hardware and software aspects.
References
[1] Hirose, S., Chu, R. “Development of a Lightweight Torque Limiting M-Drive Actuator for HyperRedundant Manipulator Float Arm”, ICRA 1999, pp.2831-2836
[2] Neo Ee Sian; Yokoi, K.; Kajita, S.; Kanehiro, F.; Tanie, K., \"Whole body teleoperation of a humanoid robot – development of a simple master device using joysticks,\" Intelligent Robots and Systems, 2002. IEEE/RSJ International Conference on , vol.3, no., pp.2569,2574 vol.3, 2002 doi: 10.1109/IRDS.2002.1041657
[3] Lim, S., Lee, K., & Kwon, D. (2003). Human friendly interfaces of robotic manipulator control system for handicapped persons. Proceedings of the 2003 IEEE/ASME …, (Aim), 435–440. Retrieved from http://robot.kaist.ac.kr/paper/article.php?n=53
[4] Assad, C., Wolf, M., Stoica, A., Theodoridis, T., & Glette, K. (2013). BioSleeve: A natural EMG-based interface for HRI. 2013 8th ACM/IEEE International Conference on Human-Robot Interaction (HRI), 69– 70. doi:10.1109/HRI.2013.6483505
[5] R. M¨uller-Cajar, R. Mukundan, ‘Triangulation: A New Algorithm for Inverse Kinematics’, Proceedings of Image and Vision Computing New Zealand 2007, pp. 181– 186, Hamilton, New Zealand, December 2007
[6] K. C. Gupta and K. Kazerounian, “Improved numerical solutions of inverse kinematics of robots,” in Proceedings of the 1985 IEEE International Conference on Robotics and Automation, vol. 2, March 1985, pp. 743–748
[7] Pedro Neto, J. Norberto Pires & A. Paulo Moreira, Accelerometer-based control of an industrial robotic arm. Robot and Human Interactive Communication.2009, ROMAN 2009
[8] Amin, A. T. M., Rahim, A. H. A. & Low, C. Y. (2014). Adaptive controller algorithm for 2- DOF humanoid robot arm. Procedia Technology, 15, 765–774. https://doi.org/10.1016/j.protcy.2014.09.049
[9] Bonkovic, M., Stipanicev, D. & Stula, M. (1999). Control of robot arm approach by Fuzzy Pattern comparison technique. Springer, Berlin, Heidelberg, 246 - 252 https://doi.org/10.1007/3-540-48774-3_29
[10] Branch, I. (2012). A new method for position control of a 2-DOF robot arm using neuro – fuzzy controller. Indian Journal of Science and Technology, 5(3), 2253– 2257.
[11] Craig, J. J. (2005). Introduction to Robotics. IEEE Expert, (3rd ed., Vol. 1). Pearson Education International. https://doi.org/10.1109/MEX.1986.4306961
[12] David, I & Robles, G. (2012). PID control dynamics of a robotic arm manipulator with two degrees of freedom. Control de Processor Y Robotica