Giter VIP home page Giter VIP logo

vapaacruiser's Introduction

田間巡航艦

簡介

田間巡航艦是繼土砲一號後另一個農業機器人專案,主要用來實驗在田間巡航的技術可行性,以及用自己的屍體展示地雷在哪裡。

田間巡航艦與土砲一號的架構/功能差別如下:

  • 以市售遙控賽車車體為基礎,沒有機器手臂
  • 使用24V鋰電池供電系統(5V電力系統已推不動這麼大台的車子)
  • 用STM32控制板取代Arduino,整合感測器與馬達控制
  • 用Jetson nano取代Raspberry pi,讓物體偵測可以直接在板端運行
  • 從板端提供網頁介面,讓其他裝置可(從內網)透過網頁看車子狀態並控制車體運行
  • 實作三種控制模式,除遙桿控制外,也測試了跟隨模式和自動巡航模式
  • 提供網頁介面讓使用者設定巡航路線
  • 整合gps和超音波測距做自動巡航
  • 整合相機校正程序做apriltag 3d定位
  • 整合realsense depth camera
  • 整合yolov4,yolov5物體偵測
  • 可從車體上傳影像到群眾標註,讓社群產生資料集供後續訓練

操作Demo

  • 手動模式

    手動模式

  • 跟隨模式

    跟隨模式

  • 建立巡航路徑

    建立巡航路徑

  • 自動模式 - 定點測試

    自動模式 - 定點測試

    • 本專案因軟硬體架構的運算能力/頻寬限制/加減速反應等因素,車體定位功能很容易迷失方向,因此無法實際在室外做自動巡航。(詳情請見下方的「已知問題」)
  • YoloV4物體偵測(使用yolov4-tiny.weights)

    YoloV4物體偵測

  • YoloV5物體偵測(使用yolov5s.pt)

    YoloV5物體偵測

  • 物體偵測整合深度資訊

    物體偵測整合深度資訊

  • 上傳群眾標註

    上傳群眾標註

相關文件

資料夾結構

  • nano
    • ros_ws/: ros workspace,放車體主程式
    • py3_ros_ws/: 使用python3的ros workspace,放YoloV4、YoloV5物體偵測程式
    • web/: 放控制車體的網頁程式
    • *.sh: 執行車體程式
    • experiment/: 開發時測試用的程式
  • stm32/VapaaCruiser
    • VapaaCruiser.ioc: STM32Cube檔,設定控制板腳位
    • Src/: 控制板主程式
    • Inc/: 由STM32Cube產生的include檔
    • Drivers/: 由STM32Cube產生的STM32硬體函式庫
    • MDK-ARM/: 由STM32Cube產生的Keil uVision專案,在windows開發時可用
    • STM32CubeIDE/: 由STM32Cube產生的STM32CubeIDE專案,在ubuntu開發時可用
    • TrueSTUDIO/: 由STM32Cube產生的TrueSTUDIO專案,在ubuntu開發時可用
    • Makefile: 由STM32Cube產生的Makefile,在nano開發時可用

特別感謝

  • 感謝Lock出借車體、控制板、電池、Realsense D435、Jetson nano
  • 感謝哈爸提供韌體開發技術指導
  • 感謝Victor提供STM32技術指導
  • 感謝CH YoloV4、Yolov5技術文章與開源工具

vapaacruiser's People

Contributors

aga3134 avatar

Stargazers

raozhufa avatar  avatar  avatar

Watchers

James Cloos avatar  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.