<p>Hi all. </p><p>I have a question about using igstk::Navigator project. </p><p>I am trying to get the transformation of my robot from the image so that when I pick a point at a image, the robot moves to that corresponding point calculated from the transformation, but I cannot get the positions that I want.</p>
<p> </p><p>To be more specific, </p><p>at Navigator.cxx, </p><p>void Nvigator::TrackerRegistrationProcessing(), </p><p> </p><p>I did the same thing of image to tracker transformation with my robot and my image. </p><p>Here are the some of the codes that I wrote: </p>
<p> </p><p>RegistrationType::Pointer robotRegistration = RegistrationType::New(); </p><p>robotRegistration->RequestComputeTransform(); </p><p>lrtcb2->ObserveTransformEventsFrom( robotRegistration );<br>lrtcb2->Clear();<br>
robotRegistration->RequestGetTransformFromTrackerToImage();</p><p>m_RobotRegistrationTransform = lrtcb2->GetTransform();</p><p> </p><p> </p><p>and from this, I gave an image point that I want the robot to move to, </p>
<p>currentIP[0] = -80.3753;<br>currentIP[1]= -32.0043;<br>currentIP[2] = -24.6225; <br>and set as : </p><p>Timage.SetTranslation(currentIP, m_TrackerRMS2, igstk::TimeStamp::GetLongestPossibleTime()); </p><p> </p><p>then I tried to calculate robot position from the transformation I got, </p>
<p>robotCtoWPos = m_RobotRegistrationTransform.GetRotation().Transform(Timage.GetTranslation()); <br>robotCtoWPos +=m_RobotRegistrationTransform.GetTranslation(); </p><p> </p><p>I am thinking that Probot = Trobot2image*Pimage , where P is position, and T is transformation, is right. </p>
<div> </div><div>I am spending so much time on this, and I don't know how to fix this problem.</div><div>Can anybody help? </div><p> Thanks in advance. </p><p> </p><p>Sincerely,</p><p>Jamie </p>