gogochiou / NTHUproject_ws

NTHU Graduation Project

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Robotic with SCARA and Omni-wheel

Contributor : guanlunLu, Frank-Jhang, gogoChiou, LouisQAQ

  此 project 是我們四人在 NTHU PME 的畢業專題研究題目,主旨在實現一套完整且高效率的移動機器人系統。在實作上,採用3WD Omni萬向輪底盤,上方搭載五連桿式的雙臂SCARA機械手臂,並使用STM32做為控制晶片,搭配ROS架構進行定位導航及視覺辨識的開發與驗證。


基本使用

  • Nano ( 機器人搭載的微電腦 )

    • 開啟 Lidar 、 Realsense 、 通訊 、 其他子程式

      roslaunch robot_main nano.launch
      
  • 本機電腦 (個人配置 Master 於本機電腦)

    • 開啟 mainrviz & gui

      roslaunch robot_main robot_main.launch
      
    • 開啟導航 node

      roslaunch robot_nav_node robot_nav.launch
      
    • 開啟手臂 node

      roslaunch robot_arm robot_arm.launch
      

Package 概略介紹

主程式與GUI

used packages :
 :heavy_check_mark: robot_main
 :x: robot_gui

  • robot_main

      作為 agent 管理 navigation 以及 arm 這兩個系統運行的工作。負責告知後兩者執行的任務,並藉由回傳的資訊得知運作情形。

    此部分包含三個重要程式 :

    1. rviz_panel plugin (gui)

      使用 QT 函式庫,因為 rviz 也是建基於 QT 的,我們可以使用 plugin 的方式,將自定義的介面( 或 gui )放入 rviz 中。

      圖形化介面可幫助我們知道程式運行的資訊,並且也可以操作介面上的按鍵,幫助我們快速地發布指令給程式。

    2. main node

      主要管理 navigationarm 的程式。

    3. invoke_camera

      此節點作用為在機器人運行到特定情形時,喚醒 pcl.launch ,開啟顏色辨識的節點。因 pcl 節點放置於 Nano 上,所以 invoke_camera 也必須運行於 Nano 上 ( 較簡單處理 )。

  • robot_gui ( 恩對,他目前沒用! )

    因為考慮到 rviz_panelplugin 程式只有一個,單獨分離成一個 pkg 有點冗,應該算是依附於 main 的工具。此 GUIpkg 本來是想撰寫建基於 kivyMD 之上的圖形化介面程式,但剛起步就胎死腹中,看未來有沒有機會...,或是之後會改成 QT ,畢竟個人比較常寫 C++ ,且 python 的版本問題我不太會處理。

About

NTHU Graduation Project


Languages

Language:Makefile 51.3%Language:C++ 22.3%Language:CMake 11.6%Language:Python 6.9%Language:Common Lisp 4.9%Language:JavaScript 1.9%Language:C 0.8%Language:Shell 0.2%Language:TeX 0.0%