Ask Your Question
1

RGBD in Hydro

asked 2013-11-29 05:45:56 -0500

RodBelaFarin gravatar image

updated 2014-01-28 17:18:40 -0500

ngrennan gravatar image

According to the following question:

http://answers.ros.org/question/91111/rgbdslam-in-ros-hydro/

I changed in my manifest.xml the line

  <depend package="pcl"/>

to

  <depend package="pcl_conversions"/>

This seems working for me. Thanks for the hint with migration of pcl with pcl_conversions.

And after the ugly thing of adding the old header file OctomapROS.h in the folder /opt/ros/hydro/include/octomap_ros/, this worked, too.

But now I get some conversion errors:

.../src/rgbdslam_freiburg/rgbdslam/src/graph_mgr_io.cpp:542:67: error: request for member ‘toSec’ in ‘node->Node::pc_col.boost::shared_ptr<T>::operator-> [with T = pcl::PointCloud<pcl::PointXYZRGB>]()->pcl::PointCloud<pcl::PointXYZRGB>::header.pcl::PCLHeader::stamp’, which is of non-class type ‘uint64_t {aka long unsigned int}’

 .../src/rgbdslam_freiburg/rgbdslam/src/graph_mgr_io.cpp:881:42: error: conversion from ‘uint64_t {aka long unsigned int}’ to non-scalar type ‘ros::Time’ requested

 .../src/rgbdslam_freiburg/rgbdslam/src/graph_mgr_io.cpp:882:32: error: cannot convert ‘ros::Time’ to ‘uint64_t {aka long unsigned int}’ in assignment

  .../src/rgbdslam_freiburg/rgbdslam/src/graph_mgr_io.cpp:884:32: error: cannot convert ‘ros::Time’ to ‘uint64_t {aka long unsigned int}’ in assignment

and so on. Similiar conversion errors with ccny_rgbd and viso2_ros after changing from pcl to pcl_conversions.

So I am pretty sure something went wrong with my migration from pcl to pcl_conversions. Or is it maybe more then just editing the manifest.xml / package.xml from

<depend package="pcl"/> to <depend package="pcl_conversions"/>

?

edit retag flag offensive close merge delete

Comments

@RodBelaFarin Thanks for sharing this. I am doing the similar thing with you. However, as a beginner, I do not know how to do exactly. Could you please give me a step by step instruction? (i.e. where can I find the old header file OctomapROS.h) I appreciate it. Many thanks.

pinocchio gravatar imagepinocchio ( 2014-03-26 14:01:08 -0500 )edit

@RodBelaFarin Also, Could you please tell me which workspace you install the package? I use catkin workspace in hydro, but some guys say that only rosbuild ws is available for this package. However the rosbuild is for fuerture.http://wiki.ros.org/ROS/Tutorials/InstallingandConfiguringROSEnvironment

pinocchio gravatar imagepinocchio ( 2014-03-26 15:09:38 -0500 )edit

old octomapROS.h: https://code.google.com/p/alufr-ros-pkg/source/browse/branches/octomap_stacks-groovy-devel/octomap_ros/include/octomap_ros/OctomapROS.h?r=3074 In the end I was NOT able to finish with RGBDSLAM. If you "just" need the 3D pointcloud, I recommend to switch to CCNY. It is much easier.

RodBelaFarin gravatar imageRodBelaFarin ( 2014-03-26 23:18:45 -0500 )edit

Hi @RodBelaFarin, thanks for your reply. I read the paper of CCNY, but I am not sure whether this method can generate a map of the indoor environment. There are some results of mapping on the paper, but maybe no algorithm shown. So, how can I achieve mapping use this package? Many thanks.

pinocchio gravatar imagepinocchio ( 2014-03-27 06:30:51 -0500 )edit

Hi @RodBelaFarin, I tried CCNY by your recommandation, but some errors occur, as shown in http://answers.ros.org/question/145411/error-on-installing-ccny-package-on-hydro/. Could you please tell me how to intall in on hydro?

pinocchio gravatar imagepinocchio ( 2014-03-27 07:46:57 -0500 )edit

http://wiki.ros.org/ccny_rgbd?distro=... use the quick usage guide from there. the last step "rosservice call /save_pcd_map /home/your_user_name/my_map.pcd" shows you how to save the 3D pointlcloud from your environment.

RodBelaFarin gravatar imageRodBelaFarin ( 2014-03-27 07:48:53 -0500 )edit

1 Answer

Sort by » oldest newest most voted
0

answered 2013-11-30 04:57:28 -0500

RodBelaFarin gravatar image

The answer is on the migration-site (http://wiki.ros.org/hydro/Migration#PCL): for every conversion error you need to make little changes in the specific lines in the code. 1. #include <pcl_conversions pcl_conversions.h=""> 2. pcl_cloud.header = pcl_conversions::toPCL(pc2->header);

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

3 followers

Stats

Asked: 2013-11-29 05:45:56 -0500

Seen: 1,631 times

Last updated: Nov 29 '13