INSTRUCTING MACHINES - WORKSHOP II - AADRL

Page 1


2


CONTENTS 1. INTRODUCTION 5 2. GENERATION 7 BEHAVIOUR 3. GENERATION 23 PRIMITIVES AND DEFORMATION 4. PRODUCTION 51 5. ANALYSIS AND CONCLUSION

73

CONTENTS

3


4


Design Workshop II DW 102A Shajay Bhooshan WORKSHOP INTRODUCTION

INTRODUCTION

INSTRUCTING MACHINES This workshop focuses on the intersection of architecture and engineering. The workshop is based on fundamental computational concepts of coding of natural phenomena/forces to generate design patterns that will be instructed to the robot to draw and execute. execute.

INTRODUCTION

5


6


2.

1.

INITIAL POSITION

MARKING THE Z-AXIS ON PAPER

CALIBRATION

GENERATION

DRAWING THE POINTS ON PAPER

BEHAVIOURS

7


? ?

?

Each particle checks the distance between itself and every other particle.

All distances are checked if they are within the Collision Raduis that is set.

ATTRACTION COLLISION: Inter-particle attraction controlled by collision raduis and collision strength. 0.1500

Collision Strength 7.0000

8

COLLISION

Collision Raduis

PARTICLE - PARTICLE BEHAVIOUR

If a particle is within that range, find the vector between the two partciles and move incrementally towards that direction according to the Collision Strength Factor set.

COLLISION LOGIC


The difference between collision attraction and collision repulsion is the charge sign. A positive charge activates attraction as the direction is towards that particle. Whereas, a negative charge activates repulsion, where the direction is flipped to be away from the particle.

REPULSION COLLISION: Inter-particle repulsion controlled by collision raduis and collision strength. 0.1000

Collision Strength 5.0000

COLLISION CODE

Collision Raduis

PARTICLE - PARTICLE BEHAVIOUR

COLLISION

9


UpVec Child Vector

Particle Vector

ONE-DIRECTIONAL SPLITTING: Parent particle splitting to child while maintaining direction. CHILD PARENT CHILD

10

SPLITTING PARTICLE - PARTICLE BEHAVIOUR

The cross product of UpVec (a vector in the Z direction) and the particle vector, gives us the perpendicular vector, which is that of the child.

CODE CODEAND ANDLOGIC LOGIC


UpVec Child Vector

Particle Vector New Particle Vector

TWO - DIRECTIONAL SPLITTING: Parent particle splits into child and moves to the perpendicular direction to it. CHILD

PARENT

PARENT

CHILD

The cross product of UpVec (a vector in the Z direction) and the particle vector, gives us the perpendicular vector, which is that of the child. The parent then takes the inverse of the child’s vector.

CODE AND LOGIC

PARTICLE - PARTICLE BEHAVIOUR

SPLITTING

11


(x1,y1,z1)

Target position Particle position

(x,y,z)

(x1-x, y1-y, z1-x) (0,0,0)

The difference between the target position and the particle position give us the distance and direction the particle needs to travel.

Unitizing the vector, so the particle shows incremental movement towards the target. Adding the increments to the previous particle position to update it.

GLOBAL TARGET ATTRACTION: Resultant attraction force from a set of targets.

12

GLOABAL ATTRACTION

PARTICLE - TARGET BEHAVIOUR

PARTICLES MOVEMENT LOGIC


Charge = +1 Charge = -1

ATTRACTION REPULSION

The negative sign inverses the direction of the vector hence making the particle move further away from the target

GLOBAL TARGET REPULSION: Resultant repulsion force from a set of targets.

CODE

PARTICLE - TARGET BEHAVIOUR

GLOBAL REPULSION

13


? ?

Each particle should check distance with all of the targets.

?

The closest distance is stored and the ID of that particular target.

Incremental movement is then initiated towards or further away from that specific target.

CLOSEST TARGET ATTRACTION: Particle moves towards closest target.

14

CLOSEST ATTRACTOR

PARTICLE - TARGET BEHAVIOUR

FINDINGCLOSEST CLOSESTTARGET TARGETLOGIC LOGIC FINDING


Charge = +1 Charge = -1

ATTRACTION REPULSION

leastD is a float that keeps overwriting itself once it finds a lower value (closer target), the last value it holds is the lowest one.

CLOSEST TARGET REPULSION: Particle moves away from closest target.

CODE

PARTICLE - TARGET BEHAVIOUR

CLOSEST REPELLER

15


MOVING TARGETS: Particles follow targets movements.

16

MOVING TARGETS

PARTICLE - TARGET BEHAVIOUR

CODE


UpVec Spin Force

Particle to Target Vector

SPINNING: Particles relative to targets and spinning strength factor.

The cross product of UpVec (a vector in the Z direction) and the particle to target vector, gives usthe perpendicular vector, which is the spin force.

CODE AND LOGIC

PARTICLE - TARGET BEHAVIOUR

SPINNING

17


0.1000

Time Step

0.0100 1.2000 0.0500 0.2000

Target Strength Target Speed Spin Strength

0.0100

Drag Strength

0.1000

Collision STrength 5.0000

18

Gravity Strength

Collision Raduis

COMPOSITE BEHAVIOURS


COMPOSITE BEHAVIOURS

19


20

CLOSEST TARGET REPELLER

CLOSEST TARGET ATRRACTOR

GLOBAL TARGET REPULSION

ONE DIRECTIONAL SPLITTING

TWO DIRECTIONAL SPLITTING

OPPOSITE ONE DIRECTIONAL SPLITTING

BEHAVIOURS CATALOGUE


GLOBAL TARGET ATTRACTION

MOVING TARGETS

SPINNING

COLLISION ATTRACTION |

COLLISION REPULSION

GRAVITY

BEHAVIOURS CATALOGUE

21


22


1.

GENERATION PRIMITIVES AND DEFORMATIONS

23


0.1 1.0 0.5

Timestep targetStrength targetSpeed

INITIAL PRIMITIVE DEVELOPMENT

24

PRIMITIVES

01

LINEAR MOVING TARGETS


PHASE 1

PHASE 2

PHASE 3

PHASE 4

PHASES OF DEVELOPMENT

01

PRIMITIVES

25


0.25

Timestep

1.2

targetStrength

0.5

targetSpeed

Intent of the deformation is to reduce complication of previous form by increasing the timestep variable and hence creating a similar pattern with reduced number of points.

26

DEFORMATIONS

01 | 01

TIMESTEP PARAMETER EFFECT


PHASE 1

PHASE 2

PHASE 3

PHASE 4

PHASES OF THE DEFORMATIONS

01 | 01

DEFORMATIONS

27


0.1 1.0 0.5 10 0.001

Timestep targetStrength targetSpeed CollisionRadius collisionStrength

+

attraction forces

APPLYING VARIOUS DEFORMATIONS PREVIOUSLY INVESTIGATED ON THE PRIMITIVES GENERATED TO CREATE NEW PATTERN

28

DEFORMATIONS

01 | 02

P-P ATTRACTION


PHASE 1

PHASE 2

PHASE 3

PHASE 4

PHASES OF THE DEFORMATIONS

01 | 02

DEFORMATIONS

29


0.1 1.0 0.5 10 0.001

Timestep targetStrength targetSpeed CollisionRadius collisionStrength

+

repulsion forces

in contrast to previous particle to particle attraction forces, that created unordered local point groups, this deformation reverses the p-p forces to repulse. This creates more ordered pattern as opposed to previous.

30

DEFORMATIONS

01 | 03

P-P REPULSION


PHASE 1

PHASE 2

PHASE 3

PHASE 4

PHASES OF THE DEFORMATIONS

01 | 03

DEFORMATIONS

31


0.1 1.0 0.05

Timestep targetStrength targetSpeed

the second primitive, which is defined by the radial movement of the target group (red), and the particles that follow the targets.

32

PRIMITIVES

02

RADIAL MOVING TARGETS


PHASE 1

PHASE 2

PHASE 3

PHASE 4

PHASES OF DEVELOPMENT

02

PRIMITIVES

33


0.1 1.0 0.5 10 -0.001

Timestep targetStrength targetSpeed CollisionRadius collisionStrength

+

repulsion forces

investion of effects of particle to particle repulsion forces on the primitive 02. It is observed that although this creates an orderly disperse pattern, the overall pattern became more destablized.

34

DEFORMATIONS

02 | 01

P-P REPULSION


PHASE 1

PHASE 1

PHASES OF THE DEFORMATION

PHASE 1

02 | 01

DEFORMATIONS

35


0.1 1.0 0.5 10 0.001

Timestep targetStrength targetSpeed CollisionRadius collisionStrength

+

attraction forces

investion of effects of particle to particle attraction forces on the primitive 02. It is observed that local attraction zones that create a second layer to the overall pattern, nevertheless the dispersion is not clear and homogenous.

36

DEFORMATIONS

02 | 02

P-P ATTRACTION


PHASE 1

PHASE 2

PHASE 3

PHASE 4

PHASES OF THE DEFORMATIONS

02 | 02

DEFORMATIONS

37


0.1

Timestep

1.0

targetStrength

0.5

targetSpeed

500

CollisionRadius

0.001

collisionStrength

-11

targetRepulsion

100

targetEffRadius

+

+

attraction forces

field repulsion

in addition to the particle to particle forces, multiple target fields are located as a radial orbit around the centre of the pattern. This field combined with the particle to particle forces, has a varied overall effect on the generation of the pattern.

38

DEFORMATIONS

03


PHASE 1

PHASE 2

PHASE 3

PHASE 4

PHASES OF THE DEFORMATIONS 03

DEFORMATIONS

39


0.1

Timestep

1.0

targetStrength

0.5

targetSpeed

500

CollisionRadius

0.001

collisionStrength

-11

targetRepulsion

100

targetEffRadius

+

+

repulsion forces

field repulsion

in addition to the particle to particle forces, multiple target fields are located as a radial orbit around the centre of the pattern. This pattern uses p-p repulsion forces as opposed to the previous which used p-p attraction. This field combined with the particle to particle forces, has a varied overall effect on the generation of the pattern.

40

DEFORMATIONS

02 | 03

P-P REPULSION + FIELD REPULSION


PHASE 1

PHASE 2

PHASE 3

PHASES OF THE DEFORMATIONS

02 | 03

DEFORMATIONS

41


0.25 1.2 0.5

Timestep targetStrength targetSpeed

the third primitive, which is defined by the radial movement of two target group (red), and the particles that follow the targets. The pattern emerged is a double loop with different patterns that create variety in particle trails.

42

PRIMITIVES

03

DOUBLE RADIAL MOVING TARGETS


PHASE 1

PHASE 2

PHASE 3

PHASE 4

PHASES OF DEVELOPMENT

03

PRIMITIVES

43


1.0

target Strength

0.5

targetSpeed

2.0

magnetStrength

0.25

timeStep

0.01

gravityStrength

0.1

spinStrength

0.02

dragstrength

0.1 10 1000000.0

collisionstrength collisionRadius targetEffectRadius

No. of targets=27 Particle to target forces-Cause of deformation

The targets exert attraction upon the particle in a grid of 9 targets.This gives a resultant force causing the particles to get attracted to the centre.

The targets are moving radially in a grid of 9 targets each and the particles move towards the nearest point.

44

DEFORMATIONS

03 | 01

TARGET GRID RELOCATION & INCREASE


1.0

target Strength

0.5

targetSpeed

2.0

magnetStrength

0.5729

timeStep

0.01

gravityStrength

0.1

spinStrength

0.02

dragstrength

0.1

collisionstrength

5

collisionRadius 1000000.0

targetEffectRadius

No. of targets=36 Particle to target forces-Cause of deformation

The targets are moving radiallyin a grid of 9 targets each and the particles are attracted to the nearest target

One more grid of targets is introduced in the z-axis and the particles move towards the nearest target.

TARGET GRID RELOCATION & INCREASE

03 | 02

DEFORMATIONS

45


1.0

target Strength

0.5

targetSpeed

2.0

magnetStrength

0.25

timeStep

0.01

gravityStrength

0.1

spinStrength

0.02

dragstrength

0.1

collisionstrength

5 1000000.0

collisionRadius targetEffectRadius

No. of targets=44 Particle to target forces-Cause of deformation

The targets exert attraction upon the particle in a grid of 9 targets.This gives a resultant force causing the particles to get attracted to the centre.

The targets are moving radially in a grid of 9 targets each and the particles move towards the nearest point. In addition there are two sets of four targets moving radially outside as well and the particles move towards them when the distance to them is the nearest.

46

DEFORMATIONS

03 | 01

TARGET GRID RELOCATION & INCREASE


1.0

target Strength

0.5

targetSpeed

2.0

magnetStrength

0.25

timeStep

0.01

gravityStrength

0.1

spinStrength

0.02

dragstrength

0.1

collisionstrength

10 1000000.0

collisionRadius targetEffectRadius

No. of targets=44 Particle to target forces-Cause of deformation

The targets are moving radiallyin a grid of 9 targets each and the particles are attracted to the nearest target

The targets are moving radially in a grid of 9 targets each and the particles move towards the nearest point. In addition there are two sets of four targets moving radially outside as well and the particles move towards them when the distance to them is the nearest.

TARGET GRID RELOCATION & INCREASE

03 | 02

DEFORMATIONS

47


PPRIMITIVE 01

DEFORMATION 01

DEFORMATION SET 01B

48

DEFORMATION SET 01A

DEFORMATION SET 01B

PRIMITIVES AND DEFORMATIONS CATALOGUE

DEFORMATION SET 01A

DEFORMATION SET 01A

DEFORMATION SET 01B

DEFORMATION SET 01a

DEFORMATION SET 01B


DEFORMATION SET 2A

PRIMTIVE 02 DEFORMATION SET 2B

PRIMTIVE 03

DEFORMATION SET 3A

DEFORMATION SET 2C

DEFORMATION SET 3B

PRIMITIVES AND DEFORMATIONS CATALOGUE

49


50


PRODUCTION

51


The range and scope of the robotic arm is evident in these diagrams. The code has to work with an understanding of these contsraints.

52

PRODUCTION

ROBOTIC DIAGRAMS- SIX AXES OF FREEDOM


RANGE OF ROBOTIC ARM

PRODUCTION

53


NACHI ROBOT

CURRENT END EFFECTOR (FOR DRILL BITS) SPECIAL END EFFECTOR

54

END EFFECTOR ROBOT - EXISTING END EFFECTOR - PROPOSED END EFFECTOR ASSEMBLY


CURRENT END EFFECTOR (FOR DRILL BITS)

SPECIAL END EFFECTOR

EXISTING AND PROPOSED END EFFECTOR RELATION IN ASSEMBLY

END EFFECTOR

55


56

front view

top view

perspective

side view

END EFFECTOR PROPOSED END EFFECTOR DESIGN | EXPLODED VIEW


front view

top view

perspective

side view

PROPOSED END EFFECTOR DESIGN

END EFFECTOR

57


Inverse kinematics refers to the use of kinematic equations of the robot to compute the position of the end effector from specified values for the joint parameters.The animator specifies joint angles and the robot finds the positions of the end-effector. In inverse kinematics all the angles in the adjacent diagram are claculated and specified in order for the robotic arm to reach the desired point. Forward Kinematics refers to the use of kinematic equations of a robot to compute the position of the end-effector from specified values for the joint parameters.The co-ordinates of the point to be reached by the robotic arm are specified and the joint parameters are calculated by the robotic arm.

front view

top view

Inverse Kinematics (IK)

Forward Kinematics (FK) destination point and orientation

angles perspective

58

KINEMATICS

destination point and orientation side view

INVERSE KINEMATICS AND FORWARD KINEMATICS OVERVIEW

angles


Since it is not practical to deduce orientation of each joint as in Forward Kinematics, we need to use Inverse Kinematics. This means instructing the Robot to got to a certain location and let it calculate the angles for each joint. For this you need; a. the location of the point (coordinates vector) b. orientation when in that point (orientation vectors) (Euler Method) Point B is the Robots Final Joint. Point A is the fixed point on our End Effector.

B

vectors x, y, z is the orientation vectors A - B creates a vector from B to A, hence relocate the destination point. Then using the robot you can add pen height to the overall height of the resultant vector.

A

z

y x

END EFFECTOR INVERSE KINEMATICS CALCULATION DIAGRAM

KINEMATICS

59


EPS file: for visual editing and printing

CODE OUTPUT

C++ code

Pattern generation

Points text files: for robot instructions

BMP images: for animation

ROBOT OUTPUT

DIGITAL POINTS CLOUD

POINTS COORDINATES TEXT FILE

INTERPOLATION The points are interpolated by the robot hence curves are drawn since there are no lift points and pen is always at z = 0

ROBOT DRAWING

60

CODE AND ROBOT OUTPUT INTERPOLATION


ROBOT OUTPUT STIPPLING

ROBOT DRAWING

DIGITAL POINTS CLOUD

For the robot to draw the points individually, to stipple, a duplicate of the set of points is needed at a higher value of z. The 2 sets of points have to then be arranged in a way so that the robot reads it in the correct sequence being a point on the paper then a point in the air and so on.

GRASSHOPPER CODE FOR STIPPLING

STIPPLING

CODE AND ROBOT OUTPUT

61


1. For the robotic arm to reach the desired point it requires calibration along the z-axis.

2. In this case the angles shown in the adjacent diagram are derived by inverse kinematics.

3. The co-ordinates of the point to be reached are provided.

4. The z-axis is calculated by manual operation of the pendant in teach mode. This was done due to the unevenness of the surface.

5. The z-co-ordinate derived from the manual calibration is then fed into the code an robotic arm is then allowed to run the code.

62

CALIBRATION DIAGRAMS


2.

1.

INITIAL POSITION

MARKING THE Z-AXIS ON PAPER

CALIBRATION

DRAWING THE POINTS ON PAPER

CALIBRATION DIAGRAMS

63


64


TITLE OF THE PAGE

SUBTITLE OF THE PAGE

ROBOTS POINT CHECKING Robot’s TCP (Tool Center Point) checks every point for reachability.

ROBOT POINT CHECKING

65


The next material exploration was in wax.We tried penetrating the wax with a driver. and with a sharp blade. However ,we still encountered the problem of the deposition of wax on the sides of the pattern.

66

MATERIAL EXPLORATIONS WAX


Experiments by using the blade as an end-effector WAX

MATERIAL EXPLORATION

67


68

MATERIAL EXPLORATIONS

PAPER


Various materials were tried out as a base to get test the end-effector in order to add a third dimenion to the patterns. The ďŹ rst material we tried out was clay and we jogged the pendant manually to get a stipling effect. What was found was that the clay accumulates around the line when a pointed tip is used to penetrate it which would be hard to get rid of.

CLAY

MATERIAL EXPLORATION

69


SCANNING PROCESS

REAL OBJECT

PATTERN PROJECTION

70

EXPLORING 3D

3D SCANNING

DIGITAL MODEL


STIPPLING TECHNIQUE

Similar to the 2D drawing, the stippling technique is done in the same way except in 3D, it’s not just an increase in z value but rather an offset of the point projected along its normal vector direction. Using grasshopper, the normals are calculated and a new set of points are created.

INSTRUCTING THE ROBOT

x co-ordinate, y co-ordinate, z co-ordinate, orientation about x-axis, orientation about y-axis, orientation about z-axis

FAILED

For a robot to draw in 3D it requires not only the coordinates of the points but the orientation it would approach it. Not only that, but the object and robot arm restrictions and physical aspects need to be carefully considered and the robot motion to be planned precisely. We have not planned the sequence of motion taking these things into considerations hence the robot failed to draw on the object although given the correct coordinates and orientations.

EXPLORING 3D

71


72 22


1.

ANALYSIS AND CONCLUSION 73


JOINT 1

JOINT 2

movement in space The analysis graph on the right show that the first three joints movement in time and that means it is not very efficient because it it not homogenous and fluent.

74

ANALYSIS PRIMITIVE 02 AS LINE DRAWING

JOINT 3 movement in time


movement in space

In addition to the data on the left, with the stippling efect it became more unefficient because not the arms move in z direction as wel as x and y. movement in time PRIMITIVE 02 WITH STIPPLING DRAWING (POINTS)

ANALYSIS

75


76


CONCLUSION AND FURTHER THOUGHTS In general, we’ve reached a good level of being able to generate patterns through coding and instructing the robot to draw them with a pen in 2D. From the start, we were interested in exploring what more options could be done with a robot arm and the type of materials it could manipulate. Further studies would be needed to optimize those new techniques and materials that require a further level of intricacy over the use of a pen and paper; which was crucial to start with to grasp the essence of instructing robotics. In addition, working in 2D and getting the hang of it made us think of other dimensions. We made a leap to 3D, whereas, a step to 2 and a half dimensions would have been a better option. More time is required to fully understand and be able to plan the robot movement and its path of points to be able to pull off a 3D drawing.

CONCLUSION

77



Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.