from pyri.device_manager_client import DeviceManagerClient from RobotRaconteur.Client import * import time d = DeviceManagerClient('rr+tcp://localhost:59902?service=device_manager', autoconnect=False) d.refresh_devices(1) d.connect_device('jog_joint') jog_service = d.get_device_client("jog_joint", 1) print(jog_service.device_info.device.name) tool = jog_service.get_tool("tool") while (True): tool.open() time.sleep(0.5) tool.close() time.sleep(0.5)
for i in range(img_count): p = source_dir.joinpath(f"{img_name_prefix}{i}{img_name_ext}") imgs.append(cv2.imread(str(p))) # for img in imgs: # cv2.imshow("",img) # cv2.waitKey(250) d = DeviceManagerClient('rr+tcp://localhost:59902?service=device_manager', autoconnect=False) d.refresh_devices(1) d.connect_device("variable_storage") var_storage = d.get_device_client("variable_storage", 1) image_util = ImageUtil(client_obj=var_storage) var_consts = var_storage.RRGetNode().GetConstants('tech.pyri.variable_storage', var_storage) variable_persistence = var_consts["VariablePersistence"] variable_protection_level = var_consts["VariableProtectionLevel"] def save_image(img, i): global_name = f"{seq_name}_{i}" if len(var_storage.filter_variables("globals", global_name, [])) > 0: raise RR.InvalidOperationException( f"Global {global_name} already exists")
from pyri.device_manager_client import DeviceManagerClient from RobotRaconteur.Client import * from RobotRaconteurCompanion.Util.ImageUtil import ImageUtil import time import cv2 d = DeviceManagerClient('rr+tcp://localhost:59902?service=device_manager', autoconnect=False) d.refresh_devices(1) d.connect_device("vision_camera_calibration") calibration_service = d.get_device_client("vision_camera_calibration", 1) ret = calibration_service.calibrate_camera_intrinsic( "camera", "intrinsic_calib_dataset0", "chessboard", "camera_intrinsic_calibration") #"camera_intrinsic_calibration") image_util = ImageUtil(client_obj=calibration_service) i = 0 for c_img in ret.display_images: img = image_util.compressed_image_to_array(c_img) cv2.imshow(f"img {i}", img) cv2.waitKey() i += 1 cv2.destroyAllWindows()
global current_compressed_frame while (pipe_ep.Available > 0): compressed_image=pipe_ep.ReceivePacket() current_compressed_frame=compressed_image d = DeviceManagerClient('rr+tcp://localhost:59902?service=device_manager', autoconnect=False) d.refresh_devices(1) d.connect_device("vision_camera_viewer") viewer_service = d.get_device_client("vision_camera_viewer",1) print(viewer_service.device_info.device.name) camera_viewer = viewer_service.get_camera_viewer("camera") p=camera_viewer.preview_stream.Connect(-1) p.PacketReceivedEvent+=new_frame while True: if (not current_compressed_frame is None): img = cv2.imdecode(current_compressed_frame.data,1) cv2.imshow("Image",img)
from RobotRaconteurCompanion.Util.ImageUtil import ImageUtil from RobotRaconteurCompanion.Util.GeometryUtil import GeometryUtil import cv2 roi_name = "pick_roi4" template_name = "perfume_template3" d = DeviceManagerClient('rr+tcp://localhost:59902?service=device_manager', autoconnect=False) d.refresh_devices(1) d.connect_device("vision_template_matching") d.connect_device("variable_storage") c = d.get_device_client("vision_template_matching", 1) bounding_box2d_type = RRN.GetStructureType( 'com.robotraconteur.geometry.BoundingBox2D', c) named_pose2d_type = RRN.GetStructureType( 'com.robotraconteur.geometry.NamedPose2D', c) pose2d_dtype = RRN.GetNamedArrayDType('com.robotraconteur.geometry.Pose2D', c) var_storage = d.get_device_client("variable_storage", 1) roi = var_storage.getf_variable_value("globals", roi_name).data #res = c.match_template_stored_image("extrinsic_image0", "test10", None) res = c.match_template_camera_capture("camera", template_name, None) img_util = ImageUtil(client_obj=c)
from pyri.device_manager_client import DeviceManagerClient from RobotRaconteur.Client import * import time from RobotRaconteurCompanion.Util.ImageUtil import ImageUtil from RobotRaconteurCompanion.Util.GeometryUtil import GeometryUtil import cv2 import numpy as np d = DeviceManagerClient('rr+tcp://localhost:59902?service=device_manager', autoconnect=False) d.refresh_devices(1) d.connect_device("robotics_motion") c = d.get_device_client("robotics_motion", 1) geom_util = GeometryUtil(client_obj=c) def _run_grab(gen): while True: try: res = gen.Next() print(res) except RR.StopIterationException: break for i in range(5): pose2d_dtype = RRN.GetNamedArrayDType("com.robotraconteur.geometry.Pose2D",
from pyri.device_manager_client import DeviceManagerClient from RobotRaconteur.Client import * d = DeviceManagerClient('rr+tcp://localhost:59902?service=device_manager', autoconnect=False) d.refresh_devices(1) d.connect_device("sandbox") c = d.get_device_client("sandbox",1) gen = c.getf_output() while True: try: ret = gen.Next() print([l.output for l in ret.output_list]) except RR.StopIterationException: break # gen = c.execute_procedure("test_print_many", []) # while True: # try: # print(gen.Next().printed) # except RR.StopIterationException: # break
from pyri.device_manager_client import DeviceManagerClient from RobotRaconteur.Client import * d = DeviceManagerClient() #d = DeviceManagerClient() d.refresh_devices(1) for dev in d.get_device_names(): print(dev) print(d.get_device_info(dev).urls) try: print(d.get_device_client(dev, 1).device_info.manufacturer.name) except: pass
from pyri.device_manager_client import DeviceManagerClient from RobotRaconteur.Client import * import time from RobotRaconteurCompanion.Util.ImageUtil import ImageUtil from RobotRaconteurCompanion.Util.GeometryUtil import GeometryUtil import numpy as np import cv2 d = DeviceManagerClient('rr+tcp://localhost:59902?service=device_manager', autoconnect=False) d.refresh_devices(1) d.connect_device("vision_robot_calibration") calibration_service = d.get_device_client("vision_robot_calibration", 1) geom_util = GeometryUtil(client_obj=calibration_service) marker_pose = geom_util.xyz_rpy_to_pose( np.array([0.0393, -0.0091, 0.055]), np.array(np.deg2rad([90.0, 0.0, 180.0]))) ret = calibration_service.calibrate_robot_origin( "robot", "camera_intrinsic_calibration", "camera_extrinsic_calibration", "robot_calib0", "DICT_6X6_250", 150, 0.0316, marker_pose, "") # "robot_origin_calibration0" image_util = ImageUtil(client_obj=calibration_service) geom_util = GeometryUtil(client_obj=calibration_service) T = geom_util.named_pose_to_rox_transform(ret.robot_pose.pose)
from pyri.device_manager_client import DeviceManagerClient from RobotRaconteur.Client import * import time from RobotRaconteurCompanion.Util.ImageUtil import ImageUtil from RobotRaconteurCompanion.Util.GeometryUtil import GeometryUtil import cv2 import numpy as np d = DeviceManagerClient('rr+tcp://localhost:59902?service=device_manager', autoconnect=False) d.refresh_devices(1) d.connect_device("vision_aruco_detection") c = d.get_device_client("vision_aruco_detection",1) geom_util = GeometryUtil(client_obj = c) b = RRN.NewStructure("com.robotraconteur.geometry.BoundingBox2D", c) center = RRN.NewStructure("com.robotraconteur.geometry.NamedPose2D", c) pose2d_dtype = RRN.GetNamedArrayDType("com.robotraconteur.geometry.Pose2D", c) size2d_dtype = RRN.GetNamedArrayDType("com.robotraconteur.geometry.Size2D", c) center.pose = np.zeros((1,),dtype=pose2d_dtype) center.pose[0]["position"]["x"] = 990 center.pose[0]["position"]["y"] = 64 center.pose[0]["orientation"] = np.deg2rad(10) b.center = center size = np.zeros((1,),dtype=size2d_dtype) size[0]["width"] = 100 size[0]["height"] = 100 b.size = size
from RobotRaconteur.Client import * from RobotRaconteurCompanion.Util.UuidUtil import UuidUtil import uuid from pyri.device_manager_client import DeviceManagerClient from RobotRaconteur.Client import * import numpy as np import time d = DeviceManagerClient('rr+tcp://localhost:59902?service=device_manager', autoconnect=False) d.refresh_devices(1) d.connect_device("program_master") c = d.get_device_client("program_master",1) c.run() time.sleep(4.1) c.pause() time.sleep(1) c.clear_step_pointer()
from pyri.device_manager_client import DeviceManagerClient from RobotRaconteur.Client import * d = DeviceManagerClient('rr+tcp://localhost:59902?service=device_manager', autoconnect=False) d.refresh_devices(1) d.connect_device_type("tech.pyri.robotics.jog.RoboticsJogService") d.get_device_client("robotics_jog", 1) # for dev in d.get_device_names(): # print (dev) # print(d.get_device_info(dev).urls) # print(d.get_device_client(dev,1).device_info.manufacturer.name)
from pyri.device_manager_client import DeviceManagerClient from RobotRaconteur.Client import * d = DeviceManagerClient('rr+tcp://localhost:59902?service=device_manager', autoconnect=False) d.refresh_devices(1) d.connect_device('robotics_jog') jog_service = d.get_device_client("robotics_jog",1) print(jog_service.device_info.device.name) jog = jog_service.get_jog("robot") jog.setf_jog_mode() #for x in range(100): #jog.jog_joints3(1,1) #jog.setf_halt_mode() jog.jog_joints_to_angles([0.1,0.1,-0.1,0.1,-0.1,0.2],50)
from pyri.device_manager_client import DeviceManagerClient from RobotRaconteur.Client import * import time d = DeviceManagerClient('rr+tcp://localhost:59902?service=device_manager') d.refresh_devices(1) jog_service = d.get_device_client("jog_cartesian", 1) print(jog_service.device_info.device.name) jog = jog_service.get_jog("robot") #jog.setf_jog_mode() #for x in range(100): #jog.jog_joints3(1,1) #jog.setf_halt_mode() jog.prepare_jog() while True: for i in range(20): jog.jog_cartesian3([0, 0, 1], [0, 0, 0]) time.sleep(0.005) jog.stop_joints() for i in range(20):