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

jappoz's profile - activity

2018-05-14 22:53:36 -0500 received badge  Famous Question (source)
2018-05-14 22:53:36 -0500 received badge  Notable Question (source)
2017-03-27 05:05:33 -0500 received badge  Famous Question (source)
2016-12-12 03:13:59 -0500 received badge  Famous Question (source)
2016-12-12 03:13:59 -0500 received badge  Notable Question (source)
2016-06-17 07:55:44 -0500 received badge  Notable Question (source)
2016-06-12 23:44:39 -0500 received badge  Popular Question (source)
2016-06-06 06:09:14 -0500 received badge  Popular Question (source)
2016-05-21 17:44:22 -0500 received badge  Nice Question (source)
2016-05-20 02:41:55 -0500 asked a question remove outliers in 2d point cloud

Hello everyone
I was trying to apply a pcl::RadiusOutlierRemoval to a 2D point cloud obtained by a laser scan when I realize that it won't work unless you use 3D points.... (at least so I figured out when my program had linking problems when using PointXY cloud and no problems by using PointXYZ clouds). I think to use PointXYZ with z = 0 will not be a good workaround for computational reasons.
Which kind of methods are available for clouds of PointXY to remove noisy points and outliers?
Thank you
Regards

2016-05-17 04:15:59 -0500 received badge  Student (source)
2016-05-17 04:02:25 -0500 asked a question moving points matching 2d laser scan

Hello everyone!
I start saying that I am a neophyte in using PCL but I have a problem I cannot figure out how to solve.
I am writing a pedestrian detector and tracker which uses combined informations from Lidar and Camera. The point clouds I am handling are 2D laser scans.
The detections are made in the Image plane and then I can retrieve the position of each detection in the point cloud without any clustering.
My problem is that in this way I cannot have a good motion estimation to feed the Kalman Filter (which is tracking points onto the ground plane) so I am looking to some good technique to estimate the motion of a point given the current position and some old point clouds saved in a buffer.
Basically, the problem is to associate one single point (i.e. the detection) with another point belonging to the previous point cloud to be able to compute its estimated speed and orientation.
How could it be done by using PCL or other libraries?
I have seen online that the Nearest Neighbour could be the simplest way but is it possible to use the PCL NN (working with Kd-tree I guess) to find the points in a neighbourhood of ONE single point? Moreover, I am working with only 2 coordinates (2D laser scan), could it be an issue?
Sorry for that but I am a bit confused about the topic. Thank you
Best regards

2016-05-12 08:54:02 -0500 commented answer compile node which uses messages defined in an other machine

Thank you. So I did and it worked fine.

2016-05-07 08:45:39 -0500 asked a question compile node which uses messages defined in an other machine

Hello everybody I have a problem. I am using INDIGO. I am using as ROS MASTER my own account on my pc in communication with ROS running in a virtual machine. The problem is that I would like to subscribe a message which is defined in the nodes belonging to the virtual machine and not to my catkin folder. So basically when I compile trying to include such message, I get a compilation error saying that this package is not found. (Obviously, because it is defined in the virtual machine). Is there any workaround for that? Thank you

2016-03-22 08:55:05 -0500 received badge  Popular Question (source)
2016-03-22 02:17:09 -0500 commented answer message_filters approximate time does not compile

Thank you, this fixed the problem!

2016-03-22 02:16:50 -0500 received badge  Supporter (source)
2016-03-21 13:10:45 -0500 asked a question message_filters approximate time does not compile

Hello everyone
I have a problem that I never had in the past I would like to synchronize two messages with Approximate Policy using message filters but I got an error. The portion of the code is :

sync = new message_filters::Synchronizer<MySyncPolicy> (MySyncPolicy(10), img_sub, rectangles_sub);
sync->registerCallback(boost::bind(&ObjectDetectorBasic::monoCallback, this, _1));
sync->registerCallback(boost::bind(&ObjectDetectorBasic::roisCallback, this, _2));

where ObjectDetectorBasic is my class implemented like

namespace pdt_module{
 // the methods of the class
  }

and the callbacks interfaces are

void roisCallback(const icars_stixel_generator::Rectangles::ConstPtr& rectangles);
void monoCallback(const sensor_msgs::Image& src);

the problem is that I get building error:

In file included from /usr/include/boost/bind.hpp:22:0, from /opt/ros/indigo/include/ros/publisher.h:35, from /opt/ros/indigo/include/ros/node_handle.h:32, from /opt/ros/indigo/include/ros/ros.h:45, from /home/jacopo/catkin_ws/src/icars/pdt_module/src/object_detector/ObjectDetectorBasic.hpp:6, from /home/jacopo/catkin_ws/src/icars/pdt_module/src/object_detector/ObjectDetectorBasic.cpp:4: /usr/include/boost/bind/bind.hpp: In instantiation of ‘void boost::_bi::list2<a1, a2="">::operator()(boost::_bi::type<void>, F&, A&, int) [with F = boost::_mfi::mf1<void, pdt_module::objectdetectorbasic,="" const="" sensor_msgs::image_<std::allocator<void=""> >&>; A = boost::_bi::list9<const boost::shared_ptr<const="" sensor_msgs::image_<std::allocator<void=""> > >&, const boost::shared_ptr<const icars_stixel_generator::rectangles_<std::allocator<void=""> > >&, const boost::shared_ptr<const message_filters::nulltype="">&, const boost::shared_ptr<const message_filters::nulltype="">&, const boost::shared_ptr<const message_filters::nulltype="">&, const boost::shared_ptr<const message_filters::nulltype="">&, const boost::shared_ptr<const message_filters::nulltype="">&, const boost::shared_ptr<const message_filters::nulltype="">&, const boost::shared_ptr<const message_filters::nulltype="">&>; A1 = boost::_bi::value<pdt_module::objectdetectorbasic*>; A2 = boost::arg<1>]’: /usr/include/boost/bind/bind_template.hpp:305:59: required from ‘boost::_bi::bind_t<r, f,="" l="">::result_type boost::_bi::bind_t<r, f,="" l="">::operator()(const A1&, const A2&, const A3&, const A4&, const A5&, const A6&, const A7&, const A8&, const A9&) [with A1 = boost::shared_ptr<const sensor_msgs::image_<std::allocator<void=""> > >; A2 = boost::shared_ptr<const icars_stixel_generator::rectangles_<std::allocator<void=""> > >; A3 = boost::shared_ptr<const message_filters::nulltype="">; A4 = boost::shared_ptr<const message_filters::nulltype="">; A5 = boost::shared_ptr<const message_filters::nulltype="">; A6 = boost::shared_ptr<const message_filters::nulltype="">; A7 = boost::shared_ptr<const message_filters::nulltype="">; A8 = boost::shared_ptr<const message_filters::nulltype="">; A9 = boost::shared_ptr<const message_filters::nulltype="">; R = void; F = boost::_mfi::mf1<void, pdt_module::objectdetectorbasic,="" const="" sensor_msgs::image_<std::allocator<void=""> >&>; L = boost::_bi::list2<boost::_bi::value<pdt_module::objectdetectorbasic*>, boost::arg<1> >; boost::_bi::bind_t<r, f,="" l="">::result_type = void]’ /usr/include/boost/bind/bind.hpp:827:34: required from ‘void boost::_bi::list9<a1, a2,="" a3,="" a4,="" a5,="" a6,="" a7,="" a8,="" a9="">::operator()(boost::_bi::type<void>, F&, A&, int) [with F = boost::_bi::bind_t<void, boost::_mfi::mf1<void,="" pdt_module::objectdetectorbasic,="" const="" sensor_msgs::image_<std::allocator<void=""> >&>, boost::_bi::list2<boost::_bi::value<pdt_module::objectdetectorbasic*>, boost::arg<1> > >; A = boost::_bi::list9<const boost::shared_ptr<const="" sensor_msgs::image_<std::allocator<void=""> > >&, const boost::shared_ptr<const icars_stixel_generator::rectangles_<std::allocator<void=""> > >&, const boost::shared_ptr<const message_filters ...

(more)
2016-03-16 04:45:10 -0500 received badge  Enthusiast
2016-03-07 09:30:25 -0500 received badge  Famous Question (source)
2016-03-07 07:01:15 -0500 commented question Problem in synchronization with message_filters

Can this due to the fact that the timestamp of the points message is very different from the one of the two images? If yes, how could I fix this?

2016-03-07 06:12:43 -0500 received badge  Notable Question (source)
2016-03-07 05:36:52 -0500 received badge  Popular Question (source)
2016-03-07 05:23:34 -0500 asked a question Problem in synchronization with message_filters

Hello everybody. I am trying writing a code that projects rectangles (let's say ROI) in an image which is synchronized in this way:

sync = new message_filters::Synchronizer<MySyncPolicy> (MySyncPolicy(10), img_rec_sub, img_be_sub);
sync->registerCallback(boost::bind(&icarsStixelGenerator::dataCallback, this, _1, _2));

The rectangles that I would like to project are from a LaserScan (actually the message is customized but however they are basically points with and Header). In order to show the rectangles in the synchronized image I tried to modify the code like that

  sync = new message_filters::Synchronizer<MySyncPolicy> (MySyncPolicy(10), img_rec_sub, img_be_sub, stx_points_sub);
 sync->registerCallback(boost::bind(&icarsStixelGenerator::dataCallback, this, _1, _2));
 sync->registerCallback(boost::bind(&icarsStixelGenerator::stxCallback, this, _3));

Where stxCallback is the callback that acquires the points to be reprojected. Such points are drown inside the dataCallback callback which publishes the images. Well by doing this however no image is published in rviz. If I do not try to synchronize the points, and if I use a simple subscriber for the points, the images with the rectangles are visible but I am sure they are not synchronized. For sure I miss something stupid but cannot realize what. If you have any suggestion for me I will appreciate. Regards

here the stxcallback

void icarsStixelGenerator::stxCallback(const icars_laser_roi::stx_points::ConstPtr& points){


    points_x = points->points_x;
    points_y = points->points_y;
    points_ranges = points->points_ranges;

}

Moreover , my console shows the following warning :

[ WARN] [1457354314.860322713]: MessageFilter [target=map ]: Dropped 100,00% of messages so far. Please turn the [ros.rviz.message_notifier] rosconsole logger to DEBUG for more information.
2016-03-07 05:23:33 -0500 asked a question synchronization problem with message filter

Hello everybody. I am trying writing a code that projects rectangles (let's say ROI) in an image which is synchronized in this way:

sync = new message_filters::Synchronizer<MySyncPolicy> (MySyncPolicy(10), img_rec_sub, img_be_sub);
sync->registerCallback(boost::bind(&icarsStixelGenerator::dataCallback, this, _1, _2));

The rectangles that I would like to project are from a LaserScan (actually the message is customized but however they are basically points with and Header). In order to show the rectangles in the synchronized image I tried to modify the code like that

  sync = new message_filters::Synchronizer<MySyncPolicy> (MySyncPolicy(10), img_rec_sub, img_be_sub, stx_points_sub);
 sync->registerCallback(boost::bind(&icarsStixelGenerator::dataCallback, this, _1, _2));
 sync->registerCallback(boost::bind(&icarsStixelGenerator::stxCallback, this, _3));

Where stxCallback is the callback that acquires the points to be reprojected. Such points are drown inside the dataCallback callback which publishes the images. Well by doing this however no image is published in rviz. If I do not try to synchronize the points, and if I use a simple subscriber the images with the rectangles are visible but I am sure they are not synchronized. For sure I miss something stupid but cannot realize what. If you have any suggestion for me I will appreciate. Regards