终端_传感器-地图和定位

定位模块

  IMU、GPS、里程计和视觉里程计等
建图和定位
 SLAM(simultaneous localization and mapping
 NDT是一种点云配准算法,可同时用于点云的建图和定位	
    NDT-Mapping  NDT-Matching	正态分布变换(Normal Distributions Transform, NDT)。它能实现满足无人车需求的厘米级的定位需求 
	  AutoWare 是由日本名古屋大学和Tier IV主导的全栈开源自动驾驶系统,其
	   core_percepetion模块中对ndt_mapping和ndt_localization进行了很好的实现
	   比较lidar扫描得到的点云和我们的地图点云-NDT配准就是用于解决这些细微的偏差问题
	   https://github.com/CPFL/Autoware
  imu和odom信息的融合  IMU
  
 高精地图
   第一层道路模型(Road Model),定义道路特征,
                          例如拓扑、行驶方向、高程、坡度/坡道(slope/ramps)、规则、路缘/边界(curbs/boundaries)和交叉路口。这个用于导航。
   第二层车道模型(Lane Model),定义车道级别的特征,
                           例如道路类型、线、道路宽度、停车区域和速度限制。该层作为感知模块,用于自动驾驶,根据实时交通或环境做出决策。
   最后一层定位模型(Localization Model),顾名思义,在高清地图中定位自动车辆。
                  该层包含路边设施,例如建筑物、交通信号、标志和路面标记	 

定位:提供GPS+IMU信息

GPS即全球定位系统(Global Position System)的定位原理叫做三角定位法(Triangulation)
过GPS+RTK的方法来解决定位问题,RTK(Real - time kinematic,实时动态)载波相位差分技术-完成车辆的精确定位
测量加速度,就要使用“三轴加速度计”传感器。它可以精确测量加速度
  加速度计和陀螺仪合起来就是是 IMU(惯性测量单元)一个解决速度,一个解决方向。IMU 频率为1000Hz,所以 IMU 可以提供接近实时的位置信息
定位 
 将GPS和IUM的优势融合到一块要用到卡尔曼滤波器。
  GPS得到的经纬度信息作为输入信号传入IMU,IMU再通过串口线与控制器相连接,以此获取更高频率的定位结果
 卡尔曼滤波器是一个最优化的自回归数据处理算法(Optimal recursive data processing algorithm)

高精地图与定位

    卫星定位获取自车的大概位置
    传感器扫描的信息与高精地图的点云信息(包含精确的位置信息)进行匹配
	高精地图可以提供准确度较高的先验数据,与传感器实时获取的数据可以进行对比验证
格式:
   一种是NDS(Navigation Data Standard导航数据标准),一种是OpenDrive。 
 数据处理
    创建一个点云地图,需要两个重要的信息一个是定位信息,另一个是点云信息
把高精地图看作离线的传感器	

Linux 终端

将LINUX的控制台定向到串口终端  串口调试设置 ttyS0:9600	
 常使用tty来简称各种类型的终端设备。tty是Teletype的缩写
    01.串行端口终端(/dev/ttySn)
       使用计算机串行端口连接的终端设备。串行端口对应的设备名称是/dev/ttySn。如/dev/ttyS0、/dev/ttyS1等,设备号分别是(4,0)、(4,1)
	02.控制台终端(/dev/ttyn, /dev/console
	03.伪终端(/dev/pty/)
  串口 
     COM1     [under Windows] 
	 or ttyS0 [under Linux)
	console=tty0 console=ttyS0,9600

RTK(Real Time Kinematic,实时动态载波相位差分技术)

 RTK高精度定位,之前都是通过自建基准站的方式实现的,基准站和移动站之间通过数传电台传输RTCM差分数据,
 这种方式的好处是系统封闭,不依赖于第三方,缺点是每次都要架基站
01. RTK“1+1”
     一加一的概念是一个基准站和一个移动站
      传统的“1+1”RTK必须先建立基准站,而所谓移动站就是指采集终端,即测量员拿在手里到所需要测量位置去测的那个RTK设备。
    02.  网络RTK
     网络RTK只需要一台带有GPRS模块的接收机,通过连接软件登入cors系统,即可获取厘米级定位坐标,可以实现在服务覆盖范围内的测量作业。 
  卫星系统16个信号,
如何根据终端设备的需要,选择接入不同的卫星系统和信号(电文)	 
RTCM是英文Radio Technology Committee of Marine
   Radio Technical Commission for Maritime Services 提出了一种通用的GNSS数据编码格式用于网络通讯 ,
   与后处理常用的RINRX文件格式类似,RTCM 可以说是实时GNSS服务中的RINEX文件
   RTCM的核心在于各种Message的定义rtcm3.2格式定义了多种Message格式

CORS系统

连续运行(卫星定位服务)参考站(Continuously Operating Reference Stations),缩写为CORS
     基准站网由范围内均匀分布的基准站组成。负责采集GPS卫星观测数据并输送至数据处理中心,同时提供系统完好性监测服务。
移动站 CORS 中设置远程 IP 地址、端口号、源列表、用户名、密码

Ntrip协议

Ntrip(NetWorked  Transport  of  RTCM  via  Internet  Protocol)协议
来实现 CORS(Continues  Operation  Reference  System)观测站和用户之间差分数据的无线传输 
它的基础是 HTTP网络通用协议,建立在网络 TCP / IP 协议基础之上
方式1:NTRIP 接入使用CORS账号和密码接入高精度定位服务
   Ntrip 网络主要由 3 个部分组成:
   Ntrip 客户端(Ntrip Client)、
   Ntrip 服务器(Ntrip Server)和 
   Ntrip 处理中心(NtripCaster)。
   这里的 Ntrip 客户端和 Ntrip 服务器都只相当于 HTTP 连接中的客户端,
   Ntrip 处理中心才是响应它们的服务处理器。

NTRIP工具

RTKLIB: An Open Source Program Package for GNSS Positioning 
     RINEX (Receiver Independent Exchange Format,与接收机无关的交换格式)
	 读取RINEX格式的函数 括了RINEX 2版本,有包括了RINEX 3版本
 强大的GPS数据实时和后处理功能
  cd app/str2str/gcc
  str2str播发TCP server,然后Node.js接收TCP client

  str2str -in serial://ttyACM1:115200:8:n:1 -out tcpsvr://:8002
  
  serial: serial://port[:brate[:bsize[:parity[:stopb[:fctr]]]]]
  tcp server: tcpsvr://:port
  tcp client: tcpcli://addr[:port]
  ntrip client : ntrip://[user[:passwd]@]addr[:port][/mntpnt]
  ntrip server : ntrips://[:passwd@]addr[:port][/mntpnt[:str]] (only out)
  file         : [file://]path[::T][::+start][::xseppd][::S=swap]
  
 格式:
   rtcm2        : RTCM 2 (only in)
   rtcm3        : RTCM 3 (in and out)
   nov : NovAtel OEMV/4/6,OEMStar (only in) oem3 : NovAtel OEM3 (only in)
   ubx : ublox LEA-4T/5T/6T (only in)
   ss2 : NovAtel Superstar II (only in)
   hemis : Hemisphere Eclipse/Crescent (only in) stq : SkyTraq S1315F (only in)
   javad: Javad (only in)
   nvs: NVS BINR (only in)
   binex: BINEX (only in	 

 用户根据数据中心给的 IP 地址和端口,就很容易收到 Ntripcaster 制定的源列表信息,
 从源列表中就可以选定自己需要的格式的数据,直接和提供该数据的节点建立联系

设备

 数据终端单元(Data Terminal Unit)
 DTU (Data Transfer unit),是专门用于
     将串口数据转换为IP数据
   或将IP数据转换为串口数据
 通过无线通信网络进行传送的无线终端设备

NovAtel公司 是精密全球导航卫星系统(GNSS)及其子系统领域中,处于领先地位的产品与技术供应商
  NovAtel GPS接收机
  NovAtel GPS的串口默认设置为9600 BPS,收发模式为NovAtel数据格式,
  若收发模式变为RTCM、RTCA或NONE等其他模式
终端设备:
   中海达、华测、司南、和芯星通、麦格天宝 等
   天宝(Trimble)、诺瓦泰(NovAtel)、拓普康(Topcon) 

novatel_oem7_driver

cd ~/sensor/novatel_oem7_driver
roslaunch novatel_oem7_driver  oem7_tty.launch
    oem7_gps_file.launch
    oem7_net.launch
    oem7_tty.launch
 pose_sub_topic: /novatel/oem7/odom
# pose_sub_topic: /test/localization/pose
资料参考
 NovAtel OEM7 Driver  ROS Driver for NovAtel OEM7 GNSS/SPAN Receivers.
  https://wiki.ros.org/novatel_oem7_driver
  https://github.com/novatel/novatel_oem7_driver	
  
 nav_msgs/Odometry Message (里程计信息)
 geometry_msgs/Pose
    geometry_msgs/Quaternion  以四元数形式表示自由空间中的方向

设备

 xsense(IMU/GPS) 荷兰XSENSE 九轴组合惯性卫星导航系统(GPS/INS)
   MTI-300S是荷兰Xsens公司生产,可以输出三轴加速度、三轴角速度、三轴姿态角度(俯仰角/横滚角/航向角)
   ntrip_ros 和xsens_ros_mti_driver

参考

 搭建简易的基于NTRIP协议的CORS系统 https://www.jianshu.com/p/3614ab03fbf5	
  RTKLIB数据处理及实验步骤  https://blog.sciencenet.cn/blog-3386358-1137178.html	 
无人驾驶导航定位中的GPS和IMU技术 https://cloud.tencent.com/developer/news/363787
高精地图简介 https://zhuanlan.zhihu.com/p/487799933
 【Apollo 6.0学习笔记】高精地图https://blog.csdn.net/Travis_X/article/details/121288565	
posted @ 2022-07-19 15:14  辰令  阅读(520)  评论(0编辑  收藏  举报