
    2i                        S r SSKrSSKrSSKJr  SSKr\R                  R                  \R                  R                  \
5      5      r\R                  R                  S\R                  R                  \S5      5        SSKJrJr  SSKJrJrJrJrJr  \R                  R                  \SSS5      rS	r\S
   r\r\r\r\ S3rS\-  r\\-  \\-  4rSr " S S\5      r \ " 5       r!g)u  Panda arm with 4×4 even_larger ArUco board on the end-effector (hand).

Uses the same board definition as panda_exo.py's even_larger_board:
  - 4×4 grid, DICT_6X6_250, IDs 226–241
  - marker_size  ≈ 32.63 mm
  - separation   ≈ 3.26 mm
  - Physical board ≈ 140 × 140 mm (square)

The board is mounted on the "hand" body (Panda flange), facing outward along
the gripper Z axis.  The link/exo meshes are hidden (alpha=0) — only the ArUco
plane is visible.
    N)arucoz..)ExoskeletonConfig
LinkConfig)link_boardsBOARD_LENGTH_EVEN_LARGER
aruco_dictPANDA_MODEL_DIRBOARD_IMG_DIRrobot_modelsfranka_emika_pandazrobot_models/so100_modeleven_larger_boardz/even_larger_board.pnggffffff?virtual_gripper_keypointc                       \ rS rSrSrSr\ S3r\ S3r	\ S3r
SrSrS\0rS\0rS	\" S
SSS\R&                  " / SQ5      \R&                  " S\R(                  S-  S/5      S\\S9	0rSrg)PandaHandEyeConfig1   zFPanda arm: ArUco calibration board mounted on the hand (end-effector).Panda_HandEyez
/panda.xmlz/background.xmlz/assets/g        handeye_board
hand_boardhand_0handzhand.stl)(   g      >@g     V@r      )	mujoco_namepybullet_namerobot_mesh_pathexo_mesh_patharuco_offset_posaruco_offset_rotaruco_board_nameboard_lengthplane_scale N)__name__
__module____qualname____firstlineno____doc__namer	   base_xml_pathSO100_MODEL_DIRbackground_xml_pathcompiler_meshdir	exo_alphaexo_link_alphaBOARD_IMG_PATHaruco_boardsr   aruco_board_objectsr   nparraypiBOARD_LENGTHPLANE_SCALE_HANDEYElinks__static_attributes__r"       F/home/cameron/para/panda_streaming/hand_eye_calib/panda_exo_handeye.pyr   r   1   s    PD&'z2M,-_=)*(3 IN 	L 	
 	j  &$XX&67XXq"%%'1o6,%+

Er9   r   )"r'   osnumpyr2   cv2r   syspathdirnameabspath__file__
_this_fileinsertjoinExoConfigs.exoskeletonr   r   ExoConfigs.panda_exor   r   r   r	   r
   r*   r   BOARD_WIDTHBOARD_HEIGHTr5   r/   _SFr6   VIRTUAL_GRIPPER_BODY_NAMEr   PANDA_HANDEYE_CONFIGr"   r9   r:   <module>rM      s    
   
WW__RWW__X67
 277<<
D1 2 @ 
 '',,z4AUV, /0&'' "?"89 &&"S(,*<= 6 * D *+ r9   