Skip to content
Snippets Groups Projects
Commit 3d33c1d0 authored by Amira Abdel-Rahman's avatar Amira Abdel-Rahman
Browse files

ur10 edge

parent c298c7f0
No related branches found
No related tags found
No related merge requests found
Pipeline #6364 passed
......@@ -26,7 +26,6 @@ assembler.run();
//////////////////////////////python-urx//////////////////
var integratedSetup={
ur10Setup:{
parameters:{
......@@ -55,6 +54,14 @@ var integratedSetup={
ry:1.3498035669326782,
rz:-1.5769990126239222,
},
edge90PickupRobotHome:{
x: 0.14550010859966278,
y: -1.2639334837542933,
z: 2.2356719970703125,
rx: -0.966320816670553,
ry: 0.1400364190340042,
rz: -1.5755623022662562,
},
programmingRelativeDistance:{
x: -0.203,
y: 0.0127,
......@@ -72,9 +79,9 @@ var integratedSetup={
rz:0
},
edgeRelativeDistance:{
x: 0,
y: 0,
z: 0.04,
x: -0.2833,
y: -0.008,
z: 0.038,
rx:0,
ry:0,
rz:0
......@@ -91,6 +98,63 @@ var integratedSetup={
nodes:[ //relative to the pickup
],
edges:[ //relative to the pickup
{ //s1
x: 0.0075,
y: -0.2833,
z: 0.038,
rx:0,
ry:0,
rz:0,
},
{ //s2
x: 0.0075,
y: -0.3143,
z: 0.038,
rx:0,
ry:0,
rz:0,
},
{ //s3
x: 0,
y: 0,
z: 0.03,
rx:0,
ry:0,
rz:Math.PI,
},
{ //s4
x: 0,
y: -0.031,
z: 0.03,
rx:0,
ry:0,
rz:Math.PI,
},
{ //s5
x: 0,
y: -0.062,
z: 0.03,
rx:0,
ry:0,
rz:Math.PI,
},
{ //s6
x: -0.0235,
y: -0.2833,
z: 0.038,
rx:0,
ry:0,
rz:0,
},
{ //s7
x: -0.0235,
y: -0.3143,
z: 0.038,
rx:0,
ry:0,
rz:0,
},
],
},
DEMSetup:{
......@@ -126,6 +190,9 @@ document.addEventListener('addNode', function (e) {
function assembleNode(e,integratedSetup){
var ur10Setup=integratedSetup.ur10Setup;
ur10Setup.nodes=[];
ur10Setup.edges=[];
var x=e.detail.x;
var y=e.detail.y;
var z=e.detail.z;
......
{
"setup": {
"parameters": {
"run": false,
"run": true,
"pythonFileName": "ur10test",
"ipNode": "192.168.1.52",
"ipEdge": "192.168.1.53",
......@@ -26,6 +26,14 @@
"ry": 1.3498035669326782,
"rz": -1.5769990126239222
},
"edge90PickupRobotHome": {
"x": 0.14550010859966278,
"y": -1.2639334837542933,
"z": 2.2356719970703125,
"rx": -0.966320816670553,
"ry": 0.1400364190340042,
"rz": -1.5755623022662562
},
"programmingRelativeDistance": {
"x": -0.203,
"y": 0.0127,
......@@ -43,9 +51,9 @@
"rz": 0
},
"edgeRelativeDistance": {
"x": 0,
"y": 0,
"z": 0.04,
"x": -0.2833,
"y": -0.008,
"z": 0.038,
"rx": 0,
"ry": 0,
"rz": 0
......@@ -58,14 +66,6 @@
"sleep1": 0.1
},
"nodes": [
{
"y": 0,
"x": 0,
"z": 0,
"rx": 0,
"ry": 0,
"rz": 0
},
{
"y": 0,
"x": 1,
......@@ -76,38 +76,6 @@
}
],
"edges": [
{
"y": 0,
"x": 0.5,
"z": 0,
"rx": 0,
"ry": 0,
"rz": 0
},
{
"y": -0.5,
"x": 0,
"z": 0,
"rx": 0,
"ry": 0,
"rz": 1.5707963267948966
},
{
"y": 0,
"x": -0.5,
"z": 0,
"rx": 0,
"ry": 0,
"rz": 0
},
{
"y": 0.5,
"x": 0,
"z": 0,
"rx": 0,
"ry": 0,
"rz": 1.5707963267948966
},
{
"y": 0,
"x": 1.5,
......
......@@ -25,26 +25,25 @@ setup=data["setup"]
globalSetup=data["setup"]["parameters"]
reference_roy=globalSetup["nodePickupRobotHome"]
reference_siegfried=globalSetup["edgePickupRobotHome"]
strut90_siegfried_j=globalSetup["edge90PickupRobotHome"]
latticePitch=globalSetup["latticePitch"]
sleepTime=globalSetup["sleep"]
sleepTime1=globalSetup["sleep1"]
# # reference locations are 40 mm above pickup points
# reference_roy_j = (reference_roy["x"], reference_roy["y"], reference_roy["z"], reference_roy["rx"], reference_roy["ry"], reference_roy["rz"])
# reference_siegfried_j = (reference_siegfried["x"], reference_siegfried["y"], reference_siegfried["z"], reference_siegfried["rx"], reference_siegfried["ry"], reference_siegfried["rz"])
# reference locations are 40 mm above pickup points
reference_roy_j = (reference_roy["x"], reference_roy["y"], reference_roy["z"], reference_roy["rx"], reference_roy["ry"], reference_roy["rz"])
reference_siegfried_j = (reference_siegfried["x"], reference_siegfried["y"], reference_siegfried["z"], reference_siegfried["rx"], reference_siegfried["ry"], reference_siegfried["rz"])
strut90_siegfried_j = (strut90_siegfried_j["x"], strut90_siegfried_j["y"], strut90_siegfried_j["z"], strut90_siegfried_j["rx"], strut90_siegfried_j["ry"], strut90_siegfried_j["rz"])
# roy = urx.Robot(globalSetup["ipNode"])
# roy.set_tcp((0, 0, 0.1, 0, 0, 0))
# roy.set_payload(2, (0, 0, 0.1))
# time.sleep(sleepTime) #leave some time to robot to process the setup commands
# siegfried = urx.Robot(globalSetup["ipEdge"])
# siegfried.set_tcp((0, 0, 0.1, 0, 0, 0))
# siegfried.set_payload(2, (0, 0, 0.1))
# time.sleep(sleepTime) #leave some time to robot to process the setup commands
roy = urx.Robot("192.168.1.52")
roy.set_tcp((0, 0, 0.1, 0, 0, 0))
roy.set_payload(2, (0, 0, 0.1))
siegfried = urx.Robot("192.168.1.53")
siegfried.set_tcp((0, 0, 0.1, 0, 0, 0))
siegfried.set_payload(2, (0, 0, 0.1))
time.sleep(0.2) #leave some time to robot to process the setup commands
# placement location reference (top view)
......@@ -59,47 +58,47 @@ for node in setup["nodes"]:
print("Build Node:")
print(node)
# v = globalSetup["v"]
# a = globalSetup["a"]
# # move to reference locations and get current transformation matrices
# roy.movej(reference_roy_j, acc = a, vel = v)
# roy_trans = roy.get_pose()
# time.sleep(sleepTime)
# v = globalSetup["v1"]
# a = globalSetup["a1"]
# # move to pickup locations from reference
# roy_trans.pos.z += globalSetup["nodeRelativeDistance"]["z"]
# roy.set_pose(roy_trans, acc = a, vel = v)
# time.sleep(sleepTime)
# # close and open grippers
# roy.send_program('set_tool_digital_out(0, True)') #close node tool
# time.sleep(sleepTime1)
# roy.send_program('set_tool_digital_out(0, False)') #open node tool
# time.sleep(sleepTime1)
# # move roy (nodes) to programming location from reference, drops to program, then lifts to reference height
# roy_trans.pos.x += globalSetup["programmingRelativeDistance"]["x"]
# roy_trans.pos.y += globalSetup["programmingRelativeDistance"]["y"]
# roy.set_pose(roy_trans, acc = a, vel = v)
# roy_trans.pos.z -= globalSetup["programmingRelativeDistance"]["z"]
# roy.set_pose(roy_trans, acc = a, vel = v)
# time.sleep(1) # programming time!
# roy_trans.pos.z += globalSetup["programmingRelativeDistance"]["z"]
# roy.set_pose(roy_trans, acc = a, vel = v)
# # move roy (nodes) to node from reference location
# roy_trans.pos.x += ((globalSetup["nodeRelativeDistance"]["x"])+node["x"]*latticePitch["x"])
# roy_trans.pos.y += ((globalSetup["nodeRelativeDistance"]["y"])+node["y"]*latticePitch["y"])
# roy.set_pose(roy_trans, acc = a, vel = v)
# roy_trans.pos.z -= (globalSetup["nodeRelativeDistance"]["z"]-node["z"]*latticePitch["z"])
# roy.set_pose(roy_trans, acc = a, vel = v)
# roy_trans.pos.z += (globalSetup["nodeRelativeDistance"]["z"]-node["z"]*latticePitch["z"])
# time.sleep(sleepTime)
v = globalSetup["v"]
a = globalSetup["a"]
# move to reference locations and get current transformation matrices
roy.movej(reference_roy_j, acc = a, vel = v)
roy_trans = roy.get_pose()
time.sleep(sleepTime)
v = globalSetup["v1"]
a = globalSetup["a1"]
# move to pickup locations from reference
roy_trans.pos.z += globalSetup["nodeRelativeDistance"]["z"]
roy.set_pose(roy_trans, acc = a, vel = v)
time.sleep(sleepTime)
# close and open grippers
roy.send_program('set_tool_digital_out(0, True)') #close node tool
time.sleep(sleepTime1)
roy.send_program('set_tool_digital_out(0, False)') #open node tool
time.sleep(sleepTime1)
# move roy (nodes) to programming location from reference, drops to program, then lifts to reference height
roy_trans.pos.x += globalSetup["programmingRelativeDistance"]["x"]
roy_trans.pos.y += globalSetup["programmingRelativeDistance"]["y"]
roy.set_pose(roy_trans, acc = a, vel = v)
roy_trans.pos.z -= globalSetup["programmingRelativeDistance"]["z"]
roy.set_pose(roy_trans, acc = a, vel = v)
time.sleep(1) # programming time!
roy_trans.pos.z += globalSetup["programmingRelativeDistance"]["z"]
roy.set_pose(roy_trans, acc = a, vel = v)
# move roy (nodes) to node from reference location
roy_trans.pos.x += ((globalSetup["nodeRelativeDistance"]["x"])+node["x"]*latticePitch["x"])
roy_trans.pos.y += ((globalSetup["nodeRelativeDistance"]["y"])+node["y"]*latticePitch["y"])
roy.set_pose(roy_trans, acc = a, vel = v)
roy_trans.pos.z -= (globalSetup["nodeRelativeDistance"]["z"]-node["z"]*latticePitch["z"])
roy.set_pose(roy_trans, acc = a, vel = v)
roy_trans.pos.z += (globalSetup["nodeRelativeDistance"]["z"]-node["z"]*latticePitch["z"])
time.sleep(sleepTime)
......@@ -111,26 +110,58 @@ for edge in setup["edges"]:
print("Build Edge:")
print(edge)
# v = globalSetup["v"]
# a = globalSetup["a"]
v = globalSetup["v"]
a = globalSetup["a"]
# # move to reference locations and get current transformation matrices
# siegfried.movej(reference_siegfried_j, acc = a, vel = v)
# siegfried_trans = siegfried.get_pose()
# time.sleep(sleepTime)
# move to reference locations and get current transformation matrices
siegfried.movej(reference_siegfried_j, acc = a, vel = v)
siegfried_trans = siegfried.get_pose()
time.sleep(sleepTime)
# # move to pickup locations from reference
# siegfried_trans.pos.z += globalSetup["edgeRelativeDistance"]["z"]
# siegfried.set_pose(siegfried_trans, acc = a, vel = v)
# time.sleep(sleepTime)
v = globalSetup["v1"]
a = globalSetup["a1"]
# # close and open grippers
# siegfried.send_program('set_tool_digital_out(0, True)') #close strut tool
# time.sleep(sleepTime1)
# siegfried.send_program('set_tool_digital_out(0, False)') #open strut tool
# time.sleep(sleepTime1)
# move to pickup locations from reference
siegfried_trans.pos.z += globalSetup["edgeRelativeDistance"]["z"]
siegfried.set_pose(siegfried_trans, acc = a, vel = v)
time.sleep(sleepTime)
# close and open grippers
siegfried.send_program('set_tool_digital_out(0, True)') #close strut tool
time.sleep(sleepTime1)
siegfried.send_program('set_tool_digital_out(0, False)') #open strut tool
time.sleep(sleepTime1)
# placement location reference (top view)
# [S1] [S2]
#
#[S3] [N1] [S4] [N2] [S5]
#
# [S6] [S7]
# print ("roy's current pose: ", roy.getj())
# print ("siegfried's current pose: ", siegfried.getj())
#move siegfried (struts) to S1, then to build level 0.5, from reference location
if node["rx"]<0.1 :
siegfried_trans.pos.y += ((globalSetup["edgeRelativeDistance"]["y"])+node["y"]*latticePitch["y"])
siegfried_trans.pos.x += ((globalSetup["edgeRelativeDistance"]["x"])+node["x"]*latticePitch["x"])
siegfried.set_pose(siegfried_trans, acc = a, vel = v)
siegfried_trans.pos.z -= (globalSetup["edgeRelativeDistance"]["z"]-node["z"]*latticePitch["z"])
siegfried.set_pose(siegfried_trans, acc = a, vel = v)
siegfried_trans.pos.z += (globalSetup["edgeRelativeDistance"]["z"]-node["z"]*latticePitch["z"])
else:
#move siegfried (struts) to S4, then to build level 0.5, from reference location
#uses movej for the rotation and to get close to the build plate, to avoid sketchiness
siegfried.movej(strut90_siegfried_j, acc = a, vel = v)
siegfried_trans = siegfried.get_pose()
siegfried_trans.pos.y -= latticePitch["y"]*(node["y"]-0.5)
siegfried.set_pose(siegfried_trans, acc = a, vel = v)
siegfried_trans.pos.z -= (globalSetup["edgeRelativeDistance"]["z"]-0.008)
siegfried.set_pose(siegfried_trans, acc = a, vel = v)
#use movej to go back to origin point after moving back up
siegfried_trans.pos.z += (globalSetup["edgeRelativeDistance"]["z"])
print ("roy's current pose: ", roy.getj())
print ("siegfried's current pose: ", siegfried.getj())
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment