基于机器人自主移动实现SLAM建图

基于,机器人,自主,移动,实现,slam · 浏览次数 : 257

小编点评

## 基于移动机器人运动规划及运动仿真 以下是基于移动机器人运动规划及运动仿真的小总结: **1. 编写 launch 文件** * `mycar_ws/src/nav_demo/launch/nav01_slam_plus.launch` 这是默认文件,可以根据需要进行修改。 * `--use_sim_time` 设置使用模拟时间,默认值为 `false`。 * `--gmapping` 设置使用 GMapping 进行地图加载。 * `--map_frame`、`--odom_frame`、`--map_update_interval`等参数指定地图、 odometry 和里程计的坐标系。 * `--particles`、`--xmin`、`--ymin`、`--xmax` 和 `--ymax` 设置机器人坐标系范围。 * `--delta` 设置移动的精度控制值。 **2. 编译+启动 gazebo 仿真环境** * `./devel/setup.bash` 文件包含 gazebo 的配置,需要根据实际环境进行修改。 **3. 编译+启动 rvizsource 虚拟仿真环境** * `./devel/setup.bash` 文件包含 rvizsource 的配置,需要根据实际环境进行修改。 **4. 配置 rvizstep** * `nav_demo/launch/nav07_slam_auto.launch` 文件设置 SLAM 和导航节点的配置。 * `nav_demo/launch/nav05_path.launch` 文件设置路径规划节点的配置。 **5. 运行测试** * `./devel/setup.bash` 文件包含 `rvizstep` 的配置,可以根据实际环境进行修改。 * 启动 `rvizstep` 进行测试运行。 **总结:** 以上步骤展示了基于移动机器人运动规划及运动仿真的小流程,包含编写配置文件、编译和启动多个节点等步骤。

正文

博客地址:https://www.cnblogs.com/zylyehuo/

基于[移动机器人运动规划及运动仿真],详见之前的博客

移动机器人运动规划及运动仿真 - zylyehuo - 博客园

参考链接

Autolabor-ROS机器人入门课程《ROS理论与实践》

环境配置

ubuntu 18.04

成果图

step1: 编写 launch 文件

mycar_ws/src/nav_demo/launch/nav01_slam_plus.launch

<launch>
    <!-- 仿真环境下,将该参数设置为true  -->
    <param name="use_sim_time" value="true"/>
    <!-- gmapping  -->
    <node pkg="gmapping" type="slam_gmapping" name="slam_gmapping" output="screen">
      <!-- 设置雷达话题  -->
      <remap from="scan" to="scan"/>

      <!-- 关键参数:坐标系 -->
      <param name="base_frame" value="base_footprint"/><!--底盘坐标系-->
      <param name="map_frame" value="map"/>
      <param name="odom_frame" value="odom"/> <!--里程计坐标系-->

      <param name="map_update_interval" value="5.0"/>
      <param name="maxUrange" value="16.0"/>
      <param name="sigma" value="0.05"/>
      <param name="kernelSize" value="1"/>
      <param name="lstep" value="0.05"/>
      <param name="astep" value="0.05"/>
      <param name="iterations" value="5"/>
      <param name="lsigma" value="0.075"/>
      <param name="ogain" value="3.0"/>
      <param name="lskip" value="0"/>
      <param name="srr" value="0.1"/>
      <param name="srt" value="0.2"/>
      <param name="str" value="0.1"/>
      <param name="stt" value="0.2"/>
      <param name="linearUpdate" value="1.0"/>
      <param name="angularUpdate" value="0.5"/>
      <param name="temporalUpdate" value="3.0"/>
      <param name="resampleThreshold" value="0.5"/>
      <param name="particles" value="30"/>
      <param name="xmin" value="-50.0"/>
      <param name="ymin" value="-50.0"/>
      <param name="xmax" value="50.0"/>
      <param name="ymax" value="50.0"/>
      <param name="delta" value="0.05"/>
      <param name="llsamplerange" value="0.01"/>
      <param name="llsamplestep" value="0.01"/>
      <param name="lasamplerange" value="0.005"/>
      <param name="lasamplestep" value="0.005"/>
      
    </node>

    <node pkg="joint_state_publisher" name="joint_state_publisher" type="joint_state_publisher" />
    <node pkg="robot_state_publisher" name="robot_state_publisher" type="robot_state_publisher" />

    <node pkg="rviz" type="rviz" name="rviz" args="-d $(find nav_demo)/config/nav_test.rviz"/>
    
</launch>

mycar_ws/src/nav_demo/launch/nav07_slam_auto.launch

<!-- 集成SLAM与导航,实现机器人自主移动的地图 -->
<launch>

    <!-- 启动SLAM节点 -->
    <include file="$(find nav_demo)/launch/nav01_slam_plus.launch" />
    
    <!-- 运行move_base节点 -->
    <include file="$(find nav_demo)/launch/nav05_path.launch" />

</launch>

step2: 编译+启动 gazebo 仿真环境

source ./devel/setup.bash 

roslaunch mycar environment.launch

step3: 编译+启动 rviz

source ./devel/setup.bash 

roslaunch nav_demo nav07_slam_auto.launch

step4: 配置 rviz

step5: 运行测试

与基于机器人自主移动实现SLAM建图相似的内容:

基于机器人自主移动实现SLAM建图

> 博客地址:https://www.cnblogs.com/zylyehuo/ > 基于[移动机器人运动规划及运动仿真],详见之前的博客 > > [移动机器人运动规划及运动仿真 - zylyehuo - 博客园](https://www.cnblogs.com/zylyehuo/p/1740070

SLAM建图导航信息(仿真)

> 博客地址:https://www.cnblogs.com/zylyehuo/ > 基于[基于机器人自主移动实现SLAM建图],详见之前的博客 > > [基于机器人自主移动实现SLAM建图 - zylyehuo - 博客园](https://www.cnblogs.com/zylyehuo/p/1

Gazebo、Rviz 结合 ORB-SLAM3 实现运动规划及定位

> 博客地址:https://www.cnblogs.com/zylyehuo/ > 基于以下内容,详见博客链接 > > [基于机器人自主移动实现SLAM建图 - zylyehuo - 博客园 (cnblogs.com)](https://www.cnblogs.com/zylyehuo/p/174

【信创】 JED on 鲲鹏(ARM) 调优步骤与成果

基于国家对信创项目的大力推进,为了自主可控的技术发展,基础组件将逐步由国产组件替代,因此从数据库入手,将弹性库JED部署在 国产华为鲲鹏机器上(基于ARM架构)进行调优,与Intel (X86)进行性能对比。

基于ChatGPT用AI实现自然对话

1.概述 ChatGPT是当前自然语言处理领域的重要进展之一,通过预训练和微调的方式,ChatGPT可以生成高质量的文本,可应用于多种场景,如智能客服、聊天机器人、语音助手等。本文将详细介绍ChatGPT的原理、实战演练和流程图,帮助读者更好地理解ChatGPT技术的应用和优势。 2.内容 在当今快

千年荒漠变绿洲,看沙漠“卫士”携手昇腾AI植起绿色希望

摘要:风沙肆虐,沙漠侵蚀神州大地,华东师范大学基于昇腾AI基础软硬件平台研制的种树机器人成为沙漠“卫士”,穿越戈壁,跨越千里,为荒漠治理贡献力量!华师大携手昇腾AI共同植起绿色希望! 本文分享自华为云社区《千年荒漠变绿洲,看沙漠“卫士”携手昇腾AI植起绿色希望》,作者: 昇腾CANN 。 引言:风沙

深入解读Prometheus Adapter:云原生监控的核心组件

本文详述了Prometheus Adapter的部署与配置,通过三个实践案例展示其在Kubernetes环境中的应用,帮助用户实现基于自定义指标的自动扩展和跨集群统一监控。 关注作者,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验

算法金 | 10 大必知的自动化机器学习库(Python)

大侠幸会,在下全网同名[算法金] 0 基础转 AI 上岸,多个算法赛 Top [日更万日,让更多人享受智能乐趣] 一、入门级自动化机器学习库 1.1 Auto-Sklearn 简介: Auto-Sklearn 是一个自动机器学习库,基于 Python 的 scikit-learn 接口。它主要用于自

构建基于深度学习神经网络协同过滤模型(NCF)的视频推荐系统(Python3.10/Tensorflow2.11)

毋庸讳言,和传统架构(BS开发/CS开发)相比,人工智能技术确实有一定的基础门槛,它注定不是大众化,普适化的东西。但也不能否认,人工智能技术也具备像传统架构一样“套路化”的流程,也就是说,我们大可不必自己手动构建基于神经网络的机器学习系统,直接使用深度学习框架反而更加简单,深度学习可以帮助我们自动地从原始数据中提取特征,不需要手动选择和提取特征。

动手造轮子自己实现人工智能神经网络(ANN),解决鸢尾花分类问题Golang1.18实现

人工智能神经网络( Artificial Neural Network,又称为ANN)是一种由人工神经元组成的网络结构,神经网络结构是所有机器学习的基本结构,换句话说,无论是深度学习还是强化学习都是基于神经网络结构进行构建。关于人工神经元,请参见:人工智能机器学习底层原理剖析,人造神经元,您一定能看