def __init__(self): logger.setLevel(logger.VERBOSE) self.swift = SwiftAPI(filters={'hwid': 'USB VID:PID=2341:0042'}, callback_thread_pool_size=1) self.swift.waiting_ready() self.swift.set_speed_factor(factor=20) self.swift.set_position(x=239.43, y=0, z=170)
def run(self): while self.alive: try: ports = get_ports(filters={'hwid': 'USB VID:PID=2341:0042'}) for port in ports: if port['device'] not in swifts.keys(): new_swift = SwiftAPI(port=port['device']) new_swift.waiting_ready() device_info = new_swift.get_device_info() print(new_swift.port, device_info) firmware_version = device_info['firmware_version'] if firmware_version and not firmware_version.startswith( ('0.', '1.', '2.', '3.')): new_swift.set_speed_factor(0.00001) new_swift.set_mode(mode=0) with lock: swifts[port['device']] = new_swift else: swift = swifts[port['device']] if not swift.connected: with lock: swifts.pop(port['device']) except Exception as e: pass time.sleep(0.001)
def __init__(self): self.x_pos = 0 self.y_pos = 0 self.tcp_rot = 0 self.z_pos = 0 self.pick = 0 self.connect = 0 self.swift = SwiftAPI(filters={'hwid': 'USB VID:PID=2341:0042'}) self.swift.waiting_ready(timeout=3) self.swift.set_speed_factor(0.5) self.swift.waiting_ready(timeout=3) self.swift.disconnect()
def __init__(self): self.swift = SwiftAPI(filters={'hwid': 'USB VID:PID=2341:0042'}) self.swift.waiting_ready() device_info = self.swift.get_device_info() print(device_info) firmware_version = device_info['firmware_version'] if firmware_version and not firmware_version.startswith( ('0.', '1.', '2.', '3.')): self.swift.set_speed_factor(0.0005) self.speed = 110000 self.test() self.board = "right"
def __init__(self): ''' connect to UArm ''' self.swift = SwiftAPI() self.swift.connect() self.swift.get_power_status() print(self.swift.get_device_info()) self.swift.reset(wait=True) # back to home position print('init complete') self.gripper_temp = 0 # keep track of gripper state
def connnect_thread(self, port): try: self.port = port self.arm = SwiftAPI(port=port, do_not_open=True) self.arm.connect() if not self.arm.connected: time.sleep(0.5) self.arm.waiting_ready() self.report_connected_callback({'connected': True}) device_info = self.arm.get_device_info() self.report_que.put({'type': 'info', 'item': device_info}) mode = self.arm.get_mode() self.report_que.put({'type': 'mode', 'item': {'mode': mode}}) position = self.arm.get_position() if isinstance(position, list) and len(position) >= 3: self.report_que.put({ 'type': 'location', 'item': { 'position': position, 'angles': None } }) polar = self.arm.get_polar() if isinstance(polar, list) and len(polar) >= 3: self.report_que.put({ 'type': 'location', 'item': { 'position': [None, None, None, *polar], 'angles': None } }) angles = self.arm.get_servo_angle() if isinstance(angles, list) and len(angles) >= 3: self.report_que.put({ 'type': 'location', 'item': { 'position': None, 'angles': angles } }) return True except Exception as e: # print(e) self.report_connected_callback({'connected': False})
def __init__(self, im, pixels, initialized): if initialized[0]: self.available_pixel = pixels else: self.available_pixel = {'red':[255,0,0], 'green':[0,255,0], 'blue':[0,0,255],'magenta':[255,0,255], 'tomato':[255,99,71], 'lawn green':[124,252,0]} if initialized[1]: self.swift = SwiftAPI(filters={'hwid': 'USB VID:PID=2341:0042'}) self.device_info = self.swift.get_device_info() self.firmware_version = self.device_info['firmware_version'] self.swift.set_mode(0) if initialized[2]: self.image = im if initialized[3] and initialized[1]: print("moving") self.swift.set_position(x=150, y=0, z=50, speed = 10000, cmd = "G0") # self.swift.set_wrist(20) # time.sleep(1) # self.swift.set_wrist(90) print("Setting four corners; input tl, tr, bl or br") self.canvas_corners = self.setFourCorners() else: self.swift.set_position(x=150, y=0, z=50, speed = 10000, cmd = "G0") self.canvas_corners = [ [263,50,103], #tl [263,-50,103],#tr [241,50,-12],#bl [241,-50,-12]]#br print("Setting four corners to default coordinates") if initialized[4]: _, cap = cv2.VideoCapture(0).read() self.ptransform = perspective.PerspectiveTransform(cap) self.M = self.get_m(200,200) self.xScale = self.get_scale(len(im[0]),[self.canvas_corners[0],self.canvas_corners[1]]) self.yScale = self.get_scale(len(im),[self.canvas_corners[0],self.canvas_corners[2]]) print("Arm all set up!")
def __init__(self): self.scope = 10 self.x0 = 160 self.y0 = 0 self.swift = SwiftAPI(filters={'hwid':'USB VID:PID=2341:0042'}) self.swift.waiting_ready(timeout=3) # self.swift.set_speed_factor(0.005) # if you change this, be prepared for different movements! self.swift.set_mode(mode=0) time.sleep(0.5) self.swift.set_servo_angle(angle=90) self.swift.set_wrist(angle=90) self.swift.set_position(x=200,y=0,z=20) # start it off with a salute self.swift.set_buzzer(frequency=1000, duration=1) # signal ready self.lstValidCharSet = ['?','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',\ '-','0','1','2','3','4','5','6','7','8','9'] self.lstLetter = [self.QuestionMark, self.LetterA, self.LetterB, self.LetterC, self.LetterD, self.LetterE, self.LetterF,\ self.LetterG, self.LetterH, self.LetterI, self.LetterJ, self.LetterK, self.LetterL, self.LetterM, self.LetterN,\ self.LetterO, self.LetterP, self.LetterQ, self.LetterR, self.LetterS, self.LetterT, self.LetterU, self.LetterV,\ self.LetterW, self.LetterX, self.LetterY, self.LetterZ, self.Hyphen, self.Number0, self.Number1, self.Number2,\ self.Number3, self.Number4, self.Number5, self.Number6, self.Number7, self.Number8, self.Number9]
class uarm: def __init__(self): logger.setLevel(logger.VERBOSE) self.swift = SwiftAPI(filters={'hwid': 'USB VID:PID=2341:0042'}, callback_thread_pool_size=1) self.swift.waiting_ready() self.swift.set_speed_factor(factor=20) self.swift.set_position(x=239.43, y=0, z=170) def jump(self, press_time): self.swift.set_position(x=239.43, y=0, z=-30) print("robot:%f" % press_time) time.sleep(press_time) self.swift.set_position(x=239.43, y=0, z=170) # if __name__ == '__main__': # arm = uarm() # arm.jump(0.75) # time.sleep(5) # arm.jump(0.75)
def Arm_Init(): """Robotic arm initiation""" swift = SwiftAPI(filters={'hwid': 'USB VID:PID=2341:0042'}, cmd_pend_size=2, callback_thread_pool_size=1) swift.waiting_ready() device_info = swift.get_device_info() print(device_info) firmware_version = device_info['firmware_version'] if firmware_version and not firmware_version.startswith( ('0.', '1.', '2.', '3.')): swift.set_speed_factor(0.00005) swift.set_mode(0) return swift
def run(self): while self.alive: try: ports = get_ports(filters={'hwid': 'USB VID:PID=2341:0042'}) for port in ports: if port['device'] not in swifts.keys(): new_swift = SwiftAPI(port=port['device']) new_swift.waiting_ready() device_info = new_swift.get_device_info() print(new_swift.port, device_info) firmware_version = device_info['firmware_version'] if firmware_version and not firmware_version.startswith(('0.', '1.', '2.', '3.')): new_swift.set_speed_factor(0.00001) new_swift.set_mode(mode=0) with lock: pos = [150, 0, 150] for swift in swifts.values(): swift.flush_cmd() if len(swifts.values()) > 0: time.sleep(1) for swift in swifts.values(): pos = swift.get_position() if isinstance(pos, list): # print('sync pos:', pos) break # new_swift.reset(speed=speed) swifts[port['device']] = new_swift for swift in swifts.values(): swift.set_position(x=pos[0], y=pos[1], z=pos[2], speed=speed, wait=False) for swift in swifts.values(): if swift.connected: swift.flush_cmd(wait_stop=True) # if len(swifts) > 1: # time.sleep(3) else: swift = swifts[port['device']] if not swift.connected: with lock: swifts.pop(port['device']) except Exception as e: pass time.sleep(0.001)
def __init__(self): self.swift = SwiftAPI(filters={'hwid': 'USB VID:PID=2341:0042'}, cmd_pend_size=2, callback_thread_pool_size=1) if not self.swift.connected: print('lose connect') self.swift.waiting_ready() device_info = self.swift.get_device_info() print(device_info) firmware_version = device_info['firmware_version'] if firmware_version and not firmware_version.startswith( ('0.', '1.', '2.', '3.')): self.swift.set_speed_factor(0.00005) self.swift.set_mode(0) self.speed = 500000 self.swift.set_wrist(angle=90) self.wristAngle = self.swift.get_servo_angle(0, timeout=10)
"G#" : 11 } d = { "A" : 0, "B" : 1, "C" : 2, "D" : 3, "E" : 4, "F" : 5, "G" : 6, } swift = SwiftAPI(filters={'hwid': 'USB VID:PID=2341:0042'}) # swift2 = SwiftAPI(filters={'hwid': 'USB VID:PID=2341:0042'}) # swift3 = SwiftAPI(filters={'hwid': 'USB VID:PID=2341:0042'}) swift.waiting_ready() device_info = swift.get_device_info() print(swift.port, device_info) firmware_version = device_info['firmware_version'] if firmware_version and not firmware_version.startswith(('0.', '1.', '2.', '3.')): swift.set_speed_factor(0.00001) swift.set_servo_detach() input('A4') swift.set_servo_attach() pos = swift.get_position()
from uarm.wrapper import SwiftAPI import random swift1 = SwiftAPI(filters={'hwid': 'USB VID:PID=2341:0042'}) swift2 = SwiftAPI(filters={'hwid': 'USB VID:PID=2341:0042'}) swift1.waiting_ready() device_info = swift1.get_device_info() print(swift1.port, device_info) firmware_version = device_info['firmware_version'] if firmware_version and not firmware_version.startswith( ('0.', '1.', '2.', '3.')): swift1.set_speed_factor(0.00001) swift2.waiting_ready() device_info = swift2.get_device_info() print(swift2.port, device_info) firmware_version = device_info['firmware_version'] if firmware_version and not firmware_version.startswith( ('0.', '1.', '2.', '3.')): swift2.set_speed_factor(0.00001) X = 0 Y = 1 Z = 2 R = 3 swift1.set_servo_detach() swift1.register_report_position_callback(lambda position: swift2.set_position( x=position[X], y=position[Y], z=position[Z], speed=100000000, timeout=1))
from uarm.wrapper import SwiftAPI print("アームロボットと接続を開始...") swift = SwiftAPI(filters={'hwid': 'USB VID:PID=2341:0042'}) swift.waiting_ready(timeout=3) swift.set_speed_factor(100) swift.set_mode(0) print("アームロボットと接続完了 \n")
# Software License Agreement (BSD License) # # Copyright (c) 2018, UFactory, Inc. # All rights reserved. # # Author: Vinman <*****@*****.**> <*****@*****.**> import os import sys import time import threading sys.path.append(os.path.join(os.path.dirname(__file__), '../../..')) from uarm.wrapper import SwiftAPI from uarm.tools.list_ports import get_ports swift = SwiftAPI(filters={'hwid': 'USB VID:PID=2341:0042'}) swift.waiting_ready(timeout=3) device_info = swift.get_device_info() print(device_info) firmware_version = device_info['firmware_version'] #if firmware_version and not firmware_version.startswith(('0.', '1.', '2.', '3.')): # swift.set_speed_factor(0.0005) swift.set_mode(0) cmd_s = 'G1' while True: # enter photo app swift.set_position(x=267, y=-38, z=30, speed=200, cmd=cmd_s)
# # Copyright (c) 2018, UFactory, Inc. # All rights reserved. # # import os import sys import time import functools import threading sys.path.append(os.path.join(os.path.dirname(__file__), '../../..')) from uarm.wrapper import SwiftAPI swift = SwiftAPI(filters={'hwid': 'USB VID:PID=2341:0042'}, enable_handle_thread=False) # swift = SwiftAPI(filters={'hwid': 'USB VID:PID=2341:0042'}, enable_write_thread=True) # swift = SwiftAPI(filters={'hwid': 'USB VID:PID=2341:0042'}, enable_report_thread=True) # swift = SwiftAPI(filters={'hwid': 'USB VID:PID=2341:0042'}, enable_handle_thread=True, enable_write_thread=True, enable_report_thread=True) swift.waiting_ready() # wait the rebot ready print(swift.get_device_info()) move_speed = 100 time.sleep(5) # <! must wait the effector check itself rtn = swift.get_mode(wait=True, timeout=10) # <! make sure the work mode is 5 print(rtn) if rtn != 5: swift.set_mode(5) time.sleep(5) # <! must wait the effector check itself
#!/usr/bin/env python3 import sys # import time import asyncio import socketio from uarm.wrapper import SwiftAPI sio = socketio.AsyncClient(reconnection=True) try: swift = SwiftAPI(filters={'hwid': 'USB VID:PID=2341:0042'}, callback_thread_pool_size=2) swift.waiting_ready(timeout=10) device_info = swift.get_device_info() print(device_info) # swift.set_speed_factor(100) swift.set_mode(3) swift.reset(wait=True, speed=250) # firmware_version = device_info['firmware_version'] # if firmware_version and not firmware_version.startswith(('0.', '1.', '2.', '3.')): # # swift.set_speed_factor(0.0005) except Exception: swift = False print('swift uArm not connected')
# Software License Agreement (BSD License) # # Copyright (c) 2018, UFactory, Inc. # All rights reserved. # # Author: Vinman <*****@*****.**> <*****@*****.**> import os import sys sys.path.append(os.path.join(os.path.dirname(__file__), '../..')) from uarm.wrapper import SwiftAPI """ pressure test: set mode """ swift = SwiftAPI(filters={'hwid': 'USB VID:PID=2341:0042'}, cmd_pend_size=2) swift.waiting_ready() print(swift.get_device_info()) mode = swift.get_mode() print('mode:', mode) mode_count = 4 count = 1 while swift.connected: mode = (mode + 1) % mode_count if swift.set_mode(mode) != mode: print('set mode {} failed, count={}'.format(mode, count))
# # Copyright (c) 2018, UFactory, Inc. # All rights reserved. # # Author: Vinman <*****@*****.**> <*****@*****.**> import os import sys import time sys.path.append(os.path.join(os.path.dirname(__file__), '../../..')) from uarm.wrapper import SwiftAPI """ api test: only support firmware version less than 4.0 temporarily """ swift = SwiftAPI(filters={'hwid': 'USB VID:PID=2341:0042'}) swift.waiting_ready() print(swift.set_fans(on=True)) target_temperature = 200 print(swift.set_temperature(temperature=200, block=False)) current_temperature = 0.0 while current_temperature < target_temperature: ret = swift.get_temperature() current_temperature = ret['current_temperature'] print(current_temperature) time.sleep(1)
#!/usr/bin/env python3 import os import sys import time import functools sys.path.append(os.path.join(os.path.dirname(__file__), '../../..')) from uarm.wrapper import SwiftAPI from uarm.utils.log import logger logger.setLevel(logger.DEBUG) swift = SwiftAPI(filters={'hwid': 'USB VID:PID=2341:0042'}) # swift = SwiftAPI(filters={'hwid': 'USB VID:PID=2341:0042'}, enable_handle_thread=False) # swift = SwiftAPI(filters={'hwid': 'USB VID:PID=2341:0042'}, enable_write_thread=True) # swift = SwiftAPI(filters={'hwid': 'USB VID:PID=2341:0042'}, enable_report_thread=True) # swift = SwiftAPI(filters={'hwid': 'USB VID:PID=2341:0042'}, enable_handle_thread=True, enable_write_thread=True, enable_report_thread=True) swift.reset(speed=50000, wait=True) swift.set_position(x=250, y=0, z=10, speed=50000, wait=True) swift.flush_cmd() swift.set_pump(True) swift.set_position(x=250, y=0, z=170, speed=50000, wait=True) swift.flush_cmd() swift.set_position(x=220, y=70, z=170, speed=50000, wait=True) swift.flush_cmd() swift.set_position(x=200, y=140, z=170, speed=50000, wait=True) swift.flush_cmd() swift.set_position(x=180, y=210, z=170, speed=50000, wait=True) swift.flush_cmd() swift.set_position(x=250, y=210, z=10, speed=50000, wait=True)
# Software License Agreement (BSD License) # # Copyright (c) 2018, UFactory, Inc. # All rights reserved. # # Author: Vinman <*****@*****.**> <*****@*****.**> import os import sys import time import threading sys.path.append(os.path.join(os.path.dirname(__file__), '../../..')) from uarm.wrapper import SwiftAPI from uarm.tools.list_ports import get_ports swift = SwiftAPI(filters={'hwid': 'USB VID:PID=2341:0042'}) swift.waiting_ready(timeout=3) device_info = swift.get_device_info() print(device_info) firmware_version = device_info['firmware_version'] #if firmware_version and not firmware_version.startswith(('0.', '1.', '2.', '3.')): # swift.set_speed_factor(0.0005) swift.set_mode(0) cmd_s = 'G1' speed_s = 10 delay = 3 swift.set_position(x=260,y=-50,z=30,speed=speed_s,cmd=cmd_s)
class UArm_SDK(object): def __init__(self): ''' connect to UArm ''' self.swift = SwiftAPI() self.swift.connect() self.swift.get_power_status() print(self.swift.get_device_info()) self.swift.reset(wait=True) # back to home position print('init complete') self.gripper_temp = 0 # keep track of gripper state def __del__(self): ''' disconnect UArm ''' self.swift.disconnect() print('uarm disconnected') def set_servo_angle(self, joint_angles, dt): ''' set servo angle via SDK input: joint_angles, 5-vector: [theta1, theta2, theta3, theta4, pump state] in degrees dt, time step ''' wait = True self.swift.set_servo_angle(servo_id=0, angle=joint_angles[0] + 90, speed=5000, wait=wait) time.sleep(dt / 4) self.swift.set_servo_angle(servo_id=1, angle=joint_angles[1], speed=5000, wait=wait) time.sleep(dt / 4) self.swift.set_servo_angle(servo_id=2, angle=joint_angles[2] - joint_angles[1], speed=5000, wait=wait) time.sleep(dt / 4) self.swift.set_servo_angle(servo_id=3, angle=180 - joint_angles[3], speed=5000, wait=wait) time.sleep(dt / 4) if joint_angles[4] > 0: self.swift.set_pump(on=True) elif joint_angles[4] == 0: self.swift.set_pump(on=False) else: print("ERROR") def control_uarm_via_traj(self, position, wrist_angle, pump_state, dt): ''' set end effector position, wrist angle and pump state via SDK input: position, 3-vector: [px, py, pz] wrist_angle: wrist angle in rad pump_state: bool, 0 - off, 1 - on ''' px, py, pz = position[0], position[1], position[2] # conver m to mm px *= 1000 py *= 1000 pz *= 1000 # change end effector position e = self.swift.set_position(x=px, y=py, z=pz, speed=100000, wait=True) print(e) # change wrist angle self.swift.set_wrist(90 - wrist_angle * 180 / PI) if self.gripper_temp == 0 and pump_state == 1: # enable suction cup self.swift.set_pump(on=True, wait=True) print('pump on') self.gripper_temp = 1 if self.gripper_temp == 1 and pump_state == 0: # disable suction cup self.swift.set_pump(on=False, wait=True) print('pump off') self.gripper_temp = 0 time.sleep(dt)
if lst[1][0] == 0 : place_B3() return if lst[2][2] == 0 : place_C1() return if lst[2][1] == 0 : place_C2() return if lst[2][0] == 0 : place_C3() return from uarm.wrapper import SwiftAPI swift = SwiftAPI() swift.set_speed_factor(3) swift.waiting_ready() root = tk.Tk() insert = tk.Tk() text = tk.Label(insert, text="choose the color of the beginner then close the window") text.pack() bb1 = tk.Button(insert, text='blue', command=entry_blue, width = 25) bb1.pack(side = tk.BOTTOM) r1 = tk.Button(insert, text='red', command=entry_red, width = 25) r1.pack(side = tk.BOTTOM) insert.mainloop() #define menu options
speed is [0, 100] if version is 4.0+ speed is [0, 100000] if 3.0 < version < 4.0 x (mm) : 150 -> 300 y (mm) : -150 -> 150 z (mm) : 30 -> 150 speed (mm/s?) : 0 -> 100 ''' import os import sys import time sys.path.append(os.path.join(os.path.dirname(__file__), '../../..')) from uarm.wrapper import SwiftAPI swift = SwiftAPI(filters={'hwid': 'USB VID:PID=2341:0042'}) swift.waiting_ready(timeout=3) device_info = swift.get_device_info() print(device_info) firmware_version = device_info['firmware_version'] #if firmware_version and not firmware_version.startswith(('0.', '1.', '2.', '3.')): # swift.set_speed_factor(0.0005) #set for general mode swift.set_mode(0) #LED pin numbers red = 50 yellow = 45 green = 49
# Author: Vinman <*****@*****.**> <*****@*****.**> import os import sys import time sys.path.append(os.path.join(os.path.dirname(__file__), '../../..')) from uarm.wrapper import SwiftAPI """ multi sync move """ swift1 = SwiftAPI(filters={'hwid': 'USB VID:PID=2341:0042'}) swift2 = SwiftAPI(filters={'hwid': 'USB VID:PID=2341:0042'}) # swift3 = SwiftAPI(filters={'hwid': 'USB VID:PID=2341:0042'}) swift1.waiting_ready() device_info = swift1.get_device_info() print(swift1.port, device_info) firmware_version = device_info['firmware_version'] if firmware_version and not firmware_version.startswith(('0.', '1.', '2.', '3.')): swift1.set_speed_factor(0.00001) swift2.waiting_ready() device_info = swift2.get_device_info() print(swift2.port, device_info) firmware_version = device_info['firmware_version'] if firmware_version and not firmware_version.startswith(('0.', '1.', '2.', '3.')): swift2.set_speed_factor(0.00001) swift_list = [swift1, swift2]
class uArmSwift: def __init__(self): self.swift = SwiftAPI(filters={'hwid': 'USB VID:PID=2341:0042'}, cmd_pend_size=2, callback_thread_pool_size=1) if not self.swift.connected: print('lose connect') self.swift.waiting_ready() device_info = self.swift.get_device_info() print(device_info) firmware_version = device_info['firmware_version'] if firmware_version and not firmware_version.startswith( ('0.', '1.', '2.', '3.')): self.swift.set_speed_factor(0.00005) self.swift.set_mode(0) self.speed = 500000 self.swift.set_wrist(angle=90) self.wristAngle = self.swift.get_servo_angle(0, timeout=10) def set_position(self, x=100, y=0, z=100, wait=False): self.swift.set_position(x, y, z, speed=self.speed, wait=wait) def set_polar(self, stretch, rotation, height, wait=False): self.swift.set_polar(stretch, rotation, height, speed=self.speed, wait=wait) def set_servo_angle(self, num, angle, wait=False): if num < 0 and num > 3: print("num is wrong") self.swift.set_servo_angle(num, angle, wait, speed=self.speed, wait=wait) def set_wrist(self, angle=90, wait=False): # 第四电机 self.swift.set_wrist(angle, wait) def set_pump(self, on=False): self.swift.set_pump(on) def set_buzzer(self, freq=1000, duration=1, wait=False): self.swift.set_buzzer(freq, duration, wait) def get_position(self): return self.swift.get_position() def get_servo_angle(self, id=0): return self.swift.get_servo_angle(id, timeout=10) def is_moving(self): return self.swift.get_is_moving() def disconnect(self): self.swift.disconnect()
+z is upwards speed is [0, 100] if version is 4.0+ speed is [0, 100000] if 3.0 < version < 4.0 x (mm) : 150 -> 300 y (mm) : -150 -> 150 z (mm) : 30 -> 150 speed (mm/s?) : 0 -> 100 ''' import os import sys import time sys.path.append(os.path.join(os.path.dirname(__file__), '../../..')) from uarm.wrapper import SwiftAPI swift = SwiftAPI(filters={'hwid': 'USB VID:PID=2341:0042'}) swift.waiting_ready(timeout=3) device_info = swift.get_device_info() print(device_info) firmware_version = device_info['firmware_version'] #if firmware_version and not firmware_version.startswith(('0.', '1.', '2.', '3.')): # swift.set_speed_factor(0.0005) #set for general mode swift.set_mode(0) ''' swift.reset(wait=True, speed=100000) swift.set_position(x=200, speed=100000) swift.set_position(y=100) swift.set_position(z=100) swift.flush_cmd(wait_stop=True)
#!/usr/bin/env python3 import time from uarm.wrapper import SwiftAPI swift = SwiftAPI(filters={'hwid': 'USB VID:PID=2341:0042'}) swift.waiting_ready(timeout=3) device_info = swift.get_device_info() print(device_info) firmware_version = device_info['firmware_version'] if firmware_version and not firmware_version.startswith( ('0.', '1.', '2.', '3.')): swift.set_speed_factor(0.0005) swift.set_mode(0) swift.reset(wait=True, speed=10000) swift.set_position(x=200, speed=10000 * 20) swift.set_position(y=100) swift.set_position(z=100) swift.flush_cmd(wait_stop=True) swift.set_polar(stretch=200, speed=10000 * 20) swift.set_polar(rotation=90) swift.set_polar(height=150) print(swift.set_polar(stretch=200, rotation=90, height=150, wait=True)) swift.flush_cmd()
def initialize(): global cartesian test_a = True test_b = True data_start() # saving data #convert cartesian coordinates to polar coordinates if(cartesian): print(Fore.BLUE + "Detecting cartesian coordinates, changing to polar") #test to check converting cartesian to polar if(test_converting(cartesian)): print(Fore.GREEN + "TEST OK") print(Style.RESET_ALL) else: print(Fore.RED + "TEST FAILED") print(Style.RESET_ALL) #debug outputs # print(default_stretch) # print(default_rotation) # print(default_height) change_variables_to_polar() print(Fore.GREEN + "Conversion from cartesian to polar successfull") print(Style.RESET_ALL) time.sleep(2) else: print(Fore.BLUE + "Default polar coordinates are set") print(Style.RESET_ALL) try: global serial_name global ser ser = serial.Serial('/dev/ttyUSB0',115200,timeout=2) #arduino serial arduino_reset() print(Fore.BLUE + "Arduino UNO\n") except: test_a = False print(Fore.RED + "FAILED CONNECT TO ARDUINO!") print(Style.RESET_ALL) #setting up uArm SwiftPro try: global swift #need to change sys.path.append(os.path.join(os.path.dirname(__file__), '../uArm-Python-SDK')) #link to uArm SwiftPro python3.x.x library swift = SwiftAPI(filters={'hwid': 'USB VID:PID=2341:0042'}) swift.waiting_ready(timeout=5) swift.set_mode(0) device_info = swift.get_device_info() default_robot_position() print(Fore.BLUE) print(device_info) print("\n") except: test_b = False print(Fore.RED + "FAILED CONNECT TO uArm SwiftPro") print(Style.RESET_ALL) if test_a and test_b: print(Fore.GREEN + "DONE!\n") print(Style.RESET_ALL) return