Skip to content

VOCAB_CM_TORQUE control not supported in coupled joints #247

@traversaro

Description

@traversaro

The code that converts desired quantities from actuated axis to physical joints and measured quantities from physical joints to actuated axis seems only consider desired positions and measured position and velocities, see:

  • if (m_controlBoardData.ijointcoupling){
    m_controlBoardData.ijointcoupling->convertFromPhysicalJointsToActuatedAxesPos(m_physicalJointsPositionBuffer, m_actuatedAxesPositionBuffer);
    m_controlBoardData.ijointcoupling->convertFromPhysicalJointsToActuatedAxesVel(m_physicalJointsPositionBuffer, m_physicalJointsVelocityBuffer, m_actuatedAxesVelocityBuffer);
    for (int i = 0; i < m_controlBoardData.actuatedAxes.size(); i++)
    {
    m_controlBoardData.actuatedAxes[i].commonJointProperties.position = m_actuatedAxesPositionBuffer[i];
    m_controlBoardData.actuatedAxes[i].commonJointProperties.velocity = m_actuatedAxesVelocityBuffer[i];
    }
    }
  • for (int i = 0; i < m_controlBoardData.actuatedAxes.size(); i++)
    {
    m_actuatedAxesPositionBuffer[i] = m_controlBoardData.actuatedAxes[i].commonJointProperties.refPosition;
    }
    m_controlBoardData.ijointcoupling->convertFromActuatedAxesToPhysicalJointsPos(m_actuatedAxesPositionBuffer, m_physicalJointsPositionBuffer);
    for(auto i = 0; i < m_controlBoardData.physicalJoints.size(); i++)
    {
    m_controlBoardData.physicalJoints[i].commonJointProperties.refPosition = m_physicalJointsPositionBuffer[i];
    }

So, clearly the VOCAB_CM_TORQUE control mode is not supported for coupled joints. At the moment we should document this limitation, and ideally return an error if someone asks to set in torque a coupling joint. We could also try to understand if it make sense to support this (for example if it is supported in any physical robot) and if it exists a case in which it make sense to support this, implement it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions