ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

Autoware 传感器配置与数据采集:从驱动部署到点云落地的 5 步操作

Autoware 传感器配置与数据采集:从驱动部署到点云落地的 5 步操作 Autoware 传感器配置与数据采集:从驱动部署到点云落地的 5 步操作【免费下载链接】autowareAutoware - the worlds leading open-source software project for autonomous driving项目地址: https://gitcode.com/GitHub_Trending/au/autowareAutoware 是开源自动驾驶软件栈。本文带你用 5 步把相机、激光雷达、毫米波雷达接入同一条采集链路:部署驱动、标定外参、启动采集、录制 bag,并排查时间戳漂移与 udev 权限两类常见故障。跑完后,你的ros2 topic list里会出现激光雷达点云 topic,并且有一段可回放的 bag。硬件接入与设备确认三个传感器各有接法,先确认接对,再谈软件:传感器类型推荐型号典型接口激光雷达Velodyne VLP-16GigE 网线,默认 IP 192.168.1.201前置相机Intel RealSense D435iUSB 3毫米波雷达Continental ARS408以太网 / CAN先别把三个传感器一次全接上:一次只接一类,接好了再上下一类,出问题才好定位。这一步没做好,现象是某个传感器的 topic 在整个链路里永远不出现。下一步,部署驱动与运行环境。 部署传感器驱动与运行环境Autoware 的通信框架是 ROS 2(机器人操作系统,负责节点间收发消息)。传感器驱动以 ROS 2 包(一个可编译、可发布的软件单元)形式存在:每个传感器对应一个节点,节点把原始数据发布到 topic(话题,一条带类型的消息流)。部署 ROS 2 运行环境与工具链下面这条命令用 Ansible(配置自动化工具)把 ROS 2 基础、通信中间件、构建工具和标定依赖装好,成功后ros2 --version有版本输出。它执行的入口是 install_dev_env.yaml,ROS 2 基础包由其中的 ros2 角色任务 负责安装。ANSIBLE_CONFIGansible ansible-playbook ansible/playbooks/install_dev_env.yaml拉取源码并编译传感器驱动这条命令按清单批量拉取 Autoware 全部源码,成功后src/下出现一批包目录;驱动会跟着源码一起编译,具体型号的驱动包名可从 extra-packages.repos 里查。vcs import src repositories/autoware.repos colcon build --symlink-install source install/setup.bash最后确认驱动编译进了环境:ros2 package list | grep -i lidar有输出,说明激光雷达驱动已经就位。下一步,标定外参。 标定传感器外参并生成标定文件外参指传感器之间的空间关系:相机在激光雷达旁边多高、偏多少度。没有外参,点云和图像对不上,现象是同一辆车在两个传感器里位置错开。下面这条命令执行相机-激光雷达标定,成功后生成/tmp/calibration.yaml,里面有三组关键值:旋转矩阵(rotation)平移向量(translation)时间偏移(time_offset)ros2 run autoware_calibration_tool calibration_camera_lidar记下这个文件路径,启动采集时要把它挂进容器。下一步,启动采集。 启动数据采集并录制回放用 Compose(一套定义容器的配置文件,仓库 docker/examples/ 里有可直接抄的样例)起采集容器,把/tmp/calibration.yaml挂进去,容器内运行传感器 launch。启动后ros2 topic list里出现激光雷达点云 topic,就说明采集链路通了:docker compose up -d要留下可回放的原始数据,用下面这条命令开始录制,它把相机、激光雷达、雷达三路 topic 存进一个 bag 文件,成功后目录里生成.mcap文件;按CtrlC停止录制。ros2 bag record /camera/image_raw /lidar/points /radar/scan回放用于离线验证,-r 0.5表示 0.5 倍速:ros2 bag play my_bag -r 0.5回放时重点看三路时间戳是否对得上,对不上就进入下一步排查。 排查时间戳漂移与 udev 权限时间戳漂移超过 100ms现象:各传感器时间戳差超过 100ms,融合节点把它们当成不同时刻的样本,车辆位置出现重影。定位:下面这条命令查看 NTP(网络授时协议)同步状态,chronyc tracking会打印当前同步偏移。chronyc tracking若System time偏移超过 100ms,说明时钟没锁住。修复:重启授时服务,再查一次,System time偏移降到毫秒级即为恢复。sudo systemctl restart chronydudev 权限丢失现象:相机突然读不到,ls -l /dev/video*里节点缺失或权限变成000。定位:确认是系统更新后规则丢失,还是接口被占用。修复:重新插拔或重启驱动节点,让 udev(负责给设备节点发权限的机制)重新匹配;规则文件丢了,从相机厂商文档补回。ls -l /dev/video*数据链路跑通后,可用融合节点把相机、激光雷达、毫米波雷达统一到世界坐标系,配合 bag 录制与回放形成采集—验证—复现闭环,之后再接入建图与定位模块。【免费下载链接】autowareAutoware - the worlds leading open-source software project for autonomous driving项目地址: https://gitcode.com/GitHub_Trending/au/autoware创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表