IndyEye Vision Offset 기능 기술 문의



  • from indy_utils import indydcp_client as client
    from indy_utils.indy_shm import *
    from indy_utils.indy_program_maker import JsonProgramComponent
    from indy_utils import indyeye_client as eye
    import time
    indy_master = IndyShmCommand()
    indy_master.set_sync_mode(True)
    robot_ip = "10.110.1.163"    # 예시 STEP IP 주소
    robot_name = "NRMK-Indy7"   # IndyRP2의 경우 "NRMK-IndyRP2"
    indy = client.IndyDCPClient(robot_ip, robot_name)  # indy 객체 생성
    eye_ip = '192.168.137.100'
    indy_eye = eye.IndyEyeClient(eye_ip)
    indy_master.set_reference_frame([0, 0, 0, 0, 0, 0])
    indy_master.joint_move_to([0, -17.7, -125.7, 0, -35.57, 0])
    marker  = indy_eye.detect(0, indy_master.get_task_pos(), 'Tbo')
    indy_master.set_reference_frame(marker)
    indy_master.task_move_to([-0.21, 0.18, 0.25,  176.96, 4.87,  174.76])
    indy_master.task_move_to([-0.21, 0.18, 0.20,  176.96, 4.87,  174.76])
    time.sleep(2.0)
    indy_master.task_move_to([-0.21, 0.18, 0.40,  176.96, 4.87,  174.76])

    현재 AGV가 Pick_up 위치 이동 후  Vision 촬영으로 Marker 인식 후 제품 Pick_up 위치 이동 프로그램 입니다.


    1. 현재 Marker 인식 후 Marker 위치에서 Offset 하여 픽업위치를 이동 합니다.

       변경 기술 문의 

       - Marker 인식 후 X,Y,degree 오차 범위를 기억하여 Pick_up 포인트에 적용하여 보정하고 싶습니다.


    2. 명령어 기술 문의

        - maker 인식 후  X,Y,degree 오차값 확인 방법

        - indy_master 에서 X,Y,degree 값을 task_move_to Pick_up Point에 오차값 적용 방법 

          ex)

         if indy_master[1] < 0 :

             task_move_to Pick_up Point[1] = task_move_to Pick_up Point[1] - indy_master[1]

         if indy_master[1] > 0 :

             task_move_to Pick_up Point[1] = task_move_to Pick_up Point[1] + indy_master[1]

    적용하여 task_move_to Pick_up Point 이동 방법



  • - Marker 인식 후 X,Y,degree 오차 범위를 기억하여 Pick_up 포인트에 적용하여 보정하고 싶습니다.

    -> 'X,Y,degree 오차 범위' 가 무슨의미인지 모르겠습니다. 기존에 촬영했던 마커의 위치에 대한 새로운 마커위치의 오차라는 의미인가요?



  • This post is deleted!

Log in to reply