移动机器人定位(amcl)
1.定位(amcl)
1.1找到amcl自带功能包
amcl_diff.launch:
<launch>
<node pkg="amcl" type="amcl" name="amcl" output="screen"><!-- Publish scans from best pose at a max of 10 Hz --><param name="odom_model_type" value="diff"/><param name="odom_alpha5" value="0.1"/><param name="transform_tolerance" value="0.2" /><param name="gui_publish_rate" value="10.0"/><param name="laser_max_beams" value="30"/><param name="min_particles" value="500"/><param name="max_particles" value="5000"/><param name="kld_err" value="0.05"/><param name="kld_z" value="0.99"/><param name="odom_alpha1" value="0.2"/><param name="odom_alpha2" value="0.2"/><!-- translation std dev, m --><param name="odom_alpha3" value="0.8"/><param name="odom_alpha4" value="0.2"/><param name="laser_z_hit" value="0.5"/><param name="laser_z_short" value="0.05"/><param name="laser_z_max" value="0.05"/><param name="laser_z_rand" value="0.5"/><param name="laser_sigma_hit" value="0.2"/><param name="laser_lambda_short" value="0.1"/><param name="laser_lambda_short" value="0.1"/><param name="laser_model_type" value="likelihood_field"/><!-- <param name="laser_model_type" value="beam"/> --><param name="laser_likelihood_max_dist" value="2.0"/><param name="update_min_d" value="0.2"/><param name="update_min_a" value="0.5"/><param name="odom_frame_id" value="odom"/><param name="resample_interval" value="1"/><param name="transform_tolerance" value="0.1"/><param name="recovery_alpha_slow" value="0.0"/><param name="recovery_alpha_fast" value="0.0"/>
</node>
</launch>
1.2将amcl_diff.launch复制粘贴到自己建的功能包下,并建立一个.launch文件
如:nav04_amcl.launch
<launch><node pkg="amcl" type="amcl" name="amcl" output="screen"><!-- Publish scans from best pose at a max of 10 Hz --><param name="odom_model_type" value="diff"/><param name="odom_alpha5" value="0.1"/><param name="transform_tolerance" value="0.2" /><param name="gui_publish_rate" value="10.0"/><param name="laser_max_beams" value="30"/><param name="min_particles" value="500"/><param name="max_particles" value="5000"/><param name="kld_err" value="0.05"/><param name="kld_z" value="0.99"/><param name="odom_alpha1" value="0.2"/><param name="odom_alpha2" value="0.2"/><!-- translation std dev, m --><param name="odom_alpha3" value="0.8"/><param name="odom_alpha4" value="0.2"/><param name="laser_z_hit" value="0.5"/><param name="laser_z_short" value="0.05"/><param name="laser_z_max" value="0.05"/><param name="laser_z_rand" value="0.5"/><param name="laser_sigma_hit" value="0.2"/><param name="laser_lambda_short" value="0.1"/><param name="laser_lambda_short" value="0.1"/><param name="laser_model_type" value="likelihood_field"/><!-- <param name="laser_model_type" value="beam"/> --><param name="laser_likelihood_max_dist" value="2.0"/><param name="update_min_d" value="0.2"/><param name="update_min_a" value="0.5"/><!-- 注意:odom_frame_id 和 base_frame_id 坐标系根据自己的urdf或xacro文件进行对应修改 --><param name="odom_frame_id" value="odom"/><param name="base_frame_id" value="base_footprint"/><!-- 设置坐标系:odom、map、和机器人基坐标系--><param name="resample_interval" value="1"/><param name="transform_tolerance" value="0.1"/><param name="recovery_alpha_slow" value="0.0"/><param name="recovery_alpha_fast" value="0.0"/></node>
</launch>
1.3测试文件test_amcl.launch
<launch><!-- 运行地图服务器,并且加载设置的地图--><include file="$(find nav_dome)/launch/nav03_map_server.launch"/><!-- 启动AMCL节点 --><include file="$(find nav_dome)/launch/nav04_amcl.launch" /><!-- 运行rviz --><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" name="rviz" type="rviz" />
</launch>
1.4使用流程
1)启动Gazebo仿真环境
2)启动键盘控制节点
rosrun teleop_twist_keyboard teleop_twist_keyboard.py
3)启动test_amcl.launch文件
4)在启动的 rviz 中,添加RobotModel、Map组件,分别显示机器人模型与地图,添加 posearray 插件,设置topic为particlecloud来显示 amcl 预估的当前机器人的位姿,箭头越是密集,说明当前机器人处于此位置的概率越高
5)通过键盘控制机器人运动,会发现 posearray 也随之而改变。
移动机器人定位(amcl)相关推荐
- 移动机器人定位导航方式的演进
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:新机器视觉 在过去二十年时间里,移动机器人逐步进入到工业 ...
- 光流传感器 定位精度_基于光流传感器的移动机器人定位方法
基于光流传感器的移动机器人定位方法 李世云 ; 关乐 ; 褚金奎 [摘 要] 详细介绍了光流传感器移动机器人定位系统的运动学原理 , 给出了理论模 型推导 ; 基于理论模型 , 搭建了基于光流传感器实 ...
- ROS开源包之粒子滤波定位(AMCL)
虽然现在直接使用amcl定位的很少了,但是它是粒子滤波的典型应用,还是可以了解一下.查阅了很多解读,自己也总结一下,最后在gazebo仿真平台上看看粒子定位跑起来的效果. 0.源码介绍 源码地址: g ...
- 张宏 :移动机器人全局定位技术与方法是啥?道翰天琼认知智能机器人平台API接口大脑为您揭秘。
张宏 :移动机器人全局定位技术与方法是啥?道翰天琼认知智能机器人平台API接口大脑为您揭秘. 人工智能不仅要复现人类的大脑,还要构建容纳智能大脑的身体,机器人将是人工智能的完全体.8月7日-8月9日, ...
- 张宏 :移动机器人全局定位技术与方法是啥?道翰天琼认知智能机器人平台API接口大脑为您揭秘-1。
人工智能不仅要复现人类的大脑,还要构建容纳智能大脑的身体,机器人将是人工智能的完全体.8月7日-8月9日,2020年全球人工智能和机器人峰会(简称"CCF-GAIR 2020")在 ...
- 机器人学习--定位算法AMCL全局定位方案
ROS中已经集成了AMCL(自适应蒙特卡洛定位)的解决方案,按照要求测试一般都没问题. 源码或者相关细节分析参考:机器人学习--定位算法AMCL详解_GGY1102的博客-CSDN博客_amcl定位 ...
- 基于ROS+镭神激光雷达+amcl定位、导航的智能车学习记录
目录 一.背景 二. 难点之避障学习 三.比赛实参 一.背景 背景 目前大火的智能车.机器人.无人驾驶技术,现基于嵌入式系统.人工智能.机器人定位与导航基础 开展了第十四届全国大学生智能汽车竞赛-室外 ...
- 移动机器人室内定位技术综述
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 对于移动机器人,定位技术是保证移动机器人轨迹/运动作业的前提技术, ...
- 最新|移动机器人导航定位技术概述
前言 目前工业界广泛落地使用的移动机器人,除了应用场景在餐厅.酒店.超市等小范围室内送餐机器人和消毒机器人外,另外一个"大赛道"应用场景就是在工厂.制造装配车间.电站或车站的物流搬 ...
最新文章
- [精华] 数据库的查询优化技术
- 神策 FM | 关于定价的 10 年经验总结
- 网络QoS的平衡之道——音视频弱网对抗策略介绍
- linux命令学习之sar命令--服务器性能监测
- 机器学习笔记:特征处理——相关性分析GINI impurity
- Matlab中的c2d函数用法
- Jmeter循环获取JDBC查询结果及断言数据库查询结果
- TiDB -- TiDB CDC POC 测试
- 2021秋招IC验证面经-华为/英伟达/兆易创新/ZeKu
- 二分匹配Hopcroft-Carp算法
- 微信公众帐号第三方服务平台源码
- 微星GL62M 7RDX笔记本矫正屏幕色彩
- 川土微电子|推出带隔离电源的双通道数字隔离器
- [Translation]《迈陂塘》
- US1MF-ASEMI贴片快恢复二极管US1MF
- [Java 教程 00] 计算机基础
- 题目4:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
- 边缘设备、系统及计算杂谈(20)——Linux systemd了解一下
- c#和python哪个效率高_【为什么C#排名和Python相差越来越大?】-看准网
- pygame 制作飞机大战项目
热门文章
- python 内建排序 HOW TO
- Matlab之如何对cell进行排序?
- Android 实现禁用中文键盘
- Callback cannot return a non-null value as it gets overwritten by the pipeline
- set transaction
- ROS2使用OpenCV基础
- 1【源码】数据可视化:基于 Echarts +Java SpringBoot 实现的动态实时大屏范例-互联网企业数据分析
- 基于机器学习的车辆检测算法研究方法概述
- Windows下jmeter使用
- ArcGIS-云南滇池+抚仙湖流域地形图制作及使用图层下载(shp+dem)