自动驾驶小实验之Turtlebot3_Autopilot

This is the final project in the 2021 Winter Camp of Cambridge University and I am following the Prof. Thomas.

Author: Beal.MS(河明山)

Date: 2021/2/25


目标检测

该模块由训练模型和应用模型组成。 训练模型的一部分主要由Tensorflow Api支持。 初步工作是对数据集进行校准和处理,然后根据Tensorflow Api中的目标检测训练步骤完成模型训练。 应用程序模型的一部分主要由Vision文件夹中的ROS精确张量流对象检测提供。 通过调用相机数据执行模型预测,最后将目标检测结果输出到图像。


Command:

# Training the model
$ python3 object_detection/model_main_tf2.py \
--pipeline_config_path="/home/hemingshan/auto_ws/src/vision/ssd_mobilenet_v2_fpnlite_320x320_coco17_tpu-8/pipeline.config"\
--model_dir="/home/hemingshan/auto_ws/src/vision/training"\
--alsologtostderr\
$ python3 object_detection/export_inference_graph.py\
--input_type image_tensor \
--pipeline_config_path="/home/hemingshan/auto_ws/src/vision/ssd_mobilenet_v2_fpnlite_320x320_coco17_tpu-8/pipeline.config" \
--trained_checkpoint_prefix="/home/hemingshan/auto_ws/src/vision/training/checkpoint.ckpt" \
--output_directory="/home/hemingshan/model"\
# Run the file
$ roslaunch turtlebot3_gazebo turtlebot3_autorace.launch
$ rosrun tensorflow_object_detector detect_ros.py
$ rqt_image_view

调用tensorboard查看训练过程:


仿真结果:


路面检测

路面检测模块主要用于使汽车遵循交通规则以在道路范围内行驶。 此模块中有两种比较方法。 首先是使用opencv的图像处理和PID控制方法来完成模块的任务,但是通过下图,可以发现此方法将导致存在其他根据当前情况不会继续移动的路线 确定其他路线后的路线。 发生了 为了改进此方法,请调整摄像机的位置并将其对准地面,而不是像以前的方法那样面向前方,这表明摄像机的位置非常重要。


Command:

$ roslaunch turtlebot3_gazebo turtlebot3_auto.launch
$ rosrun tensorflow_object_detector detect_lane.py

第一种方法:


第二种方法:

避障

在避障算法中,仅使用激光雷达测距的原理。 识别出障碍物后,将定位特定位置,最后通过简单的A *算法预测避障路线。

The result in the simulation:


最后,贴上我的Github地址:(https://github.com/MingshanHe/Autopilot-Demo.git)
欢迎大家私信探讨
还有,我的B站上也会有有趣的实验视频更新~

自动驾驶小实验之Turtlebot3_Autopilot(Tensorflow, OpenCV, ROS, PID)相关推荐

  1. L3级自动驾驶接管实验测试平台及其应用研究

    来源:北京交通工程学会 01 前言 北京工业大学驾驶行为实验室赵晓华教授带领团队完成基于驾驶模拟技术的L3级自动驾驶接管实验测试.团队面向驾驶人和自动驾驶车辆提出自动驾驶接管实验测试研究框架,基于驾驶 ...

  2. 自动驾驶再出事!欧洲一辆自动驾驶小公交撞到行人

    [TechWeb]据国外媒体报道,近日,Navya公司的一辆无人驾驶公交车在奥地利维也纳发生事故.公交车以每小时大约12公里的速度运行,突然与一名30岁的女子相撞. 图片来源于网络 自动驾驶汽车初创公 ...

  3. 商品pid是什么意思_0基础搞懂自动驾驶传统算法与深度学习的鸿沟-PID控制算法与MLP优化方法...

    0基础搞懂自动驾驶传统算法与深度学习的鸿沟这个专题核心是要思考如何让rule-base的自动驾驶算法逐步提升为data-driven的算法,从而尽可能的提升软件的泛化性.数据驱动的逻辑代替控制,规划, ...

  4. mlp参数调整_0基础搞懂自动驾驶传统算法与深度学习的鸿沟-PID控制算法与MLP优化方法...

    0基础搞懂自动驾驶传统算法与深度学习的鸿沟这个专题核心是要思考如何让rule-base的自动驾驶算法逐步提升为data-driven的算法,从而尽可能的提升软件的泛化性.数据驱动的逻辑代替控制,规划, ...

  5. 自动驾驶仿真实验流程--以PanoSim仿真软件为例

    为帮助大家熟悉 PanoSim 仿真实验组成部分,在实际搭建并运行 PanoSim 实验之前, 请参考 PanoSim 仿真实验流程图,如图 3.5 所示. (1)WorldBuilder 图 3.5 ...

  6. 自动驾驶之车位线检测(opencv,c++)

    1.引言 近年来随着对泊车辅助系统需求的快速增长,提出了多种车位定位的方法,这些方法大致可分为4类:基于用户界面的.基于设施的.基于空闲位的和基于车位线的方法.与其他方法相比,基于车位线的方法有以下优 ...

  7. PonyAI进军自动驾驶货运,乘用无人车历史性“小马过河”

    李根 发自 凹非寺  量子位 报道 | 公众号 QbitAI 如何评价小马智行正式进军无人驾驶货运? 在上海车展现场,PonyAI的两位创始人彭军楼天城,带来了这项重要的创业新进展. 彭军说,内部一支 ...

  8. 谷歌自动驾驶正式入华,能否掀起“鲶鱼效应”?

    文章经授权转载自中国电子报(ID:cena1984) 国家企业信用信息公示系统信息显示,慧摩商务咨询(上海)有限公司(下称"慧摩") 于5月22日在上海自由贸易试验区注册成立,该公 ...

  9. 自动驾驶少了“技术偷窃”,还能玩得转吗?

    自动驾驶的"事"能算偷吗? 无论是古往今来的权谋故事.军事战争.还是商业大片之中,派遣己方人员去"敌方"卧底窃取机密总是最令看客们心惊胆战却倍感刺激的情节.近年 ...

最新文章

  1. mpp文件转换excel_怎么将pdf文件转换成excel表格格式呢?
  2. 安卓qpython怎么使用_如何使用QPython开发Android应用?
  3. mysql mariadb 选择_MariaDB 选择数据库
  4. EBS中Java并发程序笔记(1)
  5. 二分法查找(Java)
  6. 编写一个脚本,用它来操纵QTP的运行
  7. [FZYZOJ 1202] 金坷垃
  8. SAP License:制造企业信息化新动向
  9. Factorized Graph Matching
  10. C语言易混淆关键词详解-const, static, extern, typedef, 声明
  11. TASKCTL调度服务平台节点管理
  12. 【Unity 自学之路】2 - 素材编辑
  13. 计算机中心pdca,信息中心日常运维工作PDCA持续改进.docx
  14. 数码管与74HC573,74HC138电路
  15. 服务器机箱 改造 桌面,你的显卡站起来了吗?——桌面改造分享装机篇
  16. 同学录退出了历史舞台了吗?
  17. 距离盈利,B站还差几步?
  18. java 贪吃蛇 地狱模式_贪吃蛇大作战4.4.7版
  19. 为什么集群节点都是奇数
  20. autoware的icp_maching解读

热门文章

  1. 50个Pandas的奇淫技巧:向量化字符串,玩转文本处理
  2. 【广度】2017上半年互联网的风口与泡沫
  3. [Nginx]Ngnix基础
  4. odoo12 学习: 无效视图 xxxx xxxx xxxx 定义 False
  5. Java 判空工具方法大全
  6. Spark创建空的DataFrame
  7. js添加多marker 高德地图_点标记-覆盖物-教程-地图 JS API | 高德地图API
  8. 第七次ScrumMeeting博客
  9. PHP之微信头像加水印
  10. win10增加美式键盘