提交 42c1acb9 编写于 作者: N Ning Qu 提交者: Jiangtao Hu

manual: fix velodyne manual in en and cn

上级 49446013
## Overview
Velodyne_ is a collection of ROS_ packages supporting `Velodyne high
definition 3D LIDARs`_.
## Velodyne
velodyne driver runs as nodelet, including:
1. data packet processing --> /sensor_velodyne64_driver
2. point cloud generation --> /sensor_velodyne64_convert
3. compensation --> /sensor_velodyne64_compensator
Compensation relies on `tf` to query the coordination transform, so gnss_driver is required to run the velodyne nodelets.
### Topics
* /apollo/sensor/velodyne64/VelodyneScanUnified --> velodyne_msgs/VelodyneScanUnified
* /apollo/sensor/velodyne64/PointCloud2 --> sensor_msgs/PointCloud2
* /apollo/sensor/velodyne64/compensator/PointCloud2 --> sensor_msgs/PointCloud2
### Coordination
* world
* novatel
* velodyne64
### Build Velodyne
```bash
# in dev docker
cd /apollo
bash apollo.sh buildvelodyne
```
The output will overwrite the velodyne driver in `/apollo/bazel-apollo/external/ros/`.
### Configure Velodyne Driver
First, specify the parameters of the car.
**velodyne model and running mode**
```xml
<!-- 64E_S3D_STRONGEST|64E_S3D_LATEST |64E_S3D_DUAL -->
<arg name="model" default="64E_S3D_STRONGEST"/>
```
**online intrinsic extraction**
```xml
<arg name="calibration_online" default="true" />
```
When calibration_online is true, intrinsic parameter file is not needed, otherwise, please specify the intrinsic parameter file as below:
**intrinsic parameter file**
```xml
<arg name="velodyne64_calibration_file" default="$(find velodyne_pointcloud)/params/64E_S3_calibration_example.yaml"/>
```
**extrinsic parameter file**
```xml
<arg name="extrinsics_velodyne64" default="$(find velodyne_pointcloud)/params/velodyne64_novatel_extrinsics_example.yaml"/>
```
### HOW TO RUN
**timezone**
```xml
<!-- Beijing UTC+8 -->
<!-- California UTC-8 -->
<arg name="time_zone" default="-8" />
```
### Start Velodyne Driver
**Plese first change the parameters in the launch file for your car**
```bash
roslaunch velodyne start_velodyne.launch
# or
bash /apollo/scripts/velodyne.sh
```
### Export pcd
**Plese first change the parameters in the launch file for your car**
Default export directory: /apollo/data/pcd
```bash
roslaunch velodyne export_pcd.launch
```
motion compensator depends tf2, so gnss_deriver should avaliable too.
\ No newline at end of file
### velodyne Data Validation
```bash
roslaunch velodyne velodyne_check.launch
```
In directory `/apollo/data/log/`, two files are generated by velodyne driver: `velodyne_hz.yyyy-mm-dd-HH-MM-SS.log` and `velodyne_hz.yyyy-mm-dd-HH-MM-SS.log.err` The `.log` file records the time interval and frequency between each frame of compensated point cloud. The `.log.err` file reocrds the timestamp and time interval of the point cloud whose frequency is lower than 9Hz.
### FAQ
1. velodyne port 2368 poll() timeout
The network between the host and velodyne is having problem. Please use `sudo tcpdump -i eth0 udp port 2368` to check if velodyne packets are received.
2. cannot find transform ...
`Compensaton` relies on `tf`, please double check if `gnss_driver` has been started, and also use `rostopic echo /tf` to check if there are any message in the tf.
## velodyne
velodyne驱动是以nodelet的形式实现的,包含了
velodyne驱动是以nodelet的形式实现的,包含了:
1. 数据读取打包 --> /sensor_velodyne64_driver
2. 生成点云 --> /sensor_velodyne64_convert
3. 运动补偿 --> /sensor_velodyne64_compensator
三个部分的处理节点,其中`运动补偿`需要依赖`tf`来进行坐标转换查询,因此需要和`gnss_driver`一起运行才能正常工作
三个处理节点,其中`运动补偿`需要依赖`tf`来进行坐标转换查询,因此需要和`gnss_driver`一起运行才能正常工作
### Topics
* /apollo/sensor/velodyne64/VelodyneScanUnified --> velodyne_msgs/VelodyneScanUnified
* /apollo/sensor/velodyne64/PointCloud2 --> sensor_msgs/PointCloud2
* /apollo/sensor/velodyne64/compensator/PointCloud2 --> sensor_msgs/PointCloud2
### 坐标系
* world
* novatel
* velodyne64
......@@ -27,6 +30,7 @@ bash apollo.sh buildvelodyne
产出会覆盖`/apollo/bazel-apollo/external/ros/`中原有的velodyne驱动相关文件
### 配置velodyne驱动
首先要指定每个车的对应参数
**velodyne型号与工作模式**
......@@ -39,13 +43,14 @@ bash apollo.sh buildvelodyne
```xml
<arg name="calibration_online" default="true" />
```
当该参数设置为`true`的时候,不需要提供内参文件;设置为`false`时,必须提供内参文件
**内参**
**内参文件**
```xml
<arg name="velodyne64_calibration_file" default="$(find velodyne_pointcloud)/params/64E_S3_calibration_example.yaml"/>
```
**外参**
**外参文件**
```xml
<arg name="extrinsics_velodyne64" default="$(find velodyne_pointcloud)/params/velodyne64_novatel_extrinsics_example.yaml"/>
```
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册