增加仿真模式控制

This commit is contained in:
2025-12-10 11:49:13 +08:00
parent 39d860c7ee
commit 951b4ba458

View File

@@ -5,52 +5,6 @@ from lerobot.motors import Motor, MotorCalibration, MotorsBus
#动作执行成功 #动作执行成功
ACTION_SUCCESS = 0 ACTION_SUCCESS = 0
class RoboticArmMock:
def __init__(self,*args):
pass
def rm_create_robot_arm(self, ip, port):
print(f"connnect {ip}:{port}")
return {"id":1}
def rm_movej(self,*args):
print(f"rm_movej:{args}")
def rm_movej_follow(self,*args):
print(f"rm_movej_follow:{args}")
def rm_get_current_arm_state(self):
print("get_current_arm_state")
return ACTION_SUCCESS, {"pose":[0.0,0.0,0.0,0.0,0.0,0.0],"joint":[0.0,0.0,0.0,0.0,0.0,0.0]}
def rm_movej_p(self,*args):
print(f"rm_movej_p:{args}")
def rm_set_joint_en_state(self,*args):
print(f"rm_set_joint_en_state:{args}")
def rm_set_gripper_route(self,*args):
print(f"rm_set_gripper_route:{args}")
def rm_set_gripper_position(self,*kargs):
print(f"rm_set_gripper_position:{kargs}")
def rm_get_gripper_state(self):
print("get_gripper_state")
return ACTION_SUCCESS, {"actpos":0.0}
def rm_set_gripper_release(self,*args):
print(f"rm_set_gripper_release:{args}")
def rm_set_gripper_pick_on(self,*args):
print(f"rm_set_gripper_pick_on:{args}")
def rm_movev_canfd(self,*args):
print(f"rm_movev_canfd:{args}")
def rm_destory(self):
print("destory")
class RealmanMotorsBus(MotorsBus): class RealmanMotorsBus(MotorsBus):
model_number_table={} model_number_table={}
@@ -72,10 +26,11 @@ class RealmanMotorsBus(MotorsBus):
calibration: dict[str, MotorCalibration] | None = None, calibration: dict[str, MotorCalibration] | None = None,
): ):
super().__init__(port,motors, calibration) super().__init__(port,motors, calibration)
self.rmarm = RoboticArm(rm_thread_mode_e.RM_DUAL_MODE_E)
if mock: if mock:
self.rmarm = RoboticArmMock() self.rmarm.rm_set_arm_run_mode(0)#仿真模式
else: else:
self.rmarm = RoboticArm(rm_thread_mode_e.RM_DUAL_MODE_E) self.rmarm.rm_set_arm_run_mode(1)
address = port.split(':') address = port.split(':')
self.ip = address[0] self.ip = address[0]
self.port = int(address[1]) self.port = int(address[1])
@@ -105,7 +60,6 @@ class RealmanMotorsBus(MotorsBus):
''' '''
self.handle = self.rmarm.rm_create_robot_arm(self.ip, self.port) self.handle = self.rmarm.rm_create_robot_arm(self.ip, self.port)
self.rmarm.rm_set_arm_run_mode(0)
enable_flag = False enable_flag = False
loop_flag = False loop_flag = False
# 设置超时时间(秒) # 设置超时时间(秒)