Skip to content

Crazyflie modification to airship using balloon. Mainly Instructions on Installation & Usage

Notifications You must be signed in to change notification settings

tau-adl/Crazyballoon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 

Repository files navigation

Crazyballoon

Crazyflie modification to airship using balloon. Mainly Instructions on Installation & Usage.

Mechanics and Electronics

Design files for both ECAD & MCAD can be found on this repository . Assembly and more can be found in the final project paper paper in this repo

Crazyfile Firmware

In order to fly the airship, a modified version of the firmware is needed.

Instructions

The modified firmware, along with enviroment setup can be found on this repository .
For some python utility scripts (and for cfclient) it is required to install cfclient/cflib. Installation Instructions can be found on the repo README.(preferably should go with pip3 installation - use version 2019.9.1 and 0.1.8 respectively)

Compilation & Flashing

Start & update git-submodules:

git submodule init
git submodule update

Checkout the Flight-tests branch. and complie using:

make clean
make all PLATFORM=cf2b

To flash the cf using the radio:

make cload

Setting Parameters

Set the parameters for the firware using the updateParameters.py utility within the testScripts folder (has usefull python utils). Once the crazyballon is on, run the following depending on your configuration:

For a non-camera configuration:

python3 updateParameters.py params_without_camera.json

For a camera configuration:

python3 updateParameters.py params_with_camera.json

Testing Hover

For testing a takeoff & hover use the following (also in testScripts)

python3 flightTimeTest.py

flightTimeTest.py may be used as a base for other flight tests as it has all the basic framework for starting off.

Note that the CF address is hardcoded within the python scripts and may require modification

SLAM Integration

The SLAM integration requires the installation of a camera on the airship along with a reciever connected to the PC. The Software requires a ROS enviroment and a catkin workspace. To set these up, follow instruction here and here.

Installation

Cloning Required Repos

The following ros packages are required in the same workspace for the demo:

  • usb_cam : used for streaming images from the reciever to a ROS topic. Can be found here.
  • crazyflie_ros: used for communication with the crazyfile. Can be found here.
  • orb_slam_2_ros: implementation of the ORB SLAM 2 algorithm and linked to a ROS enviroments. Can be found here.

Please clone them into your catkin workspace (under /src) and init+update any required git submodules. Install any dependencies required listed in the respective repo's READMEs'.

python dependencies

install the following dependencies using pip:

  • scipy

Building workspace

Finish-off by building your catkin workspace using (from within the workspace top-level):

catkin_make

Overlay the workspace using:

source Devel/setup.sh

We are now ready to start up all the ROS nodes and ROS core.

Usage

The demonstration script shows a Takeoff and calibration sequence (more info on the calibration and TF can be found in the final project paper).

update usb_cam launch file

launch the usb_cam demo launch file usb_cam-test.launch after editing the pixel format

<param name="pixel_format" value="mjpeg" />

In seperate shells start the following:

  • Start by starting ROSCORE: roscore
  • Launch the usb_cam node: roslaunch usb_cam usb_cam-test.launch
  • Start the demo using: roslaunch crazyflie_demo crazy_bal_demo.launch

The demo script will start the orb_slam_2 node once in the air using a launch file in the orb_slam_2_ros package. The script automatically uses:

roslaunch orb_slam2_ros orb_slam2_crazybal_mono.launch

The launch file uses the config file (contains camera calibration that might need to be adjusted) found in
- orb_slam2/config/crazybal_camera.yaml in the ORB_SLAM_2 ROS package repo.

About

Crazyflie modification to airship using balloon. Mainly Instructions on Installation & Usage

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published