Giter VIP home page Giter VIP logo

ros_amcl's Introduction

ROS AMCL 定位模块测试

Install and Build

clone 一下 ros-navigation 的包以及测试文件,编译工作空间

mkdir -p catkin_ws/src
cd catkin_ws/src
git clone https://github.com/Dangko/ROS_AMCL.git
cd ..
catkin_make

Run

这里我提前跑了 cartographer ,保存了建好的地图和部分数据集,分别在目录 amcl 包里的 maprosbag

1

加载地图前,注意修改 map 中 yaml 文件中 image 的路径:

image: <your path>/catkin_ws/src/navigationl/amcl/map/mymap1_ros.pgm
resolution: 0.05
origin: [-111.603, -75.0987, 0.0]
negate: 0
occupied_thresh: 0.65
free_thresh: 0.196

加载地图并运行 amcl 节点:

source devel/setup.zsh
roslaunch amcl amcl_omni.launch

如果地图没加载成功,可能是因为 use_simtime 被设置成了 true,在终端执行以下命令修改成 false 就行:

rosparam set /use_sim_time false

此时在执行 launch 就可以在 rviz 中看到地图:

2

src/navigation/amcl/rosbag 目录下运行数据集:

rosbag play 2023-05-18-16-57-52.bag /tf_revise:=/tf

此时可以看到定位结果:

2

在 rqt 中找到 gloabl_localization 的 service,call 一下就可以发布全局重定位的指令,强制机器人重新进行全局定位:

2

此时程序首先在地图中进行均匀地随机采样,椭圆的大小表示了此时定位的不确定性很大,但随着不断接受雷达的观测数据,粒子集又重新迅速收敛,证明了 $AMCL$ 算法可处理全局定位不确定性的问题:

2

2

ros_amcl's People

Contributors

dangko avatar

Stargazers

 avatar 离弦 avatar SongQiang avatar probability avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.