Navigation实训整理

Navigation实训整理

乱七八糟的东西记了很多,放在这做个纪念吧

1. SLAM和Navigation整体流程

SLAM即实时定位与建图技术,要点有两点即定位建图。定位要求能都依据里程计和imu的信息并结合雷达的修正得到实时准确位置。而建图则依据雷达或相机的信息,并据此得到该位置处环境中实物的距离和方位角,通过某种算法得到代价栅格地图。
Navigation包含如下步骤:

  1. mapserver节点把SLAM或者其他方法得到的地图传到move_base并在此生成Costmap,之后以此作为避障的依据;
  2. amcl节点订阅odom(里程计信息)并订阅Laser(需要有laser到root_link的TF)将实时场景与静态全局地图匹配来修正odom到map的偏移;
  3. move_base调用全局规划器调用作为插件存在的全局规划器、局部规划器完成路径规划生成目标轨迹并发送cmd_vel指令到控制器;
  4. 控制器依据具体硬件结构将cmd_vel信息转为各个轮子的转速或转矩信号并发送给执行器。

定位的核心是维护一条准确且实时更新的从map到base_link的TF树;路径规划的核心是生成global_costmap和local_costmap并调用路径规算法。
ROS定位与导航框架
导航消息类型,此外导航涉及到许多的话题和服务,这些通讯模式有自己的消息格式,学习过程中了解消息类型也很重要。

2. Navigation运行了那些节点,各有何特点:

AMCL:通过雷达实时信息与静态地图匹配计算出对里程计长距离移动引起的误差进行修正;

  • 需要配置好Laser和inu到root_link的TF;
  • 更改机器人对应基坐标系名称;
  • 配置里程计模型参数(diff、omni)

move_base:全局路径规划、局部避障、速度指令生成;

Laser启动节点:发布laser信息,为amcl和mov

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据提供的引用内容,我无法直接回答关于bootstrap实训作业的问题。引用提到了一个关于Bootstrap4前端框架和MySQL数据库的综合实训课程,而引用提到了一个关于响应式Web开发项目的教程。根据这些信息,我可以为您提供一些关于Bootstrap实训作业的一般介绍和演示。 Bootstrap是一个流行的前端框架,它提供了一套用于构建响应式和移动优先的网站和应用程序的工具和样式。在Bootstrap实训作业中,您可能会学习如何使用Bootstrap来创建漂亮的界面和交互效果,以及如何与后端数据库进行交互。 在实训过程中,您可能会学习以下内容: 1. 学习如何使用Bootstrap的网格系统来创建响应式布局。 2. 学习如何使用Bootstrap的组件来创建导航栏、按钮、表单等常见元素。 3. 学习如何使用Bootstrap的样式来美化页面,如颜色、字体、背景等。 4. 学习如何使用Bootstrap的JavaScript插件来添加交互功能,如轮播图、模态框等。 5. 学习如何使用Bootstrap的响应式工具来适应不同的屏幕尺寸。 以下是一个简单的演示,展示如何使用Bootstrap创建一个基本的网页布局: ```html <!DOCTYPE html> <html> <head> <title>Bootstrap实训作业</title> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.2/css/bootstrap.min.css"> </head> <body> <nav class="navbar navbar-expand-lg navbar-light bg-light"> <a class="navbar-brand" href="#">Logo</a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarNav"> <ul class="navbar-nav"> <li class="nav-item active"> <a class="nav-link" href="#">Home</a> </li> <li class="nav-item"> <a class="nav-link" href="#">About</a> </li> <li class="nav-item"> <a class="nav-link" href="#">Services</a> </li> <li class="nav-item"> <a class="nav-link" href="#">Contact</a> </li> </ul> </div> </nav> <div class="container"> <h1>Welcome to Bootstrap Training</h1> <p>This is a sample paragraph.</p> <button class="btn btn-primary">Click me</button> </div> <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.2/js/bootstrap.min.js"></script> </body> </html> ``` 这只是一个简单的示例,您可以根据实训要求和学习进度进行更复杂的实现。希望这个简单的演示能够帮助您了解Bootstrap实训作业的基本概念和使用方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值