ROS探索(7)——导航

在ROS中实现导航时需要使用到几个节点:

map_server:用于导航过程中的地图导入

move_base:使用迪杰斯特拉算法进行路径规划,在这一过程中需要导入地图和车模型的相关信息

fake_localization:使用自适应的蒙特卡罗(粒子滤波)实现小车的定位

tf:实现车与传感器坐标的静态转化


在这一过程中,我实现了自定义模型的随机导航

使用 catkin_create_pkg 新建一个工程包,将前面博文提到的小车模型导入该工程包中,修改路径,使其可以正常运行

将 Demo rbx1_nav 下的nodes文件夹里 nav_test.py 导航实现代码添加到新建工程包里

将 Demo rbx1_nav 下的config文件夹里的相关参数文件 *.yaml 添加到新建工程包目录下的config中,并且根据自己需求修改

参照 Demo rbx1_nav 下的 fake_nav_test.launch 编写工程总控制的 launch 文件

参照 Demo rbx1_nav 下的 nav_test.rviz 编写工程仿真时所需要用到的 rviz 文件

工程文件如下:


在实验过程中我修改了机器人的最大转角,用于适应现实仿真


测试与仿真:

$ roscore
打开一个新终端
$ source catkin_ws/devel/setup.bash
$ roslaunch car_nav amcl_test.launch
打开一个新终端
$ source catkin_ws/devel/setup.bash
$ rosrun rviz rviz -d `rospack find rbx1_nav`/nav_test.rviz


在测试过程中可能遇到的问题:


原因是Ros安装时没有提供在launch文件中所用到的move_base等节点,解决方案有两种:

1、直接从ROS库中安装

sudo apt-get install ros-indigo-map-server ros-indigo-fake-localization ros-indigo-move-base
2、下载源码进行编译

git clone https://github.com/ros-planning/navigation
个人推荐使用第二种,方便后期的代码实现修改


工程文件下载链接:ROS Navigation

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值