2020-08-28 21:32:02 +03:00
2019-12-06 21:25:19 +03:00
2018-11-28 23:05:23 +03:00
2020-04-30 03:41:14 +03:00
2019-08-19 19:18:47 +03:00
2018-12-12 04:29:14 +03:00
2020-05-01 00:39:38 +03:00

COEX Clover Drone Kit

This repository contains documentation, software platform source code and RPi image builder for COEX Clover drone kit.

COEX Clover

Clover is a PX4- and ROS-powered educational programmable drone kit consisting of an unassembled quadcopter, open source software and documentation. The kit includes Pixracer-compatible autopilot, Raspberry Pi 4 as companion computer, a camera for computer vision navigation as well as additional sensors and peripheral devices.

The main documentation is available at https://clover.coex.tech. Official website: coex.tech/clover.

Autonomous flights video

Clover Drone Kit autonomy compilation

Clover drone is used on a wide range of educational events, including Copter Hack, WorldSkills Drone Operation competition, Autonomous Vehicles Track of NTI Olympics 20162020, Quadro Hack 2019 (National University of Science and Technology MISiS), Russian Robot Olympiad (autonomous flights), and others.

Features

Prebuilt RPi image

...

Common robotics software

Prebuilt image for Raspberry Pi includes:

Software Description
Raspbian Buster
ROS Melodic Common robotics framework
OpenCV Computer vision library
mavros ROS package for communication with the flight controller
Configured networking
Periphery drivers for ROS (GPIO, LED strip, etc)
clover package for autonomous drone control
aruco_pose Package for marker-assisted navigation

QGroundControl Wi-Fi bridge

...

Easy autonomous flights programming

By using clover package, taking off, navigating and landing is just:

navigate(x=0, y=0, z=1, frame_id='body', auto_arm=True)  # takeoff and hover 1 m above the ground
navigate(x=1, y=0, z=0, frame_id='body')  # fly forward 1 m
land()

See programming documentation for further information.

Optical flow positioning

RPi based optical flow....

See details in the documentation.

ArUco markers recognizing

...

See details in the documentation.

Easy working with peripheral devices

Preinstalled package for the LED strip allows high-level control (such as rainbow effect or color fade) as well as individual LED low-level control:

set_effect(r=0, g=100, b=0)  # fill strip with green color
set_effect(effect='fade', r=0, g=0, b=255)  # fade to blue color
set_effect(effect='rainbow')  # show rainbow

Preinstalled VL53L1X rangefinder driver passes data to the flight controller automatically and allows the user to get its data:

data = rospy.wait_for_message('rangefinder/range', Range)  # get data from the rangefinder

Preinstalled fast Python GPIO library.

pi.write(11, 1)  # set signal of pin 11 to high
level = pi.read(12)  # read the state of pin 12

Simulator

Clover repository includes three simulation-related repository for Gazebo-based simulation.

Screenshot...

See details in the documentation. The simulation environment also available as a virtual machine image.

Remote control apps

Community

Clover is widely used ...

Telegram chat...

Free and open source

The Clover software bundle is free, open source, and compatible with any PX4/ROS-based drone.

Manual installation

For manual package installation and running see clover package documentation.

PX4 Dev Summit 2019 talk

Other resources

License

While the Clover platform source code is available under the MIT License, note, that the documentation is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Languages
C++ 30.6%
Python 26.4%
JavaScript 22.3%
Shell 7.1%
CMake 5%
Other 8.5%