Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to enable Velodyne HDL-32E lidar in apollo 3.0.0? #5244

Closed
simon750324 opened this issue Aug 6, 2018 · 9 comments
Closed

How to enable Velodyne HDL-32E lidar in apollo 3.0.0? #5244

simon750324 opened this issue Aug 6, 2018 · 9 comments
Labels
Inactive: waiting for response will be closed when there is no response within 7 days Module: Hardware Indicates hardware module related issues Type: Help wanted Indicates that a maintainer wants help on an issue/pull request from the rest of the community

Comments

@simon750324
Copy link

I find the start_velodyne_hdl32e.launch in launch files and try to enable the velodyne lidar.
roslaunch velodyne start_velodyne_hdl32e.launch

After I launch the launch file, I got below error messages.

Log:
[ INFO] [1533541081.140923031]: Initializing nodelet with 8 worker threads.
[ INFO] [1533541081.164144151]: Loading nodelet /sensor_velodyne32_driver of type velodyne_driver/DriverNodelet to manager velodyne32_nodelet_manager with the following remappings:
[ INFO] [1533541081.187929096]: Velodyne driver nodelet init
[ERROR] [1533541081.192347935]: invalid model, must be 64E_S2|64E_S3S|64E_S3D_STRONGEST|64E_S3D_LAST|64E_S3D_DUAL|VLP16
[ INFO] [1533541081.198084189]: Loading nodelet /sensor_velodyne32_convert of type velodyne_pointcloud/ConvertNodelet to manager velodyne32_nodelet_manager with the following remappings:
[FATAL] [1533541081.201277832]: Failed to load nodelet '/sensor_velodyne32_driverof typevelodyne_driver/DriverNodeletto managervelodyne32_nodelet_manager'
[FATAL] [1533541081.201770230]: Failed to load nodelet '/sensor_velodyne32_convertof typevelodyne_pointcloud/ConvertNodeletto managervelodyne32_nodelet_manager'
[ INFO] [1533541081.232417625]: Loading nodelet /sensor_velodyne32_compensator of type velodyne_pointcloud/CompensatorNodelet to manager velodyne32_nodelet_manager with the following remappings:
[ INFO] [1533541081.234772212]: waitForService: Service [/velodyne32_nodelet_manager/load_nodelet] could not connect to host [in_dev_docker:43557], waiting...
[velodyne32_nodelet_manager-2] process has died [pid 13364, exit code -11, cmd /home/tmp/ros/lib/nodelet/nodelet manager __name:=velodyne32_nodelet_manager __log:=/home/sensor/.ros/log/a49d1f70-994b-11e8-9ffb-c07cd1fba006/velodyne32_nodelet_manager-2.log].
log file: /home/sensor/.ros/log/a49d1f70-994b-11e8-9ffb-c07cd1fba006/velodyne32_nodelet_manager-2*.log
[sensor_velodyne32_driver-3] process has died [pid 13368, exit code 255, cmd /home/tmp/ros/lib/nodelet/nodelet load velodyne_driver/DriverNodelet velodyne32_nodelet_manager __name:=sensor_velodyne32_driver __log:=/home/sensor/.ros/log/a49d1f70-994b-11e8-9ffb-c07cd1fba006/sensor_velodyne32_driver-3.log].
log file: /home/sensor/.ros/log/a49d1f70-994b-11e8-9ffb-c07cd1fba006/sensor_velodyne32_driver-3*.log
[sensor_velodyne32_convert-4] process has died [pid 13378, exit code 255, cmd /home/tmp/ros/lib/nodelet/nodelet load velodyne_pointcloud/ConvertNodelet velodyne32_nodelet_manager __name:=sensor_velodyne32_convert __log:=/home/sensor/.ros/log/a49d1f70-994b-11e8-9ffb-c07cd1fba006/sensor_velodyne32_convert-4.log].
log file: /home/sensor/.ros/log/a49d1f70-994b-11e8-9ffb-c07cd1fba006/sensor_velodyne32_convert-4*.log

How should I enable the velodyne hdl32e lidar?

@simon750324
Copy link
Author

simon750324 commented Aug 6, 2018

After I enter docker and build velodyne, the above errors are missing.
However it would keep showing below error message now.

log:
[ERROR] [1533543293.824812215]: NAV receiver warning, GPS info is invalid!

@douqian
Copy link
Contributor

douqian commented Aug 6, 2018

From the description in http://apollo.auto/platform/hardware_cn.html, it seems Apollo doesn't support HDL-32E. ULTRA Puck VLP-32C is supported in Apollo.

@simon750324
Copy link
Author

simon750324 commented Aug 7, 2018

@douqian
But I find the launch file for velodyne hdl-32e lidar in apollo 3.0 and there is no launch file for velodyne vlp-32c. It is weird.

@YangHan101
Copy link
Contributor

@simon750324 did you connect a gps receiver to the Lidar? Did you configure the gps to send out pps and GPRMC messages through the ports that are connected to the Lidar?

@YangHan101
Copy link
Contributor

YangHan101 commented Aug 7, 2018

@simon750324 @douqian
I just had a look at the code. Yes you are right, the current code can support hdl32e directly. However, with some changes, I am sure you can process VLP-32C data as well.
As you know, the data are sent over the ethernet cable with UDP protocol. For HDL32e and VLP32C the structure of the packages are the same. The calibration file will be different. I suggest to try modifying the calibration file and give it a try.
The changes when we added hdl32e support is here. This could be a good reference to you. Let me know if you have more questions.

@simon750324
Copy link
Author

@YangHan101
Yes, I connect the Garmin GPS receiver to the lidar. And I also setup below settings for HDL-32E lidar.

[PPS Qualifier]
Require GPS Receiver Valid: On
Require PPS Lock: On

[GPS Qualifire]
Require GPS Receiver Valid: On

But I still repeat getting the error logs(NAV receiver warning, GPS info is invalid!)

@Zhenni17 Zhenni17 added the Module: Hardware Indicates hardware module related issues label Aug 10, 2018
@Zhenni17 Zhenni17 added the Type: Help wanted Indicates that a maintainer wants help on an issue/pull request from the rest of the community label Aug 10, 2018
@YangHan101
Copy link
Contributor

@simon750324 That error means Velodyne lidar is receiving the GPRMC signal but not the PPS. Please check the wiring and configuration.

@natashadsouza natashadsouza added the Inactive: waiting for response will be closed when there is no response within 7 days label Sep 12, 2018
@mickeyouyou
Copy link
Contributor

Hi there. may this method would help you.

If version before 3.1 you need to re-compile the lidar driver like this bash apollo.sh build_velodyne_vls128 that will replace the driver in ros share directory. then you can run the launch(roslaunch velodyne_vls 32e_points.launch) you HDL32E.

@SolarDriftCom
Copy link

Hi
I am using Apollo3.0.0 and I have re added all the velodyne 32 sections for the driver.

Also, checked that data packets are coming through outside of the docker container.

I then run the hdl32e launch file and get:
Velodyne port 8308 poll() timeout

socket_input.c file is set to connect ANY ip, is there something I need to tell the docker container to let it access that port?

Thanks
Paul

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Inactive: waiting for response will be closed when there is no response within 7 days Module: Hardware Indicates hardware module related issues Type: Help wanted Indicates that a maintainer wants help on an issue/pull request from the rest of the community
Projects
None yet
Development

No branches or pull requests

7 participants