KJSCE/IT/LY/SEMVIII/ROB/2019-20: (Autonomous College Affiliated To University of Mumbai)
KJSCE/IT/LY/SEMVIII/ROB/2019-20: (Autonomous College Affiliated To University of Mumbai)
KJSCE/IT/LY/SEMVIII/ROB/2019-20: (Autonomous College Affiliated To University of Mumbai)
Theory:
Cartesian Robot (3P)
A Cartesian coordinate robot has three principal prismatic axes (X, Y and Z) that are at right
angles to each other. Cartesian coordinate robots with the horizontal member supported at
both ends are sometimes called Gantry robots. They are often quite large. Gantry robots
usually hang upside down. Like gantry cranes, they are suspended from an X or X/Y axis
beam.
Both Cartesian and Gantry robots have a rectangular work envelope. Because of the highly
rigidity, the Cartesian/Gantry Robots are very accurate and repeatable but they lacks
flexibility as they cannot reach around objects. Due to their mechanical structure, these robots
are very easy to program and visualize. It is used primarily to position a wide variety of end-
effectors such as: Automatic screwdrivers, Automatic drills, Dispensing heads, Welding
heads, Water jet cutting heads and Grippers.
----------------------------------------------------------------------------------------------------------------
Results: (Program printout with output / Document printout as per the format)
CODE:
import pygame
from pygame.locals import *
a,b,c=0,0,0
roboVertices=(
(0,0,0),
(0,(b+bMin)/2,0),
(0,(b+bMin)/2,(c+cMin)/2),
(Autonomous College Affiliated to University of Mumbai)
KJSCE/IT/LY/SEMVIII/ROB/2019-20
((a+aMin)/2,(b+bMin)/2,(c+cMin)/2),
)
vertices1=(#keep in order
(0,0,0),
(0,b,0),
(a,b,0),
(a,0,0),
(0,0,c),
(0,b,c),
(a,b,c),
(a,0,c),
)
#tuples for representation
vertices2=(#keep in order
(0,0,0),
(0,bMin,0),
(aMin,bMin,0),
(aMin,0,0),
(0,0,cMin),
(0,bMin,cMin),
(aMin,bMin,cMin),
(aMin,0,cMin),
)
roboEdges=(
(0,1),
(1,2),
(2,3),
)
edges=(
#each node will have 3 connections
#total 12
(0,1),
(1,2),
(2,3),
(3,0),
(4,5),
(5,6),
(6,7),
(4,7),
(0,4),
(1,5),
(2,6),
(3,7),
)
def CubeWSE():
glColor3fv((0,0,1))
glVertex3fv(vertices1[vertex])#specifies a vertex and does something with it
glEnd()
def main():
pygame.init()#start pygame
display=(800,600)
pygame.display.set_mode(display,DOUBLEBUF|OPENGL)#details of display size and type of data to
show ie opengl
#doublebuf is dispaly framerate
while True:
for event in pygame.event.get():
if event.type==pygame.QUIT:
pygame.quit()
quit()
if event.type==pygame.KEYDOWN:
if event.key==pygame.K_LEFT:
glTranslatef(-0.5,0,0)#neg on x
if event.key==pygame.K_RIGHT:
glTranslatef(0.5,0,0)
if event.key==pygame.K_UP:
glTranslatef(0,1,0)
if event.key==pygame.K_DOWN:
glTranslatef(0,-1,0)
if event.type==pygame.MOUSEBUTTONDOWN:
if event.button==4:#scroll up
glTranslatef(0,0,0.5)
if event.button==5:#scroll down
glTranslatef(0,0,-0.5)
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)#clear the slate and draw on top of it
CubeWSE()
pygame.display.flip()#pdate doesnt wokr so we use this
pygame.time.wait(10)
main()
RESULT:
Yellow=MAXIMUM REACH
Green=ROBOT JOINTS
Pink=MINIMUM REACH
UP_DOWN:
___________________________________________________________________________
Outcomes:
Understand basics of robotic dynamics, path planning and Task planning
___________________________________________________________________________
Conclusion:
In this experiment we have understood the motion of a robot in a simulation and have
generated the workspace of Cartesian robot.
___________________________________________________________________________
Grade: AA / AB / BB / BC / CC / CD /DD