恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

ROS智能车从零实战:激光雷达建图与自主导航全流程

  • 首页
  • 资讯中心
  • /
  • ROS智能车从零实战:激光雷达建图与自主导航全流程

相关资讯

一次聚合配送超时引发的状态不一致:从预扣退款到订单无法完成的全链路复盘 2026/10/18 6:31:32
SpringBoot+Vue车辆管理系统实战:前后端分离项目完整复现指南 2026/10/18 6:31:32
实体验证:数据治理中识别同一实体的关键技术与应用 2026/10/18 6:26:31

最新资讯

NFC碰一碰同城拓客系统:从标签选型到部署避坑指南
Qt学习日记 Day2:MOC原理+信号槽底层实现分析+信号槽lambda练习
launch_data_collection.py 命令,默认使用 XRoboToolkit:PICO 把你的姿态和手柄输入发送到电脑,再由 SONIC 控制 G1。
Spring Boot配置实战:application.yml核心用法与踩坑指南
扣子(Coze)实战:从零搭建一个「高考报考指南」智能体
image-diff API 三种输出模式与工程实践全解析

今日推荐

基于GMM的语音识别系统原理与MATLAB实现详解
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

本周热门

基于GMM的语音识别系统原理与MATLAB实现详解
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

本月精选

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)

ROS智能车从零实战:激光雷达建图与自主导航全流程

发布时间:2026/10/18 6:31:32
ROS智能车从零实战:激光雷达建图与自主导航全流程 简介这份资源是智能车ABOT-M1-ATK的快速上手指南PDF文档专为备战中国机器人及人工智能大赛、全球校园精英人工智能算法大赛智能车巡航赛项的选手与教师编写。文档围绕ROS机器人操作系统系统梳理激光雷达建图、自主导航、视觉识别等核心模块的配置与测试流程并覆盖射击模块、语音交互、远程桌面控制等扩展功能可帮助初学者快速完成环境部署、功能验证与故障排查缩短从入门到实车调试的周期。资源共1个PDF文件压缩包大小2.3MB内容精炼、步骤明确适合边读边操作。目前已有569人学习下载受到竞赛人群关注。通过阅读这份指南使用者可以掌握Gmapping、Hector、Cartographer等多种建图方式学会保存地图并设置导航目标点同时了解避障和安全操作注意事项为后续参加智能车竞赛打下扎实基础。1. 先破除一个误解这不是遥控车而是一台能跑 ROS 的机器人开发平台很多人第一次见到 ABOT-M1-ATK都会觉得它只是台“高级遥控车”有轮子、能跑还能发射水弹像个大号玩具。我第一次拿到时也是这么想的直到按下电源开关、看到屏幕进入 Linux 系统桌面才意识到这是台自带激光雷达、摄像头和主控制器的移动机器人开发平台。它能做什么简单说用激光雷达感知环境并建图靠机器人导航走到指定目标点用视觉识别看懂画面再配合语音播报形成完整的“感知—决策—执行”闭环。这正是智能车巡航赛项最常考察的方向也是无人驾驶技术里最核心的一小段。它适合两类人备战机器人及人工智能竞赛的参赛者以及刚接触 ROS、想亲手摸一摸实物的小白。不用先懂原理跟着手册逐项测试就能把这些术语从“黑匣子”变成看得见、能复现的操作。2. 先搞懂四个关键词ROS、激光雷达、机器人导航、视觉识别各管什么在动手按开机键之前我建议先花十分钟把四个词搞明白。不是背定义而是知道“谁负责干什么”。这样后面跑命令时你才知道自己启动了什么东西出了问题也大致猜得到去哪排查。2.1 ROS整套功能的“神经中枢”也是你的工作台ROSRobot Operating System直译叫机器人操作系统但它不是 Windows 或 Linux 那样的系统而是一套让不同模块互相通信的软件框架。打个比方把整台车想象成一家公司激光雷达、摄像头、底盘驱动是不同部门ROS 就是公司内部的邮件系统。每个模块把数据写成标准格式的“邮件”发到公共信箱其他模块需要时订阅就行。在 ABOT-M1-ATK 上几乎所有功能都跑在 ROS 里。开机进入桌面后你会看到四个工作空间robot_ws 管底盘驱动、自主巡航等综合功能lidar_ws 管激光雷达和导航abot_vision 管视觉相关功能abot_voice 管语音功能。每个工作空间的 src 目录里放着多个功能包那才是你以后写代码、改参数的主战场。入门阶段我强烈建议先不要急着读源码。你只需要知道“一条命令对应一个功能”。比如 ./1-gmapping.sh 这个脚本背后其实是把底盘驱动、激光建图、键盘控制一整套节点链依次启动。等你把流程跑顺了再回头拆节点看它们怎么互相发消息会轻松很多也不会因为一开始就看到一堆名词而劝退自己。为什么要专门学 ROS而不是买台“自带 App”的成品小车因为竞赛和项目要的不是“能用”而是“可改”。ROS 的节点、话题、消息这套机制让你可以单独替换某一个模块而不影响整体。今天换一种建图算法明天改一个导航参数都只是换一个节点的事。这份灵活性正是智能车赛道最看重的能力。2.2 激光雷达智能车的“眼睛”加“尺子”激光雷达是 ABOT-M1-ATK 顶部那个不断旋转的模块。它的原理很直白朝周围发射激光光碰到障碍物反射回来根据时间差算出距离。转完一圈就得到一圈 360° 的距离数据这些点串起来叫“点云”相当于用无数把尺子同时量了一遍周围环境。它和摄像头最大的区别摄像头给你颜色和形状激光雷达给你精确的距离。机器人导航、避障最依赖的正是这个距离信息。你可以想象一个人蒙着眼睛靠一根不停敲击四周的盲杖探路——激光雷达就是那根盲杖只是它每秒能敲几百个方向精度到厘米级。所以手册反复强调取车时双手托在前后轮胎之间的位置不要拽激光雷达雷达上面不要压任何东西车身也不要沾液体。我见过有人嫌麻烦拎着激光雷达把整台车提起来结果那段时间建图数据全是乱的相当于眼睛被“掰歪”了还在画地图画出来的图自然对不上。这是典型踩坑而且代价不小。2.3 机器人导航从“会动”到“知道该怎么走”导航不是“让车动起来”而是同时解决三件事我在哪、要去哪、怎么避开障碍走到那。你第一次逛大型商场也有这个过程先看楼层导览图找到当前所在位置再规划一条不撞墙的路线。机器人导航的逻辑完全一样只是把“看地图”换成了算法计算。在 ABOT-M1-ATK 上机器人导航依赖三样东西一张预先建好的地图、激光雷达实时扫描的距离数据、以及一个叫 SLAM 的算法。SLAM 全称 Simultaneous Localization and Mapping也就是“同时定位与建图”。它要解决一个听起来像玄学的问题小车一边走一边画地图同时还要知道自己在这张还没画完的地图的哪个位置。这个循环问题听起来复杂但实际跑起来就是一条命令加一个可视化窗口的事。导航还有一个关键组成叫路径规划也就是“怎么走”。算法会在你点下的目标点和当前位置之间计算出一条避开墙壁和障碍物的路线小车再沿着这条路线移动。你在可视化界面里看到的那些连线、箭头就是规划结果。巡航赛项里的“自主巡航”本质就是“建图 导航 目标点设定”的组合拳。你不需要从零实现 SLAM只需要会启动、会调参、会看懂可视化结果这就已经足够支撑你完成大部分竞赛任务。2.4 视觉识别让智能车从“看见”升级到“看懂”如果说激光雷达是尺子那视觉识别就是真正的眼睛。摄像头拍到的是一帧帧图像视觉识别要做的是从图像里“看懂”内容这是红色圆盘、那是数字标牌、前面是障碍物还是目标物。在智能车巡航赛项里视觉识别通常用来找目标、认数字、做颜色区分是拿分的重要手段。ABOT-M1-ATK 的视觉测试非常直观启动相机节点再用图像查看工具把画面实时显示出来。我第一次在电脑屏幕上看到摄像头传回的实时画面时那种“车真的在看世界”的感觉很直接。这也会是你后续做目标识别的基础。这里补充一个区分激光雷达告诉你“障碍物在 1.5 米处”视觉识别告诉你“那是写着 3 的红色标牌”。一个管距离一个管内容。两者配合小车才能知道“前方有东西”并且“那是什么东西”。巡航任务里既要避障又要认目标这两套传感器正好互补。如果你以后想深入视觉方向可以从图像处理的基本库开始学但入门阶段先把“能调出画面、能看懂画面”做到位就足够了。3. 拿到车第一步开机、连网、远程控制把“驾驶座”搬到你电脑上这一章的目标很明确让小车从“躺在箱子里”变成“你能在电脑上控制它”。整个过程大约十分钟。做完之后建图、导航、写代码都可以在电脑前完成不用一直蹲在地上看那台 10 寸显示器。有一点要先说清楚这台车的官方快速上手指南是“按顺序测试功能”的。建议你不要跳过任何一步因为每一步都在验证一个模块是否正常。你今天花十分钟把顺序走完后面真正写代码时就能排除掉八成“硬件到底有没有问题”的干扰。3.1 开箱先别急着通电五分钟读完注意事项我第一次拿到车时差点直接把箱子掀开就上电幸好随手看了眼注意事项。这几条看着琐碎每一条背后都有代价属于前人用真金白银换来的血泪经验。首先是物理安全取车时双手放在前后轮胎之间的位置抬起严禁托拽激光雷达雷达上方不要压放任何物体不要往机身上倒任何液体学习操作时不要用手或尖锐物体触碰相机模块。激光雷达是精密器件一点物理形变都会导致建图偏移相机镜头脏了或花了视觉识别直接受影响。其次是电源安全不用车时尤其主控制器关机后随手关闭电源开关电量只剩一格时及时充电请使用 DC12.6V / 2.0A 充电器充电器背部红灯表示充电中、绿灯表示充满如果超过半个月不用需要先充满电再做维护。锂电池最怕两件事亏电存放和乱用充电器。这两条做到电池能陪你很久。最后是行为规则不要私自拆解私自拆卸出了问题只能自负。不是吓唬人机器内部的高压部分和精密排线对新手完全不友好。我有段时间觉得“拆开看看应该没事”幸好忍住了后来才知道内部结构远比外观复杂拆开容易装回难。3.2 开机流程从按下电源到进入系统桌面开机一共四步顺序不要乱。第一步把车身外部的 HDMI 线与 10 寸液晶显示器连接。第二步给显示器供电。第三步按下电源开关等待 5 秒。第四步按下主控制器开关等待系统完全开机。为什么要等 5 秒因为车身电源和主控制器电源是两级结构先给底层供电让稳压模块稳定下来再启动主控制器能避免电压波动对主板的冲击。尤其是刚插电那一刻电流最不稳定多等这几秒基本没有坏处。完成之后你面前应该出现完整的 Linux 桌面。如果一直黑屏先检查 HDMI 是不是没插紧、显示器供电有没有打开再回去按一遍开关。这套排查顺序我每次都会先用因为它能排除掉八成“以为坏了”的情况。顺便说一句电量低于一格时建议先插上充电器再开机高强度启动对低电量电池的压力比较大。3.3 远程控制用电脑远程连接智能车为什么要远程控制因为小车在地上跑的时候你需要站在旁边观察它的姿态、周围的人和障碍物同时用手里的电脑操作它。抱着 10 寸屏蹲在地上追车既不安全也不优雅。远程桌面这步本质上是把“驾驶座”从车身上搬到你面前的电脑里。步骤其实很直白。第一步小车开机并连上网络最简单的办法是连手机热点。第二步在电脑上安装一个远程桌面控制软件任何主流的都行。第三步在小车桌面上打开同一个远程控制软件记下界面左侧显示的识别码和验证码。注意识别码每台设备都不同以车身上实际显示为准不要照抄别人的截图或教程里的示例码。第四步在电脑端输入识别码和验证码点击远程连接就能看到小车的桌面了。连接成功之后你在电脑上的每一次点击、每一行命令都会直接作用于小车。后续所有建图、导航测试都建议在这个远程桌面里做。如果远程画面卡顿先检查小车和电脑是不是同一个热点热点信号是不是只有一两格。还有一个容易被忽略的细节手机热点记得打开“允许设备发现”之类的选项并且别让手机息屏休眠否则热点一断车和电脑就失联了。3.4 连上之后第一眼先做三项快速检查远程桌面打开后先别急着跑命令花一分钟做三个检查。第一看桌面上的工作空间图标是否完整robot_ws、lidar_ws、abot_vision、abot_voice 这四个常见入口有没有少第二看系统右上角的电池提示确认电量不是红色告警状态第三观察激光雷达是否在正常旋转。这三项里任何一项不对都先处理再往下走。雷达不转建图必然失败电量告警跑一半断电更麻烦工作空间缺失可能是系统环境没加载完整重启一次比硬着头皮排查更快。这一步看似简单但能帮你把后面章节里遇到的一半问题提前消掉。4. 跑通第一个实战功能用激光雷达建图让机器人导航有地图可用这一章是整个资源里最值得亲手做一遍的部分。建图成功的那一刻你会第一次直观理解“激光雷达 机器人导航 无人驾驶”这三件事是怎么串起来的。4.1 建图是什么用激光雷达给场地“画户型图”建图通俗讲就是让小车在场地里走一圈激光雷达把周围的墙壁、桌腿、箱子位置全部记录下来最终生成一张类似户型图的二维地图。这张图是后续所有导航功能的“底图”。没有它小车连“哪块是空地、哪里是墙”都不知道更谈不上无人驾驶式的自主移动。建图的前提是激光雷达能正常工作、底盘能响应键盘指令、SLAM 算法能持续接收数据。这三样缺一不可所以第一次跑通建图其实等于同时验证了三大模块。这也是为什么官方指南把建图排在最前面。你不用理解算法内部的数学细节只需要明白你让它走它在看它在画就够了。4.2 启动建图一行命令开启 Gmapping先说快速测试的启动方式。前提小车已经开机你通过远程桌面连接上了它。然后把小车放到场地中间记下初始位置接着在小车桌面打开终端输入./1-gmapping.sh回车后稍等片刻会看到一串节点启动信息滚动。如果没有报错说明底盘驱动、激光雷达、Gmapping 建图算法都已经起来了。这个脚本是官方封装好的“一键建图”适合入门快速验证。如果你看到终端里出现类似“process started”的提示就说明它正在干活先别急着操作等可视化窗口弹出再说。如果你想知道背后到底启动了哪些节点可以手动执行下面三条命令效果等价roslaunch abot_bringup robot_with_imu.launch # 启动底盘与 IMU 驱动 roslaunch robot_slam gmapping.launch # 启动 Gmapping 建图算法 roslaunch robot_slam view_mapping.launch # 打开可视化建图窗口三条命令各自开一个终端执行。第一条是“让底盘和传感器工作”第二条是“让算法开始画图”第三条是“把画出来的图实时显示给你看”。这样拆开之后以后出问题你也知道该去哪个终端找日志。如果某条命令报错优先看终端最后几行最常见的是“找不到设备”或“端口被占用”前者说明线没插好或雷达没转后者说明之前有节点没关干净。4.3 键盘遥控让小车“逛”完整片场地建图不是把小车站着不动就能完成的。你需要遥控它把场地的每个角落都走一遍让激光雷达把边界都扫到。在脚本打开的第五个终端里用键盘控制小车按键分布如下按键动作说明I向前运动M向后运动J / L左转 / 右转U / O左前斜向 / 右前斜向前进 / 左后斜向 / 右后斜向后退这里有个容易困惑的点提示当英文大写锁定时U、O、J、L 的行为会从“转向”变成“平移”其中 U/O 控制左前、右前平移J/L 控制左右平移。不同版本手册的描述可能略有出入最靠谱的做法是看终端里 teleop 节点实时打印的提示以它为准。操作要点只有一个慢。匀速慢走遇到墙提前转向尽量保证场地边缘都被扫到。我第一次建图失败就是因为开得太快、转弯太急地图里全是重影线框重叠到完全没法用。后来放慢速度把场地老老实实逛了两遍地图就干净了。还有一个小技巧让小车沿着场地边缘走“回字形”先外圈再内圈这样建出来的地图完整性最好。4.4 保存地图把扫好的成果存下来地图建好之后千万别直接关终端。新开一个终端输入roslaunch abot_slam save_map.launch执行后Gmapping 会把当前地图保存到默认路径下终端会有写入完成的提示通常是生成一个图片格式的地图文件和一个配套的配置文件。这张保存下来的地图就是你以后做导航测试的底图。建议每次建好图都顺手复制一份到电脑上备份因为场地一旦变动原来的地图就废了。另外这套资源里还带了 Hector 和 Cartographer 两种建图算法。Hector 不依赖底盘里程计适合小范围快速建图Cartographer 对复杂大场景的支持更好。入门阶段我建议先用 Gmapping 把流程跑通以后再逐个切换对比效果你会在同一台车上明显感受到三种算法在“画图风格”上的差异。切换方式也不复杂就是把启动命令换成对应的 launch 文件比如 Cartographer 就是roslaunch abot_slam cartographer.launch。4.5 顺势测导航用 2D Nav Goal 让小车自己走到目标点地图保存完正好可以验证导航。前提还是把小车放到建图时记录的初始位置。然后在桌面打开终端输入./2-navigation.sh回车后等窗口加载界面里会显示之前建好的地图和当前小车的位置。接下来做关键一步点击可视化窗口里的 2D Nav Goal 按钮然后在地图的空地上点一下鼠标松开时拖出方向小车就会自己规划路径并开过去。这里我多说一句第一次看到小车自己动起来哪怕只有两米远也值得你开心一下。因为这就是“机器人导航”从概念变成现实的瞬间。如果你发现小车不走或者乱走先回看第 5 章的建图与导航避坑九成问题都出在地图质量或初始位置上。5. 新手最容易踩的五个坑建图、导航、远程连接常见问题排查这一章是给未来的你准备的后悔药。下面五个问题几乎每个新手都会碰到至少两三个我自己就全部经历过一遍。每条按“现象 → 原因 → 解决”来写遇到问题直接对号入座。排查的时候有个通用顺序先看电源再看网络然后看地图最后才怀疑参数和代码。电源问题会导致所有功能异常网络问题会让远程操作失灵地图问题会让导航表现得很“蠢”而参数问题通常只影响精度不影响“能不能跑”。按这个顺序缩小范围比到处乱试高效得多。5.1 现象按下开机键屏幕一直黑原因最常见的是 HDMI 线没有插紧、显示器没有供电、或者主控制器开关漏按了。其次是顺序错了先按了主控制器开关但车身电源还没真正上电主控制器自然起不来。解决按这个顺序重新走一遍——先检查显示器电源灯是否亮再按下车身电源开关并等待 5 秒最后按下主控制器开关。如果还黑重新插拔 HDMI 线再试。我后来学到一个小习惯每次开机都先等显示器亮再按主控制器这样能避免误判“车坏了”。如果换了 HDMI 线还是黑屏再看一眼是不是误接了别的输出口。5.2 现象远程控制软件连不上原因绝大多数情况是小车和电脑不在同一个网络。比如小车连的是手机热点电脑连的是家里 Wi-Fi两边不在同一个局域网识别码再正确也连不上。少数情况是验证码过期或识别码记混了。解决让小车连手机热点电脑也切到同一个热点重新打开小车上的远程控制软件以屏幕上当前显示的识别码和验证码为准。如果换了网络验证码通常会刷新需要重新读取。还有一招如果热点信号太弱把手机放到小车旁边别放在自己裤兜里。做竞赛调试时我习惯给小车配一个独立热点既稳定又不会因为来电或消息打断连接。5.3 现象建图时地图扭曲、重影重叠原因小车开得太快、转弯太急激光雷达两次扫描之间位移过大数据没来得及对齐也可能是雷达顶部压了东西导致扫描面不完整或者场地里有人走动、物品被移动过。解决先把小车的速度降下来保持匀速慢行建图前确认雷达上方没有压放任何物体清场后再开始让场地里的人和可移动物体都固定不动。如果地图还是乱把小车放回建图初始位置重新走一遍。多数情况下慢下来就解决问题了。5.4 现象导航时小车不走直线甚至撞墙原因最常见的是地图没建完整某面墙或某个障碍物在地图里是“缺失的”导航算法把缺口当成可通行区域另一种情况是小车出发的位置和建图时记录的初始位置不一致导致它在加载地图后定错了位。解决导航之前先把小车放到建图时记录的初始位置朝向也尽量保持一致如果地图质量已经不可靠重新建一张干净的地图再保存。导航是一条“地图不准 → 定位错 → 路径乱”的链条源头修复永远比末端修补有效。我的经验是新手阶段重新建图比在导航参数里反复试错快得多。5.5 现象电池掉电特别快放半个月就开不了机原因锂电池长期亏电或者用了不匹配的充电器导致电池保护板进入保护状态。这是最容易被忽略、但后果最严重的一个坑。解决电量只剩一格时及时充电使用 DC12.6V / 2.0A 专用充电器红灯表示正在充电、绿灯表示充满超过半个月不使用先充满电再存放并定期做维护充电。我以前有一台设备就是被我在角落里放了一个月再拿出来电池已经鼓包换电池的成本比想象中高得多。从那以后我每次收工前都习惯性看一眼电量低于一格就顺手插上充电器再也没有出过这种问题。6. 下一步学什么跑通全部功能后给自己定一个巡航小目标6.1 把剩下的功能测试也过一遍视觉、语音、射击建图与导航跑通后这台车最核心的部分你已经掌握了。但整套资源里还有视觉、语音、射击三个模块值得顺手验证因为竞赛任务经常把它们组合起来用。视觉测试两条命令roslaunch usb_cam usb_cam_test.launch # 启动相机驱动 rosrun rqt_image_view rqt_image_view # 打开实时图像窗口界面弹出画面相机链路就正常。语音测试要先启动 ROS 核心再启动语音播报节点最后发一条消息触发它roscore rosrun robot_voice tts_subscribe rostopic pub /voiceWords std_msgs/String data: 1234如果连接了蓝牙耳机你就能听到小车把数字播报出来。射击模块测试命令是roslaunch abot_bringup shoot.launch但有两件事必须记住水弹要用矿泉水泡 8 小时以上才能装入弹仓任何时候不要把射击模块对着人或贵重物品。这三项全部跑通这台车就真正“毕业”了。6.2 学 ROS 的下一步看节点、看话题再改第一个参数功能都测完之后你会进入一个“什么都想试但不知道从哪下手”的阶段。我的建议是先学会观察。在终端输入rostopic list能看到当前所有话题rosnode list能看到所有节点rostopic echo 话题名能实时打印某个话题的数据。当你亲眼看着激光雷达的数据在屏幕上一行行刷新时ROS 的神秘感基本就消失了。然后给自己定一个小目标加载建好的地图运行导航点击 2D Nav Goal在地图空地上指定目标点让小车自己开过去。这就是一次最简单的“自主巡航”。完成之后再尝试修改导航参数比如最大线速度、转弯半径观察小车行为变化。你会发现“无人驾驶”这个词离你其实并不远它就是从建一张干净的地图、点一次导航目标点开始的。从那以后我每次拿到新设备都强制自己先走一遍完整测试流程再动任何代码。这个习惯帮我少踩了无数坑该充电时充电、该放回初始位置时放回、该保存地图时保存每一步都按顺序来。机器人这东西九成的问题都出在“顺序乱了”和“基础步骤没做全”上。希望帮到你祝你第一次建图就成功第一次导航就走直线。本文还有配套的精品资源点击获取

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号