4.9-移动,避障与导航

  • 现在出现了两种开发模式(框架)
    • 第一种,在ROS下针对机器人本体,相机,机械臂等开发接口,形成很多独立的包
      • 这种是根据设备来对包进行分类,分模块开发
    • 第二种,使用ROS的MoveIt!开发包,在这个大框架下,针对不同的机器人和机器人功能进行开发
      • 这种是根据功能的不同,进行接口开发!
    • 第二种貌似开始流行了!!
    • 进行接口开发!!
  • 目标:弄懂原理,看怎么样在不载入地图的情况下实现移动和避障行为,机器人行为设计
    • 不载入地图是否意味着可以载入一个空的地图?(就算不是空的,也只给一个全局围墙,像一个矩形似的),然后通过手动指定初始坐标,就可以进行局部路径规划,因为全局地图为空,相当于不进行全局规划,实际上全局规划在LV上通过语义地图进行
  • 实现:给定一个门的虚拟位置(位置,距离和角度),机器人能够走过去,避障,调整位置和姿态
  • Using the ROS MoveIt! and Navigation Stack
  • 安装
    • sudo apt-get install python-wstool
    • STEP 2: Download the source code


      • source /opt/ros/indigo/setup.bash

        mkdir moveit

        cd moveit

        mkdir src

        cd src/

        wstool init .

        wstool merge https://raw.github.com/ros-planning/moveit_docs/indigo-devel/moveit.rosinstall

        wstool update

        cd ..

    • STEP 3: Make sure MoveIt! dependencies are installed


      • rosdep install --from-paths src --ignore-src --rosdistro indigo -y

    • STEP 4: Build MoveIt!

      • Assuming you are in the moveit folder created above,
      • catkin_make
    • 这样装太慢了
  • 推荐这样安装??
    • sudo apt-get install ros-indigo-moveit-full
  • 由于这样没有源码看,所以又卸载了
  • 还是按照源码来构建吧
    • 下载后安装依赖包
    • 将文件夹复制到ROS工作空间下吧
  • 计划
    • 手动制定初始点
    • 语义地图作为全局规划器
    • 先实现手动遥操作P3AT机器人
    • 再完成机器人语义导航
    • 再实现追门
  • 在自己电脑上实现P3AT手动操作,并寻找vontrol base,只有这样才能够使用navigation stack,使用mobilesim模拟
  • 查看move_base的代码!思考改进方案,最终在自己电脑上实现,给定点序列,机器人能够实现局部避障,和完成路径。
  • amcl node
    • 看看不启动这个节点会不会出错。如果出错,则改造,使得这个节点的功能是手工定位。zslocal
  • 已经查看globleplanner, movebase,navcore完毕
  • 继续查看代码,分析出需要修改的地方,和怎样修改。
  • 为什么收不到ROSARIA的其他消息呢?
    • tf的原因及相关研究
  • navigation stack 的相关研究及代码修改
    • 卸载deb包,不过要返回来安装bfl第三方依赖包,后来发现编译出现问题,还是把所有依赖包安装上吧
      • sudo apt-get install ros-indigo-bfl libasound2-dev libavahi-client-dev libavahi-common-dev libcaca-dev libdbus-1-dev libpulse-dev libsdl-image1.2-dev libsdl1.2-dev libslang2-dev libwebp-dev libwebpdemux1 libasound2-doc
    • 把所有有关globalplanner 和 global costmap 有关的代码都注释
      • 因为本项目的全局规划器(语义导航模块)并未完成,所以将recovery 模块也注释掉,即不加载此模块
      • 卧槽,太TM难了,代码太多了,估计编译都通不过,更不用说调试了,而且还有四元数!!
    • 方法二:地图使用空白地图,使用假定位,自己设计全局规划器
      • 估计和上面一样难;
    • 方法三:自己从头编写zsbase
      • 但是这也得是在看懂movebase的基础上好吧!!
    • 卧槽,太难了,先花一两天时间来看代码吧!

原文地址:https://www.cnblogs.com/lizhensheng/p/11117563.html

时间: 2024-11-29 12:27:48

4.9-移动,避障与导航的相关文章

SLAM+语音机器人DIY系列:(六)SLAM建图与自主避障导航——3.ros-navigation机器人自主避障导航

摘要 通过前面的基础学习,本章进入最为激动的机器人自主导航的学习.在前面的学习铺垫后,终于迎来了最大乐趣的时刻,就是赋予我们的miiboo机器人能自由行走的生命.本章将围绕机器人SLAM建图.导航避障.巡航.监控等内容展开.本章内容: 1.在机器人上使用传感器 2.google-cartographer机器人SLAM建图 3.ros-navigation机器人自主避障导航 4.多目标点导航及任务调度 5.机器人巡航与现场监控 3.ros-navigation机器人自主避障导航 前面的学习教程打好

具有避障和寻线功能的Arduino小车

标签:  Arduino  乐高  机器人 创客对于成年人来说,多半是科技娱乐,或者是一种是一种向往科技的人生态度,总是希望自己不仅可以看到或者听到科技的资讯,还希望能够亲身制作科技玩意,从而更好地体验科技. 说到科技娱乐,也就是做东西,不需要什么指标,高兴即可,所以做些容易的,也是OK的.这次带来的作品又是Arduino与乐高结合的小车,小车具有简单的避障和寻线功能. 避障传感器是夏普GP2Y0A21红外测距传感器,它是模拟量传感器,该传感器测距范围为10cm~80cm.Arduino模拟量信

[TPYBoard - Micropython 之会python就能做硬件 9] 五分种学会用TPYBoard V102 制作避障小车(升级版)

转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 感谢山东萝卜电子科技公司授权 一.实验器材 1.TPYboard V102板  1块 2.电机驱动模块L298N   1个 3.电机 2块 4.小车底盘 1个 5.超声波模块 1个 6.舵机 1个 7.SG90舵机支架 1个 8.超声波云台支架 1个 二.超声波模块 1.什么是超声波模块 超声波传感器是利用超声波的特性研制而成的传感器, 它是通过传送一个超声波(远高于人的听觉范

ROS(14)----局部避障的动态窗口算法(DWA)

Dynamic Window Approach(DWA)是重要的局部轨迹规划算法,ROS中使用了DWA算法获得了很好的局部路径规划的效果.这里收集了些很不错的资料. 参考资料: [1]. 机器人局部避障的动态窗口法(dynamic window approach)(*****) [2]. Autonomous Robot Navigation [3]. Circular Motion in 2D for graphics and robotics [4]. A Tutorial and Elem

2016山东省机器人比赛避障组小结

前言: 2016山东省机器人比赛差不多过去一年了,及时总结一下,给后来人一些经验,下文基本没有逻辑,全凭回忆,仅供参考,抛砖引玉. 比赛时间: 务必在7.10日之前完成报名,加入2017山东省机器人比赛官群和山科大机器人比赛官群,并及时确认报名是否完成.校赛2016年是国庆回来之后的第一个周,2016省赛好像是国庆一个月之后,可以看官方报名通知. 比赛准备: 工具:尖嘴钳.螺丝刀.万用表.剥线钳.电烙铁.焊锡等等 材料:常见的电阻电容等元器件.合适的电机.小车后轮(推荐跟买的电机配套的,务必要大

ROS Navigation 局部避障的动态窗口法(DWA)

耳熟能详的局部避障动态窗口法(Dynamic Window Approach) 概述:机器人局比避障规划方法有很多,ROS中主要采用的是动态窗口法(和原来的论文中的dwa方法不一样).动态窗口法主要是在速度(v,w)空间中采样多组速度,并模拟机器人在这些速度下一定时间内的轨迹.在得到多组轨迹后,对这些轨迹进行评价,选取最优得轨迹所对应的速度来驱动机器人运动.该算法的图书店在于动态窗口这个名词,它的含义是依据移动机器人的加减速性能限定速度采样空间在一个可行的动态范围. 1.机器人运动模型 见本博客

项目:连线的避障实现

转自:http://blog.csdn.net/li_canhui/article/details/6798380 先看看gef进阶的router部分:http://www.ibm.com/developerworks/cn/opensource/os-ecl-gef/part2/index.html ConnectionRouter(连线路由器) 图形之间连线的路线,是由连线路由器来决定的.在Shapes Examples中,使用了最短路径路由器,这个路由器会帮我们绕开图形之间的障碍,选择一条

【无人驾驶技术揭秘】从机器学习角度揭秘学习型避障小车的设计思路

FF91于2017年1月4日在美国拉斯维加斯成功首发,拉开了互联网生态电动汽车的序幕.自动泊车使得停车也成为了一种享受,新手司机再也不用担心该如何见缝插针了.但是如果在车水马龙的繁忙环境下,无人驾驶还能得心应手吗? 项目综述 整个项目由三个部分组成: 1. 训练场设计 包括:随机障碍,固定障碍,边界碰撞检测 2. 汽车模型 包括:传感器,规则学习 3. 学习的算法 包括:基于表的算法和基于神经网络的算法 阅读全文:http://click.aliyun.com/m/9407/

红外避障模块的接口

这是最简单的GPIO接口模块之一.三个引脚,VCC/GND/OUT.声称支持3.3-5V,检测距离2-30cm.输出仅2个状态:有障碍或无障碍.当检测到障碍物时OUT脚输出低电平.上面有个电位器,可用以调整检测距离,例如,我试着把它调整到约3cm,这时完全检测不到黑色表面.这样就可以用来检测黑白线,用作机器人循迹.但是注意,即使是黑色表面,如果是光亮的,红外线仍会被反射,因此还是会检测到障碍物. 使用前可先调整好检测距离.模块上有一个输出指示LED,有障碍物时亮起(还有另外一个LED是电源指示)