Project 6axis Robot Arm
Project 6axis Robot Arm
The topic of this thesis is chosen to understand robotic arm motion to gain knowledge
about the complete control system for a robotic arm. In this thesis, the control system refers to
the development of a system that controls the robotic arm's automatic movements and accurate
positioning. This chapter describes the background theory behind this 6-axis mechanical robot
arm. This thesis includes various aspects of automation (control systems), forms of electronic
drives, general engineering subjects, parts design (strength of materials) mathematics, etc.
This is one such experiment that allows students to understand motion in terms of
extractable coordinates. Robotic arms are the most useful mechanical devices that are used where
accuracy and precision are needed. These things work similarly to human arms and can be
programmed as well. Traditional robotic arms will have n number of links, which are connected
by n-1 joints with which links are rotated or translated. These links and joints form a Kinetic
chain which has an End Effector at the last link [1].
In mechanics, the degrees of freedom of a body are the number of independent parameters that
define the displacement and deformation of the body. That is the number of actuators in the
robotic arm is the number DOF of the robot, which means each 5
DOF is a joint where a robot will rotate or translate. The thesis is a robotic arm that has 6 DOF,
which means there are 6 motors. As the degree of freedom increases, the arm will be difficult to
control.
2.1.2. Forward Kinematics (Determining the Cartesian Space Co-ordinates of the End-effector)
There are two scenarios that emerge in robotics. One is where the angles of joints are
known and the other one is where the end effector co-ordinates are known. In the former
scenario, the requirement is to determine the end-effector coordinates whereas in the latter
scenario, the joint angles are determined.
The forward kinematics problem is to determine the position and orientation of the end-
effector, given the values for the joint variables of the robot. The joint variables are the angles
between the links in the case of revolute or rotational joints.
To perform the kinematic analysis, a coordinate frame is rigidly attached to each link. In
particular, oxyz(i) is attached to link i. This means that, whatever motion the robot executes, the
coordinates of each point on link are constant when expressed in the ith coordinate frame.
Furthermore, when joint i is actuated, link I and its attached frame, oxyz(i), experience a
resulting motion. The frame oxyz(0), which is attached to the robot base, is referred to as the
inertial frame [1][2].
The next step is to determine homogenous transformation matrices for each of the joints
concerning the previous joint. Suppose A(i) is the homogeneous transformation matrix that
expresses the position and orientation of oxyz(i) concerning oxyz(i - 1). The matrix A(i) is not
constant but varies as the configuration of the robot is changed. However, the assumption that all
joints are either revolute means that A(i) is a function of only a single joint variable, namely q(i).
In other words,
Here, a set of conventions that provide a systematic procedure is illustrated for performing this
analysis.
Frame
The homogeneous transformation matrix that expresses the position and orientation of oxyz(i)
concerning oxyz() is called, by convention, a transformation matrix, which is denoted by T(i).
By the manner in which we have rigidly attached the various frames to the corresponding
links, it follows that the position of any point on the end-effector, when expressed in frame n, is a
constant independent of the configuration of the robot.
Then the position and orientation of the end-effector in the inertial frame are given by:
In principle, that is all there is to forward kinematics. Determining the functions, A(q(i)),
and multiplying them together as needed. However, it is possible to achieve a considerable
amount of streamlining and simplification by introducing further conventions, such as the
Denavit-Hartenberg representation of a manipulator [3].
The calculation of D-H parameters for a robotic manipulator involves the selection of
proper axes. The following are the thumb rules for selecting the proper axis:
a: length of the common normal. Assuming a revolute joint, this is the radius about the previous
Z-axis.
Link ai αi d θi
1 a1 0 0 θ1
1 a2 0 0 θ2
2.2. Bluetooth
When Bluetooth-enabled devices are close to each other, they automatically detect each
other. Bluetooth uses 79 different radio frequencies in a small band around 2.4 GHz. This band is
used by Wi-Fi too, but Bluetooth uses so little power that interference with Wi-Fi
communication is negligible. Unlike usual Wi-Fi connections, Bluetooth connections are direct,
meaning that the devices that transmit data this way do it directly from one to the other without
involving any intermediary like a router or access point.
In conclusion, Bluetooth technology is easy to use, easy to set up, and relatively cheap.
Using Bluetooth may be a viable option for Indoor Navigation for the Visually Impaired Project
for communication and location data if the location accuracy can be precise enough for
navigation. Bluetooth is a flexible tool that can be utilized in many different solutions and
projects.
CTP (Cordless Telephony Profile)
AV (Audio Video)
A Pulse Width Modulation (PWM) is a method for generating an analog signal using a
digital source. A PWM signal consists of two main components that define its behavior: a duty
cycle and a frequency. The duty cycle describes the amount of time the signal is in a high (on)
state as a percentage of the total time it takes to complete one cycle. The frequency determines
how fast the PWM completes a cycle (i.e. 1000 Hz would be 1000 cycles per second), and
therefore how fast it switches between high and low states. By cycling a digital signal off and on
at a fast enough rate, and with a certain duty cycle, the output will appear to behave like a
constant voltage analog signal when providing power to devices.
PWM signals are used for a wide variety of control applications. Their main use is for
controlling DC motors but it can also be used to control valves, pumps, hydraulics, and other
mechanical parts. The frequency at which the PWM signal needs to be set will be dependent on
the application and the response time of the system that is being powered. Below are a few
applications and some typical minimum PWM frequencies required:
2.4 Summary
The author wrote about the background theory of the system in this chapter describing the
theories of the robot arm and its control methods. The detail information of the hardware
components of the 6-axis mechanical robot arm are described in the next chapter.
APPENDIX
#include <SoftwareSerial.h>
#include <Servo.h>
Servo servo01;
Servo servo02;
Servo servo03;
Servo servo04;
Servo servo05;
Servo servo06;
int index = 0;
void setup() {
servo01.attach(5);
servo02.attach(6);
servo03.attach(7);
servo04.attach(8);
servo05.attach(9);
servo06.attach(10);
Bluetooth.setTimeout(1);
delay(20);
servo1PPos = 90;
servo01.write(servo1PPos);
servo2PPos = 150;
servo02.write(servo2PPos);
servo3PPos = 35;
servo03.write(servo3PPos);
servo4PPos = 140;
servo04.write(servo4PPos);
servo5PPos = 85;
servo05.write(servo5PPos);
servo6PPos = 80;
servo06.write(servo6PPos);
void loop() {
if (dataIn.startsWith("s1")) {
String dataInS = dataIn.substring(2, dataIn.length()); // Extract only the number. E.g. from
"s1120" to "120"
servo01.write(j);
servo01.write(j);
delay(20);
}
servo1PPos = servo1Pos; // set current position as previous position
// Move Servo 2
if (dataIn.startsWith("s2")) {
servo2Pos = dataInS.toInt();
servo02.write(j);
delay(50);
servo02.write(j);
delay(50);
servo2PPos = servo2Pos;
// Move Servo 3
if (dataIn.startsWith("s3")) {
servo3Pos = dataInS.toInt();
servo03.write(j);
delay(30);
servo03.write(j);
delay(30);
servo3PPos = servo3Pos;
// Move Servo 4
if (dataIn.startsWith("s4")) {
servo4Pos = dataInS.toInt();
delay(30);
servo04.write(j);
delay(30);
servo4PPos = servo4Pos;
// Move Servo 5
if (dataIn.startsWith("s5")) {
servo5Pos = dataInS.toInt();
servo05.write(j);
delay(30);
servo05.write(j);
delay(30);
servo5PPos = servo5Pos;
// Move Servo 6
if (dataIn.startsWith("s6")) {
servo6Pos = dataInS.toInt();
servo06.write(j);
delay(30);
servo06.write(j);
delay(30);
}
servo6PPos = servo6Pos;
if (dataIn.startsWith("SAVE")) {
servo02SP[index] = servo2PPos;
servo03SP[index] = servo3PPos;
servo04SP[index] = servo4PPos;
servo05SP[index] = servo5PPos;
servo06SP[index] = servo6PPos;
if (dataIn.startsWith("RUN")) {
if ( dataIn == "RESET") {
memset(servo02SP, 0, sizeof(servo02SP));
memset(servo03SP, 0, sizeof(servo03SP));
memset(servo04SP, 0, sizeof(servo04SP));
memset(servo05SP, 0, sizeof(servo05SP));
memset(servo06SP, 0, sizeof(servo06SP));
index = 0; // Index to 0
void runservo() {
while (dataIn != "RESET") { // Run the steps over and over again until "RESET" button is
pressed
dataIn = Bluetooth.readString();
if (Bluetooth.available() > 0) {
dataIn = Bluetooth.readString();
if ( dataIn == "RESET") {
break;
}
// If speed slider is changed
if (dataIn.startsWith("ss")) {
// Servo 1
servo01.write(j);
delay(speedDelay);
servo01.write(j);
delay(speedDelay);
// Servo 2
if (servo02SP[i] == servo02SP[i + 1]) {
servo02.write(j);
delay(speedDelay);
servo02.write(j);
delay(speedDelay);
// Servo 3
servo03.write(j);
delay(speedDelay);
}
}
servo03.write(j);
delay(speedDelay);
// Servo 4
servo04.write(j);
delay(speedDelay);
servo04.write(j);
delay(speedDelay);
}
// Servo 5
servo05.write(j);
delay(speedDelay);
servo05.write(j);
delay(speedDelay);
// Servo 6
servo06.write(j);
delay(speedDelay);
servo06.write(j);
delay(speedDelay);
}
CHAPTER 3
HARDWARE COMPONENTS
This chapter is about information and explanation on the hardware components used in
building Arduino Robot Arm with Smartphone Control.
3.1. Servo Motor
A servo motor is an electromechanical device that can precisely control the position,
velocity, and acceleration of a shaft or other mechanical components. It is a type of rotary
actuator and is commonly used in various applications, including robotics, manufacturing,
automation, and more, where precise and controlled motion is required.
Here are some key characteristics and components of a servo motor:
1. DC or AC Operation: Servo motors can be powered by either direct current (DC) or
alternating current (AC). DC servo motors are more common in smaller applications,
while AC servo motors are often used in industrial settings.
2. Feedback System: Servo motors typically have a feedback mechanism, such as an
encoder or resolver, that provides information about the motor's current position and
speed. This feedback allows the controller to adjust the motor's operation to achieve the
desired position or movement.
3. Control System: A servo motor is controlled by a dedicated servo controller or drive.
The controller processes input signals and compares the actual position (feedback) with
the desired position, making adjustments to the motor's operation to minimize any error.
4. Precision: Servo motors are known for their high precision and accuracy. They can be
controlled to move to a specific angle or position with great accuracy, making them
suitable for applications where precision is crucial.
5. Torque and Speed: Servo motors are available in a wide range of sizes and power
ratings, providing different levels of torque and speed. The choice of servo motor
depends on the specific application requirements.
6. Applications: Servo motors are used in various applications, such as CNC machines,
robotic arms, 3D printers, cameras for image stabilization, and automated manufacturing
equipment.
7. Closed-Loop Control: Servo motors are typically used in closed-loop control systems,
where the feedback from the motor is continuously monitored and used to adjust the
motor's operation in real-time. This closed-loop control ensures that the motor follows the
desired trajectory accurately.
8. Compact Design: Servo motors are often compact and lightweight, making them suitable
for applications where space is limited.
9. High Efficiency: Servo motors are designed to operate with high efficiency, minimizing
energy consumption and heat generation.
Overall, servo motors are essential components in many industries that require precise
and controlled motion. They play a crucial role in automation, robotics, and manufacturing
processes by enabling the machinery to perform tasks with a high degree of accuracy and
repeatability.
3.2. MG996R Servo Motor
The MG996R is a popular and widely used digital servo motor in the hobby and robotics
communities. It's commonly used in various projects, including remote-controlled cars,
airplanes, boats, robotic arms, and other applications that require precise and powerful control of
movement. Here are some key features and specifications of the MG996R servo:
1. Type: Digital Servo - The MG996R is a digital servo, which means it uses a
microcontroller to provide precise and accurate control of its position and movement.
2. Torque: The MG996R provides a high torque output, typically around 10 kg/cm (139.5
oz/in) or more, making it suitable for applications that require strong and precise
movements.
3. Speed: It offers relatively fast movement, with a transit time of approximately 0.15
seconds for 60 degrees rotation, which is quite responsive.
4. Operating Voltage: The operating voltage of the MG996R servo is usually around 4.8 to
6.0 volts. It's important to power it within this range to avoid damaging the servo.
5. Connector: It typically comes with a standard 3-pin servo connector (brown for ground,
red for power, and orange or yellow for signal) that can be easily interfaced with most
servo controllers and microcontrollers.
6. Rotation: It provides approximately 180 degrees of rotation, which is standard for most
servo motors. It's not continuous rotation like some other types of motors.
7. Gears: The MG996R servo often includes metal gears, which make it more durable and
capable of handling higher loads compared to servos with plastic gears.
8. Weight: The weight of the MG996R is typically around 55-60 grams.
9. Dimensions: The physical dimensions of the servo are approximately 40.7mm x 19.7mm
x 42.9mm.
10. Applications: The MG996R servo is suitable for various applications, including robotics,
RC vehicles, drones, camera gimbals, and any other project where precise and powerful
control of motion is required.
When using the MG996R servo, it's essential to follow the manufacturer's specifications and
guidelines to ensure it operates correctly and doesn't get damaged. Additionally, be mindful of
power requirements and always provide a stable and appropriate power source to the servo to
prevent damage or erratic behavior.
3.3. SG90 Micro Servo Motor
The SG90 micro servo motor is a small and lightweight servo motor commonly used in a
variety of hobbyist and small-scale projects. It is part of the 9g micro servo series, and its
compact size, affordability, and ease of use make it a popular choice for robotics, model
airplanes, cars, and other DIY applications.
Here are some key features and specifications of the SG90 micro servo motor:
1. Size and Weight: The SG90 is a micro servo with compact dimensions. It typically
measures about 23mm x 12mm x 29mm and weighs approximately 9 grams.
2. Operating Voltage: It is designed to operate on a voltage range of 4.8V to 6V, which is
commonly supplied by a typical 4- or 5-cell rechargeable battery pack.
3. Torque: The SG90 provides a moderate amount of torque, usually around 1.8 to 2.5
kg·cm (kilogram-centimeters), which is suitable for its size.
4. Speed: It typically has a speed of approximately 0.1 to 0.12 seconds per 60 degrees of
rotation, which means it can quickly move to the desired position.
5. Control Interface: The SG90 micro servo motor is controlled using pulse-width
modulation (PWM) signals. By sending PWM signals, you can precisely control the
servo's position within its range of motion, typically around 180 degrees.
6. Construction: It features a plastic gear train and housing. The gears are usually made of
plastic to keep the weight and cost down, which makes it less suitable for applications
requiring heavy loads or high precision.
7. Mounting: The SG90 servo motor often includes mounting brackets and hardware for
easy attachment to various projects.
8. Applications: This type of micro servo motor is commonly used in hobbyist projects,
including remote-controlled vehicles, model aircraft, robotic arms, and small automation
applications. It's not typically used in industrial or high-precision settings due to its size
and construction.
9. Affordability: The SG90 servo is known for being cost-effective, making it accessible
for students and hobbyists.
Keep in mind that while the SG90 micro servo motor is versatile and widely used in hobbyist
and educational projects, it may not be suitable for applications requiring high torque, precision,
or durability. For more demanding industrial or professional applications, larger and more robust
servo motors with metal gears and higher performance characteristics are typically used.
3.4. Arduino
Arduino is an open-source electronics platform that's popular among hobbyists, makers,
and developers. It consists of both hardware and software components, making it easy for people
to create a wide range of electronic projects. Here are some key points about Arduino:
1. Microcontroller: At the heart of an Arduino board is a microcontroller, such as the ATM
ega series. This microcontroller can be programmed to interact with various electronic
components like sensors, LEDs, motors, and more.
2. Open Source: Arduino is open source, which means that the design files for the
hardware, as well as the software, are freely available for anyone to use and modify. This
has led to a large and active community of users and contributors.
3. Programming: To program an Arduino, you write code in the Arduino IDE (Integrated
Development Environment), which is based on the Processing programming language.
The code is written in C/C++, but Arduino provides a simplified and user-friendly library
to work with hardware components.
4. Boards: There are many different Arduino boards available, each with its unique features
and capabilities. The Arduino Uno is one of the most popular and is often used by
beginners. Other boards like the Arduino Mega, Arduino Nano, and Arduino Due offer
more I/O pins and processing power.
5. Shields: Arduino shields are add-on boards that can be stacked on top of an Arduino to
add functionality. For example, there are shields for Ethernet connectivity, Bluetooth, and
GPS.
6. Community: Arduino has a strong and active community. You can find a wealth of
tutorials, projects, and support online. This community aspect makes it an excellent
choice for beginners because help is readily available.
7. Applications: Arduino can be used for a wide range of applications, including robotics,
home automation, data logging, IoT (Internet of Things) projects, and interactive art
installations.
8. Open Source Ecosystem: Many other open-source projects and platforms are compatible
with Arduino. For example, Platform IO is an alternative to the Arduino IDE, and
libraries like Fast LED are used for advanced LED control in projects like LED art and
displays.
9. Commercial Products: Arduino's success has led to the creation of commercial versions
and derivative products. Some of these are more polished and offer additional features.
Arduino is a versatile platform that's accessible to beginners yet powerful enough for more
complex projects. It's widely used in the maker and DIY communities, as well as in educational
settings to teach electronics and programming.
3.4.1. Arduino Board
Arduino boards are the physical hardware components that form the core of the Arduino
platform. These boards are equipped with microcontrollers and various input/output pins that
allow you to connect sensors, actuators, and other electronic components to create interactive
and programmable projects. There are several types of Arduino boards, each with its own
specifications and features. Some of the most popular Arduino boards include:
The Arduino Uno is one of the most commonly used boards. It features the ATmega328P
microcontroller and has 14 digital input/output pins, 6 analog input pins, a 16 MHz quartz
crystal, a USB connection for programming, and a power jack. It's an excellent choice for
beginners. The Arduino Mega is a more powerful board with the ATmega2560 microcontroller.
It has 54 digital input/output pins, 16 analog inputs, a larger memory capacity, and more
hardware serial ports. This makes it suitable for projects that require a significant number of
inputs and outputs.
The Arduino Nano is a compact and low-cost board that is similar in functionality to the
Arduino Uno but in a smaller form factor. It is often used in projects with limited space. The
Arduino Due is based on the Atmel SAM3X8E ARM Cortex-M3 CPU. It features more
processing power and additional features like DAC (digital-to-analog) pins. This board is
suitable for more advanced projects.
The Arduino Leonardo uses the ATmega32U4 microcontroller and is notable for its built-
in USB functionality. It can act as a USB keyboard or mouse, making it suitable for projects that
require human-computer interaction. The Arduino Mini is even smaller than the Nano and lacks
some features like a built-in USB interface. It's commonly used in space-constrained projects.
Similar to the Arduino Mini, the Pro Mini is designed for more advanced users. It comes in a
compact form factor and is often used in projects where space and power consumption are
critical factors.
The MKR series, such as the Arduino MKR1000 or MKR Wi-Fi 1010, is designed for
IoT applications. These boards come with built-in connectivity options like Wi-Fi or cellular,
making them suitable for remote monitoring and control projects. The Lilypad is designed for
wearable electronics and e-textiles projects. It's sewable and washable, making it ideal for
incorporating into clothing and fabric-based projects. The Arduino Esplora is a game controller-
like board with built-in sensors, buttons, and a color LCD screen. It's designed for gaming and
interactive projects.
These are just a few examples of Arduino boards. The choice of board depends on your
project's requirements, such as the number of pins, processing power, and connectivity options.
Arduino boards are known for their ease of use and compatibility with a wide range of sensors
and shields, making them a popular choice for electronics enthusiasts and makers.
3.5. HC-05 Bluetooth Module
The HC-05 is a popular Bluetooth module used for wireless communication. It is often
utilized in electronics projects and applications that require Bluetooth connectivity. Here are
some key features and information about the HC-05 Bluetooth module:
1. Bluetooth Version: The HC-05 is based on Bluetooth 2.0 (also known as Bluetooth
Classic). It's important to note that there are different versions of HC-05 modules, some
of which support the Bluetooth 2.0+EDR standard.
2. Operating Modes: The HC-05 module can be configured to operate in two primary
modes:
Master Mode: In this mode, the module can initiate connections with other
Bluetooth devices (like smartphones or other HC-05 modules).
Slave Mode: In this mode, the module can only accept incoming connections
initiated by other Bluetooth devices.
3. Serial Communication: The HC-05 module communicates with a microcontroller or
another device using serial UART (Universal Asynchronous Receiver/Transmitter)
communication. This means you can send and receive data over a simple serial
connection, making it easy to interface with various microcontrollers.
4. AT Commands: The HC-05 can be configured and controlled using AT commands. This
allows you to change various settings like the device name, baud rate, and pairing code.
The AT command set is well-docume
nted in the datasheet.
5. Pairing: The module can be paired with other Bluetooth devices using a PIN or passkey.
This is commonly used to establish a secure connection.
6. Range: The HC-05 typically has a range of up to 10 meters (around 33 feet), but this can
vary depending on environmental factors and the specific version of the module.
7. Voltage Levels: The module typically operates at 3.3V, so it may require level-shifting
for use with 5V microcontrollers.
8. LED Indicators: Most HC-05 modules have LED indicators to show the status of the
module, such as power, connection, and data transmission.
9. Applications: HC-05 modules are used in a wide range of applications, including
wireless communication between microcontrollers, connecting microcontrollers to
smartphones or computers, remote control systems, and various IoT (Internet of Things)
projects.
10. Compatibility: The HC-05 module is compatible with a variety of microcontrollers and
development platforms, including Arduino, Raspberry Pi, and more.
When using the HC-05 Bluetooth module, it's essential to refer to the datasheet and
documentation specific to your module, as there may be variations in features and configuration
options among different versions and manufacturers. Additionally, you will need to have some
knowledge of UART communication and AT commands to use this module effectively in your
projects.
3.6. 5V 2A DC Power Supply
A 5V 2A DC power supply refers to a power source that provides direct current (DC)
electricity at a voltage of 5 volts and a current of 2 amperes.
Voltage (5V): This is the electrical potential difference between the positive and negative
terminals of the power supply. In this case, it's 5 volts, which is a relatively low voltage
commonly used for powering a variety of electronic devices, including smartphones,
microcontrollers, and other low-power electronics.
Current (2A): The current, measured in amperes (A), represents the flow of electricity
through the circuit. A 2A (2 amperes) current means that the power supply can provide
up to 2 amperes of current to the connected device. This is a measure of the power
supply's capacity to deliver electricity to the connected load.
A power supply like this is often used to provide a stable and consistent source of power for
various electronic devices and components. It's important to note that the voltage must match the
requirements of the device you are powering, while the current (ampere rating) must be equal to
or greater than what the device needs. In this case, the power supply can deliver 5 volts at up to 2
amperes, making it suitable for a wide range of low-power electronic applications.
3.7. Connectors
Jumpers are often used as connectors in various electronic and electrical applications.
They are simple components that serve to make or break electrical connections. Jumpers come in
various forms and serve different purposes:
1. Wire Jumpers: These are typically short pieces of wire that are used to connect two
points on a circuit board or between components on a breadboard. They are often used to
configure or reconfigure a circuit by temporarily bridging or disconnecting connections.
2. Header Pins and Jumpers: In many electronic projects and prototypes, header pins are
soldered onto a circuit board. Jumpers, which are small plastic caps with conductive pins
inside, can be placed over these header pins to make or break connections. This is a
common method for configuring settings on development boards or microcontroller
breakout boards.
3. Shunt Jumpers: Shunt jumpers are used to select or configure various options in
electronic devices, such as setting an address on an I2C bus or configuring options on a
device. They consist of a small plastic block with a conductive sleeve that is placed over
a pair of header pins. By either installing or removing the shunt jumper, you can make or
break the connection between the pins.
4. Jumper Wires: These are simple wires with connectors on both ends that can be used to
bridge connections on a circuit board or between components. Jumper wires are often
used in prototyping and breadboarding to create temporary connections.
5. Jumper Blocks: These are typically arrays of multiple jumpers enclosed within a plastic
housing. They are often used to configure settings on devices like hard drives or audio
equipment.
Jumpers are versatile and valuable components in electronics because they provide an easy
and reversible way to configure and reconfigure connections, making them essential for
prototyping, testing, and customization of electronic circuits and devices. They are particularly
useful for avoiding the need for soldering when temporary connections or changes are required.
3.8. Summary
This chapter mentioned about the specifications and uses of each component used in the
Arduino Robotic Arm with Smartphone Control. This allows the readers of this project to have
the general idea of the hardware components and its purposes. How these hardware components
are used, built and implemented is written in.
CHAPTER 4
ADVANTAGES AND USES OF ARDUINO ROBOT ARM WITH SMARTPHONE
CONTROL
4.1. Advantages
Controlling an Arduino robot arm with a smartphone has several advantages, making it a
popular choice for many robotics enthusiasts and professionals. Here are some of the key
advantages:
Smartphone apps provide a user-friendly and intuitive interface for controlling the robot arm.
This can be particularly advantageous for beginners who may not be familiar with complex
programming languages or hardware interfaces. It controls typically utilizes wireless
communication technologies such as Bluetooth or Wi-Fi, eliminating the need for physical
cables and allowing for greater freedom of movement. Most people already own smartphones,
which makes them readily accessible for controlling the robot arm. This can reduce the cost and
complexity associated with dedicated control systems. Smartphones are highly portable, so you
can control your robot arm from virtually anywhere within the range of your wireless
connection, adding flexibility and convenience.
Smartphone apps can be customized to provide a tailored control experience. Users can
design and modify the interface to suit their specific needs and preferences. Many smartphones
are equipped with various sensors like accelerometers, gyroscopes, and touch screens, which can
be leveraged to provide real-time feedback and enhance the control of the robot arm. Smartphone
control enables remote operation, allowing you to control the robot arm from a distance, which
can be beneficial in various applications, such as teleoperation in hazardous environments or
remote inspection. You can integrate other smartphone features, such as GPS, cameras, and
voice recognition, into the control system to expand the functionality of your robot arm.
Smartphone apps can be easily updated and improved over time, ensuring that your robot
arm control system remains up-to-date and adaptable to changing needs. Many Arduino-based
projects and smartphone control apps have active communities of users and developers. This can
be helpful for troubleshooting issues, finding resources, and sharing ideas. Arduino robot arms
controlled with smartphones are excellent educational tools, helping individuals learn about
robotics, programming, and electronics in a hands-on and engaging way. You can integrate your
robot arm into the Internet of Things (IoT) ecosystem more easily when using a smartphone for
control, allowing for automation and smart home applications.
Overall, the use of a smartphone to control an Arduino robot arm provides convenience,
accessibility, and the potential for enhanced functionality, making it a popular choice for a wide
range of applications.
4.2. Uses
An Arduino robot arm with smartphone control can be a versatile and educational tool that
serves various purposes. Here are some common uses for such a device:
1. Education and Learning: Arduino robot arms can be used to teach students, hobbyists,
and enthusiasts about robotics, programming, and electronics. The smartphone control
interface allows users to learn about both hardware and software aspects of robotics.
2. STEM Education: These robot arms are excellent for teaching Science, Technology,
Engineering, and Mathematics (STEM) principles to students. They can learn about
mechanics, electronics, coding, and control systems through hands-on projects.
3. Home Automation: With a robot arm controlled by a smartphone, you can create a
small-scale home automation system. You can program the arm to perform tasks like
turning lights on/off, adjusting curtains, or picking up objects.
4. Remote Manipulation: A robot arm controlled via a smartphone can be used in
situations where it's not safe or practical for a human to perform tasks. For example, it
could be used to handle hazardous materials, perform inspections, or work in remote
locations.
5. Entertainment: Robot arms can be used for entertainment purposes, such as creating
interactive art installations, performing magic tricks, or enhancing live performances.
You can control the arm's movements to create engaging visual effects.
6. Assistance for People with Disabilities: Smartphone-controlled robot arms can provide
assistance to individuals with disabilities by helping them with daily tasks like grabbing
objects, turning on/off devices, or reaching for items that are difficult to access.
7. Prototyping and Development: Engineers and inventors often use Arduino-based robot
arms to prototype and test new concepts or products. The smartphone control feature
allows for easy experimentation and rapid development.
8. Art and Design: Artists can use robot arms as creative tools to produce intricate and
precise designs. They can paint, draw, or sculpt using the arm's precise movements.
9. Telemedicine: In healthcare, robot arms controlled by smartphones can be used for
remote medical consultations and procedures, allowing a doctor to perform tasks from a
distance, guided by a smartphone interface.
10. Warehouse Automation: In industrial and logistics settings, smartphone-controlled
robot arms can assist in tasks like picking and packing items, sorting goods, or moving
objects within a warehouse.
11. Agriculture: Robot arms can be employed in precision agriculture for tasks like planting
seeds, picking fruits, or performing inspections.
12. Research and Development: Scientists and researchers use robot arms for various
experiments and studies. Smartphone control can facilitate precise, repeatable movements
in laboratory settings.
13. Gaming and Virtual Reality: In the gaming industry, robot arms controlled via
smartphones can provide haptic feedback, enhancing the immersive experience of virtual
reality (VR) or augmented reality (AR) games.
14. Security and Surveillance: Robot arms can be used for security purposes, such as
moving cameras to specific angles, inspecting sensitive areas, or remotely opening and
closing doors.
15. DIY Projects: Robot arms are popular among DIY enthusiasts for creating custom
projects, from cocktail mixing machines to pet feeders.
The versatility of Arduino robot arms, combined with smartphone control, opens
up a wide range of possibilities across various fields and applications. They are valuable
tools for both learning and practical use.
4.3. Summary
This chapter mentioned about the advantages and uses of Arduino Robotic Arm with
Smartphone Control. This allows the readers to get about the advantages and uses of this project.
CHAPTER 6
This chapter is the final chapter of the project including discussion, conclusion and further
extension.
6.1. Discussion
By building this mechanical robot arm, the author has learned that there are unlimited possible
improvements that can be made with the right skill set and knowledge. Possible improvements
such as replacing the gripper with a specific tool, designing and 3D printing new models,
installing another method of control rather than just through Wi-Fi, improving the performance
of the arm, replacing servo motors with hydraulics or pneumatics and creating a better browser
interface.
6.2. Conclusion
Continuing to research more about robot arm will give the author the opportunity to improve
knowledge on robotics and its functions, programming and usage of the components involved. In
conclusion, this 6-axis mechanical robot arm is capable of moving objects with its gripper (other
functions with specific tools) and able to provide vision as a security camera does. Making it a
tool for long distance control. It can produce similar movements to that of a human arm.
Therefore, it can be used as a modeling stand.
Future plans are to create a better browser interface for better usage experience since the current
one is optimized only for performance and easy usage. To do so, learning more about making
interfaces with programming is essential.
This robot arm currently uses a badly designed gripper which is the only thing available due to
certain circumstances. By replacing the gripper with a better model, the performance and
functions of the mechanical arm will increase. Designing and 3D printing own material will
allow the user to have parts that will fit perfectly with one another. Ensuring there would be less
error due to mishaps and poor designs. Users can printing alter and adjust codes of the program
to ensure better arm movement. This will allow the mechanical arm movement to be smooth.
This is important due to having 6-axis which have more complicated programming and
movement calculation compared to other robot arms. To implement different method of control
since Wi-Fi control is unreliable at times and have slight delays to commands. Having more than
one mode of control will give the users the option to switch between them when the conditions
are not desirable.
With only Arduino, the arm is limited to simple controls and features but with further
improvements and components, users can add more features for the mechanical arm.
REFERENCES
[1] Kay, J., Introduction to Homogeneous Transformations & Robot Kinematics, Rowan
University Computer Science Department
[4] B. Siciliano, L. Sciavicco, L. Villani, and G. Oriolo. Robotics: Modelling, Planning and
Control. Springer, 2009
[6] Kapil, P.N., & Patel, K. (2015). Simulation of PWM Controller Based DC Motor.
International Journal of Current Enginee