[docs]class Pose(object):
"""Represent cartesian pose, where x , y and z are in metres and roll, pitch
and yaw are in radians.
"""
x = 0.0
y = 0.0
z = 0.0
roll = 0.0
pitch = 0.0
yaw = 0.0
def __init__(self, *args, **kwargs) -> None:
if len(args) == 6:
self.x, self.y, self.z, self.roll, self.pitch, self.yaw = args
else:
self.x = kwargs.get("x", 0.0)
self.y = kwargs.get("y", 0.0)
self.z = kwargs.get("z", 0.0)
self.roll = kwargs.get("roll", 0.0)
self.pitch = kwargs.get("pitch", 0.0)
self.yaw = kwargs.get("yaw", 0.0)
[docs] def get_pose(self) -> list:
return [self.x, self.y, self.z, self.roll, self.pitch, self.yaw]
[docs] def is_empty(self):
return all(val == 0 for val in self.get_pose())
[docs] def from_array(self, pose_array: list):
self.x, self.y, self.z, self.roll, self.pitch, self.yaw = pose_array