.. _l1l2: Oncilla L1 and L2 ================= The Oncilla Joints L1 and L2 provide the same (technical) interface, as they are both realized as servo motors on the hardware platform. L1 represents the protraction-retraction hip joint. L2 represents the flexion-extension knee joint. Both can be controlled in position, velocity, torque and impedance and report current angle of of the motor axis and the magnetic encoder. Simple joint space control of a L1 or L2 joint: .. code-block:: cpp :emphasize-lines: 5,7 Oncilla oncilla; // get robot instance L1::Ptr left_fore_hip = oncilla.getL1(LEFT_FORE); // get left fore l1 joint JointAnglesPtr command = JointAngles::fromRad(3.14); // in radians left_fore_hip->setJointPosition(command); // send new command std::cout << left_fore_hip->getJointPosition()->deg(); // get position in degrees Refer to the API documentation of `rci::oncilla::OncillaL1L2 `_ for the full technical interface of these joints.