Projekt

Ogólne

Profil

Lab5 » Historia » Wersja 4

« Poprzednie - Wersja 4/8 (diff) - Następne » - Obecna wersja
Dawid Seredyński, 2018-06-13 21:33


Lab 5: Inverse kinematics

Scope:

This laboratory consist of two parts:

  • A short introduction.
  • Writing your own ROS package.

The task:

  • Develop the system from the previous laboratory by either copying the package or modyfying it.
  • Create ROS node IKIN that calculates inverse kinematics (IK) of the manipulator.
  • Create an analytical algorithm for IK without use of KDL.
  • Ignore orientation of the end effector. In this task, only position (translation) is relevant.
  • The node should use the same ROS parameters as previously implemented node DKIN.
  • Commands for IKIN should be read from the node that interpolates trajectory in operational space.
  • The calculated joint position should be sent to robot_state_publisher.
    • If IK cannot be solved, the node IKIN does not publish new position and it sends error information to ROS log.
  • Compare two positions in RVIZ:
    • The one calculated by the node that interpolates trajectory in operational space.
    • Position calculated by robot_state_publisher.
  • Send a number of commands to operational space interpolation node and check if they are executed properly.
    • In particular, the node ocmd commands motion of the end effector that follows rectangle and ellipse shape. Each motion should be executed periodically. The trajectory should be visualized as a streak in RVIZ. * Set such physical parameters of the manipulator (e.g. lengths of links) that the desired example motion is possible.
  • Each example motion should be executed successfully for any initial configuration of the robot.
    • You can set the initial position using the method from the previous laboratory (i.e. interpolation in joint space).
    • Uwaga na wybór właściwego rozwiązania zadania odwrotnej kinematyki podczas interpolacji w przestrzeni operacyjnej, tak żeby nie wykonywać gwałtownych zmian położeń złącz.
      • Nie należy wprowadzać sztucznych ograniczeń zakresu ruchu w przestrzeni konfiguracyjnej, tak aby nie było konieczności wyboru jednego z kilku rozwiązań kinematyki odwrotnej.
  • W wersji rozszerzonej:
    • należy uwzględnić ograniczenia kinematyki odwrotnej co do przestrzeni roboczej manipulatora.
      • W szczególności jeżeli wyznaczenie położenia nie jest możliwe, węzeł liczący kinematykę odwrotną nie powinien publikować nowych pozycji zadanych oraz ma sygnalizować błąd w ROS log
  • W ramach repozytorium na serwerze GitHub z własnym pakietem dodajemy wiki z opisem plików źródłowych, instrukcją jak uruchomić system opisany w pliku roslaunch oraz przebiegiem testów.
    • Uczulam na właściwe udokumentowanie struktury systemu z oznaczeniem, gdzie są tematy, a gdzie zdalne wywoływanie procedur.
    • Przebiegi zmiennych z rqt_plot powinny potwierdzić zgodność pozycji końcówki robota z poszczególnych potoków przetwarzania pozycji zadanej przez interpolator (z użyciem odwrotnej kinematyki i bez).
  • Use separate roslaunch files for:
    • roscore and RVIZ (it should be running until URDF file is modified).
    • The rest of the system.
  • Test the system and show it to the tutor.

lab5-scheme-a.png (13 KB) Dawid Seredyński, 2018-06-13 21:50