Closed ajay1606 closed 5 years ago
@ajay1606 It seems that the pointcloud map succeed to load. But ndt matching does not works. Please check below.
rosnode list | grep ndt_matching
@kitsukawa @hakuturu583, Thank you so much for your response.., Yes, I have initialized the position as shown in the below, and able to check the points_raw on the point cloud map. I am using Velodyne 64 channel LiDAR, So is there any parameter need to tune in the ndt_matching? Question 1: But, the localization seems to not working (ndt_matching) correctly, even I am not getting any error message. vehicle position going out of the expected path. Could you please comment on this. It will be a great help for us.
Here with attaching some results: Position Initialization: Initial Position visualization: While Localization in progress: While Localization in progress: NDT_matching node:
Question 2: Unable to initialize using GNSS: Autoware Dataset: GPS positions and Point cloud are in the same coordinate frame.
Our dataset:
GPS position data & the Points in the point cloud are completely different coordinate range. Hence we are unable to initialize the using GNSS, Could you please suggest us how to transofrm the GPS positions and point clouds in the common coordinate frame.
We are looking for your sincere response, Thanks in advance.
Kind regards, AJay
@ajay1606 From your posted imaged, I think you set initial pose from 2d pose estimate.
Question 1 : I think 2 possible situation.
Best, Masaya
Question 2 : Please enable use_gnss option.
@hakuturu583 Thanks for your detailed response. I will verify the initial position again, and get back to you.
@hakuturu583 I have observed another issue: Since i am using velodyne 64 channel, I have to modify the "my_sensing.launch" file. If i change my my_sensing.launch file to velodyne_64 configuration (with velodyne 64 (.yaml file)) as below, i am unable to see the points in rviz //Velodyne64
<launch>
<!-- calibration file path -->
<arg name="velodyne_calib" default="$(env HOME)/.autoware/quick_start/hdl64_Es2.yaml"/>
<arg name="camera_calib" default="$(env HOME)/.autoware/data/calibration/camera_lidar_3d/prius/ nic-150407.yml"/>
<!-- HDL-32e -->
<include file="$(env HOME)/.autoware/quick_start/64e_s2_points.launch">
<arg name="calibration" value="$(arg velodyne_calib)"/>
</include>
<!-- Javad Delta 3 -->
<!-- <node pkg="javad_navsat_driver" type="gnss.sh" name="javad_driver"/> -->
<!-- PointGrey Grasshopper3 -->
<include file="$(find autoware_pointgrey_drivers)/scripts/grasshopper3.launch">
<arg name="CalibrationFile" value="$(arg camera_calib)"/>
</include>
</launch>
//Velodyne32 If i use this configuration, i get velodyne points projected correctly without filtering
<launch>
<!-- calibration file path -->
<arg name="velodyne_calib" default="$(find velodyne_pointcloud)/params/32db.yaml"/>
<arg name="camera_calib" default="$(env HOME)/.autoware/data/calibration/camera_lidar_3d/prius/ nic-150407.yml"/>
<!-- HDL-32e -->
<include file="$(find velodyne_pointcloud)/launch/velodyne_hdl32e.launch">
<arg name="calibration" value="$(arg velodyne_calib)"/>
</include>
<!-- Javad Delta 3 -->
<!-- <node pkg="javad_navsat_driver" type="gnss.sh" name="javad_driver"/> -->
<!-- PointGrey Grasshopper3 -->
<include file="$(find autoware_pointgrey_drivers)/scripts/grasshopper3.launch">
<arg name="CalibrationFile" value="$(arg camera_calib)"/>
</include>
</launch>
After ray_ground_filtering
After the ground filtering points looks like this, Is this because of wrong.yaml file !
Could you please suggest me correct launch configurations for the velodyne64 channel?
Kind Regards, Ajay
@ajay1606 Can you show me all lines of your my_sensing.launch??
This is my edited velodyne 64 channel launch file
<launch>
<!-- calibration file path -->
<arg name="velodyne_calib" default="$(env HOME)/.autoware/quick_start/hdl64_Es2.yaml"/>
<arg name="camera_calib" default="$(env HOME)/.autoware/data/calibration/camera_lidar_3d/prius/ nic-150407.yml"/>
<include file="$(env HOME)/.autoware/quick_start/64e_s2_points.launch">
<arg name="calibration" value="$(arg velodyne_calib)"/>
</include>
<!-- Javad Delta 3 -->
<!-- <node pkg="javad_navsat_driver" type="gnss.sh" name="javad_driver"/> -->
<!-- PointGrey Grasshopper3 -->
<include file="$(find autoware_pointgrey_drivers)/scripts/grasshopper3.launch">
<arg name="CalibrationFile" value="$(arg camera_calib)"/>
</include>
</launch>
//Velodyne 32 (Autoware) Below launch file works good only to non-filtered points, if i apply ray_ground_filter, points appears to be wrongly projected. (As shown in the previous comment picture)
<launch>
<!-- calibration file path -->
<arg name="velodyne_calib" default="$(find velodyne_pointcloud)/params/32db.yaml"/>
<arg name="camera_calib" default="$(env HOME)/.autoware/data/calibration/camera_lidar_3d/prius/ nic-150407.yml"/>
<!-- HDL-32e -->
<include file="$(find velodyne_pointcloud)/launch/velodyne_hdl32e.launch">
<arg name="calibration" value="$(arg velodyne_calib)"/>
</include>
<!-- Javad Delta 3 -->
<!-- <node pkg="javad_navsat_driver" type="gnss.sh" name="javad_driver"/> -->
<!-- PointGrey Grasshopper3 -->
<include file="$(find autoware_pointgrey_drivers)/scripts/grasshopper3.launch">
<arg name="CalibrationFile" value="$(arg camera_calib)"/>
</include>
</launch>
Thanks
@hakuturu583 , That's all that I am using in my_sensing. launch file and Is it there any issue with the my_sensing. launch file (64 channel lidar) ? could you please confirm on this!
@ajay1606 OK, I will confirm.
@hakuturu583 New year wishes to you, By the way, have you got any chance to review my issues? Related to ray_ground_filter for 64 channel velodyne LiDAR data and NDT matching.
@hakuturu583, ANy suggestions please, Looking forward to hearing from you!
@ajay1606 Sorry for my late reply. Is the poins_raw topic is correct? I think it is the velodyne driver bug.
@hakuturu583, thank you for coming back, I was eagerly looking for your help. I think it's not Velodyne driver bug. Because of the following reasons;
I see this bug for the first time.
points_raw in my case (topic: velodyne_points) are rendering correctly without applying ray_ground_filtering preprocessor.
If this is right, I also think this is the ray_ground_filter bug.
@hakuturu583 Because of this issue, I am unable to progress in NDT matching, Could you please help me to fix this bug. It will be great help for me
But..... in our rosbag data (HDL64), ray_ground_filter works correctly.
@hakuturu583 I really appreciate, if you could test on my data (https://drive.google.com/open?id=1HsabYoNX5nlZbo266os-cKKSLlyqpsjl). and please can you confirm me once?
@hakuturu583 Have you got any chance to check my bag file? looking forward to hearing from you.
@hakuturu583 , If you get chance, i request you to review the video once. Actual problem of localization with my dataset can be understood in this video.
Hope this will helps to give suggestions.
Kind Regards, AJay
@kitsukawa Could you please help me in fixing the issues with ndt_matching?
@kitsukawa & @hakuturu583 Finally ndt_matching working well with velodyne_64 channel data. There was issues with my_sensing.launch file (.yaml file & .launch files). Now everything working well. Thanks for your continuous feedback.
@kitsukawa i got the same problem can you help me. i am using i have collected .pcap file using VLP32C and converted to a point cloud and .bag file but when i tried to localize the ros bag playing is not on the map. someone please help me. i can email my .pcd file and bag for someone interested to help and the tf i used is the one in autoware/src/.config
@Tinade Please do not revive zombie threads from years ago. Instead, create a new question on ROS Answers with the autoware
tag.
Hello everyone, I am trying to use ndt_matching for locating a vehicle without GNSS using own rosbag file just like shown in the video https://www.youtube.com/watch?v=ODlxMzGTJzw. Its working good with demo datasets sample_moriyama_150324.bag provided by the Autoware. But its not working with our dataset. Even i am unable to visualize the Points_Raw from the .bag file.
Currently, Point cloud in the bag file recorded using the Velodyne 64 channel liDAR.
Bug
Expected Behavior
I am looking to estimate the position of the vehicle (x, y,z, roll, pitch, yaw)
Actual Behavior
Currently, I am able to visualize the Pointcloud map, vector map when i run ../my_map.launch &my_sensing.launch
But when i run my_localization. launch, everything gets disappears from the rviz except vehicle model.
Steps to Reproduce the Problem
Specifications
With Launching localization node: Without Launching localization node:
Dataset: (I welcome if anyone wants to test my dataset) https://drive.google.com/open?id=1HsabYoNX5nlZbo266os-cKKSLlyqpsjl
Could anyone please help me solve this. Hope for the sincere reply.
regards, AJay