ROS2学习笔记18-velodyne 16雷达点云在ros2中可视化案例参考

环境:ubuntu20.04 ,ros-foxy,vscode,velodyne-16

背景:练习如何将velodyne-16雷达点云数据在ros2中读取并可视化.折腾了很久,并没有找到类似案例,所以自己总结一下.

1. 修改电脑ip

这里修改自己电脑ip,跟大多数网上关于ros1设置本地ip方法一样:
ifconfig获取自己电脑ip,修改了为手动,子掩码和网关参考图示即可.操作完成后,修改效果类似如图:请添加图片描述
(这里的192.168.1.100是个人电脑ip,注意根据个人情况来实际填写)

2. 修改雷达ip

这里个重点关注的家伙.velodyne-16官方默认的ip192.168.1.201,但是实际使用时,我们一般采用自定义的来搞.
网线连上电脑,网页输入雷达的ip地址192.168.1.201(注意,如果已经修改过雷达ip,那就输入雷达当前的ip),记得雷达要接上电源.这时候,我想更改雷达的ip192.168.1.81,基本效果如图:
请添加图片描述

注意:Host处的ip填写的是自己电脑ip,也就是告诉雷达往哪个设备发送数据,记得端口data port的参数一定要记录下来,后面驱动文件里面要用到;Network处的ip也就是雷达ip,自己随意更改,不过一定要记下来,后面驱动参数填写要用到.两处ip填写完成后,记得点击依次set-save configuration.这时候,配置参数并没有生效,还得进入system界面,依次点击update-reset system
请添加图片描述
这时候,我们设置的雷达参数即可生效.

3. 修改驱动yaml参数文件

安装驱动前,先把依赖安装一下:

sudo apt install ros-foxy-diagnostic-updater
sudo apt install libpcap0.8-dev

根据我个人使用的的ros2-foxy版本,去g站(https://github.com/ros-drivers/velodyne/tree/ros2)把源码下载下来,放到新建的工作空间,使用colcon build进行编译.这时候你认为万事大吉了,那就错了.这时候需要把驱动的参数文件配置一下,告诉驱动,我的雷达ip是啥这些.
请添加图片描述
好了,打开源文件,更改yaml文件参数,把之前记录的雷达ip以及端口port,都填写上去.
运行时,一定要记得 . install/setup.bash 一下(这里耽误我很长时间,之前ros1喜欢直接把工作空间路径写到.bashrc文件所带来的忽视,教训!!!!),再使用启动雷达驱动节点来读取雷达数据.这里要注意frame_id参数,后面在rviz2里面会用到.

4. 运行效果

终端进入当前工作空间,输入:

. install/setup.bash
ros2 launch velodyne velodyne-all-nodes-VLP16-launch.py

请添加图片描述
注意看该截图上面部分,我们可以发现其,节点在监听那个ip信息,使用的端口号信息等等.
截图下半部分是使用ros2 topic echo /velodyne_points获取当前的雷达点云数据.

新开终端,输入:

ros2 run rviz2 rviz2

依次选择add-by topic-/velodyne_points/pointcloud2,这时候,我们发现rviz2上面还是啥都没有显示.回想起前面,在写驱动配置文件参数文件时候,有记录一个frame_id这么一个参数,好了,我们应该将fixed frame的map,手动改写成velodyne.这时候,显示效果类似:

请添加图片描述
如果想更改显示的样式,这就跟ros1版本的rviz一样的,这里不再赘述了.

4.小结

(1)运行指令前,一定要source一下环境变量;
(2)注意雷达网页端口正确设置方式,以及ip和端口port的参数的记录;
(3)驱动的yaml文件,雷达ip,端口port一定要对应上网页端设置的;
(4)rviz2显示时,一定要注意fix frame参数根据驱动配置文件yaml里面进行手动填写.

#####################
不积硅步,无以至千里
好记性不如烂笔头
感觉有点收获的话,麻烦大大们点赞收藏哈

<think>好的,用户之前问过ROS1的版本区别,现在又问ROS2的Humble版本对系统有没有要求。这说明用户可能正在考虑从ROS1迁移到ROS2,或者开始新项目时在选择合适的ROS版本。用户可能对ROS2不太熟悉,所以需要详细说明Humble的支持情况。 首先,我需要回忆ROS2的版本信息,尤其是Humble Hawksbill的情况。ROS2的版本命名也是按字母顺序,Humble是2022发布的,对应Ubuntu 22.04。用户可能想知道他们的操作系统是否兼容,或者是否需要升级系统才能使用Humble。 接下来,用户可能关心Humble对其他系统的支持,比如Windows或RHEL。需要确认官方文档中的信息,是否有支持这些系统,以及具体的版本要求。同时,生命周期也是一个重点,用户可能希望选择一个长期支持的版本,所以需要明确Humble的支持结束时间。 另外,用户可能在使用旧版Ubuntu,比如20.04,想知道能否安装Humble。这时候需要指出虽然官方推荐22.04,但通过源码编译可能在20.04上运行,但可能会有兼容性问题,提醒用户注意风险。 还有可能用户考虑的是硬件或依赖库的兼容性,比如他们现有的软件包是否支持Humble,或者是否需要Python 3.10。这时候需要提到Python版本的变化,以及依赖库如OpenCV的版本要求,帮助用户评估迁移或开发的难度。 最后,用户可能需要一些安装示例或常见问题解答,比如如何在Ubuntu 22.04上安装Humble,或者如何处理多版本共存的问题。这些信息能帮助他们快速上手,避免常见陷阱。 总结来说,需要分点列出Humble的系统要求,各操作系统的支持情况,生命周期,依赖库版本,安装步骤,以及常见问题。确保信息准确,结构清晰,便于用户理解和应用。</think>当然可以!**ROS 2 Humble Hawksbill** 对操作系统和软件环境有明确的版本要求,主要适配 **Ubuntu 22.04** 和其他特定平台。以下是详细分析: --- ### **一、ROS 2 Humble 的官方支持系统** | 操作系统 | 版本要求 | 架构支持 | 备注 | |------------------|----------------|--------------|--------------------------| | **Ubuntu** | 22.04 (Jammy) | x86_64, ARM | **官方推荐**,提供二进制包 | | **Windows** | Windows 10 | x86_64 | 支持,但功能可能受限 | | **RHEL** | RHEL 8 | x86_64 | 需通过源码编译 | | **macOS** | Monterey (12) | x86_64, ARM | 社区支持,非官方主推 | #### **关键说明**: 1. **Ubuntu 22.04 是首选**:ROS 2 Humble 的二进制包(预编译版本)仅针对 Ubuntu 22.04 提供,其他系统需手动编译。 2. **Ubuntu 20.04 能否安装?** - 官方不支持,但可通过源码编译尝试(需自行解决依赖冲突)。 - 推荐升级系统或使用 Docker 容器隔离环境(如 `ros:humble` 镜像)。 --- ### **二、Humble 的生命周期与维护** - **发布时间**:2022 年 5 月 - **支持截止**:2027 年 5 月(**5 年长期支持,LTS**) - **适用场景**:需长期维护的项目、工业级应用或新功能开发。 --- ### **三、依赖库与软件要求** ROS 2 Humble 依赖以下核心组件: | 组件 | 最低版本 | 说明 | |------------------|----------------|------------------------------| | **Python** | 3.10 | 需注意旧代码的兼容性 | | **OpenCV** | 4.5 | 图像处理相关功能包依赖 | | **Qt** | 5.15 | RVIZ2、GUI 工具链依赖 | | **DDS 中间件** | Cyclone DDS 或 Fast DDS | 默认使用 Cyclone DDS | --- ### **四、安装示例(Ubuntu 22.04)** #### 1. **设置软件源** ```bash sudo apt update && sudo apt install -y curl gnupg sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null ``` #### 2. **安装核心功能包** ```bash sudo apt update sudo apt install -y ros-humble-desktop # 基础桌面版 # 或安装完整版(包含仿真、导航等工具) sudo apt install -y ros-humble-desktop-full ``` #### 3. **配置环境变量** ```bash echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc source ~/.bashrc ``` --- ### **五、常见问题** #### 1. **能否在 Ubuntu 20.04 上运行 Humble?** - **不推荐**:依赖库(如 `libssl`)版本可能冲突,需手动编译所有组件,维护成本高。 - **替代方案**:使用 Docker 或虚拟机运行 Ubuntu 22.04 环境。 #### 2. **Humble 支持哪些硬件?** - 主流传感器(如 Intel RealSense、Velodyne 激光雷达)需检查厂商提供的 ROS 2 驱动支持情况。 - 部分硬件(如某些 USB 摄像头)需通过 `ros2launch` 手动配置。 #### 3. **与 ROS1 的兼容性如何?** - **不直接兼容**:需通过 `ros1_bridge` 包实现通信,但性能可能受限。 - **迁移建议**:逐步重写节点代码,优先使用 ROS 2 原生接口。 --- ### **六、版本选择建议** - **新项目**:优先选择 Humble(LTS 版本,支持周期长)。 - **旧系统升级**:若原项目基于 ROS 2 Foxy,需检查 API 变动(如 `launch` 文件语法)。 - **资源受限设备**:可考虑轻量级 ROS 2 版本(如 `ros-humble-base`)。 --- ### **总结** ROS 2 Humble **严格依赖 Ubuntu 22.04**,在其他系统中需通过复杂配置实现兼容。其长期支持特性适合企业级应用,但需注意依赖库版本和硬件驱动适配。若需在旧系统中使用,建议通过容器技术隔离环境!
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值