1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
#! /usr/bin/env python
"""
This script tests the NED modifier.
"""
from morse.testing.testing import MorseTestCase
try:
# Include this import to be able to use your test file as a regular
# builder script, ie, usable with: 'morse [run|exec] <your test>.py
from morse.builder import *
except ImportError:
pass
import os
import sys
from pymorse import Morse
class NedTest(MorseTestCase):
def setUpEnv(self):
robot = RMax('robot')
robot.translate(42.0, -10, 40)
teleport = Teleport()
robot.append(teleport)
pose = Pose()
robot.append(pose)
pose.add_stream('socket')
pose2 = Pose()
pose2.alter('NED')
robot.append(pose2)
pose2.add_stream('socket')
env = Environment('empty', fastmode = True)
env.add_service('socket')
def test_ned_pose(self):
""" Test if the NED conversion is correctly done
"""
with Morse() as morse:
pose_stream = morse.robot.pose
pose_ned_stream = morse.robot.pose2
pose = pose_stream.get()
pose_ned = pose_ned_stream.get()
self.assertAlmostEqual(pose['x'], 42.0, delta=0.01)
self.assertAlmostEqual(pose['y'], -10.0, delta=0.01)
self.assertAlmostEqual(pose['z'], 40.0, delta=0.1)
self.assertAlmostEqual(pose['x'], pose_ned['y'])
self.assertAlmostEqual(pose['y'], pose_ned['x'])
self.assertAlmostEqual(pose['z'], -pose_ned['z'])
########################## Run these tests ##########################
if __name__ == "__main__":
from morse.testing.testing import main
main(NedTest)
|