机器人操作系统(ROS)课件7.2Ublox-GPS模块的使用及坐标转换.pptx

机器人操作系统(ROS)课件7.2Ublox-GPS模块的使用及坐标转换.pptx

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

机器人操作系统(ROS)

机器人操作系统(ROS)Ublox-GPS模块的使用及坐标转换7.2

机器人操作系统(ROS)7.2.1GPS简介GPS是由一种具有全方位、全天候、全时段、高精度的基于空间的卫星导航系统,能在任何时间、任何天气、任何地点为全球用户提供低成本、高精度的三维位置、速度和精确定时等导航信息。GPS中最有用的信息是在GGA中,提供了通用的Fix数据以及GPS的3D位置。完整的一帧GPS数据如图所示。$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47WhereGGA GlobalpositioningSystemFixData(全球定位修正数据)123519 Fixtakenat12:35:19UTC(修正)4807.038,N Latitude48deg07.038’N(纬度)01131.?000,E Longitude11deg31.000’E(经度)1Fixquality: 0=invalid(修正质量)1=GPSfix(SPS)(修正)2=DGPSfix(修正)3=PPSfix(修正)4=RealTimeKinematic(实时运动学)5=FloatRTK6=estimated(deadreckoning)(2.3feature)(估计航路推算)7=Manualinputmode(手动输入模式)8=Simulationmode(仿真模式)08 Numberofsatellitiesbeingtracked(已跟踪卫星数)0.9 Horizontaldilutionofposition(水平位置精度)545.4,MAltitude,Meters,abovemeansealevel(高度,米,平均海平面)46.9,M Heightofgeoid(meansealevel)aboveWGS84ellipsoid(大地水准面高(平均海平面)高于WGS84椭球)(emptyfield)timeinsecondssincelastDGPSupdate(自上一次DGPS更新时间间隔,以秒为单位)(emptyfield)DGPSstationIDnumber(DGPS基站ID号)*47 thechecksumdata,alwaysbeginswith*(校验和数据)GPGGA格式

机器人操作系统(ROS)7.2.2高斯-克吕格投影变换地面运动机器人一般采用平面直接坐标系,因此需要将GPS接收机输出的经纬度信息转换为大地平面坐标来进行导航,常用的坐标转换方法为高斯-克吕格投影变换。高斯-克吕格投影示意图如图所示,该投影是用一个假想的椭圆柱筒横置于地球表面,与地球上的某一经线相切,即投影后的中央经线,该椭圆柱的中心轴位于赤道平面内,然后按照一定投影条件将地球椭球面中央子午线两侧规定范围内的点投影到椭球圆柱面上,从而得到地球椭球面上各个点的高斯投影。高斯投影示意图

机器人操作系统(ROS)7.2.2高斯-克吕格投影变换为了有效控制投影变形,可采用分带投影的方法。先按一定的经度差将地球表面划分为若干投影带,再使圆柱面依次和每一带的中央经线相切,并把各带中央经线东西两侧一定经度差范围内的经纬线网投影到圆柱上,然后从两极将该圆柱面切开展平,构成地球各带经纬线网在平面上的图形。6度带和3度带的分带投影示意图如图所示,6度分带从0度经线起自西向东每6度分为一个投影带,将地球划分为60个投影带,并依次进行编号。6度带和3度带的分带投影

机器人操作系统(ROS)7.2.2高斯-克吕格投影变换defcallback(gps): globalframe_id #gps提供的经纬度数据转换为以度为单位的经纬度格式 gps_jingdu_1=float(gps.longitude)/100 gps_weidu_1=float(gps.latitude)/100 gps_jingdu_2=((gps_jingdu_1-math.floor(gps_jingdu_1))*100)/60 gps_weidu_2=((gps_weidu_1-math.floor(gps_weidu_

文档评论(0)

balala11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档