From f31382d8be09c53a56252278a3c6cbf88471d5f0 Mon Sep 17 00:00:00 2001 From: Carlos Mastalli <carlos.mastalli@laas.fr> Date: Tue, 20 Aug 2019 15:59:20 +0200 Subject: [PATCH] [loader] Added the free-flyer joint limits to all the floating-base robots --- python/robots_loader.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/python/robots_loader.py b/python/robots_loader.py index df838e3..da229de 100644 --- a/python/robots_loader.py +++ b/python/robots_loader.py @@ -23,6 +23,17 @@ def readParamsFromSrdf(robot, SRDF_PATH, verbose): return +def addFreeFlyerJointLimits(robot): + rmodel = robot.model + + ub = rmodel.upperPositionLimit + ub[:7] = 1 + rmodel.upperPositionLimit = ub + lb = rmodel.lowerPositionLimit + lb[:7] = -1 + rmodel.lowerPositionLimit = lb + + def loadTalosArm(): URDF_FILENAME = "talos_left_arm.urdf" URDF_SUBPATH = "/talos_data/robots/" + URDF_FILENAME @@ -48,6 +59,8 @@ def loadTalos(): # Load SRDF file readParamsFromSrdf(robot, modelPath + SRDF_SUBPATH, False) assert ((robot.model.armature[:6] == 0.).all()) + # Add the free-flyer joint limits + addFreeFlyerJointLimits(robot) return robot @@ -61,6 +74,8 @@ def loadHyQ(): robot = RobotWrapper.BuildFromURDF(modelPath + URDF_SUBPATH, [modelPath], pinocchio.JointModelFreeFlyer()) # Load SRDF file readParamsFromSrdf(robot, modelPath + SRDF_SUBPATH, False) + # Add the free-flyer joint limits + addFreeFlyerJointLimits(robot) return robot @@ -103,4 +118,6 @@ def loadICub(reduced=True): robot = RobotWrapper.BuildFromURDF(modelPath + URDF_SUBPATH, [modelPath], pinocchio.JointModelFreeFlyer()) # Load SRDF file readParamsFromSrdf(robot, modelPath + SRDF_SUBPATH, False) + # Add the free-flyer joint limits + addFreeFlyerJointLimits(robot) return robot -- GitLab