Last active
September 9, 2020 16:33
-
-
Save filesmuggler/473fcd02363829cdcf73ddcd26ebda4b to your computer and use it in GitHub Desktop.
Maestro Servo Controller Script for controlling UR3 gripper through I/O tool outputs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!--Pololu Maestro servo controller settings file, http://www.pololu.com/catalog/product/1350--> | |
<UscSettings version="1"> | |
<NeverSuspend>false</NeverSuspend> | |
<SerialMode>UART_FIXED_BAUD_RATE</SerialMode> | |
<FixedBaudRate>9600</FixedBaudRate> | |
<SerialTimeout>0</SerialTimeout> | |
<EnableCrc>false</EnableCrc> | |
<SerialDeviceNumber>12</SerialDeviceNumber> | |
<SerialMiniSscOffset>0</SerialMiniSscOffset> | |
<Channels ServosAvailable="1" ServoPeriod="234"> | |
<!--Period = 4.992 ms--> | |
<!--Channel 0--> | |
<Channel name="" mode="Servo" min="320" max="12992" homemode="Ignore" home="320" speed="0" acceleration="0" neutral="4032" range="1905" /> | |
<!--Channel 1--> | |
<Channel name="" mode="Input" min="0" max="1024" homemode="Ignore" home="0" speed="0" acceleration="0" neutral="1024" range="1905" /> | |
<!--Channel 2--> | |
<Channel name="" mode="Input" min="0" max="1024" homemode="Ignore" home="0" speed="0" acceleration="0" neutral="1024" range="1905" /> | |
<!--Channel 3--> | |
<Channel name="" mode="Input" min="0" max="1024" homemode="Ignore" home="0" speed="0" acceleration="0" neutral="1024" range="1905" /> | |
<!--Channel 4--> | |
<Channel name="" mode="Input" min="0" max="1024" homemode="Ignore" home="0" speed="0" acceleration="0" neutral="1024" range="1905" /> | |
<!--Channel 5--> | |
<Channel name="" mode="Input" min="0" max="1024" homemode="Ignore" home="0" speed="0" acceleration="0" neutral="1024" range="1905" /> | |
</Channels> | |
<Sequences /> | |
<Script ScriptDone="false">begin | |
# comment lines 6 to 9 and uncomment line 14 to use the gripper | |
# do the opposite thing to test the servo range | |
# servo testing | |
#2000 0 servo | |
#1000 delay | |
#10000 0 servo | |
#1000 delay | |
#drop drop drop | |
# initial setting | |
#<pos> <low> <high> <pos> <low> <high> servo_range | |
#2000 0 11 10000 12 1023 servo_range | |
# setting | |
#<pos> <low> <high> <pos> <low> <high> servo_range | |
#2000 0 11 8000 12 1023 servo_range #3 get_position | |
#2 get_position | |
#1000 delay | |
#drop drop | |
repeat | |
sub servo_range | |
pot1 5 pick less_than logical_not #>=low | |
pot1 5 pick greater_than logical_not #<=high | |
logical_and | |
if | |
0 | |
else | |
1 | |
endif | |
pot2 6 pick less_than logical_not #>=low | |
pot2 6 pick greater_than logical_not #<=high | |
logical_and | |
if | |
0 | |
else | |
1 | |
endif | |
1 pick logical_not | |
if | |
# zero in first | |
0 pick logical_not | |
if | |
# zero in second | |
#500 delay | |
8000 move_servo | |
else | |
# one in second | |
#500 delay | |
6600 move_servo | |
endif | |
else | |
# one in first | |
0 pick logical_not | |
if | |
# zero in second | |
#500 delay | |
5300 move_servo | |
else | |
# one in second | |
#500 delay | |
4000 move_servo | |
endif | |
endif | |
drop drop drop drop drop drop drop drop | |
return | |
sub pot1 | |
2 get_position | |
return | |
sub pot2 | |
3 get_position | |
return | |
sub move_servo | |
0 servo | |
500 delay | |
return | |
</Script> | |
</UscSettings> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
begin | |
# comment lines 6 to 9 and uncomment line 14 to use the gripper | |
# do the opposite thing to test the servo range | |
# servo testing | |
#2000 0 servo | |
#1000 delay | |
#10000 0 servo | |
#1000 delay | |
#drop drop drop | |
# initial setting | |
#<pos> <low> <high> <pos> <low> <high> servo_range | |
2000 0 11 10000 12 1023 servo_range | |
# setting | |
#<pos> <low> <high> <pos> <low> <high> servo_range | |
#2000 0 11 8000 12 1023 servo_range #3 get_position | |
#2 get_position | |
#1000 delay | |
#drop drop | |
repeat | |
sub servo_range | |
pot1 5 pick less_than logical_not #>=low | |
pot1 5 pick greater_than logical_not #<=high | |
logical_and | |
if | |
0 | |
else | |
1 | |
endif | |
pot2 6 pick less_than logical_not #>=low | |
pot2 6 pick greater_than logical_not #<=high | |
logical_and | |
if | |
0 | |
else | |
1 | |
endif | |
1 pick logical_not | |
if | |
# zero in first | |
0 pick logical_not | |
if | |
# zero in second | |
#500 delay | |
8000 move_servo | |
else | |
# one in second | |
#500 delay | |
6600 move_servo | |
endif | |
else | |
# one in first | |
0 pick logical_not | |
if | |
# zero in second | |
#500 delay | |
5300 move_servo | |
else | |
# one in second | |
#500 delay | |
4000 move_servo | |
endif | |
endif | |
drop drop drop drop drop drop drop drop | |
return | |
sub pot1 | |
2 get_position | |
return | |
sub pot2 | |
3 get_position | |
return | |
sub move_servo | |
0 servo | |
500 delay | |
return | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment