a problem about inverse kinematics

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

a problem about inverse kinematics

taylor
This post was updated on .
hi Rosen,
following your hit about using functions of Manipulator class, I have done such checks on my robot.

I set the target point
(1.8,0.5,1.92)

calculate iksolution
solution:
[ 0.65931007 -1.17517655  0.06752538  2.17704871 -1.29358444  0.37593879]

ikmodel.manip.GetTransform( )
[[ -5.81347264e-09  -1.00000000e+00   6.32082273e-09   1.80000000e+00]
 [ -1.00000000e+00   5.81347255e-09  -6.88004842e-09   5.00000007e-01]
 [  6.88004838e-09  -6.32082277e-09  -1.00000000e+00   1.72000000e+00]
 [  0.00000000e+00   0.00000000e+00   0.00000000e+00   1.00000000e+00]]

iksolver:
<iksolver:ikfast ikfast.1727acf74b2abd725bd50dfbb202d0d6.Transform6D.new_arm >

ikmodel.manip.GetEndEffectorTransform( )
[[ -5.81347264e-09  -1.00000000e+00   6.32082273e-09   1.80000000e+00]
 [ -1.00000000e+00   5.81347255e-09  -6.88004842e-09   5.00000007e-01]
 [  6.88004838e-09  -6.32082277e-09  -1.00000000e+00   1.72000000e+00]
 [  0.00000000e+00   0.00000000e+00   0.00000000e+00   1.00000000e+00]]

all seems to be calculated correctly, but when I tried to visualize it by
robot.SetDOFValues([ 0.65931007, -1.32194771,  0.17252867,  2.18634352, -1.31754529,  0.34048636],manip.GetArmIndices())

The robot endeffector doesnt point to that target point. I attached the picture.That black point is the target.

It is really confusing for me and hard to solve it by my own head. Can you give some further hints on that?
appreciate it very much.

Taylor38.png

following is my robot xml:

<robot name="my">
    <robot file="/home/deathlypest/workspace/OpenRave/kuka-kr30l16_new.zae"/>

    <KinBody>
      <Body name="endeffector" type="dynamic">
        <Geom type="cylinder">
          <offsetfrom>L6</offsetfrom>
          <RotationAxis>0 0 1 -90</RotationAxis>
          <radius>0.0035</radius>
          <height>0.3</height>
          <diffusecolor>0 0 1</diffusecolor>
          <Translation>2.20 0.00 2.15</Translation>
        </Geom>
      </Body>
      <Joint name="dummy" type="hinge" enable="false">
        <body>L6</body>
        <body>endeffector</body>
        <limits>0 0</limits>
        <axis>1 0 0</axis>
      </Joint>
    </KinBody>
    <Manipulator name="new_arm">
   <base>L0</base>
      <effector>L6</effector>
      <Translation>0 0 0.2</Translation>   
    </Manipulator>   
</robot>
Reply | Threaded
Open this post in threaded view
|

Re: a problem about inverse kinematics

Rosen Diankov
Administrator
try:

h = misc.DrawAxes(env,ikmodel.manip.GetTransform( ))

does it point to where the robot hand is? if not, then your manipulator definition is wrong

rosen,



2013/7/26 taylor <[hidden email]>
hi Rosen,
following your hit about using functions of Manipulator class, I have done
such checks on my robot.

I set the target point
(1.8,0.5,1.92)

calculate iksolution
solution:
[ 0.65931007 -1.17517655  0.06752538  2.17704871 -1.29358444  0.37593879]

ikmodel.manip.GetTransform( )
[[ -5.81347264e-09  -1.00000000e+00   6.32082273e-09   1.80000000e+00]
 [ -1.00000000e+00   5.81347255e-09  -6.88004842e-09   5.00000007e-01]
 [  6.88004838e-09  -6.32082277e-09  -1.00000000e+00   1.72000000e+00]
 [  0.00000000e+00   0.00000000e+00   0.00000000e+00   1.00000000e+00]]

iksolver:
<iksolver:ikfast ikfast.1727acf74b2abd725bd50dfbb202d0d6.Transform6D.new_arm
>

ikmodel.manip.GetEndEffectorTransform( )
[[ -5.81347264e-09  -1.00000000e+00   6.32082273e-09   1.80000000e+00]
 [ -1.00000000e+00   5.81347255e-09  -6.88004842e-09   5.00000007e-01]
 [  6.88004838e-09  -6.32082277e-09  -1.00000000e+00   1.72000000e+00]
 [  0.00000000e+00   0.00000000e+00   0.00000000e+00   1.00000000e+00]]

all seems to be calculated correctly, but when I tried to visualize it by
robot.SetDOFValues([ 0.65931007, -1.32194771,  0.17252867,  2.18634352,
-1.31754529,  0.34048636],manip.GetArmIndices())

The robot endeffector doesnt point to that target point. I attached the
picture.That black point is the target.

It is really confusing for me and hard to solve it by my own head. Can you
give some further hints on that?
appreciate it very much.

Taylor 38.png
<http://openrave-users-list.185357.n3.nabble.com/file/n4026631/38.png>



--
View this message in context: http://openrave-users-list.185357.n3.nabble.com/a-problem-about-inverse-kinematics-tp4026631.html
Sent from the OpenRAVE Users List mailing list archive at Nabble.com.

------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users


------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users