目录

  • 1 智能移动机器人-基础篇
    • 1.1 第一讲 坐标变换(5课时)
    • 1.2 第二讲 ROS基本概念(3课时)
      • 1.2.1 实训
    • 1.3 第三讲-编写简单的订阅者和发布者节点(4课时)
      • 1.3.1 实训
      • 1.3.2 实训2
    • 1.4 第四讲 ROS服务及编程(2课时)
    • 1.5 第五讲 ROS坐标变换工具TF(4课时))
    • 1.6 第六讲 ROS参数及应用(2课时))
    • 1.7 第七讲 运动学模型及航迹推算(4课时)
      • 1.7.1 实训1.7.1
    • 1.8 第八讲 URDF机器人建模及应用(4课时))
      • 1.8.1 实训1.8.1
    • 1.9 第九讲 QT-ROS交互界面应用开发(4课时)
  • 2 智能移动机器人-提高篇
    • 2.1 第一讲 栅格地图及应用(2课时)
    • 2.2 第二讲 局部路径规划及避障(6课时)
    • 2.3 第三讲 运动学模型的概率表示(2课时)
    • 2.4 spark实验5-激光雷达信息处理-标定
    • 2.5 第四讲 激光雷达及其测量模型(4课时)
    • 2.6 第五讲 蒙特卡洛定位(MCL)(4课时)
    • 2.7 第六讲 并发定位与建图(SLAM)(4课时)
    • 2.8 第七讲 自主导航(6课时)
    • 2.9 第八讲 Librviz可视化应用开发(4课时)(4课时)
  • 3 实训篇-SparkT移动机器人(室内)
    • 3.1 SparkT移动机器人介绍
    • 3.2 演示视频
    • 3.3 相关工具及资料下载
    • 3.4 spark实验1-控制spark移动
    • 3.5 spark实验2-编写节点控制spark移动
      • 3.5.1 python版本
    • 3.6 spark实验3-并发定位与建图
    • 3.7 spark实验4-机器人定位与导航
    • 3.8 spark实验6-基于激光雷达的行人检测与跟踪
    • 3.9 spark实验7-机械臂抓取
    • 3.10 2023年夺宝奇兵大赛培训资料
    • 3.11 2024年夺宝奇兵半自动赛培训
      • 3.11.1 半自动赛程序设计方法2024年7月3日
    • 3.12 2024年夺宝奇兵自动任务赛培训
      • 3.12.1 代码框架(noetic版本)
      • 3.12.2 代码框架(kinetic版本)
      • 3.12.3 自动赛讲解视频2024年6月29日
      • 3.12.4 ROS下QT界面开发2024年6月30日
      • 3.12.5 目标识别与机械臂抓取7月1日
      • 3.12.6 自动赛思路讲解(2024,.7.3)结课
      • 3.12.7 基于大模型的辅助开发(python)
        • 3.12.7.1 案例1:激光雷达数据订阅与发布
        • 3.12.7.2 案例2:激光雷达与地图匹配程度计算
        • 3.12.7.3 案例3:基于Web的机器人远程控制
        • 3.12.7.4 案例4:ROS的QT界面应用开发
        • 3.12.7.5 案例5:ROS下语音识别及QT界面
        • 3.12.7.6 案例6:从摄像头获取图像数据并进行二维码识别
        • 3.12.7.7 案例7:Gazebo仿真
        • 3.12.7.8 案例8:基于RGBD的行人识别与跟踪
    • 3.13 spark实验-基于teb-local-planner的导航
    • 3.14 Spark实验-利用rf2o提高定位精度
  • 4 室外自主导航车(AGV)-实训篇
    • 4.1 AGV本体介绍
    • 4.2 实训项目1-AGV建模(URDF)
    • 4.3 实训项目2-AGV运动学模型及航迹推算
    • 4.4 实训项目3-AGV运动控制
    • 4.5 实训项目4-基于GPS的点对点导航
    • 4.6 实训项目5-基于GPS的循迹
    • 4.7 实训项目6-基于三维激光雷达(点云)的障碍物检测与避障
    • 4.8 实训项目7-基于深度相机(RGBD)的目标识别与跟踪
  • 5 智能机器人技术实践上课录屏
    • 5.1 实训项目1-2024年9月3日
spark实验4-机器人定位与导航

讲解视频:

建图、定位与导航(实验3、实验4)

实验目的:


在SLAM的基础上,对机器人在现有地图上进行定位,设定目标点后进行导航。


步骤1:开启机器人并进行连接


(0)如果机器人电量不足,请充电(用输出电压为19V充电器)


(1)开启机器人,记录其热点名称(spark-xxx)及IP地址(一般为10.42.0.1)


(2)启动笔记本或台式电脑,通过无线网卡连接机器人热点(spark-xxx)


(3)在笔记本或台式电脑上启动VNCViewer,通过机器人IP连接到机器人。


步骤2:根据实验3的步骤,建立机器人所在环境的地图,设地图文件保存在spark用户的home目录下,文件名为mymap01 (注:将保存两个文件:mympa01.yaml,mymap01.pgm)


(注:请尽可能让机器人在墙壁边上行走一段距离,便于后面的定位)


步骤3:


启动自主导航的launch文件:


roslaunch spark_navigation amcl_demo_lidar_rviz.launch camera_type_tel:=astrapro map_file:=/home/spark/mymap01.yaml


(注:其中,参数map_file的内容根据你所保存的地图文件修改)


正常启动后,将出现类似如下的界面:



步骤4:机器人初始位姿估计


根据机器人实际位置,设置其在地图上的初始位置及方向


点击2D Pose Estimate键,然后按住不松手,设置方向,如图我们已经更改了机器人到正确的初始位置。



(评判标准是:激光雷达扫描的点与地图边界重合的比较好,其中红色点为激光雷达扫描的点。


以上是手工进行的操作,如果用程序实现了,那么就实现的自主导航中我在哪里的问题!)


步骤5:选择导航目的地


设置目的地及方向,使用2D Nav Goal按钮进行设置,等待机器人进行路径规划



当出现Goal reached时,说明已经达到目的地;已完成本次自主导航任务。