in simulation_ws/src/aws_robomaker_simulation_common/nodes/route_manager.py [0:0]
def _create_pos(
self,
x_world,
y_world,
z_world,
euler_orientation_x,
euler_orientation_y,
euler_orientation_z):
"""
Wrap 3D euler location and orientation input to a Pose.
Args
----
x(float): in world coordinates
y(float): in world coordinates
z(float): in world coordinates
orientation_x(float): in world coordinates,
orientation_y(float): in world coordinates
orientation_z(float): in world coordinates
Returns
-------
Pose:
{
'position': {
'x': double
'y': double
'z': double
}
'orientation': {
'x': double
'y': double
'z': double
'w': double
}
}
"""
position = {
'x': x_world,
'y': y_world,
'z': z_world
}
# Make sure the quaternion is valid and normalized
quaternion_orientation = transform.quaternion_from_euler(
euler_orientation_x, euler_orientation_y, euler_orientation_z)
orientation = {
'x': quaternion_orientation[0],
'y': quaternion_orientation[1],
'z': quaternion_orientation[2],
'w': quaternion_orientation[3]
}
p = {
'pose':
{
'position': position,
'orientation': orientation
}
}
return p