IOC Robotic's Lab

Kinematic

The kinematic component calculate the pose of bmm by the desired pose of an object. After applying some homogeneous transformations and the inverse kinematic of the BMM, it sends to the target to the platform and kuka.

For calculating this transformations correctly, it has been defined some absolutes reference and initial positions. The following image shows the diferents systems of reference in the initial pose.

(THis photo is provisional)

IMG_1296.JPG

This component communicates using ROS communication with remote ROS node. it is connected to desiredTCP topic, where is published the desired pose of an object. This position might be published by a remote trajectory generator or device.

The kinematic component have two important properties that should be set in the ops file.

  • bmmType
    • 1 - bmm1
    • 2 - bmm2
  • algorithmType: select the algorihm used to calculate the inverse kinematic.
    • 0 - mobile manipulator pseudoinverse jacobian
    • 1 - manipulator pseudoinverse jacobian
    • 2 - mobile manipulator pseudoinverse jacobian as Siciliano pag 139
    • 3 - manipulator pseudoinverse jacobian as Siciliano pag 139
    • 4 - mobile manipulator pseudoinverse jacobian as Siciliano pag 139 with L = Identity which is a good assumtion when Rd = Re + dR
    • 5 - manipulator pseudoinverse jacobian as Siciliano pag 139 with L = Identity which is a good assumtion when Rd = Re + dR

Download and install

git clone ssh://ris/gitroot/bmm-components.git bmm-components
cd kinematic
mkdir build
cd build
cmake ../ -DCMAKE_INSTALL_PREFIX=/srv/robotica/orocos -DOROCOS_TARGET:string=xenomai
make
sudo make install

Install using catkin

mkdir -p catkin_ws/src
catkin_init_workspace
ln -s ~/bmm-component/kinematic/
cd ..
export OROCOS_TARGET=xenomai #If it is wanted to compile with xenomai. Gnulinux by default.
catkin_make_isolated --install
source devel_isolated/setup.bash