axis refactor
This commit is contained in:
parent
2c00a21415
commit
695ae8ed1d
4
main.py
4
main.py
|
@ -113,11 +113,11 @@ class MyApp:
|
||||||
|
|
||||||
@check_robot_app
|
@check_robot_app
|
||||||
def get_world_coordinates(self):
|
def get_world_coordinates(self):
|
||||||
return self.robot_app.get_world_coordinates()
|
return self.robot_app.world_coordinates
|
||||||
|
|
||||||
@check_robot_app
|
@check_robot_app
|
||||||
def get_axis_coordinates(self):
|
def get_axis_coordinates(self):
|
||||||
return self.robot_app.get_axis_coordinates()
|
return self.robot_app.axis_coordinates
|
||||||
|
|
||||||
@check_robot_app
|
@check_robot_app
|
||||||
def get_command_count(self):
|
def get_command_count(self):
|
||||||
|
|
|
@ -17,8 +17,10 @@ from robot.func import *
|
||||||
from robot.prepare_data import PrepareRobotData
|
from robot.prepare_data import PrepareRobotData
|
||||||
from robot.urdf_manager import UrdfManager
|
from robot.urdf_manager import UrdfManager
|
||||||
from robot.socket_manager import SocketManager
|
from robot.socket_manager import SocketManager
|
||||||
|
|
||||||
# os.environ["LIBGL_ALWAYS_SOFTWARE"] = "1"
|
# os.environ["LIBGL_ALWAYS_SOFTWARE"] = "1"
|
||||||
|
|
||||||
|
|
||||||
class SocketRobotArm:
|
class SocketRobotArm:
|
||||||
global_speed = 10
|
global_speed = 10
|
||||||
physical_speed = 10
|
physical_speed = 10
|
||||||
|
@ -31,8 +33,8 @@ class SocketRobotArm:
|
||||||
pass_size = 4
|
pass_size = 4
|
||||||
connected_status = Literal["connected", "not_connected", "error"]
|
connected_status = Literal["connected", "not_connected", "error"]
|
||||||
|
|
||||||
axis_coordinates = []
|
_axis_coordinates = []
|
||||||
world_coordinates = []
|
_world_coordinates = []
|
||||||
remote_command_count = []
|
remote_command_count = []
|
||||||
|
|
||||||
command_type = "base"
|
command_type = "base"
|
||||||
|
@ -90,10 +92,10 @@ class SocketRobotArm:
|
||||||
def upd_model_func(self):
|
def upd_model_func(self):
|
||||||
# logger.info("UPDATE MODEL FUNC")\
|
# logger.info("UPDATE MODEL FUNC")\
|
||||||
|
|
||||||
self.get_axis()
|
self.get_coordinates("axis")
|
||||||
self.set_text(text=f"Координаты осей {self.axis_coordinates}")
|
self.set_text(text=f"Координаты осей {self.axis_coordinates}")
|
||||||
|
|
||||||
self.get_world()
|
self.get_coordinates("world")
|
||||||
self.set_text(text=f"Мировые координаты {self.world_coordinates}")
|
self.set_text(text=f"Мировые координаты {self.world_coordinates}")
|
||||||
|
|
||||||
num_joints = p.getNumJoints(self.urdf_manager.body_id)
|
num_joints = p.getNumJoints(self.urdf_manager.body_id)
|
||||||
|
@ -174,29 +176,33 @@ class SocketRobotArm:
|
||||||
def send_data(self, data):
|
def send_data(self, data):
|
||||||
return self.socket_manager.send_data(data)
|
return self.socket_manager.send_data(data)
|
||||||
|
|
||||||
def get_axis(self):
|
def get_coordinates(self, coord_type: Literal["axis", "world"] = "axis"):
|
||||||
axis_coord_raw = self.send_data(
|
request = make_query_data([f"{coord_type}-{i}" for i in range(6)])
|
||||||
make_query_data(
|
result = self.send_data(request)
|
||||||
["axis-0", "axis-1", "axis-2", "axis-3", "axis-4", "axis-5"]
|
if not result:
|
||||||
)
|
return
|
||||||
)
|
data = [
|
||||||
self.axis_coordinates = [float(i) for i in axis_coord_raw]
|
float(i)
|
||||||
print("start_axis_coordinates", self.axis_coordinates)
|
for i in result
|
||||||
|
]
|
||||||
|
if coord_type == "axis":
|
||||||
|
self._axis_coordinates = data
|
||||||
|
elif coord_type == "world":
|
||||||
|
self._world_coordinates = data
|
||||||
|
|
||||||
def get_axis_coordinates(self):
|
@property
|
||||||
return self.axis_coordinates
|
def axis_coordinates(self):
|
||||||
|
if not self._axis_coordinates:
|
||||||
|
return [0,0,0,0,0,0]
|
||||||
|
# self.get_coordinates("axis")
|
||||||
|
return self._axis_coordinates
|
||||||
|
|
||||||
def get_world(self):
|
@property
|
||||||
world_coord_raw = self.send_data(
|
def world_coordinates(self):
|
||||||
make_query_data(
|
if not self._world_coordinates:
|
||||||
["world-0", "world-1", "world-2", "world-3", "world-4", "world-5"]
|
return [0,0,0,0,0,0]
|
||||||
)
|
# self.get_coordinates("world")
|
||||||
)
|
return self._world_coordinates
|
||||||
self.world_coordinates = [float(i) for i in world_coord_raw]
|
|
||||||
print("start_world_coordinates", self.world_coordinates)
|
|
||||||
|
|
||||||
def get_world_coordinates(self):
|
|
||||||
return self.world_coordinates
|
|
||||||
|
|
||||||
def _get_command_count(self):
|
def _get_command_count(self):
|
||||||
res = self.send_data(make_query_data(["RemoteCmdLen"]))
|
res = self.send_data(make_query_data(["RemoteCmdLen"]))
|
||||||
|
|
|
@ -98,10 +98,9 @@ def handle_client(conn, addr):
|
||||||
req = json.loads(data)
|
req = json.loads(data)
|
||||||
print(req)
|
print(req)
|
||||||
res = {"queryData": ["ok"]}
|
res = {"queryData": ["ok"]}
|
||||||
|
global coordinates_index
|
||||||
if "queryAddr" in req and "axis-0" in req["queryAddr"]:
|
if "queryAddr" in req and "axis-0" in req["queryAddr"]:
|
||||||
global coordinates_index
|
|
||||||
print(f"----{coordinates_index}----")
|
print(f"----{coordinates_index}----")
|
||||||
c = c_angles[coordinates_index]
|
|
||||||
limit = len(c_angles) - 1
|
limit = len(c_angles) - 1
|
||||||
# limit = 2
|
# limit = 2
|
||||||
if coordinates_index < limit:
|
if coordinates_index < limit:
|
||||||
|
@ -109,6 +108,8 @@ def handle_client(conn, addr):
|
||||||
else:
|
else:
|
||||||
coordinates_index = 0
|
coordinates_index = 0
|
||||||
|
|
||||||
|
c = c_angles[coordinates_index]
|
||||||
|
|
||||||
if "queryAddr" in req and "axis-0" in req["queryAddr"]:
|
if "queryAddr" in req and "axis-0" in req["queryAddr"]:
|
||||||
res["queryData"] = c["axis"]
|
res["queryData"] = c["axis"]
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue