Arm_Robot - Poster

1
The goal of this project was to control an Arm Robot to pick and place objects with the additional assistance of FSRs (Force Sensitive Resistors) and Accelerometer. An Arduino Uno communicating with the FSRs and the Accelerometers is responsible for driving the servos. Using this configuration, the arm robot was able to pick and place objects at particular positions. Accelerometers so placed help in determining the position of different joints with respect to X, Y and Z axes. Also FSRs are used in order to determine the change in the value of resistance when force is applied on every finger thereby helping in the pick and place functionality. The hardware that were used in this project are as follows:- 1. Arduino Uno 2. Accelerometers 3. Force Sensitive Resistor(FSRs) 4. SSC-32 The Arduino will collect the values from the sensors (accelerometers and the FSRs) as analog values and then send the same to the arm robot readily available in the lab. The arm robot s used to replicate the actions done by the humans using their hand The delta robot was successful in pick and place the object as given to the arm robot. While it was successful, certain times the arm robot was not moving as and when the human arm was moving . The inverse kinematic algorithms were successful in moving the arm robot in the desired direction. For the majority of the test runs, the delta robot was able to pick and correctly place the dominos on the outlined map. The only back drop of the result is that we were unable to program the robot to move up and down. While the inverse kinematics proved to be accurate to a certain degree, to increase accuracy it is necessary to calibrate the robot. This will allow better performance and allow the robot to operate faster. For future advancements, the “move” functions can also be optimized in terms of trajectory and accelerations to optimize the overall speed of the robot. Again, in order to safely operate the robot at faster speeds, more advanced calibration would be required. As a part of the future works the same could be implemented using the BAXTER Research robot or any other industrial robot. This would reduce the amount of human accidents as the human is not within the workspace of the robot and can easily control the same . Mission Statement Rochester Institute of Technology Principle of Robotics Project Fall 2016 Hardware FACULTY ADVISOR Dr. Ferat Sahin STUDENT Karthik Sivarama Krishnan, Akash Saha People Software Conclusion Results Kinematic Analysis Arm Robot Arduino An Arduino Uno is used to receive analog values from the FSRs and the accelerometers. The Arduino will take this data and drive the appropriate servos using PWM signals. Arduino Code An Arduino Uno is used to receive analog signals from the FSRs and the Accelerometer. The Arduino is responsible for parsing the incoming signals and assigning each of these values to drive the servos. This servo value corresponds to the duty cycle of the PWM signal the Arduino is sending. Arm Robot FSRs A force-sensing resistor is used because its resistance changes when a force or pressure is applied which can be used for the gripper. They are also known as "force-sensitive resistor" and are sometimes referred to by the initialism "FSR“. Arm Robot Accelerometers An accelerometer gives the X, Y and Z axes at a particular position and thereby it helped in moving the arm robot with respect to the movement of the hand SSC32 This board is specifically used to control the servo motors. No specific codes wee written for the board. All the header files of the SSC32 were inherited into the Arduino code. MABL Arm Controller This as made in Matlab and was used to check the angles of the joints. In other words the position of the servo motors was determined as in the center point and the maximum and minimum point to which the robot could move. Home Position Position 2 Position 3 The inverse kinematics was used in order to make easy movement from one position to another position. All the movements were made with respect to the x-axis as a result rotational calculation was made only in the z axis with the following formula. There was translational motion in the x and y axis. Rotational matrix for rotation along z axis

Transcript of Arm_Robot - Poster

Page 1: Arm_Robot - Poster

The goal of this project was to control an Arm Robot to pick and place objects with the

additional assistance of FSRs (Force Sensitive Resistors) and Accelerometer. An Arduino

Uno communicating with the FSRs and the Accelerometers is responsible for driving the

servos. Using this configuration, the arm robot was able to pick and place objects at

particular positions. Accelerometers so placed help in determining the position of different

joints with respect to X, Y and Z axes. Also FSRs are used in order to determine the change

in the value of resistance when force is applied on every finger thereby helping in the pick

and place functionality.

The hardware that were used in this project are as follows:-

1. Arduino Uno

2. Accelerometers

3. Force Sensitive Resistor(FSRs)

4. SSC-32

The Arduino will collect the values from the sensors (accelerometers and the FSRs) as

analog values and then send the same to the arm robot readily available in the lab. The arm

robot s used to replicate the actions done by the humans using their hand

The delta robot was successful in pick and place the object as given to the arm robot. While

it was successful, certain times the arm robot was not moving as and when the human arm

was moving . The inverse kinematic algorithms were successful in moving the arm robot in

the desired direction. For the majority of the test runs, the delta robot was able to pick and

correctly place the dominos on the outlined map. The only back drop of the result is that we

were unable to program the robot to move up and down.

While the inverse kinematics proved to be accurate to a certain degree, to increase accuracy

it is necessary to calibrate the robot. This will allow better performance and allow the robot

to operate faster. For future advancements, the “move” functions can also be optimized in

terms of trajectory and accelerations to optimize the overall speed of the robot. Again, in

order to safely operate the robot at faster speeds, more advanced calibration would be

required.

As a part of the future works the same could be implemented using the BAXTER Research

robot or any other industrial robot. This would reduce the amount of human accidents as the

human is not within the workspace of the robot and can easily control the same .

Mission Statement

Rochester Institute of Technology

Principle of Robotics Project – Fall 2016

Hardware

FACULTY ADVISOR

Dr. Ferat Sahin

STUDENT

Karthik Sivarama Krishnan, Akash Saha

People

Software

Conclusion

Results

Kinematic Analysis

Arm Robot –Arduino

An Arduino Uno is used to receive analog values from the

FSRs and the accelerometers. The Arduino will take this data

and drive the appropriate servos using PWM signals.

Arduino Code

An Arduino Uno is used to receive analog signals from the FSRs and the Accelerometer.

The Arduino is responsible for parsing the incoming signals and assigning each of these

values to drive the servos. This servo value corresponds to the duty cycle of the PWM

signal the Arduino is sending.

Arm Robot – FSRs

A force-sensing resistor is used because its resistance changes

when a force or pressure is applied which can be used for the

gripper. They are also known as "force-sensitive resistor" and

are sometimes referred to by the initialism "FSR“.

Arm Robot –Accelerometers

An accelerometer gives the X, Y and Z axes at a particular

position and thereby it helped in moving the arm robot with

respect to the movement of the hand

SSC32

This board is specifically used to control the servo motors. No specific codes wee written

for the board. All the header files of the SSC32 were inherited into the Arduino code.

MABL Arm Controller

This as made in Matlab and was used to

check the angles of the joints. In other

words the position of the servo motors was

determined as in the center point and the

maximum and minimum point to which the

robot could move.

Home Position Position 2

Position 3

The inverse kinematics was used in order to make easy movement from one position to

another position. All the movements were made with respect to the x-axis as a result

rotational calculation was made only in the z axis with the following formula. There was

translational motion in the x and y axis.

Rotational matrix for

rotation along z axis