Project Quadcopter. Construction, calibration and modification

Similar documents
A Rain Sensitive House Window Closes Automatically When Raining

SRV02-Series Rotary Experiment # 1. Position Control. Student Handout

Angle estimation using gyros and accelerometers

Angle estimation using gyros and accelerometers

Ardusat Space Program

DC-motor PID control

Digital Land Surveying And Mapping(DLS&M) Dr. Jayanta Kumar Ghosh Department of Civil Engineering Indian Institute of Technology, Roorkee

INTRODUCTION EXPERIMENTS - DISPLACEMENTS - IMAGE PROCESSING AND DECISION RESULTS CONCLUSION

Lab 3: Quanser Hardware and Proportional Control

Single pyro altimeter AltiUno SMT operating instructions

Tracking board design for the SHAGARE stratospheric balloon project. Supervisor : René Beuchat Student : Joël Vallone

MinSeg balancing using pole-placement

Multi-Sensor Fusion for Localization of a Mobile Robot in Outdoor Environments

Locating and supervising relief forces in buildings without the use of infrastructure

Lab #2: Digital Simulation of Torsional Disk Systems in LabVIEW

Calibration Routine. Store in HDD. Switch "Program Control" Ref 1/ Ref 2 Manual Automatic

Lecture 6: Control Problems and Solutions. CS 344R: Robotics Benjamin Kuipers

Multi Rotor Scalability

MEAM 510 Fall 2012 Bruce D. Kothmann

A Gentle Introduction to Reinforcement Learning

Chapter 7 Control. Part Classical Control. Mobile Robotics - Prof Alonzo Kelly, CMU RI

Homework 2: Kinematics and Dynamics of Particles Due Friday Feb 12, Pressurized tank

Experiment A11 Chaotic Double Pendulum Procedure

Control. CSC752: Autonomous Robotic Systems. Ubbo Visser. March 9, Department of Computer Science University of Miami

MEAM 510 Fall 2011 Bruce D. Kothmann

The PVTOL Aircraft. 2.1 Introduction

Data Logger V2. Instruction Manual

System identification and sensor fusion in dynamical systems. Thomas Schön Division of Systems and Control, Uppsala University, Sweden.

kiteplane s length, wingspan, and height are 6 mm, 9 mm, and 24 mm, respectively, and it weighs approximately 4.5 kg. The kiteplane has three control

Chapter 8. Feedback Controllers. Figure 8.1 Schematic diagram for a stirred-tank blending system.

Double Inverted Pendulum (DBIP)

Tile Pro Drainage Plow Instruction Manual Wayne s Inc.

DC-motor modelling and parameter identification

Developed Blimp Robot Based On Ultrasonic Sensors Using Possibilities Distribution and Fuzzy Logic

State Feedback Controller for Position Control of a Flexible Link

Developing a Scientific Theory

MULTICHANNEL NADIR SPECTROMETER FOR THEMATICALLY ORIENTED REMOTE SENSING INVESTIGATIONS

Chapter 1 Basic Characteristics of Control Systems and their Representation Process and Instrument Diagrams

Drive System report. Overview. Drive II. Drive Stereo. Current accuracy. Outlook

Laboratory 11 Control Systems Laboratory ECE3557. State Feedback Controller for Position Control of a Flexible Joint

In-Process Control in Thermal Rapid Prototyping

Centripetal and centrifugal force

VN-100 Velocity Compensation

Nonlinear Landing Control for Quadrotor UAVs

2.004 Dynamics and Control II Spring 2008

Space Surveillance with Star Trackers. Part II: Orbit Estimation

WeatherWatcher ACP. Astronomers Control Panel (V4 or >) Ambient Virtual Weather Station (Pro or Internet editions) ASCOM platform v4.

Lab 6a: Pole Placement for the Inverted Pendulum

Effect of number of hidden neurons on learning in large-scale layered neural networks

Quanser NI-ELVIS Trainer (QNET) Series: QNET Experiment #02: DC Motor Position Control. DC Motor Control Trainer (DCMCT) Student Manual

Introduction to Logarithms

Old Dominion University Physics 112N/227N/232N Lab Manual, 13 th Edition

CHALLENGE #1: ROAD CONDITIONS

Understand FORWARD COLLISION WARNING WHAT IS IT? HOW DOES IT WORK? HOW TO USE IT?

CS 387/680: GAME AI MOVEMENT

Vibration analysis of a UAV multirotor frame

Sensors Fusion for Mobile Robotics localization. M. De Cecco - Robotics Perception and Action

WSGC Collegiate Rocket Competition Design Analysis Team ChlAM. Max Strassman, Chloe Tinius, Andrew Udelhoven

MAV Unsteady Characteristics in-flight Measurement with the Help of SmartAP Autopilot

Figure 2.1 The Inclined Plane

Simple Harmonic Motion

User's Manual altimeter V1.1

Acknowledgements. Control System. Tracking. CS122A: Embedded System Design 4/24/2007. A Simple Introduction to Embedded Control Systems (PID Control)

Circular Motion and Centripetal Force

YTÜ Mechanical Engineering Department

Falling Objects. LabQuest OBJECTIVES MATERIALS PROCEDURE

MAE106 Laboratory Exercises Lab # 6 - Vibrating systems

Embedded Solar Tracking Instrumentation System

(Refer Slide Time: 00:01:30 min)

EE 474 Lab Part 2: Open-Loop and Closed-Loop Control (Velocity Servo)

Experiment # 5 5. Coupled Water Tanks

Robotics. Lecture 4: Probabilistic Robotics. See course website for up to date information.

IVR: Introduction to Control (IV)

Analysis and Design of Hybrid AI/Control Systems

Analysis of vibration of rotors in unmanned aircraft

WS-9018U Wireless Weather Station. Instruction Manual

NEW EUMETSAT POLAR SYSTEM ATTITUDE MONITORING SOFTWARE

LAB 3 - VELOCITY AND ACCELERATION

Activity P60: Inverse Square Law Nuclear (Nuclear Sensor, Rotary Motion Sensor)

CM 3310 Process Control, Spring Lecture 21

Stabilizing the Bi-copter and Controlling it using Gesture Technology

State space control for the Two degrees of freedom Helicopter

Department of Electrical and Computer Engineering. EE461: Digital Control - Lab Manual

Tribology Prof. Dr. Harish Hirani Department of Mechanical Engineering Indian Institute of Technology, Delhi

CS 387/680: GAME AI MOVEMENT

Determination of the Equivalent Weight and the K a or K b for a Weak Acid or Base

Virtual Sensor Technology for Process Optimization. Edward Wilson Neural Applications Corporation

ELEC4631 s Lecture 2: Dynamic Control Systems 7 March Overview of dynamic control systems

STEVAL-FCU001V1. Flight controller unit evaluation board for toy drones. Description. Features

Simple Harmonic Motion

Where we ve been, where we are, and where we are going next.

Experiment 1 Solutions: Equipotential Lines and Electric Fields

Arduino and Raspberry Pi in a Laboratory Setting

Paramaters. Resolution 0.2 m (for measurements < 25 meas. / sec )

Pitch Rate CAS Design Project

Lab #3: System Identification of the Torsional Disk System

Application example. Measuring Force Sensors Rigid. Six series Nano, Mini, Gamma, Delta, Theta, Omega. Range of measurement, force ± 36 N..

UNIWERSAŁ observatory dome

Dynamics Final Report

Assignment 6: A/D-Converters and PID Controllers

Transcription:

Project Quadcopter Construction, calibration and modification Felix Aller <felix.aller@iwr.uni-heidelberg.de> Roman Hable <romanhable@web.de> Robert Küchler <kuechler@stud.uni-heidelberg.de> Edward-Robert Tyercha <e.tyercha@gmx.net> February 21th 2014 Felix Aller, Roman Hable, Robert Küchler 1 / 44

Table of Contents 1 Hardware and construction Robert 2 Software, calibration & flying Felix 3 Kinect data and object detection as further goal Roman Felix Aller, Roman Hable, Robert Küchler 2 / 44

Goals Design and construction of a quadcopter Further goal: autonomous obstacle detection with Microsoft Kinect Felix Aller, Roman Hable, Robert Küchler 3 / 44

Hardware and construction

Frame AeroQuad Cyclone frame Quad X configuration Felix Aller, Roman Hable, Robert Küchler 5 / 44

New frameplates 3D-plotted Designed new frameplates More stability, replaceability Felix Aller, Roman Hable, Robert Küchler 6 / 44

Landing gear Temporarily upgraded footings New stable gear Easy replacable Felix Aller, Roman Hable, Robert Küchler 7 / 44

Motor attachement Most replaced part Motors need to be parallel to z - axis High heat development Washers used to transport heat LEDs added for orientation Felix Aller, Roman Hable, Robert Küchler 8 / 44

Motors and Electronic Speed Controllers (ESC) 4 x A2217-9 brushless motor 950 RPM/V 10x4.7 propellers 12x4.5 propellers 4 x brushless flyfun ESC 30A Felix Aller, Roman Hable, Robert Küchler 9 / 44

Battery and power distribution 3 cell LiPo battery(11.1v 25C/50C) providing 10min flighttime Power distributing to ESCs, LEDs, Arduino board and under voltage protection High resistance at clamping block Weak connection with tamiya connector Changed to traxxas connectors Felix Aller, Roman Hable, Robert Ku chler 10 / 44

Boards Hardware issues with the beagleboard Changed to RaspberryPi Felix Aller, Roman Hable, Robert Küchler 11 / 44

Boards(2) Arduino Atmega 2560 Contains the flightsoftware With attached gyro, accelerometer, barometer, ultrasound rangesensor Wireless communication attached: GPS, Xbee wireless transmitter Felix Aller, Roman Hable, Robert Küchler 12 / 44

Remote control Digital remote control Graupner MX-16S 8 channel receiver attached to the Atmega board Felix Aller, Roman Hable, Robert Küchler 13 / 44

XBee wireless transmitter XBeePro S1 Second XBee module used with USB dongle for wireless communication Felix Aller, Roman Hable, Robert Küchler 14 / 44

Software, Calibration & Flying

AeroQuad Configurator Felix Aller, Roman Hable, Robert Küchler 16 / 44

Flight Modes 1. Rate Mode Uses only gyro data to stabilize 2. Attitude Mode Uses gyro and accelerometer data to maintain level position auto level ability 3. Altitude Hold Maintain the current distance to the ground using ultrasound and barometer Felix Aller, Roman Hable, Robert Küchler 17 / 44

PID controller Proportional-Integral-Derivative controller is a generic control loop feedback mechanism Calculates error value as difference between measurement and desired setpoint Attempts to minimize that error Felix Aller, Roman Hable, Robert Küchler 18 / 44

The Proportional y(t) = K p e(t) e(t) := error K p := P-gain y(t) := correction Most obvious control parameter Calculates error at time t Gain value controls sensitivity of correction Too big values: copter starts oscillating Too low values: copter reacts too slow Felix Aller, Roman Hable, Robert Küchler 19 / 44

The Integral y(t) = K I t 0 e(r)dr e(t) := error K I := I-gain y(t) := correction Slowest control parameter Utilizes errors of the past to prevent errors in the present Can eliminate the Steady-State-Error Is somehow buggy in the AeroQuad Software Felix Aller, Roman Hable, Robert Küchler 20 / 44

The Differential Guesses the error in the future y(t) = K D d dt e(t) e(t) := error K D := D-gain y(t) := correction e (t) assumes: If the error in [t 1, t] is decreasing It will most likely decrease in [t, t + 1] We did not really modify or experiment with the standard D-gain Felix Aller, Roman Hable, Robert Küchler 21 / 44

PID controller PID-Controller = P + I + D, or y(t) = K p e(t) + K I t 0 e(r)dr + K D d dt e(t) But how did we manage to find out the correct gain parameters? Felix Aller, Roman Hable, Robert Küchler 22 / 44

PID controller PID-Controller = P + I + D, or y(t) = K p e(t) + K I t 0 e(r)dr + K D d dt e(t) But how did we manage to find out the correct gain parameters? We guessed calibrated them by in/decreasing over and over again Felix Aller, Roman Hable, Robert Küchler 23 / 44

Problems AeroQuad configurator is really really bad PID-Calibration is not self-explanatory and not well documented Configurator produces random values Can fill random values in random forms (looks intended) Save and Recall PID-calibration file function broken Only working thing is the upload button New python software to up/download calibration Even more functionality e.g. parameters to tune altitude hold Felix Aller, Roman Hable, Robert Küchler 24 / 44

Flying - Basics Raise Sink Left(Yaw) Right(Yaw) 1,2,3,4 1,2,3,4 2,4 1,3 1,3 2,4 Front(Pitch) Back (Pitch) Left(Roll) Right(Roll) 3,4 1,2 1,4 2,3 1,2 3,4 2,3 1,4 Felix Aller, Roman Hable, Robert Küchler 25 / 44

Flying - Controls Controlling all this by hand is impossible Reason that quadcopters became popular since 2000 High performance microcontrollers with gyroscope support make navigating possible In addition: Strong lithium polymer batterys Availability of small brushless motors better power-to-weight ratio Felix Aller, Roman Hable, Robert Küchler 26 / 44

Kinect data and object detection as further goal

Autonomous Obstacle Detection: Introduction Use sensor data (Kinect) to detect nearby obstacles (e.g. walls) Automatically avoid collision with them: stop or correct flight Considerations Safety: It can be turned off at any time ( manual control) Performance: The software has very limited time to decide Extensibility: Other programs might want to use the sensor data, too Felix Aller, Roman Hable, Robert Küchler 28 / 44

Autonomous Obstacle Detection: Approach Start with a simple, efficient prototype 1 (forward or stop) When things go well, implement more accurate algorithm 2 e.g. for corrections, planning ahead, temporal reasoning,... Benefits of this approach 1 as emergency stop without unexpected effects/bugs Sanity check for reference (to debug 2) Gaining knowledge, to find out which algorithm 2 will work out: How far can we go? (Performance evaluation) How does the input look like (size, distribution, extrema)? Which (optimised) functions/algorithms are already supported? Felix Aller, Roman Hable, Robert Küchler 29 / 44

ROS Framework of choice: ROS Robot Operating System Various features, e.g. 3D visualisation of sensor data Topics : message passing between processes (1 in, 0..N out) Felix Aller, Roman Hable, Robert Küchler 30 / 44

Kinect Microsoft Kinect RGB camera (640x480, 30 Hz) Depth camera (for Clouds of 3D-points) Accessable by ROS using OpenNI (Open source SDK) ROS has a Point Cloud Library Felix Aller, Roman Hable, Robert Küchler 31 / 44

Pointclouds and Downsampling Issue: analysing many points = bad performance Solution: combine similar points into one Downsampling (PCL): use centroids (= means) of Voxel grid cells Felix Aller, Roman Hable, Robert Küchler 32 / 44

Downsampling: Example Shapes remain intact Here: ca. 250.000 points reduced to ca. 74.000 points About 70% of the original points have been discarded Felix Aller, Roman Hable, Robert Küchler 33 / 44

Our Prototype Applies Downsampling Accumulates points with similar depth into the same bins Computes extrema for all dimensions (feel for data) Avoids floating-point operations: slow on RaspberryPi Felix Aller, Roman Hable, Robert Küchler 34 / 44

Our Prototype: Architecture Core: responsible for steering decisions can iterate much faster than kinect processing could incorporate other sensor data and algorithm results Felix Aller, Roman Hable, Robert Küchler 35 / 44

Our Prototype: Practical examples (1/5) Felix Aller, Roman Hable, Robert Küchler 36 / 44

Our Prototype: Practical examples (2/5) Felix Aller, Roman Hable, Robert Küchler 37 / 44

Our Prototype: Practical examples (3/5) Camera-beams are radial: dense points on objects which are closer No matter how dense a grid-cell is: only 1 centroid Close objects fewer points Felix Aller, Roman Hable, Robert Küchler 38 / 44

Our Prototype: Practical examples (4/5) Felix Aller, Roman Hable, Robert Küchler 39 / 44

Our Prototype: Practical examples (5/5) Zero points in the Pointcloud there is a minimum distance Felix Aller, Roman Hable, Robert Küchler 40 / 44

Our Prototype: Findings Few points indicate close objects Holes due to minimal distance Close objects dense points few centroids Downsampling helps a lot, but takes ca. 50ms (Desktop PC!) Bounding Box (global extrema over recording time): x, y : roughly 5 to +5 each z : 0.3915 to 9.75 ( used binsize: 10 8 = 0.125) Felix Aller, Roman Hable, Robert Küchler 41 / 44

Our Prototype: Problems Many NaN-values for Point-coordinates Filtered out by downsampling Manual filtering: (v! = v) Unstable indoor flight (until recently) OpenNI not working with ROS on RaspberryPi! stopped further development and put more focus on hardware Felix Aller, Roman Hable, Robert Küchler 42 / 44

Outlook Optimize Downsampling for RaspberryPi Avoid floating point operations Think of other methods Try out other sensors/software If things work out: implement more advanced algorithms Improve hardware even further Felix Aller, Roman Hable, Robert Küchler 43 / 44

Thank You!