Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
D
Dobot Uhr
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Lena Hagenauer
Dobot Uhr
Commits
4150f8d9
Commit
4150f8d9
authored
Mar 18, 2019
by
Lena Hagenauer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add new file
parents
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
377 additions
and
0 deletions
+377
-0
Dobot_uhr.py
Dobot_uhr.py
+377
-0
No files found.
Dobot_uhr.py
0 → 100644
View file @
4150f8d9
import
time
dType
.
SetEndEffectorSuctionCup
(
api
,
1
,
0
,
1
)
dType
.
SetPTPJumpParams
(
api
,
65
,
90
,
isQueued
=
0
)
dType
.
SetPTPCommonParams
(
api
,
100
,
200
,
isQueued
=
0
)
aufbau
=
True
#aufbau=False
t
=
7
class
Block
():
def
__init__
(
self
,
a
):
self
.
a
=
a
def
setPos
(
self
,
x
,
y
,
z
):
self
.
x
=
x
self
.
y
=
y
self
.
z
=
z
def
setNummer
(
self
,
n
):
self
.
n
=
n
def
getNummer
(
self
):
return
self
.
n
def
getX
(
self
):
return
self
.
x
def
getY
(
self
):
return
self
.
y
def
getZ
(
self
):
return
self
.
z
def
setAV
(
self
,
a
):
self
.
a
=
a
def
getAV
(
self
):
return
self
.
a
def
get1h
(
h
):
if
int
(
h
)
<
10
:
return
0
if
10
<=
int
(
h
)
<
20
:
return
1
if
20
<=
int
(
h
):
return
2
else
:
return
0
def
get0h
(
h
):
if
int
(
h
)
<
10
:
return
int
(
h
)
if
10
<=
int
(
h
)
<
20
:
return
int
(
h
)
-
10
if
20
<=
int
(
h
):
return
int
(
h
)
-
20
def
get1m
(
m
):
if
int
(
m
)
<
10
:
return
0
if
10
<=
int
(
m
)
<
20
:
return
1
if
20
<=
int
(
m
)
<
30
:
return
2
if
30
<=
int
(
m
)
<
40
:
return
3
if
40
<=
int
(
m
)
<
50
:
return
4
if
50
<=
int
(
m
):
return
5
def
get0m
(
m
):
if
int
(
m
)
<
10
:
return
int
(
m
)
if
10
<=
int
(
m
)
<
20
:
return
int
(
m
)
-
10
if
20
<=
int
(
m
)
<
30
:
return
int
(
m
)
-
20
if
30
<=
int
(
m
)
<
40
:
return
int
(
m
)
-
30
if
40
<=
int
(
m
)
<
50
:
return
int
(
m
)
-
40
if
50
<=
int
(
m
):
return
int
(
m
)
-
50
def
setStartTime
(
h
,
m
):
h1
=
get1h
(
h
)
seth1Time
(
h1
)
h0
=
get0h
(
h
)
seth0Time
(
h0
)
m1
=
get1m
(
m
)
setm1Time
(
m1
)
m0
=
get0m
(
m
)
setm0Time
(
m0
)
home
()
def
seth1Time
(
h
):
for
i
in
range
(
30
):
print
(
b
[
5
]
.
getNummer
())
if
(
h
==
b
[
i
]
.
getNummer
()
and
b
[
i
]
.
getAV
()
==
1
):
if
(
aufbau
==
True
):
dType
.
SetPTPCmd
(
api
,
0
,
float
(
b
[
i
]
.
getX
()),
float
(
b
[
i
]
.
getY
()),
float
(
b
[
i
]
.
getZ
()),
40
,
1
)
dType
.
SetEndEffectorSuctionCup
(
api
,
1
,
1
,
1
)
b
[
i
]
.
setAV
(
0
)
dType
.
SetPTPCmd
(
api
,
0
,
float
(
anzeige
[
0
]
.
getX
()),
float
(
anzeige
[
0
]
.
getY
()),
float
(
anzeige
[
0
]
.
getZ
()),
40
,
1
)
dType
.
SetEndEffectorSuctionCup
(
api
,
1
,
0
,
1
)
break
else
:
b
[
i
]
.
setAV
(
0
)
time
.
sleep
(
t
)
break
def
reseth1Time
(
h
):
for
i
in
range
(
30
):
if
(
h
==
b
[
i
]
.
getNummer
()
and
b
[
i
]
.
getAV
()
==
0
):
if
(
aufbau
==
True
):
b
[
i
]
.
setAV
(
1
)
time
.
sleep
(
t
)
break
else
:
if
(
h
==
b
[
i
]
.
getNummer
()
and
b
[
i
]
.
getAV
()
==
0
):
dType
.
SetPTPCmd
(
api
,
0
,
float
(
anzeige
[
0
]
.
getX
()),
float
(
anzeige
[
0
]
.
getY
()),
float
(
anzeige
[
0
]
.
getZ
()),
40
,
1
)
dType
.
SetEndEffectorSuctionCup
(
api
,
1
,
1
,
1
)
b
[
i
]
.
setAV
(
1
)
dType
.
SetPTPCmd
(
api
,
0
,
float
(
b
[
i
]
.
getX
()),
float
(
b
[
i
]
.
getY
()),
float
(
b
[
i
]
.
getZ
()),
40
,
1
)
dType
.
SetEndEffectorSuctionCup
(
api
,
1
,
0
,
1
)
break
def
seth0Time
(
h
):
for
i
in
range
(
30
):
if
(
h
==
b
[
i
]
.
getNummer
()
and
b
[
i
]
.
getAV
()
==
1
):
if
(
aufbau
==
True
):
dType
.
SetPTPCmd
(
api
,
0
,
float
(
b
[
i
]
.
getX
()),
float
(
b
[
i
]
.
getY
()),
float
(
b
[
i
]
.
getZ
()),
40
,
1
)
dType
.
SetEndEffectorSuctionCup
(
api
,
1
,
1
,
1
)
b
[
i
]
.
setAV
(
0
)
dType
.
SetPTPCmd
(
api
,
0
,
float
(
anzeige
[
1
]
.
getX
()),
float
(
anzeige
[
1
]
.
getY
()),
float
(
anzeige
[
1
]
.
getZ
()),
40
,
1
)
dType
.
SetEndEffectorSuctionCup
(
api
,
1
,
0
,
1
)
break
else
:
b
[
i
]
.
setAV
(
0
)
time
.
sleep
(
t
)
break
def
reseth0Time
(
h
):
for
i
in
range
(
30
):
if
(
h
==
b
[
i
]
.
getNummer
()
and
b
[
i
]
.
getAV
()
==
0
):
if
(
aufbau
==
True
):
b
[
i
]
.
setAV
(
1
)
time
.
sleep
(
t
)
break
else
:
if
(
h
==
b
[
i
]
.
getNummer
()
and
b
[
i
]
.
getAV
()
==
0
):
dType
.
SetPTPCmd
(
api
,
0
,
float
(
anzeige
[
1
]
.
getX
()),
float
(
anzeige
[
1
]
.
getY
()),
float
(
anzeige
[
1
]
.
getZ
()),
40
,
1
)
dType
.
SetEndEffectorSuctionCup
(
api
,
1
,
1
,
1
)
b
[
i
]
.
setAV
(
1
)
dType
.
SetPTPCmd
(
api
,
0
,
float
(
b
[
i
]
.
getX
()),
float
(
b
[
i
]
.
getY
()),
float
(
b
[
i
]
.
getZ
()),
40
,
1
)
dType
.
SetEndEffectorSuctionCup
(
api
,
1
,
0
,
1
)
break
def
setm1Time
(
m
):
for
i
in
range
(
30
):
if
(
m
==
b
[
i
]
.
getNummer
()
and
b
[
i
]
.
getAV
()
==
1
):
if
(
aufbau
==
True
):
dType
.
SetPTPCmd
(
api
,
0
,
float
(
b
[
i
]
.
getX
()),
float
(
b
[
i
]
.
getY
()),
float
(
b
[
i
]
.
getZ
()),
40
,
1
)
dType
.
SetEndEffectorSuctionCup
(
api
,
1
,
1
,
1
)
b
[
i
]
.
setAV
(
0
)
dType
.
SetPTPCmd
(
api
,
0
,
float
(
anzeige
[
2
]
.
getX
()),
float
(
anzeige
[
2
]
.
getY
()),
float
(
anzeige
[
2
]
.
getZ
()),
40
,
1
)
dType
.
SetEndEffectorSuctionCup
(
api
,
1
,
0
,
1
)
break
else
:
b
[
i
]
.
setAV
(
0
)
time
.
sleep
(
t
)
break
def
resetm1Time
(
m
):
for
i
in
range
(
30
):
if
(
m
==
b
[
i
]
.
getNummer
()
and
b
[
i
]
.
getAV
()
==
0
):
if
(
aufbau
==
True
):
b
[
i
]
.
setAV
(
1
)
time
.
sleep
(
t
)
break
else
:
if
(
m
==
b
[
i
]
.
getNummer
()
and
b
[
i
]
.
getAV
()
==
0
):
dType
.
SetPTPCmd
(
api
,
0
,
float
(
anzeige
[
2
]
.
getX
()),
float
(
anzeige
[
2
]
.
getY
()),
float
(
anzeige
[
2
]
.
getZ
()),
40
,
1
)
dType
.
SetEndEffectorSuctionCup
(
api
,
1
,
1
,
1
)
b
[
i
]
.
setAV
(
1
)
dType
.
SetPTPCmd
(
api
,
0
,
float
(
b
[
i
]
.
getX
()),
float
(
b
[
i
]
.
getY
()),
float
(
b
[
i
]
.
getZ
()),
40
,
1
)
dType
.
SetEndEffectorSuctionCup
(
api
,
1
,
0
,
1
)
break
def
setm0Time
(
m
):
for
i
in
range
(
30
):
if
(
m
==
b
[
i
]
.
getNummer
()
and
b
[
i
]
.
getAV
()
==
1
):
if
(
aufbau
==
True
):
dType
.
SetPTPCmd
(
api
,
0
,
float
(
b
[
i
]
.
getX
()),
float
(
b
[
i
]
.
getY
()),
float
(
b
[
i
]
.
getZ
()),
40
,
1
)
dType
.
SetEndEffectorSuctionCup
(
api
,
1
,
1
,
1
)
b
[
i
]
.
setAV
(
0
)
dType
.
SetPTPCmd
(
api
,
0
,
float
(
anzeige
[
2
]
.
getX
()),
float
(
anzeige
[
2
]
.
getY
()),
float
(
anzeige
[
2
]
.
getZ
()),
40
,
1
)
dType
.
SetEndEffectorSuctionCup
(
api
,
1
,
0
,
1
)
break
else
:
b
[
i
]
.
setAV
(
0
)
time
.
sleep
(
t
)
break
def
resetm0Time
(
m
):
for
i
in
range
(
30
):
if
(
m
==
b
[
i
]
.
getNummer
()
and
b
[
i
]
.
getAV
()
==
0
):
if
(
aufbau
==
True
):
b
[
i
]
.
setAV
(
1
)
time
.
sleep
(
t
)
break
else
:
if
(
m
==
b
[
i
]
.
getNummer
()
and
b
[
i
]
.
getAV
()
==
0
):
dType
.
SetPTPCmd
(
api
,
0
,
float
(
anzeige
[
3
]
.
getX
()),
float
(
anzeige
[
3
]
.
getY
()),
float
(
anzeige
[
3
]
.
getZ
()),
40
,
1
)
dType
.
SetEndEffectorSuctionCup
(
api
,
1
,
1
,
1
)
b
[
i
]
.
setAV
(
1
)
dType
.
SetPTPCmd
(
api
,
0
,
float
(
b
[
i
]
.
getX
()),
float
(
b
[
i
]
.
getY
()),
float
(
b
[
i
]
.
getZ
()),
40
,
1
)
dType
.
SetEndEffectorSuctionCup
(
api
,
1
,
0
,
1
)
break
if
(
aufbau
==
True
):
xst
=
192.0
yst
=-
67.0
zst
=-
71.0
xa
=
xst
ya
=
yst
-
25
za
=-
75.0
else
:
xst
=
297.0
yst
=
63.0
zst
=-
72.0
xa
=
xst
ya
=
yst
+
26
za
=-
75.0
def
home
():
if
(
aufbau
==
True
):
dType
.
SetPTPCmd
(
api
,
0
,
0
,
-
200
,
0
,
40
,
1
)
else
:
dType
.
SetPTPCmd
(
api
,
0
,
0
,
200
,
0
,
40
,
1
)
anzeige
=
{}
for
i
in
range
(
4
):
anzeige
[
i
]
=
Block
(
0
)
for
i
in
range
(
4
):
if
(
aufbau
==
True
):
anzeige
[
i
]
.
setPos
(
xa
+
i
*
35
,
ya
,
za
)
#dType.SetPTPCmd(api, 0,xa+i*35,ya ,za, 40, 1)
else
:
anzeige
[
i
]
.
setPos
(
xa
-
i
*
35
,
ya
,
za
)
#dType.SetPTPCmd(api, 0,xa-i*35,ya ,za, 40, 1)
b
=
{}
for
i
in
range
(
32
):
b
[
i
]
=
Block
(
1
)
for
xi
in
range
(
4
):
for
yi
in
range
(
8
):
if
(
aufbau
==
True
):
#print(xi*8+yi)
b
[
xi
*
8
+
yi
]
.
setPos
(
xst
+
xi
*
35
,
yst
+
yi
*
24
,
zst
)
#dType.SetPTPCmd(api, 0,xst+xi*35,yst+yi*24 ,zst, 40, 1)
else
:
print
(
xi
*
8
+
yi
)
b
[
xi
*
8
+
yi
]
.
setPos
(
xst
-
xi
*
35
,
yst
-
yi
*
24
,
zst
)
#dType.SetPTPCmd(api, 0,xst-xi*35,yst-yi*24 ,zst, 40, 1)
b
[
0
]
.
setNummer
(
0
)
b
[
1
]
.
setNummer
(
0
)
b
[
2
]
.
setNummer
(
0
)
b
[
3
]
.
setNummer
(
0
)
b
[
4
]
.
setNummer
(
1
)
b
[
5
]
.
setNummer
(
1
)
b
[
6
]
.
setNummer
(
1
)
b
[
7
]
.
setNummer
(
1
)
b
[
8
]
.
setNummer
(
2
)
b
[
9
]
.
setNummer
(
2
)
b
[
10
]
.
setNummer
(
2
)
b
[
11
]
.
setNummer
(
2
)
b
[
12
]
.
setNummer
(
3
)
b
[
13
]
.
setNummer
(
3
)
b
[
14
]
.
setNummer
(
3
)
b
[
15
]
.
setNummer
(
4
)
b
[
16
]
.
setNummer
(
4
)
b
[
17
]
.
setNummer
(
4
)
b
[
18
]
.
setNummer
(
5
)
b
[
19
]
.
setNummer
(
5
)
b
[
20
]
.
setNummer
(
5
)
b
[
21
]
.
setNummer
(
6
)
b
[
22
]
.
setNummer
(
6
)
b
[
23
]
.
setNummer
(
7
)
b
[
24
]
.
setNummer
(
7
)
b
[
25
]
.
setNummer
(
8
)
b
[
26
]
.
setNummer
(
8
)
b
[
27
]
.
setNummer
(
9
)
b
[
28
]
.
setNummer
(
9
)
H
=
time
.
strftime
(
"
%
H"
)
M
=
time
.
strftime
(
"
%
M"
)
setStartTime
(
H
,
M
)
#aktuelle Zeit
a1h
=
get1h
(
H
)
a0h
=
get0h
(
H
)
a1m
=
get1m
(
M
)
a0m
=
get0m
(
M
)
while
(
True
):
H
=
time
.
strftime
(
"
%
H"
)
M
=
time
.
strftime
(
"
%
M"
)
#print(time.strftime("%H:%M"))
#old Time
o1h
=
a1h
o0h
=
a0h
o1m
=
a1m
o0m
=
a0m
print
(
o0m
)
#aktuelle Zeit
a1h
=
get1h
(
H
)
a0h
=
get0h
(
H
)
a1m
=
get1m
(
M
)
a0m
=
get0m
(
M
)
#print(a0m)
dType
.
SetWAITCmd
(
api
,
1
,
isQueued
=
0
)
if
(
o1h
!=
a1h
):
reseth1Time
(
o1h
)
if
(
o0h
!=
a0h
):
reseth0Time
(
o0h
)
if
(
o1m
!=
a1m
):
resetm1Time
(
o1m
)
if
(
o0m
!=
a0m
):
resetm0Time
(
o0m
)
if
(
o1h
!=
a1h
):
seth1Time
(
a1h
)
if
(
o0h
!=
a0h
):
seth0Time
(
a0h
)
if
(
o1m
!=
a1m
):
setm1Time
(
a1m
)
if
(
o0m
!=
a0m
):
setm0Time
(
a0m
)
home
()
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment