Joint Control by Torque Teleoperation
In this teleoperation the LWR is commanded using the phantom omni by a 1 to 1 joint increment relation.
The phantom omni is set as an UDP client that sends the joint values to the computer named 'bmm', physically located in the BMM mobile platform, and which is set as the UDP server.
Each one of the first three LWR joints is torque commanded with the input of its corresponding first phantom omni joints by the next control law:
where
is the joint error.
Requisits
- ROS Groovy or ROS Hydro
- ROSJAC repository: '$ git clone https://github.com/joseparnau/rosjac.git' in the 'catkin_ws/src' directory.
- IOCJAC repository: '$ git clone https://github.com/joseparnau/iocjac.git' in the '~' directory.
- JACGIT repository: '$ git clone https://github.com/joseparnau/jacgit.git' in the '~' directory.
Steps
- UDP client PC: Plug-in the phantom omni with the stylus in the inkwell so it calibrates properly.
- UDP client PC: $ roslaunch kview_prenodes kuka_teleop_by_phantom_omni_udp.launch
- UDP client PC: Release the omni stylus from the inkwell. Wait until it elevates and stops.
- UDP client PC: Press both buttons and move its to the highest centered position. Press both buttons to lock it again.
- 'bmm' PC: $ cd /home/robotica/bmm/KukaLWR/FRI/fril_tests/build
- 'bmm' PC: $ ./torqueJointControlTest
- LWR: Open FRIDemo/FRIControl KRL program.
- LWR: Switch to 'Position Control' & 'Automatic Mode'.
- LWR: Power-ON the motors.
- LWR: Run the program by pressing the 'green +'-button until it reaches the 'WAIT SEC 0.05' line.
- 'bmm' PC: When in the 'bmm' PC the LWR data starts to be periodically outputted to screen you can simultaneously press the two phantom omni buttons and teleoperate the LWR.
To re-run the program:
- Close the ./torqueJointControlTest program (Ctrl+C).
- Reset the KRC program.
- Jump to Step 6.
Problems
If the program does not execute jump to step 6 without closing the KRL FRIDemo/FRIControl program.
Caution
Watch out not to hit the BMM table as there is no software barrier to avoid collisions.
Try to avoid fast movements as some fast moves may lead to a LWR unstable/dangerous behaviour.