From 4f67fa6f1240eaf4a099bdf62f8d12fcb1d90cf3 Mon Sep 17 00:00:00 2001 From: Guilhem Saurel <guilhem.saurel@laas.fr> Date: Wed, 6 Mar 2019 14:48:22 +0100 Subject: [PATCH] [Tests] use getModelPath to allow build/test in different directories --- unittest/unittest_utils.py | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/unittest/unittest_utils.py b/unittest/unittest_utils.py index f493449..fc3002c 100644 --- a/unittest/unittest_utils.py +++ b/unittest/unittest_utils.py @@ -1,9 +1,19 @@ +from os.path import exists, join + import numpy as np import pinocchio from pinocchio.robot_wrapper import RobotWrapper +def getModelPath(subpath): + for path in ['..', '../..', '/opt/openrobots/share/example-robot-data']: + if exists(join(path, subpath.strip('/'))): + print "using %s as modelPath" % path + return path + raise IOError('%s not found' % (subpath)) + + def readParamsFromSrdf(robot, SRDF_PATH, verbose): rmodel = robot.model @@ -26,11 +36,12 @@ def readParamsFromSrdf(robot, SRDF_PATH, verbose): return -def loadTalosArm(modelPath='../..'): +def loadTalosArm(): URDF_FILENAME = "talos_left_arm.urdf" URDF_SUBPATH = "/talos_data/robots/" + URDF_FILENAME SRDF_FILENAME = "talos.srdf" SRDF_SUBPATH = "/talos_data/srdf/" + SRDF_FILENAME + modelPath = getModelPath(URDF_SUBPATH) # Load URDF file robot = RobotWrapper.BuildFromURDF(modelPath+URDF_SUBPATH, [modelPath]) @@ -39,11 +50,12 @@ def loadTalosArm(modelPath='../..'): return robot -def loadTalos(modelPath='../..'): +def loadTalos(): URDF_FILENAME = "talos_reduced.urdf" SRDF_FILENAME = "talos.srdf" SRDF_SUBPATH = "/talos_data/srdf/" + SRDF_FILENAME URDF_SUBPATH = "/talos_data/robots/" + URDF_FILENAME + modelPath = getModelPath(URDF_SUBPATH) # Load URDF file robot = RobotWrapper.BuildFromURDF(modelPath+URDF_SUBPATH, [modelPath], pinocchio.JointModelFreeFlyer()) @@ -53,9 +65,10 @@ def loadTalos(modelPath='../..'): return robot -def loadHyQ(modelPath='../..'): +def loadHyQ(): URDF_FILENAME = "hyq_no_sensors.urdf" URDF_SUBPATH = "/hyq_description/robots/" + URDF_FILENAME + modelPath = getModelPath(URDF_SUBPATH) robot = RobotWrapper.BuildFromURDF(modelPath+URDF_SUBPATH, [modelPath], pinocchio.JointModelFreeFlyer()) # TODO define default position inside srdf -- GitLab