On 05/21/2014 11:55 AM, Javier Hidalgo Carrió wrote: > Hi Alex, > > I hope this does not change how the TransformerGraph of gui/vizkit3d > visualizes the transformation matrices. The visualization stays the same. But the interpretation of the transformer configuration changes for vizkit3d only.
Former: static_transform(Eigen::Vector3.new(0.0,0.0,3.0), Eigen::Quaternion.from_euler(Eigen::Vector3.new(Math::PI,0,0),2,1,0),"world" => "body") must no be written as: static_transform(Eigen::Vector3.new(0.0,0.0,3.0), Eigen::Quaternion.from_euler(Eigen::Vector3.new(Math::PI,0,0),2,1,0),"body" => "world") to have the same visualization in vizkit3d (this is aligned with the transformer) Greets Alex > Because from my point of view, the driver/transformer is the one which > has a confusing way of interpreting transformations. > > Transformation is just a matrix which express one frame with respect to > another. That is all! > Therefore, this is what we should specify in the transformer. Meaning > that, for example: > T_2_3 is a matrix which express frame_3 w.r.t frame_2. In algebra, it > means the base of the subspace frame_3 is expressed (columns vectors) in > the base of the subspace of frame_2. > Another thing is what the user can do with such a matrix. For example: > v2 = T_2_3 * v3 (v2 is vector expressed in frame2 and v3 is a vector > expressed in frame_3). Which convert v3 into v2 and here is when the > different interpretation comes. > > Thanks for the work, > > Javier. > > > On 05/21/2014 10:27 AM, Alexander Duda wrote: >> Hi, >> >> there is a change on master how vizkit3d interprets the transformer >> configuration. The change is necessary because vizkit3d and >> driver/transfomer were using different ones: >> >> Vizkit3d and driver/transformer are now using the following convention: >> * All transformations are defined as SOURCE_IN_TARGET frame. >> >> Example: >> static_transform(Eigen::Vector3.new(0.0,0.0,3.0), >> Eigen::Quaternion.from_euler(Eigen::Vector3.new(Math::PI,0,0),2,1,0),"body" >> => "world") >> >> Meaning: >> The defined transformation T describes the transformation to convert >> samples taken in a body coordinate system to a world coordinate system. >> This is also the reason for its name body_in_world: >> points_in_body*body_in_world=points_in_world >> >> At the same time the transformation T also describes the translation and >> rotation to convert a world coordinate system to a body coordinate system: >> body = world*T = world*world_to_body = world*body_in_world >> world_to_body = body_to_world^(-1) = body_in_world >> >> Greets Alex >> >> > _______________________________________________ > Rock-dev mailing list > [email protected] > http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev -- Dipl.-Ing. Alexander Duda Unterwasserrobotik Robotics Innovation Center Hauptgeschäftsstelle Standort Bremen: DFKI GmbH Robotics Innovation Center Robert-Hooke-Straße 1 28359 Bremen, Germany Tel.: +49 421 178 45-6620 Zentrale: +49 421 178 45-0 Fax: +49 421 178 45-4150 (Faxe bitte namentlich kennzeichnen) E-Mail: [email protected] Weitere Informationen: http://www.dfki.de/robotik ----------------------------------------------------------------------- Deutsches Forschungszentrum fuer Kuenstliche Intelligenz GmbH Firmensitz: Trippstadter Straße 122, D-67663 Kaiserslautern Geschaeftsfuehrung: Prof. Dr. Dr. h.c. mult. Wolfgang Wahlster (Vorsitzender) Dr. Walter Olthoff Vorsitzender des Aufsichtsrats: Prof. Dr. h.c. Hans A. Aukes Amtsgericht Kaiserslautern, HRB 2313 Sitz der Gesellschaft: Kaiserslautern (HRB 2313) USt-Id.Nr.: DE 148646973 Steuernummer: 19/673/0060/3 _______________________________________________ Rock-dev mailing list [email protected] http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev
