[ros-users] Eigen conflict in pcl/point_types.hpp

Radu Bogdan Rusu rusu at willowgarage.com
Wed Sep 1 01:05:00 UTC 2010


Done. I just made a big push (r32247) in point_cloud_perception trunk that makes PCL work with Eigen3. Though I took 
care in getting the unit tests to pass, things might still fail, as we're not unit testing everything yet (unfortunately).

Please let me know if this works for you and e-mail/ticket me if you find any bugs :)

Thanks,
Radu.

On 08/31/2010 09:23 AM, Jordi Pages wrote:
> Ok, it sounds great. I will be looking forward the patch :)
>
> Thanks,
>
> Jordi
>
> On Tue, Aug 31, 2010 at 6:18 PM, Radu Bogdan Rusu <rusu at willowgarage.com
> <mailto:rusu at willowgarage.com>> wrote:
>
>     Jordi,
>
>     Thanks for the report. Unfortunately, I went through the same
>     process yesterday where packages that depend on both eigen (2) and
>     eigen3 have similar compilation issues.
>
>     The current code in PCL (or any other package that uses eigen for
>     more than just the standard matrix/vector basic operations) cannot
>     be compiled with Eigen3 as the structures changed a bit. I spent
>     some time yesterday to document these changes (see
>     http://www.ros.org/wiki/eigen3). We're currently preparing a big
>     patch against PCL trunk that switches the entire internal structure
>     to Eigen3. Part of the patch is the change from ForceAligned to
>     Aligned in Maps, which should fix your compilation issue.
>
>     Cheers,
>     Radu.
>
>
>     On 08/31/2010 07:25 AM, Jordi Pages wrote:
>
>         Hi, I have installed ROS c-turtle last release and I have created a
>         service offering PCL capabilities through ROS messages. I need
>         to call
>         this service from code written apart from ROS that is linking to
>         Eigen
>         3. The client should transform our own point cloud data structure to
>         PointCloud2 message and then communicate with the service in
>         order to
>         perform filtering, segmentation, etc. Such architecture worked
>         before
>         installing the last release. However, now I get compilation problems
>         related to file pcl/point_types.hpp. I have seen that this file has
>         recently changed the way the different point clouds data types are
>         defined. One of the compilation errors is as follows:
>
>         /opt/ros/cturtle/stacks/point_cloud_perception/pcl/src/pcl/point_types.hpp:
>         In member function ‘Eigen::Map<Eigen::Matrix<float, 4, 1, 0, 4,
>         1>, 0>
>         pcl::_PointXYZ::getVector4fMap()’:
>         /opt/ros/cturtle/stacks/point_cloud_perception/pcl/src/pcl/point_types.hpp:73:
>         error: conversion from ‘Eigen::Map<Eigen::Matrix<float, 4, 1, 0,
>         4, 1>,
>         1>’ to non-scalar type ‘Eigen::Map<Eigen::Matrix<float, 4, 1, 0,
>         4, 1>,
>         0>’ requested
>
>         I have taken a look to point_types.hpp and it seems that
>         Eigen::Vector4f::MapAligned (data)) does not return an aligned
>         Map when
>         it should?
>
>         It is not the first time I get these type of compilation errors.
>         I guess
>         that most of them appear due to conflicts between Eigen 2 and
>         Eigen 3.
>         That is why I try to isolate pure ROS code in services and use
>         minimal
>         ROS dependencies in clients that make use of our own Eigen 3
>         based code.
>         I have read that Eigen 3 is being used in the unstable trunk of ROS.
>         Nevertheless, has anybody faced these problems before? Am I doing
>         something wrong?
>
>         Thanks
>
>         --
>         Jordi Pages, PhD
>         Researcher
>         Pal Robotics S.L.
>
>         Tel: +34.93.414.53.47
>         Fax: +34.93.209.11.09
>         C/ Pujades 77-79 4º 4ª 08005 Barcelona, Spain.
>         http://www.pal-robotics.com/
>
>         AVISO DE CONFIDENCIALIDAD: Este mensaje y sus documentos adjuntos,
>         pueden contener información privilegiada y/o confidencial que está
>         dirigida exclusivamente a su destinatario.
>         Si usted recibe este mensaje y no es el destinatario indicado, o el
>         empleado encargado de su entrega a dicha persona, por favor,
>         notifíquelo
>         inmediatamente y remita el mensaje original a la dirección
>         de correo electrónico indicada. Cualquier copia, uso o
>         distribución no
>         autorizados de esta comunicación queda estrictamente prohibida.
>
>         CONFIDENTIALITY NOTICE: This e-mail and the accompanying
>         document(s) may
>         contain confidential information which is privileged and
>         intended only
>         for the individual or entity to whom they are addressed.  If you
>         are not
>         the intended recipient, you are hereby notified that any disclosure,
>         copying, distribution or use of this e-mail and/or accompanying
>         document(s) is strictly prohibited.  If you have received this
>         e-mail in
>         error, please immediately notify the sender at the above e-mail
>         address.
>
>
>
>         _______________________________________________
>         ros-users mailing list
>         ros-users at code.ros.org <mailto:ros-users at code.ros.org>
>         https://code.ros.org/mailman/listinfo/ros-users
>
>
>     --
>     | Radu Bogdan Rusu | http://rbrusu.com/
>
>
>
>
> --
> Jordi Pages, PhD
> Researcher
> Pal Robotics S.L.
>
> Tel: +34.93.414.53.47
> Fax: +34.93.209.11.09
> C/ Pujades 77-79 4º 4ª 08005 Barcelona, Spain.
> http://www.pal-robotics.com/
>
> AVISO DE CONFIDENCIALIDAD: Este mensaje y sus documentos adjuntos,
> pueden contener información privilegiada y/o confidencial que está
> dirigida exclusivamente a su destinatario.
> Si usted recibe este mensaje y no es el destinatario indicado, o el
> empleado encargado de su entrega a dicha persona, por favor, notifíquelo
> inmediatamente y remita el mensaje original a la dirección
> de correo electrónico indicada. Cualquier copia, uso o distribución no
> autorizados de esta comunicación queda estrictamente prohibida.
>
> CONFIDENTIALITY NOTICE: This e-mail and the accompanying document(s) may
> contain confidential information which is privileged and intended only
> for the individual or entity to whom they are addressed.  If you are not
> the intended recipient, you are hereby notified that any disclosure,
> copying, distribution or use of this e-mail and/or accompanying
> document(s) is strictly prohibited.  If you have received this e-mail in
> error, please immediately notify the sender at the above e-mail address.
>

-- 
| Radu Bogdan Rusu | http://rbrusu.com/



More information about the ros-users mailing list