All Projects → maggielovedd → fyp-rescue-robot

maggielovedd / fyp-rescue-robot

Licence: other
This project is my final year capstone project - A self-navigating robot for search and rescue. We build a robot in ROS and integrate several functions: self-navigation, object detection and tracking, and an Arduino board to grab simple objects. The final demostration video is shown here: https://youtu.be/2dpzOpEn4hM

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
python
139335 projects - #7 most used programming language
CMake
9771 projects
matlab
3953 projects
shell
77523 projects

Projects that are alternatives of or similar to fyp-rescue-robot

homesecurity
Security camera with Raspberry pi and NVIDIA Jetson platforms
Stars: ✭ 141 (+340.63%)
Mutual labels:  opencv-python, jetson-nano
installRealSenseROS
Install the realsense-ros library on NVIDIA Jetson Nano Developer Kit.
Stars: ✭ 27 (-15.62%)
Mutual labels:  ros-melodic, jetson-nano
JetScan
JetScan : GPU accelerated portable RGB-D reconstruction system
Stars: ✭ 77 (+140.63%)
Mutual labels:  opencv-python, jetson-nano
book-ml
書籍「今すぐ試したい!機械学習・深層学習(ディープラーニング)画像認識プログラミングレシピ」のソースコードを配布するレポジトリです。
Stars: ✭ 29 (-9.37%)
Mutual labels:  opencv-python
tf jetson nano
How to run Keras model on Jetson Nano
Stars: ✭ 67 (+109.38%)
Mutual labels:  jetson-nano
Multiple-Object-Tracking
Blob detection of multiple objects with object indexing and drawning trajectories.
Stars: ✭ 18 (-43.75%)
Mutual labels:  opencv-python
Music player with Emotions recognition
This program can recognize your mood by detecting your face and play song according your mood
Stars: ✭ 79 (+146.88%)
Mutual labels:  opencv-python
robo-playground
Games and examples built for RoboMaster EP with RoboMasterPy | 与你的大疆机甲大师愉快玩耍,基于RoboMasterPy构建
Stars: ✭ 33 (+3.13%)
Mutual labels:  opencv-python
Computer-Vision
Cool Vision projects
Stars: ✭ 51 (+59.38%)
Mutual labels:  opencv-python
summit xl sim
Packages for the simulation of the Summit XL, Summit XL HL and Summit-X (including X-WAM) robots
Stars: ✭ 32 (+0%)
Mutual labels:  ros-melodic
Sim800L-Arduino-Library-revised
HIGH SCHOOL PROJECT - The purpose of this Arduino library is to allow the use of the SIM800L module in a simple and transparent way.
Stars: ✭ 81 (+153.13%)
Mutual labels:  arduino-uno
mpu6050
MPU6050 Arduino Library
Stars: ✭ 141 (+340.63%)
Mutual labels:  arduino-uno
RedBoard
The RedBoard is SparkFun's take on the Arduino Uno. It combines the simplicity of the Uno's Optiboot bootloader (which is used in the Pro series), with the stability of the FTDI and a mini-B USB connector.
Stars: ✭ 32 (+0%)
Mutual labels:  arduino-uno
Lumos
😴 Smart Lighting for Better Sleep
Stars: ✭ 98 (+206.25%)
Mutual labels:  arduino-uno
plant-disease-classification-tf
Disease classification on different plants with using Machine Learning and Convolutional Neural Networks.
Stars: ✭ 41 (+28.13%)
Mutual labels:  opencv-python
Image-Processing
A set of algorithms and other cool things that I learned while doing image processing with openCV using C++ and python.
Stars: ✭ 29 (-9.37%)
Mutual labels:  opencv-python
easy-real-time-face-recognition-python
No description or website provided.
Stars: ✭ 30 (-6.25%)
Mutual labels:  opencv-python
velocity
Structure From Motion (SFM) for vehicle speed
Stars: ✭ 30 (-6.25%)
Mutual labels:  opencv-python
SCA-ScreenClickAi
Screen Click Ai - Old school Runescape game bot using OpenCV
Stars: ✭ 23 (-28.12%)
Mutual labels:  opencv-python
colorize-video
colorize video using publicly available neural-networks
Stars: ✭ 24 (-25%)
Mutual labels:  opencv-python

A self-navigatng robot for search and rescue

This project is my final year capstone project - A self-navigating robot for search and rescue. We build a robot in ROS and integrate several functions: self-navigation, object detection and tracking, and an Arduino board to grab simple objects. The final demostration video is shown here: https://youtu.be/2dpzOpEn4hM or https://www.bilibili.com/video/BV1fz4y1D72Y/

Overview of the project

We bought a Nano robot for SLAM from Taobao (https://m.tb.cn/h.VIjRDe7?sm=fc07a3) and then add on other functions. Most of the packages are either provided by the seller or opensource. Our contribution is mainly integrate them to perform a simplified 'rescue mission' - autonomously find and pick up a blue block and then return it to origin.

We used gampping for mapping, move_base for navigation and rosserial for linking Arduino with ROS. We intorduces three original nodes:

  • object_detection: object detection is based on color using opencv-python (path:/object detect/src/vision.py)
  • go_to_center: for object trakcing we devided the screen into nine partitions and each correspnds to a certain velocity (path:/object detect/src/go_to_center.py)
  • path_points: record the goal(search) points in navigation and publish them when appropriate (path:/huanyu_robot_start/script/show_mark.py)

The alogrithms are simple and basic since we are also ROS beginners. The robot uses Jaston Nano board as the master board and the whole project is built in ROS Melodic.

Project flow (Demo)

1.Navigation

The user need to set initial position(0) and search points(1,2,3,...). The robot navigates to the search points in order using /move_base package and search the target along the way. When target is insight (/find_blue, x=1), it stops navigation.

2.Object detection and tracking

Robot starts to approach the target and once it's ready to pick up, it activates the arduino robot arm (/grab, x=1).

3.Grasp object

After picking up the target, it judge if the object is successfully grasped by the visual feedback (/grab_finish, x=1). If the target is detected at the designated ROI, we assume this pick up task is complete.

4.Return to origin

The robot returns to the original position (0) and put down the target (/grab, x=2).

Logic flow

Project framework

Hardware and software

Design of the workflow and individual function

Rqt

Topic and Node list

Command

Step1: Generate a map

roslaunch huanyu_robot_start Huanyu_robot_start.launch
roslaunch huanyu_robot_start gmapping_slam.launch
roslaunch turtle_teleop keyboard_teleop.launch
rviz
cd robot_ws/src/hunayu_robot_start/map >> open terminal
rosrun map_server map_saver -f map_name

Step2: Rescue robot

cd robot_ws/src/huanyu_robot_start/launch gedit navigation_slam.launch >> change map filename
roslaunch huanyu_robot_start Huanyu_robot_start.launch
roslaunch huanyu_robot_start navigation.launch
rviz
roslaunch usb_cam usb_cam-test.launch
rqt_image_view
rosrun obect_detect vision.py rosrun object detect go_to_center.py
rosrun huanyu_robot_start show_mark.py
rosrun rosserial_python serial_node.py /dev/ttyUSB0

More info

Please refer to the pdf file in report folder

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].