地图定位怎么实现

自动驾驶之高精度地图(一)定位篇-阿宝1990 以下转载自微信公众号文章,阿宝 1990 自动驾驶之高精度地图(一)定位篇 作者: 阿宝1990 阿宝1990 作者 / 阿宝 编辑 / 阿宝 出品 / 阿宝1990 在讲解高精度地图之前,我们先把定位这个事情弄清楚,想明白,后面的事情就会清晰很多,自古哲学里面讨论的人生终极问题,无非就三个,我是谁,我从哪里来,我要去哪里,这里的位置定位就包含了人生哲学中的两个问题,可见其重要性。 如果你有一个路痴女朋友,如果她在外面迷路了,如果是在10年前没有那么发达的导航手机,可能给你电话沟通是这样的。 ——你在哪儿呢? ——啊?我在马路上啊。 ——有什么特征? ——头顶有个月亮。 ——你旁边有什么啊? ——有个路灯。 ——有没有路牌啊?路牌上写的什么? ——我看看啊。还真的有,上边写着“禁止停车 违者罚款”。 ——姑奶奶,我真是服了你了…… ——哼,你是不是不爱我了,你肯定是不爱我了,你是不是喜欢上了新来的那个前台? 说了现代人,再来说说我们古代的人对于导航的需求:朝辞白帝彩云间,千里江陵一日还。两岸猿声啼不住,轻舟已过万重山,看看李白当时由于没有导航,导致过了多少座山都数不清了。 我们身处何方?怎样到达目的地?多久可以到达?——这是自人类出现以来一直萦绕于心的问题。早在石器时代,“北京人”外出打猎时会在沿途留下痕迹,待捕获猎物之后,配合固定的坐标物来找到回家的路。天体导航时代,罗盘、指南针、六分仪等发明不断拓展着人类在地球上的足迹,人们开始远行,世界走向融合。 普通定位 学过初中数学都知道,我们如果要在一个二维平面上定位的话,首先建立一个笛卡尔坐标系,通过坐标原点,就可以判定A点的具体位置(x,y)的坐标,如果要从A点到B点的绝对距离,也就是通过坐标系上的绝对位置的运算即可。 这里的二维平面的定位比较准确,而且相对容易一些,是只有X/Y方向上的坐标,只要大家都遵循对应的原点坐标,或者哪怕原点坐标不同,轻易转换也可以得到,所以一般情况下在室内的一些平面定位会比较好做一些,比如扫地机器人的定位。 GPS三维定位 我们先来看看地球上的某个位置的定位,其实对于对球上的某个点而言,正常情况下只需要知道经度和纬度,但是对于导航而言,一定还需要定位的高度,否则像重庆这样的魔幻8D城市,太多高架桥的位置,上桥和下桥的导航位置显示的经纬度都一样,只能通过高度来定位自己处于哪条道路上,否则导航分分钟让人在重庆高架桥上半日游,所以大家都说看一个地图准确不,来重庆立交桥溜溜就行。 有的这个概念后我们再来看GPS定位原理就会轻松很多。 首先明白一个事情,无论是GPS还是北斗,都是通过卫星来定位的,GPS 的全称是导航星测时和测距全球定位系统,简称全球定位系统(Global Position System,GPS),可以实现地球表面附近范围的全天候三维位置等信息的获取,其具有实时性好、准确度高的优点,是当前世界发展最完善、应用最广泛的全球卫星导航系统。 我们经常在文章中看到的GNSS,是全球卫星导航系统(GNSS)是卫星导航的统称,是除了GPS以外,还包含目前俄罗斯的GLONASS、中国的北斗,欧洲的伽利略这四大导航系统。 GPS的工作的标准定义如下: GPS由24颗工作星和4颗备用星组成。卫星工作在互成55度的6条高度为2.02万KM的非同步轨道上。如此一来,在全球的任何地方、任何时间都可观测到4颗以上的GPS卫星。GPS卫星向地球发射导航电文(系统时间、星历、历书、卫星时钟修正参数、导航卫星健康状况、电离层延时参数等内容),GPS终端收到卫星发送的数据,经解算即可确定当前位置,并以NMEA0183格式,WGS-84坐标系输出数据。 读起来很拗口吧,那我以一个专业理科生的理解方式来给你剖析剖析。 ①为什么不使用同步轨道卫星呢? ...

January 26, 2026 · 1 min · 182 words · Ray

tmux是什么

本文大大大大量参考 阮一峰老师的博客,虽然我在之前的使用中没有翻阅他的文章,不过哪怕是抄,我也觉得应该抄个优秀的。 Tmux 使用教程 - 阮一峰的网络日志 这我没想到这篇写在19年,比我上次看的那个 async 要小很多了 Tmux 是一个终端复用器(terminal multiplexer),非常有用,属于常用的开发工具。 我常用是因为两个情况 懒得开多个窗口 远控服务器经过堡垒机 一、Tmux是什么 1.1 会话与进程 命令行的典型使用方式是,打开一个终端窗口(terminal window,以下简称"窗口"),在里面输入命令。用户与计算机的这种临时的交互,称为一次"会话"(session) 。 会话的一个重要特点是,窗口与其中启动的进程是连在一起的。打开窗口,会话开始;关闭窗口,会话结束,会话内部的进程也会随之终止,不管有没有运行完。 也就是初学的时候,连上虚拟机或者ssh连上Linux之后部署运行程序是直接在这个窗口中运行的。当窗口关闭时程序也随之关闭,在当时接触了解了nohup 和 screen 。 一个典型的例子就是,SSH 登录远程计算机,打开一个远程窗口执行命令。这时,网络突然断线,再次登录的时候,是找不回上一次执行的命令的。因为上一次 SSH 会话已经终止了,里面的进程也随之消失了。 history能存上一次执行的命令,这里回头一定要学习一下,因为我也不知道什么情况才会存进history中 为了解决这个问题,会话与窗口可以"解绑":窗口关闭时,会话并不终止,而是继续运行,等到以后需要的时候,再让会话"绑定"其他窗口。 1.2 Tmux 的作用 Tmux 就是会话与窗口的"解绑"工具,将它们彻底分离。 (1)它允许在单个窗口中,同时访问多个会话。这对于同时运行多个命令行程序很有用。 (2) 它可以让新窗口"接入"已经存在的会话。 (3)它允许每个会话有多个连接窗口,因此可以多人实时共享会话。 (4)它还支持窗口任意的垂直和水平拆分。 类似的终端复用器还有 GNU Screen。Tmux 与它功能相似,但是更易用,也更强大。 二、基本用法 2.1 安装 Tmux 一般需要自己安装。 1 2 3 4 5 6 7 8 # Ubuntu 或 Debian $ sudo apt-get install tmux # CentOS 或 Fedora $ sudo yum install tmux # Mac $ brew install tmux 2.2 启动与退出 安装完成后,键入tmux命令,就进入了 Tmux 窗口。 ...

January 7, 2026 · 3 min · 520 words · Ray

什么是浏览器指纹:10 分钟彻底了解 16 个指纹

什么是浏览器指纹:10 分钟彻底了解 16 个指纹 作者:AdsPower — 2024-04-29 整理者:gpt5.1 ℹ️ Note 虽说摘自他山,但是这是开启什么系列以来第一个合适的命题,干脆直接塞进分类充数。跑起来最重要。 简介 当你访问网站(例如社交网站 / 电商网站)时,网站可能会悄悄收集你浏览器 / 设备的各种细节 —— 比如 IP、所用操作系统、屏幕分辨率、安装字体等。 这些看似无关紧要的信息组合在一起,就可能构成一个“浏览器指纹”(browser fingerprint),使网站能够识别你为一个独特访问者 —— 即使你清除 Cookies 或启用了“隐私模式”。 理解常见的浏览器指纹项,有助于: 理解网站为何/如何“识别”你; 在使用“指纹浏览器”或“反指纹/虚拟环境”时,更理性地设计你的环境配置; 提高多个账号并行运营时(例如电商、社媒、营销等)的安全性与隐蔽性。 为什么网站要收集浏览器指纹 浏览器指纹可以让网站“记住你是谁”。即便你清除 Cookies,网站也可能通过指纹判断“你回来过”。 对于电商网站 / 社交平台,识别用户是否“真实”、是否“同人 操作多个账号”很重要,指纹就是一个重要依据。 对于需要管理多个账号(例如营销、社媒运营、电商多店铺等)的用户/团队,了解、控制指纹可以帮助减少账号关联、降低被封禁/风控的风险。 常见的 16 种浏览器指纹及其含义 以下是文章列出的 16 项指纹(fingerprint)及其作用/特性: # 指纹类型 含义 / 来源 / 作用 1 IP 地址 用于识别用户设备的网络地址,是最基础的识别方式。 2 地理位置 通过 IP 推断出用户所在国家 / 地区 /城市甚至经纬度/邮政编码等。 3 时区与当地时间 基于地理位置或系统设置,可以反映用户的“真实”或“伪装”时区信息;如果与 IP 的地理位置不一致,则可能被检测为异常。 4 User Agent(UA) 表示浏览器类型、版本、操作系统等信息,是常见且重要的指纹组成。 5 浏览器语言 浏览器设置的首选语言 (Accept-Language) 。不同语言设置也可能被用作识别。 6 字体 (Fonts) 设备安装的字体集合 — 不同用户可能安装不同字体,通过字体列表也能区分用户。 7 屏幕分辨率 包括显示器分辨率以及浏览器窗口的可视区域大小,不同显示设备和窗口设置会不同。 8 WebGL / WebGPU 通过图形 API 获取设备 GPU / 显示能力相关信息,作为硬件相关指纹的一部分。 9 媒体设备指纹 (Media Devices) 通过浏览器对音频 / 视频设备 (如麦克风、摄像头) 的检测获取硬件信息 (设备类型、标签、分辨率等)。 10 AudioContext 浏览器处理音频的能力 /特性 — 也可能因设备 /软件设置不同而不同,可用于区分用户。 11 ClientRects 浏览器在渲染网页时,对页面元素的位置、布局进行计算 — 这些布局信息(受设备/窗口/浏览器微差异影响)也可能差异显著。 12 SpeechVoices 浏览器/系统提供的语音合成 (Text-to-Speech) 选项 (语音种类、语言、性别等) — 设备不同可能有不同选项,也可作为指纹。 13 硬件并发数 (hardwareConcurrency) 表示设备处理器的逻辑核心数 (CPU 线程数),通过 navigator.hardwareConcurrency 获取 — 不同设备可能不同。 14 设备内存 (deviceMemory) 设备可用内存 (RAM) 大小 (通过 navigator.deviceMemory 获取) — 虽然该值有限制 (通常返回 2/4/6/8 之一),但仍可能被用于区分。 15 Do Not Track (DNT) 浏览器隐私设置中的 “不追踪” 标志 — 如果用户开启了 DNT,该设置也可能成为唯一性特征。 16 Canvas 指纹 (Canvas Fingerprint) 通过让浏览器在一个 <canvas> 上绘制图形/文本,然后分析其渲染结果 (轮廓/像素/抗锯齿等细节) — 因为每台设备 (硬件 + 字体 + 显卡) 不同,渲染结果可能略有不同,从而形成独特“指纹”。 使用“指纹浏览器 / 虚拟环境”保护账户安全 如果你在运营多个账号 — 比如社交媒体账号、电商店铺账号、营销账号等 — 想避免因“相同设备/环境指纹”被关联或封禁,可以考虑使用“指纹浏览器 / 虚拟浏览器环境”。例如 AdsPower 就是这样一种工具,它允许你为每个账号创建独立的浏览器环境,并对上述多个指纹项目进行自定义/模拟。 ...

December 10, 2025 · 2 min · 243 words · Ray