All Projects → Hypha-ROS → Hypharos_ardrone_navigation

Hypha-ROS / Hypharos_ardrone_navigation

Licence: apache-2.0
ARDrone autonomous indoor navigation by integrating lsd-slam with imu through least square method

Labels

Projects that are alternatives of or similar to Hypharos ardrone navigation

Joctomap
Java/Android wrapper for Octomap: an octree-based mapping library
Stars: ✭ 11 (-74.42%)
Mutual labels:  ros
Ros yolo as template matching
Run 3 scripts to (1) Synthesize images (by putting few template images onto backgrounds), (2) Train YOLOv3, and (3) Detect objects for: one image, images, video, webcam, or ROS topic.
Stars: ✭ 32 (-25.58%)
Mutual labels:  ros
Ros openpose
ROS wrapper for OpenPose
Stars: ✭ 39 (-9.3%)
Mutual labels:  ros
Ds4 driver
DualShock 4 driver for ROS
Stars: ✭ 28 (-34.88%)
Mutual labels:  ros
Rc car ros
ROS package to control an autonomous RC vehicle based on Raspberry Pi3
Stars: ✭ 30 (-30.23%)
Mutual labels:  ros
Point Cloud Filter
Scripts showcasing filtering techniques applied to point cloud data.
Stars: ✭ 34 (-20.93%)
Mutual labels:  ros
Quickmcl
QuickMCL - Monte Carlo localisation for ROS
Stars: ✭ 24 (-44.19%)
Mutual labels:  ros
Neo simulation
Package to simulate Neobotix robots
Stars: ✭ 41 (-4.65%)
Mutual labels:  ros
Dodo detector ros
Object detection from images/point cloud using ROS
Stars: ✭ 31 (-27.91%)
Mutual labels:  ros
True artificial intelligence
真AI人工智能
Stars: ✭ 38 (-11.63%)
Mutual labels:  ros
Hdl graph slam
3D LIDAR-based Graph SLAM
Stars: ✭ 945 (+2097.67%)
Mutual labels:  ros
Msckf vio
Robust Stereo Visual Inertial Odometry for Fast Autonomous Flight
Stars: ✭ 954 (+2118.6%)
Mutual labels:  ros
Openni2 camera
ROS wrapper for openni 2.0
Stars: ✭ 36 (-16.28%)
Mutual labels:  ros
Ros Academy For Beginners
中国大学MOOC《机器人操作系统入门》代码示例 ROS tutorial
Stars: ✭ 861 (+1902.33%)
Mutual labels:  ros
Bebops
BebopS aims to simulate the behavior of Parrot Bebop 2 by using SIL methodologies
Stars: ✭ 40 (-6.98%)
Mutual labels:  ros
Tianbot racecar
DISCONTINUED - MIGRATED TO TIANRACER - A Low cost Autonomous Driving Car Educational and Competition Kit
Stars: ✭ 26 (-39.53%)
Mutual labels:  ros
Invite Robotics
Integration of Motoman CSDA10f dual arm robot with ROS, Moveit and Gazebo, with aims of creating a robotics developing platform for Invite GmbH, pre-configured to be simple to use and learn.
Stars: ✭ 32 (-25.58%)
Mutual labels:  ros
Ros docker
Docker images for ROS master, bridge and nodes
Stars: ✭ 43 (+0%)
Mutual labels:  ros
Openre
HandsFree OpenRE Tutorial
Stars: ✭ 41 (-4.65%)
Mutual labels:  ros
Pendulum
ROS, ROS2, real-time, control, pendulum
Stars: ✭ 37 (-13.95%)
Mutual labels:  ros

Ardrone indoor slam and navigation

This repository was officially forked from jim1993 (HaoChih, Lin)'s repo, named "Ardrone_indoor_slam"
Website: https://github.com/jim1993/Ardrone_indoor_slam
The demo video: https://youtu.be/r9LegSK6MfU
Original repo: https://github.com/jim1993/Ardrone_indoor_slam

Purpose of this package

The goal of this forked version is to update and maintain the original version with the help of HyphaROS Workshop.
This repo simplified and arranged the source code form origin version which developed by Lin. However, those packages including tum_ardrone and lsd_slam are kind of out of date. Since there are more efficient algorithm can be applied in this project now, We will continue improving the repo in the future.

Concept & Architecture

Medium Notes (by Kung): https://medium.com/@k3083518729/ardrone-indoor-slam-navigation-eec3812581dd

Maintainers & Developers

The major maintainers of this repo are:
*PouChun, Kung ([email protected])
*HaoChih, LIN ([email protected])

If you have any question, please do not hesitate to contact us!

Installation

This project uses recursive least square algorithm to caculate the transfer function of tum_ardrone/pose (in real size) and LSD_slam/pose (nonscale). After recursive least square converges completely, we used this transfer function to convert nonscale point cloud map from LSD_slam to real world's map which is used for navigation.

(Because there are some modifications in ardrone_autonomny, tum_ardrone and LSD_slam source code, we compressed them to .zip files. You can easily use them after decompressing and compiling directly, but don't forget to install the dependences of them.)

Operation

1. tum_ardone

(https://github.com/tum-vision/tum_ardrone)

$ roslaunch tum_ardrone ardrone_driver.launch

connect our computer to ardrone

$ roslaunch tum_ardrone tum_ardrone.launch

Initial PTAM and ensure pose estimate is correct (first fly up 1m and then down 1m to facilitate a good scale estimate).

2. lsd_slam

(https://github.com/tum-vision/lsd_slam)

$ rosrun lsd_slam_viewer viewer
$ rosrun lsd_slam_core live_slam image:=/ardrone/front/image_rect camera_info:=/ardrone/front/camera_info

Ensure pose estimate is correct.

3. hypharos_ardrone

(https://github.com/Hypha-ROS/hypharos_ardrone_navigation)

$ rosrun hypharos_ardrone conversion

Do conversion. Flying Ardrone around (up, down, left, right, forward, backward, and slight yaw rotation) until dq and dx values converge completely (with steady dq and dx values), press "l" to lock them, and press "p" to publish point cloud.(in conversion node)

$ roslaunch ar_drone_moveit demo.launch

Launch Moveit. After octomap display in Moveit, you can start path planning with motion planner.

$ rosrun hypharos_ardrone ardrone_controller

Press "p" and "s" to let Ardrone follow the path.

rqt node graph 

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].