Skip to content

jcwalmsley/clever

 
 

Repository files navigation

CLEVER

CLEVER drone

CLEVER (Russian: "Клевер", meaning "Clover") is an educational programmable drone kit consisting of an unassembled quadcopter, open source software and documentation. The kit includes Pixhawk/Pixracer autopilot running PX4 firmware, Raspberry Pi 3 as companion computer, a camera for computer vision navigation as well as additional sensors and peripheral devices.

Copter Express has implemented a large number of different autonomous drone projects using exactly the same platform: automated pizza delivery in Samara and Kazan, coffee delivery in Skolkovo Innovation Center, autonomous quadcopter with charging station for site monitoring and security, winning drones on Robocross-2016 and Robocross-2017 competitions and many others.

The main documentation is available on Gitbook.

Use it to learn how to assemble, configure, pilot and program autonomous CLEVER drone.

Raspberry Pi image

Preconfigured image for Raspberry Pi 3 with installed and configured software, ready to fly, is available in the Releases section.

Build Status

Image includes:

  • Raspbian Stretch
  • ROS Kinetic
  • Configured networking
  • OpenCV
  • mavros
  • Periphery drivers (pigpiod, rpi_ws281x, etc)
  • CLEVER software bundle for autonomous drone control

API description (in Russian) for autonomous flights is available on GitBook.

Manual installation

Install ROS Kinetic according to the documentation, then create a Catkin workspace.

Clone this repo to directory ~/catkin_ws/src/clever:

cd ~/catkin_ws/src
git clone https://github.com/CopterExpress/clever.git clever

All the required ROS packages (including mavros and opencv) can be installed using rosdep:

cd ~/catkin_ws/
rosdep install -y --from-paths src --ignore-src

Build ROS packages (on memory constrained platforms you might be going to need to use -j1 key):

cd ~/catkin_ws
catkin_make -j1

To complete mavros install you'll need to install geographiclib datasets:

curl https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh | sudo bash

You may optionally install udev rules to provide /dev/px4fmu symlink to your PX4-based flight controller connected over USB. Copy 99-px4fmu.rules to your /lib/udev/rules.d folder:

cd ~/catkin_ws/src/clever/clever/config
sudo cp 99-px4fmu.rules /lib/udev/rules.d

Alternatively you may change the fcu_url property in mavros.launch file to point to your flight controller device.

Running

Enable systemd service roscore (if not running):

sudo systemctl enable /home/<username>/catkin_ws/src/clever/builder/assets/roscore.service
sudo systemctl start roscore

To start connection to SITL, use:

roslaunch clever sitl.launch

To start connection to the flight controller, use:

roslaunch clever clever.launch

Note that the package is configured to connect to /dev/px4fmu by default (see previous section). Install udev rules or specify path to your FCU device in mavros.launch.

Also, you can enable and start the systemd service:

sudo systemctl enable /home/<username>/catkin_ws/src/clever/deploy/clever.service
sudo systemctl start clever

License

While the Clever 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.

About

Software, RPi image and docs for CLEVER drone kit

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 48.7%
  • Python 18.1%
  • Shell 12.1%
  • JavaScript 7.8%
  • CMake 6.3%
  • Swift 2.1%
  • Other 4.9%