o
    nwi                     @   s   d Z ddlZddlZddlmZ ddlZejej	e
Zejdejed ddlmZmZ ddlmZmZmZmZmZ ejedddZd	Zed
 ZeZeZeZe dZde Zee ee fZdZG dd deZ e  Z!dS )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_DIRZrobot_modelsZfranka_emika_pandazrobot_models/so100_modelZeven_larger_boardz/even_larger_board.pnggffffff?Zvirtual_gripper_keypointc                   @   s   e Zd ZdZdZe dZe dZe dZ	dZ
dZdeiZdeiZded	d
ddeg dedejd dgdeed	iZdS )PandaHandEyeConfigzFPanda arm: ArUco calibration board mounted on the hand (end-effector).ZPanda_HandEyez
/panda.xmlz/background.xmlz/assets/g        handeye_board
hand_boardZhand_0handzhand.stl)(   g      >@g     V@r      )	Zmujoco_nameZpybullet_nameZrobot_mesh_pathZexo_mesh_patharuco_offset_posaruco_offset_rotZaruco_board_nameZboard_lengthZplane_scaleN)__name__
__module____qualname____doc__namer   Zbase_xml_pathSO100_MODEL_DIRZbackground_xml_pathZcompiler_meshdirZ	exo_alphaZexo_link_alphaBOARD_IMG_PATHZaruco_boardsr   Zaruco_board_objectsr   nparraypiBOARD_LENGTHPLANE_SCALE_HANDEYElinks r   r   F/data/cameron/para/panda_streaming/hand_eye_calib/panda_exo_handeye.pyr
   1   s0    


r
   )"r   osnumpyr   cv2r   syspathdirnameabspath__file__Z
_this_fileinsertjoinZExoConfigs.exoskeletonr   r   ZExoConfigs.panda_exor   r   r   r   r	   r   r   BOARD_WIDTHBOARD_HEIGHTr   r   Z_SFr   ZVIRTUAL_GRIPPER_BODY_NAMEr
   PANDA_HANDEYE_CONFIGr   r   r   r    <module>   s*    

"