Skip to content
Snippets Groups Projects
Commit d65e828b authored by Carlos Mastalli's avatar Carlos Mastalli
Browse files

[unittest] Formatting these files

parent 00a1ef59
No related branches found
No related tags found
No related merge requests found
......@@ -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))
......@@ -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()
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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment