Help with PointCloudTransformation

157 views
Skip to first unread message

Gerardo Martinez

unread,
Apr 23, 2013, 11:34:46 AM4/23/13
to utexas-art-r...@googlegroups.com
Hi everybody,

I am really new to ROS and the thing is that I need to transform the raw data from a 32E velodyne to xyz data.
So far I was able to run the Getting started tutorial and some nodelets.
I guess im not that far away from achieving it, but the thing is that I really dont know how to tell ROS to read the pcap file and create a file with the xyz data.

Any help will be really appreciated, as I am running out of time.

Thanks

Gerardo

Ioannis Havoutis

unread,
Apr 23, 2013, 11:57:33 AM4/23/13
to utexas-art-r...@googlegroups.com
Hi Gerardo,
you can either point a velodyne_driver/velodyne_node to a previously captured pcap file or to the velodyne hardware that you are using.
Next you need to run a velodyne_pointcloud/cloud_node that will be publishing whatever raw data the driver node publishes in a sensor_msg/PointCloud2 type of message, typically named /velodyne_points.
Once this is up and running you can code a simple listener to this poincloud2 message that handles the received data in whichever way you see fit.

Hope this helps!
ioannis

Gerardo Martinez

unread,
Apr 24, 2013, 6:08:28 AM4/24/13
to utexas-art-r...@googlegroups.com
Hi Ioannis,
i will try what you suggest. Thank you for your quick answer.

Greetings
Gerardo

Gerardo Martinez

unread,
Apr 24, 2013, 10:11:39 AM4/24/13
to utexas-art-r...@googlegroups.com
Hi once again Ioannis and everybody.

Because I just started to use ROS and I don't have a lot of time to get through all the tutorials I post here the solution I found to my problem in case someone lands in the same situation as I did.
First of all thanks to Ioannis you really showed me the way.
Well what I needed was to read a file.pcap created with the velodyne laser and create a file containign the x y z data of each point.
My solution so far:

          1) run roscore
          2) To produce the sensor_msgs/PointCloud2
              roslaunch velodyne_pointcloud 32e_points.launch pcap:=(paht of your file)
              http://www.ros.org/wiki/velodyne_pointcloud
          3) To listen to this messages and create the file with the xyz data
              rosrun pcl_ros pointcloud_to_pcd input:=/velodyne_points _prefix:=(path to save it)
              http://www.ros.org/wiki/pcl_ros

I know it is not that elegant but it worked for me.

Thanks again and cheers
Gerardo

Jack O'Quin

unread,
Apr 24, 2013, 10:19:40 AM4/24/13
to utexas-art-ros-pkg-users
On Wed, Apr 24, 2013 at 9:11 AM, Gerardo Martinez
<germar...@gmail.com> wrote:
> Hi once again Ioannis and everybody.
>
> Because I just started to use ROS and I don't have a lot of time to get
> through all the tutorials I post here the solution I found to my problem in
> case someone lands in the same situation as I did.
> First of all thanks to Ioannis you really showed me the way.
> Well what I needed was to read a file.pcap created with the velodyne laser
> and create a file containign the x y z data of each point.
> My solution so far:
>
> 1) run roscore
> 2) To produce the sensor_msgs/PointCloud2
> roslaunch velodyne_pointcloud 32e_points.launch pcap:=(paht of
> your file)
> http://www.ros.org/wiki/velodyne_pointcloud
> 3) To listen to this messages and create the file with the xyz
> data
> rosrun pcl_ros pointcloud_to_pcd input:=/velodyne_points
> _prefix:=(path to save it)
> http://www.ros.org/wiki/pcl_ros
>
> I know it is not that elegant but it worked for me.

That seems fine. Glad you were able to figure it out.
--
joq

Gerardo Martinez

unread,
May 24, 2013, 3:29:20 AM5/24/13
to utexas-art-r...@googlegroups.com
Hi Jack,

As i said in my last Post i have been using ROS to transform my .pcap data to pcd.
I just have one question and maybe you can give me the answer.
Why are the point in the range from 0 to 1.7 meters and about in the range from about 20 or more meters not transformed?
Do I have to change any parameter to get these?

Thank you very much in advanced.

Gerardo

Gerardo Martinez

unread,
May 24, 2013, 10:03:44 AM5/24/13
to utexas-art-r...@googlegroups.com
Hi Jack,

I already managed to solve my problem. I just redefined the min_range variable in the cloud_nodelet.launch file.
Steel if you have any comment to the default value of 2 I would appreciated it.

Greetings

gerardo

Jack O'Quin

unread,
May 24, 2013, 10:52:22 AM5/24/13
to utexas-art-ros-pkg-users
On Fri, May 24, 2013 at 9:03 AM, Gerardo Martinez <germar...@gmail.com> wrote:
Hi Jack,

I already managed to solve my problem. I just redefined the min_range variable in the cloud_nodelet.launch file.
 
Steel if you have any comment to the default value of 2 I would appreciated it.

That was the value we used on the A.R.T. autonomous vehicle. It was far enough to exclude parts of the vehicle, itself, but did not cause us problems with seeing things nearby. The device can detect things much closer, but it was easier for us to filter out the close-up data early in the pipeline.

The default max_range is 130, which is farther than we normally get useful data. You should see things much farther than 20 meters. We generally detect things the size of a car or a person out to about 80 meters using the velodyne_height_map algorithm.
 
--
 joq
Reply all
Reply to author
Forward
0 new messages