From d65e828b010f5c626e3a58fa6ca44d1ca9ee93a4 Mon Sep 17 00:00:00 2001 From: Carlos Mastalli <carlos.mastalli@laas.fr> Date: Wed, 20 Feb 2019 17:06:11 +0100 Subject: [PATCH] [unittest] Formatting these files --- unittest/test_all.py | 18 +++++++-------- unittest/test_load.py | 7 ++++-- unittest/unittest_utils.py | 46 +++++++++++++++++++++----------------- 3 files changed, 39 insertions(+), 32 deletions(-) diff --git a/unittest/test_all.py b/unittest/test_all.py index 02564ce..e2332e4 100644 --- a/unittest/test_all.py +++ b/unittest/test_all.py @@ -2,20 +2,20 @@ import unittest import sys testmodules = [ - 'test_load', + 'test_load', ] suite = unittest.TestSuite() for t in testmodules: - try: - # If the module defines a suite() function, call it to get the suite. - mod = __import__(t, globals(), locals(), ['suite']) - suitefn = getattr(mod, 'suite') - suite.addTest(suitefn()) - except (ImportError, AttributeError): - # else, just load all the test cases from the module. - suite.addTest(unittest.defaultTestLoader.loadTestsFromName(t)) + try: + # If the module defines a suite() function, call it to get the suite. + mod = __import__(t, globals(), locals(), ['suite']) + suitefn = getattr(mod, 'suite') + suite.addTest(suitefn()) + except (ImportError, AttributeError): + # else, just load all the test cases from the module. + suite.addTest(unittest.defaultTestLoader.loadTestsFromName(t)) result = unittest.TextTestRunner().run(suite) sys.exit(len(result.errors) + len(result.failures)) diff --git a/unittest/test_load.py b/unittest/test_load.py index 5e2a02d..78d8702 100644 --- a/unittest/test_load.py +++ b/unittest/test_load.py @@ -16,29 +16,32 @@ class RobotTestCase(unittest.TestCase): self.assertEqual(model.nv, self.NV, "Wrong nv value.") def test_q0(self): - self.assertTrue(hasattr(self.ROBOT, "q0"), "It doesn't have q0") + self.assertTrue(hasattr(self.ROBOT, "q0"), "It doesn't have q0") + class TalosArmTest(RobotTestCase): RobotTestCase.ROBOT = loadTalosArm() RobotTestCase.NQ = 7 RobotTestCase.NV = 7 + class TalosArmFloatingTest(RobotTestCase): RobotTestCase.ROBOT = loadTalosArm() RobotTestCase.NQ = 14 RobotTestCase.NV = 13 + class TalosTest(RobotTestCase): RobotTestCase.ROBOT = loadTalos() RobotTestCase.NQ = 39 RobotTestCase.NV = 38 + class HyQTest(RobotTestCase): RobotTestCase.ROBOT = loadHyQ() RobotTestCase.NQ = 19 RobotTestCase.NV = 18 - if __name__ == '__main__': unittest.main() diff --git a/unittest/unittest_utils.py b/unittest/unittest_utils.py index 1d5ee03..5d0e346 100644 --- a/unittest/unittest_utils.py +++ b/unittest/unittest_utils.py @@ -1,27 +1,30 @@ import pinocchio -from pinocchio.utils import * from pinocchio.robot_wrapper import RobotWrapper - +import numpy as np def readParamsFromSrdf(robot, SRDF_PATH, verbose): - rmodel = robot.model - - pinocchio.loadRotorParameters(rmodel, SRDF_PATH, verbose) - rmodel.armature = \ - np.multiply(rmodel.rotorInertia.flat, np.square(rmodel.rotorGearRatio.flat)) - try: - pinocchio.loadReferenceConfigurations(rmodel, SRDF_PATH, verbose) - robot.q0.flat[:] = rmodel.referenceConfigurations["half_sitting"].copy() - except: - print "loadReferenceConfigurations did not work. Please check your Pinocchio Version" + rmodel = robot.model + + pinocchio.loadRotorParameters(rmodel, SRDF_PATH, verbose) + rmodel.armature = \ + np.multiply(rmodel.rotorInertia.flat, + np.square(rmodel.rotorGearRatio.flat)) try: - pinocchio.getNeutralConfiguration(rmodel, SRDF_PATH, verbose) - robot.q0.flat[:] = rmodel.neutralConfiguration.copy() + pinocchio.loadReferenceConfigurations(rmodel, SRDF_PATH, verbose) + robot.q0.flat[:] = \ + rmodel.referenceConfigurations["half_sitting"].copy() except: - robot.q0.flat[:] = pinocchio.neutral(rmodel) - return - + print "loadReferenceConfigurations did not work. Please check your \ + Pinocchio Version" + try: + pinocchio.getNeutralConfiguration(rmodel, SRDF_PATH, verbose) + robot.q0.flat[:] = rmodel.neutralConfiguration.copy() + except: + robot.q0.flat[:] = pinocchio.neutral(rmodel) + return + + def loadTalosArm(modelPath='/opt/openrobots/share/example-robot-data'): URDF_FILENAME = "talos_left_arm.urdf" URDF_SUBPATH = "/talos/" + URDF_FILENAME @@ -34,6 +37,7 @@ def loadTalosArm(modelPath='/opt/openrobots/share/example-robot-data'): readParamsFromSrdf(robot, modelPath+SRDF_SUBPATH, False) return robot + def loadTalos(modelPath='/opt/openrobots/share/example-robot-data'): URDF_FILENAME = "talos_reduced.urdf" SRDF_FILENAME = "talos.srdf" @@ -41,21 +45,21 @@ def loadTalos(modelPath='/opt/openrobots/share/example-robot-data'): URDF_SUBPATH = "/talos/" + URDF_FILENAME # Load URDF file robot = RobotWrapper.BuildFromURDF(modelPath+URDF_SUBPATH, [modelPath], - pinocchio.JointModelFreeFlyer()) + pinocchio.JointModelFreeFlyer()) # Load SRDF file readParamsFromSrdf(robot, modelPath+SRDF_SUBPATH, False) - assert((robot.model.armature[:6]==0.).all()) + assert((robot.model.armature[:6] == 0.).all()) return robot def loadHyQ(modelPath='/opt/openrobots/share/example-robot-data'): - from pinocchio import JointModelFreeFlyer URDF_FILENAME = "hyq_no_sensors.urdf" URDF_SUBPATH = "/hyq/" + URDF_FILENAME robot = RobotWrapper.BuildFromURDF(modelPath+URDF_SUBPATH, [modelPath], pinocchio.JointModelFreeFlyer()) # TODO define default position inside srdf - robot.q0.flat[7:] = [-0.2, 0.75, -1.5, -0.2, -0.75, 1.5, -0.2, 0.75, -1.5, -0.2, -0.75, 1.5] + robot.q0.flat[7:] = [-0.2, 0.75, -1.5, -0.2, - + 0.75, 1.5, -0.2, 0.75, -1.5, -0.2, -0.75, 1.5] robot.q0[2] = 0.57750958 robot.model.referenceConfigurations["half_sitting"] = robot.q0 return robot -- GitLab