行业资讯

ROS自学笔记一 安装并启动ROS(云服务器能用ros吗知乎)

2025-01-25 19:04:21 行业资讯 浏览:24次


ROS自学笔记一:安装并启动ROS

1、添加ROS密钥、更新软件包索引,根据选择的ROS版本安装:安装ROS核心以及常用的工具和依赖项。完成安装后,通过命令 `roscore` 启动ROS核心。这些是ROS安装的基本步骤。根据需求和具体设置可进行调整。安装完成后,即可开始探索ROS世界,构建机器人应用。

动手写Fast-Lio!从零开始写基于IESKF的激光里程计(一)之工程框架建立...

1、准备工作:在ROS1框架下进行讲解,安装rosbag用于下载包含odometry话题的数据包文件,这是由最终版的IESKF-SLAM生成的里程计消息。在准备好所有依赖后,新建一个package,参考ROS Wiki中的cn/ROS/Tutorials部分,思考工程框架结构。

2、fast-lio中的后向传播,旨在利用imu数据校正点云畸变。畸变源于雷达接收的点云时间戳与扫描起始时刻的差异。旋转速度与探测距离导致最大14m的偏差。流程如下: 利用imu预测至点云扫描结束时间的姿态。 通过反向传播计算每个点被扫描时的位姿。 将所有点转换至扫描结束时刻的雷达坐标系。

3、地图更新改进优化上一章节的地图更新方法,引入了地图中心正方体概念,限制地图大小,提高性能。核心步骤:加入正方体内点:选取点云中位于正方体内的点,并加入到局部地图。加入时,考虑地图分辨率限制,仅加入与现有点满足最小距离要求的点。去除地图外点:移除机器人移动导致的超出地图范围的点。

在vscode中单步调试ros2

1、方法一:适用于小规模程序调试 创建tasks.json文件,并添加以下内容。tasks.json文件用于控制vscode的编译操作,可通过命令行执行colcon build --cmake-args -DCMAKE_BUILD_TYPE=Debug来完成。 创建launch.json文件,并添加相应内容。

2、编译工作空间 使用以下命令进行编译:DCMAKE_BUILD_TYPE 须设定为 Debug 而非 Release,以支持调试。 配置文件 完成编译后,通过 f1 打开指令栏,运行 ROS: Update C++ Properties 命令。这将生成 c_cpp_properties.json 和 settings.json 文件,帮助 vscode 理解项目依赖路径。

3、创建 tasks.json 文件,检查项目文件夹下是否存在.vscode/task.json。若不存在,通过命令台输入并点击 Tasks: Confige Task,选择 Others,将预先准备的内容粘贴到 tasks.json 中并保存。接着,创建 launch.json 文件,用于启动对.launch.py 文件的调试。

4、**存放位置**:创建功能包内的launch文件夹,存放launch文件,便于调用。 **新建launch文件**:在launch文件夹中新建名为`test01`的launch文件。 **基本格式与标签**:launch文件格式包含节点、参数、服务等关键标签。node标签**:指定要运行的ROS节点。pkg**:节点所属的功能包名称。

5、配置 VSCode 对于 ROS 开发者来说至关重要。推荐使用 Docker 来进行 ROS 的开发与部署,因为它能解决不同版本 ROS 与不同 Ubuntu 版本之间的兼容问题。安装 Docker 可以参考使用 Docker 进行 ROS2 开发的相关博客。

IMU介绍及ROS2读取IMU数据实践

1、在ROS2环境下,可以编写代码实现IMU的数据发布和订阅。发布IMU数据时,通常采用串行读取数据,并打包发布到特定的topic中,解析数据时需要关注加速度、角速度、角度、磁场等信息。订阅IMU数据时,可以通过ROS2的订阅者接口接收发布的数据。

2、**发布IMU数据**:使用Python编写一个ROS 2发布者节点,读取kitti数据集中oxts/data子目录中的.txt文件,从中提取方位、角速度和线性加速度数据,转换为sensor_msgs/Imu消息类型进行发布。确保在发布消息时仅包含方位、角速度和线性加速度数据及其协方差矩阵。

3、Cartographer是Google开源的实时SLAM系统,适用于2D和3D环境。在机器人领域,因其优越性被广泛采用。该系统具有多种输入选项,如深度信息、里程计信息、IMU数据等。对于有兴趣深入研究SLAM的人来说,理解其系统架构很有帮助。安装Cartographer有两种方式:一种是通过apt安装,另一种是源码安装。