Authors: Zhang Tao, Wang Yan
Paper Content: (Follow our public account and reply Robot Paper to download the full version)
The robotic arm, as an important component of contemporary robotics, plays a crucial role in various fields of today’s society. As a product of the intersection of mathematics, mechanical engineering, electrical and electronic engineering, control engineering, computer science, and cognitive science, the design of the robotic arm control system embodies both engineering significance and theoretical implications. Therefore, the robotic arm can serve as a teaching platform to demonstrate the practical applications of related disciplines while effectively supplementing theoretical knowledge.
As one of the most popular open-source hardware platforms globally, Arduino is an excellent hardware open platform that represents a trend in open-source hardware. Its simple open approach allows designers to focus more on creative design and implementation, enabling quicker project development, saving time costs, and shortening development cycles.
Based on the above two points, this design is determined to be a “Six Degrees of Freedom Robotic Arm Based on Arduino Platform”.
The technical parameters of the robotic arm mainly include:
(1) Number of Axes: Two axes are required to reach any point in a plane, while three axes are needed to reach any point in space. To fully control the orientation of the arm’s end (i.e., the wrist), three additional axes (pitch, yaw, and roll) are required;
(2) Degrees of Freedom: Typically, the number of degrees of freedom is the same as the number of axes;
(3) Workspace: The set of areas in space that the robot can reach;
(4) Kinematics: In kinematics, the study usually focuses on the position, velocity, acceleration, and higher-order derivatives of position variables concerning time or other variables. The subject of kinematics of robotic arms is the geometric and temporal characteristics of motion;
(5) Load Capacity: The maximum weight that the robotic arm can carry under the requirements of other performance specifications;
(6) Speed: This parameter can be defined by the angular speed or linear speed of each axis or by a composite speed, meaning the end effector speed;
(7) Acceleration: This is a limiting factor because, during short-distance movements or complex paths that require frequent changes in direction, the robotic arm may not reach its maximum speed;
(8) Accuracy: The degree of precision with which the robotic arm reaches a designated position.
(9) Repeatability: The degree of precision with which the robotic arm can reach the same position if the action is repeated multiple times.
This design is based on the already designed ABB series robotic arm model, adding power modules, control modules, drive modules, and other related modules, and programming to complete a controllable robotic arm system that can perform specified actions or tasks, effectively simulating real industrial robotic arm tasks such as spraying and welding. The design adopts a dual power supply—lithium battery and mains power, with each degree of freedom operating independently without interference during movement. Currently, control can be achieved through a matrix keyboard, infrared, Bluetooth, and PS2 controller, where the matrix keyboard and infrared remote control use the Arduino development board as the signal processing module, while Bluetooth and PS2 controller use the servo driver board as the signal processing module. Users can add relevant modules to the system based on their needs for functional expansion. The design process mainly involves the following tasks:
First, the hardware system is designed, and the hardware parts are assembled. The robotic arm components are assembled into the main body of the robotic arm. Acrylic plates are used as the base of the robotic arm system, which serves not only as an assembly box for the hardware circuit but also as a counterweight. The base contains all hardware circuit components except for the servo, including the Arduino as the control signal receiver and command output system, using servos and a servo driver board as the drive and command receiving system, with communication between the Arduino circuit board and the servo driver board via serial port. Lithium batteries and switched power supplies are used as the power supply system, achieving dual power switching. Since the system requires stable 5V power supply, a voltage regulator is added to ensure stable power supply. On this basis, control through keyboard, infrared, Bluetooth, and PS2 controller is achieved. A sound-light alarm system is added to remind users upon completion of actions; this feature is only effective with the matrix keyboard and infrared remote control. In this design, all joints except for the elbow joint use direct servo drive, which has high requirements for servo performance (such as torque). Except for the wrist, which uses two small servos, all other joints use high-torque metal servos for driving.
Secondly, based on the standard types of robotic arm configurations, the structural type of this design’s robotic arm is determined, and relevant technical parameters of the robotic arm are analyzed, including: components, wrist structure, degrees of freedom, and range of motion of each joint. A standard D-H parameter table for this design’s robotic arm is established, and the forward kinematic matrix equation and inverse kinematic analytical solution (equations) are derived, along with an analysis of the multiple solutions that may exist for the robotic arm. Using Matlab and the Robotics toolbox, a 3D model of the robotic arm is established, and verification and simulation analysis of the forward kinematic matrix equation, inverse kinematic analytical solution (equations), and multiple solutions are conducted. Based on the forward kinematic matrix equation, the workspace of the robotic arm is calculated and drawn, including the three-dimensional simulation of the robotic arm’s workspace, projections onto the XOY, XOZ, and YOZ planes.
Next, a simple analysis of the most basic cubic polynomial interpolation method for trajectory planning in joint space is conducted, and simulation analysis of the joint space trajectory planning method is performed using Matlab. A detailed analysis of the trajectory planning of the robotic arm in Cartesian space is presented, proposing solutions for linear and circular paths for the robotic arm model in this design: space linear trajectory interpolation method and space circular trajectory interpolation method, introducing the Cartesian space planning algorithm that combines Matlab and the Robotics toolbox, and conducting simulation verification. On this basis, several schemes for writing uppercase letters and simple Chinese characters as well as drawing patterns and other specified task actions are designed and simulated tests are conducted.
Then, software program design is carried out. In this design, the action group information received by the servo driver board is executed based on the received information. If the control uses the matrix keyboard and infrared remote control, the action group information is issued by the Arduino board based on the detected key values. If the control uses Bluetooth and PS2 controller, the action group information is sent from the mobile phone and PS2 controller. The program design includes the design of the Arduino control program code and the action instruction code design of the servo driver board. In the control program code design, the program control flow of Arduino and the components of the program are analyzed. Due to the library system of Arduino, the code writing achieves object-oriented programming, simplifying the code content and shortening the writing steps and time. The action instruction code for the servo driver board is written in C language using Matlab, further saving code writing time. Relevant action codes are corrected and modified based on the actual action situation of the robotic arm to optimize the demonstration actions of the robotic arm. In this design, a total of 12 action tasks are edited, including: letters “A”, “M”, “NCIST”, Chinese characters “Wang Yan”, the combination of Chinese characters and letters “Little P”, patterns “Circle 1”, “Circle 2”, “Ellipse”, “Pentagram”, and two action tasks “Pouring Water” and “Waving Stick”, as well as restoring the initial state. The designed actions can be used to test and demonstrate the spatial linear motion, spatial circular motion, and the combination of both motions of the robotic arm.
Finally, based on the situation of the robotic arm completing specified action instructions, the actual action results are compared with the expected results, and the system is summarized and analyzed, along with suggestions for improvement.
From the above, it can be seen that the design process is divided into five parts: theoretical derivation, software simulation, hardware design, software design, and experimental verification summary, where theoretical derivation and software simulation serve as the foundation for later practical actions. Establishing the 3D model and motion model simulation of the robotic arm is an indispensable part of the design process. The relevant toolboxes of Matlab are very convenient tools that play a significant role in the progress of the design, and only a small portion of the functions in the toolbox were used in this design; more functions await further application in practice in the future.
Since the design uses servo drive, this design does not analyze or detail the dynamics, speed, acceleration, and other parameters of the robotic arm. However, these are parameters that need to be considered and calculated in the control analysis of the robotic arm. Due to hardware control limitations, real-time control of individual joints via keyboard, infrared remote control, or PS2 controller is currently not achievable, so this design’s robotic arm still has limitations and requires further improvement.
Overall, the experimental results indicate that the robotic arm system can complete specified action tasks and effectively demonstrate related actions. However, due to the limitations of the robotic arm’s mechanical structure and drive devices, the precision of the robotic arm is significantly constrained. Although code corrections can improve the situation, they still cannot fundamentally resolve the issue. Therefore, this design’s robotic arm serves well for actions and tasks with low precision requirements. In terms of load, due to the torque of the wrist servo and the weight of the end effector, the system cannot operate effectively on objects exceeding 150g. While it can barely complete tasks for objects between 150g and 200g, it significantly impacts both the servo itself and the quality of task completion. Objects exceeding 200g cannot be manipulated. Additionally, the shaking problem of the robotic arm has not been fundamentally resolved.
This design process involves the application and combination of knowledge from multiple areas, including hardware circuit design and connection, program flow analysis and compilation, robotic arm structural modeling and kinematic analysis, etc. As mentioned earlier, the design and control of the robotic arm are products of the intersection of multiple disciplines.
Through design and physical operation, it can be seen that this system has a good teaching demonstration effect, combining theoretical knowledge with practical operations, and can be adapted for future different research or projects by appropriately adding sensors for functional expansion. It also provides reference for future robotic arm teaching and experiments.
Design Objectives and Content
The robotic arm designed in this project executes actions and tasks according to the designed program and can be controlled via keyboard, infrared, Bluetooth, and PS2. The following tasks also need to be completed in the design:
(1) Determine the standard DH parameter table for the robotic arm, derive the forward kinematic matrix equation and inverse kinematic solution (equations), and analyze the multiple solutions;
(2) Familiarize with the functions and formats of the main functions in the Robotics toolbox, establish a 3D model of the robotic arm using Matlab, and plot its workspace range;
(3) Conduct trajectory planning, design the robotic arm’s linear and circular trajectory schemes, and conduct simulation verification;
(4) Based on task (3), write programs to complete the writing of letters and Chinese characters, pour water from a specified location, and perform waving actions;
(5) Propose suggestions or improvement plans based on experimental results.
Robotic Arm Structure Analysis
The robotic arm, as a complete system, consists of the following components:
The robotic arm skeleton: This is the main part of the robotic arm, composed of links, movable joints, and other structural components. Without other components, the robotic arm skeleton alone does not constitute a robotic arm.
The wrist: The wrist structure is used to determine the posture of the end effector.
The end effector: This is the component connected to the last joint of the robotic arm, used to connect with other mechanisms or perform other specified tasks.
The actuator: The actuator is the “muscle” of the robotic arm. The controller transmits control signals to the actuator, which then controls the movement of the robotic arm’s joints and links. Common actuators include servo motors, stepper motors, cylinders, and hydraulic cylinders, as well as some new types of actuators for specific occasions.
The sensor: Sensors are used to collect information about the internal state of the robotic arm or to communicate with the external environment. Sensors integrated into the robot send information about each joint and link to the controller, allowing it to determine the current configuration posture of the robotic arm. The robotic arm is often equipped with many external sensors, such as vision systems, tactile sensors, and language synthesizers, allowing it to communicate with the outside world.
The controller: The robotic arm controller is similar to the human cerebellum. Although the cerebellum’s function is not as powerful as that of the human brain, it controls the body’s movements. The robotic arm controller receives data from the computer (the brain of the system), controls the actions of the actuators, and coordinates the robotic arm’s movements with feedback from the sensors.
The processor: The brain of the robotic arm, used to calculate the joint movements of the robotic arm, determining the data each joint should move to reach the predetermined speed and position, and supervises the coordination of actions between the controller and sensors. In some systems, the controller and processor are integrated into one unit, while in others, they are independent.
The software: The software for the robotic arm can be broadly divided into three parts. The first part is the operating system, used to operate the processor; the second part is the robotic arm software, which calculates the necessary actions for each joint based on the robotic arm’s motion equations and transmits the information to the controller. The third part consists of application-oriented subroutine collections and programs developed specifically for the robotic arm or external devices for specific tasks.
Degrees of Freedom of the Robotic Arm
Degrees of freedom are an important indicator of the robotic arm. Before introducing the degrees of freedom of the robotic arm, let’s first discuss the degrees of freedom of a rigid body.
A rigid body is related to the orthogonal set of coordinates at any point. The number of independent motions that a rigid body can perform is called the number of degrees of freedom (DOF, Degree Of Freedom). The possible movements of an object include:
Three translational motions along the coordinate axes ox, oy, and oz (T1, T2, T3).
Three rotational motions around the coordinate axes ox, oy, and oz (R1, R2, R3).
This means that a rigid body can perform orientation and movement relative to the coordinate system using three translational and three rotational motions.
The degrees of freedom of a robotic arm represent the number of independent position variables within the robotic arm, which can also be considered as the number of independent movements of the end effector relative to the reference coordinate system. For a typical industrial robotic arm or similar type, since the operating arm is mostly an open-chain motion, and each joint position is defined by an independent variable, the number of joints in the robotic arm equals the number of degrees of freedom.
For robotic arm systems, the end effector is never considered as a degree of freedom. All robotic arms have this additional function, which seems similar to a degree of freedom, but its action is not counted as a degree of freedom of the robotic arm.
Configurations of the Robotic Arm
Robotic arms have various types of joints, including linear, rotational, and spherical. However, most robotic arms have linear or rotational joints. Sliding joints are linear and do not include rotational structures, mainly used in frame configurations, cylindrical configurations, or similar joint configurations. Rotational joints are rotational and are mostly driven by motors.
The configuration of robotic arms is usually determined by their coordinate systems. Sliding joints are represented by P, rotational joints by R, and spherical joints by S. The configuration of the robotic arm is described by a series of P, R, and S. For example, a robot with three sliding joints and three rotational joints is represented as 3P3R. Below are commonly used configurations for robotic arm positioning.
Rectangular/Cartesian coordinate type (3P): This type of robotic arm consists of three linear joints, which are used to determine the position of the end effector, usually also equipped with additional rotational joints to determine the posture of the end effector.
Cylindrical coordinate type (PRP): Cylindrical coordinate robotic arms consist of two sliding joints and one rotational joint to determine the position of the component, with an additional rotational joint to determine the component’s posture.
Spherical coordinate type (P2R): Spherical coordinate robotic arms consist of one sliding joint and two rotational joints to determine the position of the component, also with an additional rotational joint to determine the component’s posture.
Rotational/joint type (3R): This type of robotic arm has all rotational joints and is the most common configuration in industrial robots.
Selective Compliant Assembly Robot Arm (SCARA): This type of robotic arm has two rotational joints that allow it to move horizontally, and an additional sliding joint for vertical movement. SCARA robotic arms are often used for assembly tasks, characterized by high flexibility in the x-y plane while having strong rigidity along the z-axis.
The wrist of the robotic arm can be designed with different degrees of freedom and structures. Typically, to allow the end effector to assume any posture in space, the wrist must have three degrees of freedom.
The roll of the wrist is referred to as Roll, denoted by R; the pitch of the wrist is referred to as Pitch, denoted by P; and the yaw of the wrist is referred to as Y. Sometimes pitch and yaw are classified together as Bend, denoted by B. Roll is the motion around the axis of the rod, allowing the end effector to rotate around its own axis; pitch is the rotation around the horizontal axis, allowing the end effector to move up and down; yaw is the motion around the vertical axis, allowing the end effector to move left and right.
The classification of two-degree and three-degree wrist joints is shown in the figure. The illustrated wrist is a typical design where all terminal structures are rotational. Wrist designs with two degrees of freedom are particularly practical, as some robotic arms, such as those used for painting, only require two degrees of freedom to orient the spray device to the desired posture. There are two possible ways: a two-rotational wrist as the first type. The double-rotational wrist should have two separate rods, each capable of rotating around its axis to meet the degree of freedom requirement. In design A, the intersection of the two rod axes is outside the actual connection point; in design B, the intersection coincides with the connection point. The second type of double-degree wrist consists of one bending joint and one rotational joint.
Wrist designs with three degrees of freedom can have four design types. The third type is a bend-bend-roll (BBR) type. The fourth type has one bending joint and two rotational joints. The fifth design has a roll-bend-roll (RBR) motion. The sixth type has three rolling motions. This type can also have two design schemes: different axes and the same axis.
Analysis of the Robotic Arm in This Design
The prototype of this robotic arm system is the ABB 1520 arc welding industrial robot. The model system consists of the robotic arm skeleton, including the arm and wrist, end effector, actuator, controller, and power supply. Servos are used as driving units, and to achieve the writing of English letters and Chinese characters as well as the completion of other specified tasks, two end effectors have been created—one for holding a pen and one for a mechanical claw. During task execution, the two end effectors can be disassembled and replaced. The robotic arm can be divided into four joint groups: hip, shoulder, elbow, and wrist, with one rotational degree of freedom for each of the hip, shoulder, and elbow joints.
The wrist joint has three rotational degrees of freedom. The six degrees of freedom are achieved through seven servos, where the five degrees of freedom of the hip, elbow, and wrist joints are each driven by one servo, and the shoulder joint’s degrees of freedom are completed by two servos to provide greater power. The layout of the robotic arm’s links and joints is illustrated in the figure.
Since all joints in this robotic arm system are rotational joints, the wrist system can be viewed as composed of three small joints, thus the coordinate configuration of this system is 6R type. The structure of the wrist is roll-bend-roll type (RBR).
Paper Content: (Follow our public account to download the full version)
Chapter 1: Introduction. This chapter elaborates on the research background and significance of the topic, introduces the development status in related fields at home and abroad, and presents the main research content of the topic while defining the design objectives.
Chapter 2: Robotic Arm Structure. This chapter introduces the relevant concepts of degrees of freedom, describes the structural types, components, and drive methods of the robotic arm.
Chapter 3: Kinematic Analysis and Simulation. This chapter establishes the DH parameter table for the robotic arm and derives the forward kinematic matrix equation and inverse kinematic solution (equations) based on this, analyzing the appropriate solutions under the mechanical structure of this design. Using Matlab and the Robotics toolbox, a 3D model of the robotic arm is constructed, drawing its workspace range, and verifying the forward kinematic matrix equation and the inverse kinematic solution (equations). The chapter also analyzes the most basic method for trajectory planning in joint space: cubic polynomial interpolation method and proposes a path planning scheme.
Chapter 4: Control System and Hardware Design. This chapter introduces the circuit modules used in the robotic arm system, including control boards, driver boards, and power supplies, and showcases the hardware circuit design of each part of the robotic arm system.
Chapter 5: System Control Scheme and Program Design. This chapter introduces the characteristics of the Arduino programming language and relevant functions. It also describes the operation of the servo drive software and provides a scheme for writing task codes based on the action instruction code format of the servo driver board, along with flowcharts for the main program and subprogram.
Chapter 6: Robotic Arm Experiment Demonstration. This chapter demonstrates the action effects of the robotic arm in practical operation, comparing them with the expected results.
Chapter 7: Summary and Outlook. This chapter analyzes the shortcomings and problems of the system, proposes relevant improvement plans, clarifies its application prospects, and presents outlooks for future research.

The most exclusive, comprehensive, latest, and fastest machine industry information will flow out from here~ Stay tuned
How to join quickly: Please long press the QR code below, and you canfollow us

