From c6f9e372a2efe37a93ee369ca2c3f5ed0604fe0b Mon Sep 17 00:00:00 2001
From: Carlos Mastalli <carlos.mastalli@gmail.com>
Date: Wed, 23 Jun 2021 21:12:57 +0100
Subject: [PATCH] Bugfix: included the velocity limits in the Talos legs (#96)

* [bugfix] Included the velocity limits in the talos-legs model
---
 CMakeLists.txt                             |  2 +-
 python/example_robot_data/robots_loader.py | 16 +++++-----------
 2 files changed, 6 insertions(+), 12 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2dae265..5c62d9f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -22,7 +22,7 @@ INCLUDE(cmake/python.cmake)
 
 # Print initial message
 MESSAGE(STATUS "${PROJECT_DESCRIPTION}, version ${PROJECT_VERSION}")
-MESSAGE(STATUS "Copyright (C) 2018-2020 LAAS-CNRS / University of Edinburgh")
+MESSAGE(STATUS "Copyright (C) 2018-2021 LAAS-CNRS, University of Edinburgh")
 MESSAGE(STATUS "All rights reserved.")
 MESSAGE(STATUS "Released under the BSD 3-Clause License.")
 
diff --git a/python/example_robot_data/robots_loader.py b/python/example_robot_data/robots_loader.py
index 90a1623..b8221b5 100644
--- a/python/example_robot_data/robots_loader.py
+++ b/python/example_robot_data/robots_loader.py
@@ -162,17 +162,11 @@ class TalosLegsLoader(TalosLoader):
         for j, M, name, parent, Y in zip(m1.joints, m1.jointPlacements, m1.names, m1.parents, m1.inertias):
             if j.id < legMaxId:
                 jid = m2.addJoint(parent, getattr(pin, j.shortname())(), M, name)
-                upperPos = m2.upperPositionLimit
-                lowerPos = m2.lowerPositionLimit
-                effort = m2.effortLimit
-                upperPos[m2.joints[jid].idx_q:m2.joints[jid].idx_q + j.nq] = m1.upperPositionLimit[j.idx_q:j.idx_q +
-                                                                                                   j.nq]
-                lowerPos[m2.joints[jid].idx_q:m2.joints[jid].idx_q + j.nq] = m1.lowerPositionLimit[j.idx_q:j.idx_q +
-                                                                                                   j.nq]
-                effort[m2.joints[jid].idx_v:m2.joints[jid].idx_v + j.nv] = m1.effortLimit[j.idx_v:j.idx_v + j.nv]
-                m2.upperPositionLimit = upperPos
-                m2.lowerPositionLimit = lowerPos
-                m2.effortLimit = effort
+                idx_q, idx_v = m2.joints[jid].idx_q, m2.joints[jid].idx_v
+                m2.upperPositionLimit[idx_q:idx_q + j.nq] = m1.upperPositionLimit[j.idx_q:j.idx_q + j.nq]
+                m2.lowerPositionLimit[idx_q:idx_q + j.nq] = m1.lowerPositionLimit[j.idx_q:j.idx_q + j.nq]
+                m2.velocityLimit[idx_v:idx_v + j.nv] = m1.velocityLimit[j.idx_v:j.idx_v + j.nv]
+                m2.effortLimit[idx_v:idx_v + j.nv] = m1.effortLimit[j.idx_v:j.idx_v + j.nv]
                 assert jid == j.id
                 m2.appendBodyToJoint(jid, Y, pin.SE3.Identity())
 
-- 
GitLab