ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

drew212's profile - activity

2012-10-02 01:58:28 -0500 received badge  Famous Question (source)
2012-09-18 09:02:26 -0500 received badge  Popular Question (source)
2012-09-18 09:02:26 -0500 received badge  Notable Question (source)
2012-09-18 09:02:26 -0500 received badge  Famous Question (source)
2012-08-19 09:41:13 -0500 received badge  Famous Question (source)
2012-08-19 09:41:13 -0500 received badge  Notable Question (source)
2012-03-30 10:34:30 -0500 received badge  Popular Question (source)
2012-01-10 01:44:11 -0500 received badge  Notable Question (source)
2011-12-20 00:14:46 -0500 received badge  Teacher (source)
2011-11-17 23:40:01 -0500 marked best answer RGBDSlam load saved files

Hi, this isn't possible with RGBDSLAM at the moment (and I currently have no plans to add this feature). To implement this, in addition to the point cloud, you would also need to store the belonging feature descriptors and their 2d/3d locations. Further the graph would need to be saved (there is a function for that in hogman/g2o).

So in fact, one would need to implent saving and restoring of the Node class.

While the principle is easy, this would be a lot of programming work, and since I don't have time for it, I guess it will not be done. Anyone willing to volunteer is welcome to contact me for details.

2011-11-17 23:39:44 -0500 commented answer RGBDSlam load saved files
I would be interested in taking a look at the work required, would you care to help me going about doing this? I've been working with RGBDSlam but don't know how things exactly work, but I do have a rough idea.
2011-11-11 00:23:28 -0500 received badge  Popular Question (source)
2011-11-11 00:22:46 -0500 asked a question AIS namespace/class

What is AIS and where can I find further documentation on it? I'm working with RGBDSlam and it seems to use an AIS::GraphOptimizer3D* to keep track of all the clouds but I cannot find any documentation on it.

2011-11-11 00:19:15 -0500 commented answer RGBDSlam load saved files
Thanks for the udpate. Maybe I'm missing something but I'm not sure how this helps since I already have a point cloud inside a function I added to RGBDSlam. The function is in graph_manager.cpp now I need to add it to the graph, but idk how. Do I add it to optimizer_ or graph_? How?
2011-11-09 23:56:35 -0500 commented answer RGBDSlam load saved files
Ok, now I can successfully load the file, but how do I get that data into rgbdslam so I can continue creating the map? I vaguely understand how rgbdslam works under the hood and I'm not sure how to add the point cloud back in.
2011-11-08 01:37:59 -0500 asked a question RGBDSlam load saved files

Is there a way to load the saved PCD file to rgbdslam for later use? What I am trying to do is create a map, and then later come along and locate my position/orientation within the map.

Update: I am able to load a pointcloud into a pointcloud_type for use in rgbdslam but I'm not sure how or where to add it to the graph. I have a call to setPointCloud(cloud, transform) but it isn't working correctly, as it was a shot in the dark. Below is a snippit of code, this method is set up in graph_manager.cpp, and is called from qtcv when the menu option is clicked and a file is selected. I know that it is correctly loading the file because the ROS_INFO call works and says that it is loading points.

void GraphManager::loadCloudsFromFile(QString filename){
     string * printableFileName = new string(qPrintable(filename));
     pcl::PointCloud<pcl::PointXYZRGB>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZRGB>);
     if(pcl::io::loadPCDFile<pcl::PointXYZRGB>(*printableFileName, *cloud) == -1)
     {
         ROS_ERROR("Couldn't read file %s", printableFileName->c_str());
         return;
     }
     ROS_INFO("Loaded %d, data points from %s", cloud->width * cloud->height, printableFileName->c_str());
     pointcloud_type * cloud2 = new pointcloud_type(*cloud);
     //sensor_msgs::PointCloud2 cloud2;
     //pcl::toROSMsg(*cloud, cloud2);
     latest_transform_ = QMatrix4x4();
     Q_EMIT(setPointCloud(cloud2, latest_transform_));
}
2011-11-04 01:01:56 -0500 commented answer rgbdslam camera location
I was able to figure out how to use TF. I'm working on how to parse the output of TF to be able to set up a "coordinate system" so I can locate myself in a previously compiled map for comparison. Thanks!
2011-11-04 00:59:28 -0500 marked best answer rgbdslam camera location

In the new snapshot (see http://www.ros.org/wiki/rgbdslam/evaluation) you can store the trajectory to file. Also, if you send the model, a transformation from /map to /openni_camera is published. In the svn version, a transformation from /openni_camera to /slam_transform is published, where (somewhat confusing) /openni_camera acts as the fixed/map frame and /slam_transform is the moving camera postion.

2011-11-04 00:59:28 -0500 received badge  Scholar (source)
2011-11-03 02:46:29 -0500 answered a question rgbdslam on room interiors

The best way to get an accurate and complete model I have found at this time is hand correcting the errors. I use this when I need a "base mapping" that needs to be extremely accurate. Meshlab may be what you're looking for, as it allows hand modifying of point clouds in PLY and OBJ formats. It can be found here: http://meshlab.sourceforge.net/. If you're looking for an automated solution I haven't been able to get anything to work to the accuracy I need, if you find a solution let me know.

2011-11-03 02:37:41 -0500 commented answer rgbdslam camera location
I looked through all the topics and nodes after sending the whole model and couldn't find anything labeled as openni_camera or slam_transform. Where should I be looking for the transforms? Thanks!
2011-11-02 02:04:46 -0500 received badge  Student (source)
2011-11-02 01:16:45 -0500 received badge  Supporter (source)
2011-11-01 02:00:33 -0500 answered a question Calibrating in OpenNI_Kinect

The newer openni_kinect drivers get the factory calibration settings, so calibration is no longer necessary. This is why the calibration tools are associated with the deprecated package, because it doesn't use the factory calibration settings.

2011-11-01 01:58:41 -0500 answered a question Calibrating in OpenNI_Kinect

I believe that the newer openni_kinect drivers get the factory calibration settings, so calibration is no longer necessary. This is why the calibration tools are associated with the deprecated package, because it doesn't use the factory calibration settings.

2011-11-01 01:50:06 -0500 asked a question rgbdslam camera location

Is there a way to calculate or extract the camera location and pose within RGBDSlam. I've been poking at the RGBDSlam code for a while trying to figure out if data was able to be published or calculated somewhere but can't find anything. I think it is inferred somehow as the newest version prints the changed coordinate axis on each update. Thanks!

2011-09-15 01:50:59 -0500 received badge  Editor (source)
2011-09-15 01:50:18 -0500 commented answer RGBDSlam Compiler Errors
I actually mistyped, i'm using electric.
2011-09-15 01:41:12 -0500 asked a question RGBDSlam Compiler Errors

When compiling RGBDSlam I get a couple of errors. My ROS version is Electric and Ubuntu release is natty. Here are the errors:

[ 47%] Building CXX object CMakeFiles/rgbdslam.dir/src/openni_listener.o
In file included from /opt/ros/electric/stacks/rgbdslam/src/openni_listener.cpp:24:0:
/opt/ros/electric/stacks/vision_opencv/cv_bridge/include/cv_bridge/CvBridge.h: In static member function ‘static sensor_msgs::Image_<std::allocator<void> >::Ptr sensor_msgs::CvBridge::cvToImgMsg(const IplImage*, std::string)’:
/opt/ros/electric/stacks/vision_opencv/cv_bridge/include/cv_bridge/CvBridge.h:408:55: warning: ‘static bool sensor_msgs::CvBridge::fromIpltoRosImage(const IplImage*, sensor_msgs::Image&, std::string)’ is deprecated (declared at /opt/ros/electric/stacks/vision_opencv/cv_bridge/include/cv_bridge/CvBridge.h:307)
/opt/ros/electric/stacks/rgbdslam/src/openni_listener.cpp: In member function ‘void OpenNIListener::cameraCallback(const sensor_msgs::ImageConstPtr&, const sensor_msgs::ImageConstPtr&, const sensor_msgs::PointCloud2ConstPtr&)’:
/opt/ros/electric/stacks/rgbdslam/src/openni_listener.cpp:85:24: warning: ‘sensor_msgs::CvBridge::CvBridge()’ is deprecated (declared at /opt/ros/electric/stacks/vision_opencv/cv_bridge/include/cv_bridge/CvBridge.h:64)
[ 52%] Building CXX object CMakeFiles/rgbdslam.dir/src/qtcv.o
[ 57%] Building CXX object CMakeFiles/rgbdslam.dir/src/node.o
[ 63%] Building CXX object CMakeFiles/rgbdslam.dir/src/graph_manager.o
/opt/ros/electric/stacks/rgbdslam/src/graph_manager.cpp: In member function ‘void GraphManager::visualizeFeatureFlow3D(unsigned int, bool) const’:
/opt/ros/electric/stacks/rgbdslam/src/graph_manager.cpp:442:9: warning: format ‘%lu’ expects type ‘long unsigned int’, but argument 8 has type ‘std::vector<cv::DMatch, std::allocator<cv::DMatch> >::size_type’
/opt/ros/electric/stacks/rgbdslam/src/graph_manager.cpp:442:9: warning: format ‘%lu’ expects type ‘long unsigned int’, but argument 9 has type ‘std::vector<cv::DMatch, std::allocator<cv::DMatch> >::size_type’
/opt/ros/electric/stacks/rgbdslam/src/graph_manager.cpp: In function ‘void transformAndAppendPointCloud(const pointcloud_type&, pointcloud_type&, tf::Transform, float)’:
/opt/ros/electric/stacks/rgbdslam/src/graph_manager.cpp:1043:67: error: invalid conversion from ‘const float*’ to ‘float*’
/opt/ros/electric/stacks/rgbdslam/src/graph_manager.cpp:1043:67: error:   initializing argument 1 of ‘Eigen::Map<MatrixType, MapOptions, StrideType>::Map(Eigen::Map<MatrixType, MapOptions, StrideType>::PointerArgType, Eigen::Map<MatrixType, MapOptions, StrideType>::Index, Eigen::Map<MatrixType, MapOptions, StrideType>::Index, const StrideType&) [with PlainObjectType = Eigen::Matrix<float, 3, 1>, int MapOptions = 0, StrideType = Eigen::Stride<0, 0>, Eigen::Map<MatrixType, MapOptions, StrideType>::PointerArgType = float*, Eigen::Map<MatrixType, MapOptions, StrideType>::Index = int]’
make[3]: *** [CMakeFiles/rgbdslam.dir/src/graph_manager.o] Error 1