class RealmanMock: def __init__(self): self.joint = [0.0]*6 self.pose = [0.0]*6 self.gripper = 0 pass def rm_create_robot_arm(self, ip: str, port: int, level: int = 3, log_func = None) -> int: return 1 def rm_movej(self, joint: list[float], v: int, r: int, connect: int, block: int) -> int: self.joint = joint def rm_get_current_arm_state(self) -> tuple[int, dict[str, any]]: return (0, {"joint": self.joint, "pose": self.pose}) def rm_get_gripper_state(self) -> tuple[int, dict[str, any]]: return (0, {"actpos": self.gripper}) def rm_movep_canfd(self, pose: list[float], follow: bool, trajectory_mode: int = 0, radio: int = 0) -> int: self.pose = pose return 0 def rm_set_gripper_position(self, position: int, block: bool, timeout: int) -> int: self.gripper = position return 0 def rm_movej(self, joint: list[float], v: int, r: int, connect: int, block: int) -> int: self.joint = joint return 0 def rm_set_arm_run_mode(self, mode: int) ->int: return 0