All Posts (11086)

Sort by
3D Robotics

It doesn't just do image processing, but actually computes the trajectory of the camera in post and calculates a shake-free video from that. Really impressive work from Microsoft Research, which they call "Hyperlapse" (because it is a combination of time lapse and hyperpath finding). With a drone, where the path is already known, you could possibly do this in real-time: stabilization without a gimbal.

We present a method for converting first-person videos, for example, captured with a helmet camera during activities such as rock climbing or bicycling, into hyperlapse videos: time-lapse videos with a smoothly moving camera. 

At high speed-up rates, simple frame sub-sampling coupled with existing video stabilization methods does not work, because the erratic camera shake present in first-person videos is amplified by the speed-up. 

teaser_recon.jpg
Scene Reconstruction
Our algorithm first reconstructs the 3D input camera path as well as dense, per-frame proxy geometries. We then optimize a novel camera path for the output video (shown in red) that is smooth and passes near the input cameras while ensuring that the virtual camera looks in directions that can be rendered well from the input.
Next, we compute geometric proxies for each input frame. These allow us to render the frames from the novel viewpoints on the optimized path.
teaser_proxy.jpg
Proxy Geometry
teaser_stitched.jpg
Stitched & Blended
Finally, we generate the novel smoothed, time-lapse video by rendering, stitching, and blending appropriately selected source frames for each output frame. We present a number of results for challenging videos that cannot be processed using traditional techniques.


We are working hard on making our Hyperlapse algorithm available as a Windows app.
Stay tuned!


icon_paper.png Technical paper
PDF (35.0 MB)
icon_supplementary.png Supplementary Material
Click here
Read more…

Sense and Avoid Explained

With the recent addition of ADSB support in Mission Planner and the discussion about feeding data from a drone into a 'national feed' there has been much excitement about the possibilities in the future.

This video is a great explanation about the challenges we face with sense and avoid using existing technology and then also goes into some exciting research that the author Bruce Simpson is working on involving passive radar technology.

Bruce has been in the UAV game for a long time and while I am not affiliated with him in any way, his material and youtube reviews are very interesting.

Read more…

HK NEO-7M GPS with compass for around $33.

http://www.hobbyking.com/hobbyking/store/__55558__Ublox_Neo_7M_GPS_with_Compass_and_Pedestal_Mount.html

55558.jpg

Features:

• uBlox Neo-7M module
• 56-channel 
• GPS L1 C/A, GLONASS L1 FDMA
• QZSS L1 C/A
• Galileo E1B/C
• SBAS: WAAS, EGNOS, MSAS
• 10Hz update rate
• 25x25x2 Ceramic patch antenna
• Rechargeable 3V Backup battery
• Low noise 3.3V regulator
• I2C EEPROM storage
• Power and fix LED’s
• Pedestal Mount/Case
• Pixhawk/PX4 compatible
• LNA MAX2659ELT+
• Pre-configured 38,400 Baud and prams 

Specs:
Size: 60x11.5mm
Mount: 140mm length
Cable length: 200mm
Weight: 26g
Connection: Compass 4 pin/ GPS 6 pin (Pixhawk/PX4 compatible)

Thanks to  Jeff Huang for pointing out that the NEO-7M can NOT use GPS and GLONASS simultaneously, but that the u-blox 8 family of receivers will be able to use GPS and GLONASS simultaneously.

Read more…

most reliable and safest drone

3689610653?profile=original3D-model

I want to show you a really different drone with cable-strut tensile frame, distribute  flight control (each rotor has one),distribute batteries ,distribute sensors.  It targets on most reliable and safest use case,such as manned aircraft and/or fly over the crowd.

this is the prototype that can fly , its power-supply\control\sensors have not been fault-tolerant yet.

3689610627?profile=original

Read more…
3D Robotics

3689610532?profile=originalWe've covered most of these already here (and our Droneshare uses the MapBox No-fly Zone data), but good to see mainstream press picking up on the potential of collaborative drone mapping projects.  Here's the LA Times.

With the proliferation of these privately operated drones, several online map projects have been launched. One of them allows users to see the world, another to survey disaster areas –  if only through shared drone footage – while a third helps hobbyists and others keep track of where they can and can’t fly.

TravelByDrone.com lets users who upload drone videos to YouTube and Vimeo drop a virtual pin on a map to show where their footage was recorded. Red dots indicate places where multiple pins have been dropped.

Jan Hiersemenzel, the Switzerland-based creator of the site, said it provides a "drone view" -- something between

Google's Street View and a satellite image -- letting visitors travel virtually to anywhere they want to go. The map features crowd-sourced video from locations on every continent, including Antarctica, where polar cruise line Quark Expeditions and Paris-based Freeway Drone have flown their drones. 

Visitors to the UAViators Crisis Map can get a birds-eye view of the aftermath from disasters such as a tornado that devastated Washington, Ill., last year or a fire that tore through an apartment in San Francisco’s Mission Bay neighborhood this spring.

Like TravelByDrone, the Crisis Map uses virtual map pins to show locations reconnoitered by drones and provide links to videos. The Humanitarian UAV Network, a network of drone pilots who seek to use the technology for humanitarian missions, says the map is intended to help give “greater situational awareness” to organizations and communities in disaster areas. The site also provides pilots with a code of conduct, an operational checklist and a list of drone-makers and humanitarian organizations using UAS technology. 

Don’t Fly Drones Here, a project by mapping start-up Mapbox, charts no-fly zones for drones in the United States. The map shows places where the aircraft are not allowed nationally: over military bases, above national parks or within five miles of medium- to large-size airports.

The map doesn’t contain data on all locally restricted airspace, but the company is crowd-sourcing those details through a public repository on the code-sharing website GitHub.com.

Bobby Sudekum, an engineer at Mapbox, said the map is not likely to map no-drone zones outside the U.S. because rules vary sharply from country to country.

Hiersemenzel of TravelByDrone.com said Switzerland recently enacted rules governing drone use in response to rapid adoption of the technology there.

Unlike in the U.S., where federal rules are still forthcoming and not expected until 2015 or later, Swiss officials reacted quickly to give drone users "very clear lines -- what you can do and what you can't do," Hiersemenzel said. "Play safe and the government won't try to stop you."

Read more…

Meet prototype number 3 of SafeTdrone

A

3689610449?profile=original

Hello fellows DIYdroners,

Its been a long time since my last post and just to reintroduce myself let me point you to my first post: I was already crazy...DIYDRONES made it worst ! The story...part 1 and part 2  here.

For our fan's club of the time here is an update:

Our last CNC machined, carbon fiber prototype was a piece of art and during initial power run test a major design flaw showed itself. the center small t-rex 450 tail rotor gears were shearing shaft. We decided to upgrade to t-rex 500 tail rotor gear but it required a brand new hub design. At that time, 3D printing was the new kid on the block so I decided to drop the stress of carbon fiber CNCing and learn a new trade. WOW! I love 3D printing. Here I was again, stock in a new passion with a steep learning curve (3d drawing and the challenges of 3D printing. After countless hours of 3D printer buzzing sound and so many boxes of all kind of  failed,wrong,broken ABS parts, I would like to consider myself and intermediary to advanced 3D printer operator. So, our fully 3D printed, variable pitch, dual motor quadrotor is taking form. The project was not dead, just re-engineered. BUT... I found myself in a new project that requires a multirotor which would be safe to operate, easy to fly and easily upgradable to a more mission oriented airframe. Should I also mentioned that I like to have a WOW factor in what I built. Anyway, the variable pitch quad is resting on a shelf but won't be abandoned. Just a little delayed. You can see some pictures of it on my flickr page which I linked below.

And here a quick picture:

3689610572?profile=original

Now, I would like to introduce Prototype number 3 of my SafeTdrone.

In this video you can hear a rattle sound which I later identified has to soft propellers bending and causing tip stalls.

Before I list prototype number 3 specs, I invite you to see a video of prototype number 1 below:

SafeTdrone prototype number 3 specs:

- Modular fully 3D printed airframe

- Sunnysky X2814 1250Kv

- Castle creation talon 90 ESC

- 3 bladed Master Airscrew 9 X 7 propeller

- 3DR pixhawk, GPS, telemetry and power module

- Qty(4) battery bay with ample volume for various battery size and configuration (up to 4P configuration)

- weight without batteries: 2445g

- the approximative thrust per propulsion unit is 1.8 kg

The above video flight configuration was with Qty(2) 4s 3700 mAh zippy compact weighting 355 g each and at that time, 3 blades 9 x 5 GWS propeller were used.

Mix flight time was 6 min. down to 20 percent batteries capacity.

On a later flight, I added two dead lipo's in spare battery bays just to see the lifting capacity. At that time batteries weight would have been 1325 g for a total take off weight of 3570g . It would represented about 20000mAh of batteries capacity. The quad was able to fly and climbing was still positive although I did not flew it aggressively. Further test are coming up.

Here is a link to my flickr page where you can see other videos and some pictures:

SafeTdrone

Variable pitch Quad

Please let me know your impressions, recommendations....

Regards,

Mario

Read more…
3689610526?profile=original

UAVCAN is a lightweight protocol designed for highly reliable communication in UAV and robotic applications via CAN bus.

Its key features are the following:

  • Very low data overhead - which makes it suitable for high frequency distributed control loops.
  • Democratic network - no single point of failure.
  • Supports network-wide time synchronization with sub-millisecond resolution.
  • Allows to efficiently exchange datagrams longer than can fit a single CAN frame.
  • Publish/subscribe or request/response exchange patterns.
  • Doubly-redundant or triply-redundant CAN bus support.
  • Lightweight, easy to implement protocol (minimal sensor node can be implemented in less than 300 lines of C99).
  • Can be used in deeply embedded systems (the full featured reference implementation in C++ runs on a 32K ROM, 8K RAM MCU).
  • The specification and the reference implementation are open and free to use (MIT License).

Half a year ago, UAVCAN RFC was first announced here: http://diydrones.com/profiles/blogs/uavcan-can-bus-for-uav. Since then, UAVCAN got a complete specification and a full featured portable reference implementation in C++ for Linux and embedded systems. It's worth noting that the list of officially supported embedded platforms includes NXP LPC11C24 - a low-cost ARM Cortex-M0 MCU with an embedded CAN controller and a CAN driver, i.e. a true single-chip solution for cost-efficient CAN bus applications.

Current release is a preliminary release, which means that some aspects of the specification can be changed in a way that can break backward compatibility. The specification and the standard data type set are expected to be frozen by the end of 2014, which would make a final release. Since the final release, standard data types won't ever change at all, but new types still can be added (it doesn't break the backward compatibility).

PX4 native stack is going to be the first adopter of the protocol; currently UAVCAN support is already merged into its master branch. Also, there's a few products will be announced later this year that use UAVCAN as a primary and only communication interface. Stay tuned!

Links:

Read more…
Moderator

3689610393?profile=original

Mark Colwell made a post on G+ last night about this, Mark is one of the folks that if he says something you listen. I immediately grabbed some Beta updates and realised no aircraft would be coming past me before bed time, blast. Well its morning O clock now and the first aircraft out of Durban is on its way. In fact it rather shows the holes in airfields shown on mission planner as Durban is not there. Perhaps its time to use aviation overlays. Anyhoo

Why am I so excited about being able to display ADSB data? Well its one step in the detect sense and avoid chain. We can now tell aviation authorities that we can see ADSB equipped aircraft at range and plan our actions accordingly. Maybe one day the GCS will even take avoiding action on our behalf.

Even here in my sleepy corner of Africa high end modern light aircraft come by from time to time at low level and I see them in advance. As more aircraft are fitted or retro fitted with ADSB the sky will appear to fill.

Its cheap to do less than $30, I'm not going to go into extreme detail. There are pages of how to's out there.

First you need the receiver itself 

3689610459?profile=originalSearch for R820T and ADSB for the best near you.

Its then a matter of installing suitable free software and getting it to speak on the right port.

I use mine to both track aircraft and receive NOAA weather satellite images. The weather images are handy if you are operating miles from an internet connection and you are a cheapskate like me and don't have a sat connection.

I digress. The supplied antenna with the dongle will work locally if sited well out to more than 100km but you are better off creating a better one, again instructions all over the web. 

This http://www.rtl-sdr.com/adsb-aircraft-radar-with-rtl-sdr/ contains everything you need to get this working and talking on the right port.

Once you can see aircraft on your machine you simply tick a box in planner settings and Roberts your fathers brother.

3689610510?profile=original

What a week for APM (ADSB might have been out for a while and I missed it)

Terrain following

Transitioning VTOL code

ADSB

Feels like a leap forward.

Once you get your setup working you might want to send position reports to sites like Flightradar 24 from your fixed site. In that way a better low level picture can be built up worldwide and you can look at tracks on an app that becomes free if you are a contributor.  That's what I have been doing until now, but of course it does not work if there is no web.

Mission Planner latest download Site

Read more…
3D Robotics

3689610379?profile=originalFrom Gizmag:

Researchers from the University of North Texas (UNT) have demonstrated an unmanned aerial vehicle (UAV) capable of supplying Wi-Fi to disaster-struck areas with a range of up to 5 km (3.1 miles). The team says these figures represent a marked improvement on existing solutions and could lead to new forms of wireless communication.

"This technology would be very useful in disaster scenarios when the cell towers are down and there's no communication infrastructure," says Yan Wan, Assistant Professor of Electrical Engineering at UNT and leader of the research project.

Where typical Wi-Fi antennas have a range of around 100 m (328 ft), Wan and her team were able to extend this by developing a directional antenna. The antenna rotates to automatically align with a target, serving to better maintain a strong communications link and prevent signal disruption, but there is still some way to go before it's real-world implementation.

"In order to enable the information dissemination between the rescue teams and control centers, we need to have a structure available to make this happen," Wan says. "And this is what we're trying to provide."

The damage to the communications infrastructure that often accompanies the destruction of buildings in storm-ravaged areas makes it difficult for response teams to communicate efficiently, and to keep disaster victims informed. In the past, we have seen drones equipped with hardware to provide networks in disaster zones, though the technology developed by the UNT team is said to hold such promise that it could give rise to an entirely new breed of wireless communication.

"We cannot rely on all our communications running through the ground or satellite," explains Wan. "So if we can have this technology develop for drone-to-drone or flight-to-flight communication, we can have better sensing, better coordination and better safety."

Wan has been awarded a grant from the National Science Foundation to focus on developing this new generation of aviation systems.

Source: National Science Foundation

Read more…
3D Robotics

3689610362?profile=original

Bart Theys from the awesome vertiKUL team at University of Leuven that has been posted on here and here, was kind enough to share the code from his team's Pixhawk-based VTOL aircraft. He explains:

We used Arducopter and made a new flight mode we call ' cruise ' , this modes is the same as stabilize but when you turn a switch on the transmitter, the pitch angle gradually decreases over a period of 3 to 5 seconds. After this transition, the UAV maintains altitude and heading. The pilot ( or the traject generator ) can change the desired altitude and heading. The altitude is controlled by either increasing the thrust ( and thus speed, lift ) , or increasing the pitch angle ( larger angle of attack ). The second strategy still requires more testing. 


We had a lot of help on the forum and the mailing lists, I was mainly Menno Hochstenbach who did the work on the controller, you'll find much information if you check his topics and questions ;)

Read more…

Cutting the Red Tape

3689610319?profile=originalThere has been a lot of discussion recently over the FAA's approach to airspace integration.

A lot of people see the FAA as the enemy rather than as a partner.

I thought I would take the opportunity to share how the same problem that the USA is facing is being dealt with in New Zealand with far less angst, far more co-operation between parties and a better outcome for everyone.

New Zealand has exactly the same problem as the USA or really any country with air traffic. We have thousands of private and commercial aircraft flying around and a rapidly growing list of RPAS (here we call them Remotely Piloted Aircraft Systems, not drones) wanting to get up in the air.

In New Zealand, the Government has seen RPAS as a huge opportunity to develop and grow an export market and create a new high tech industry. The opportunities that RPAS offer our large agricultural and horticultural industries are significant. Not to mention Search and Rescue which costs the country dearly every year both in lost lives and financial expense.

Rather than squash the opportunity with regulation, the New Zealand Government wants to foster and grow it.

The Government has created an entity called Callaghan Innovation and its sole purpose is to foster and support innovation in technology based New Zealand companies. In partnership with researchers at our Universities, this organisation helps turn ideas into reality by cutting legislative red tape and connecting the people with the ideas to capital, resources and the rule makers.

In New Zealand we have two organisations that manage our air space. The CAA (Civil Aviation Authority) is the equivalent of the FAA and creates the regulations.

Airways Corporation is a Government owned, for profit 'company' that manages all air traffic (our ATC network) for the whole country.

We also have a relatively new organisation called UAVNZ. This group consists of UAV manufacturers, commercial UAV operators, military representatives and private citizens interested in flying UAV’s for recreation. Importantly, Callaghan Innovation is one of the driving forces of UAVNZ. It is free for anyone to join UAVNZ but they plan on offering additional paid services in the future.

All these parties have come together to create www.airshare.co.nz. The purpose is to develop industry guidelines in conjunction with the CAA and to organise trade shows and symposiums where all the parties can develop an integration plan together.

One of the most exciting developments is that UAVNZ is working on an interface into Airways Corporation via its website that will allow any member  (for a small fee) to be able to register their UAV flight plan with Airways Corporation. This will cause that airspace to be shut down for the duration of the RPAS flight, notifying all commercial and private aircraft to avoid the area. This will allow an operator (whether commercial, recreational or for research) to fly above the 400ft cap that is currently in place and potentially beyond line of site without having to jump through too many hoops.

In New Zealand, the CAA allows commercial operation of RPAS. There are not too many specific rules at present, however an operator should demonstrate they have a suitable level of processes and procedures in place to ensure safe operation and flights. In the future the CAA aims to better define what is required to achieve the right to operate commercially and this is being worked on in partnership with airshare.

You can currently fly a UAV in NZ without too many restrictions, so long as it is kept line of site, below 400ft and weighs less than 25kg. One off exemptions are given to fly above this altitude and beyond line of site, either by special application or by activating one of the designated UAV Danger Zones. The aim is to reduce the red tape and simplify the process of these sorts of operations.

In the future, it seems highly likely that an approved operator will be able to fly almost anywhere by registering their flight plan with Airways Corporation.
At the same time, researchers are working on what would be required (think transponders) to fully integrate RPAS into the NZ airspace.

I was at a meeting the other week for something unrelated to RPAS and it was really refreshing to hear someone from CAA talk about the huge opportunity for RPAS and how they are keen to foster growth in the industry by making the integration process simple and safe.

The FAA could learn a lot from this approach and likewise those in the USA faced with crippling rules and legislation could also learn from a partnership based approach.

We live in exciting times and with the right regulatory framework the possibilities for RPAS are limitless.

Read more…

ZERO_PID Tunes for Multirotors Part#2

Introduction

 

                From more than a month from now Aug 2014, I posted a blog titled ZERO_PID Tune for Multicopter, It was about an algorithm I developed that allows quadcopter pilot to reset Gyro PIDs to ZERO, and fly! Using this algorithm, the quadcopter was able to generate valid values for P & I, and can successfully fly, the demo was on Multiwii code. Since then I was working on enhancing this algorithm, as I discovered some opportunities for improvment.

 Multiwii_GTune1.0.2.zip

First Version Issues

                 Although as you can see in the video that quadcopter really flies, there was a devil in the details. P-factor & I-factor would saturate if you fly long enough – I discovered this later few days after the video-. Although quadcopter was safely taking off, but flying for a long time -1 to 2 min- in this mode will make P & I saturate especially if you play with sticks hard.

Another issue I have discovered in the first version was calculating I-factor assuming it is a percentage of P-factor. Although it was calculated separately from P-factor, it ended up as a percentage of P-factor.

ZERO_PID Model

 

       Although my background is engineering, but I am not a big fan of mathJ, so I started to simplify the problem as much as possible, and avoid complex math. The model depends on angular velocity of gyros only. It assumes there is no interference between different axes –which is true theoretically at least- as actual Gyro MEMS has slight interactions between axes.  

3689610228?profile=original

       First, let us start by a quad arm with a motor on it as in the figure, initially the motor is running, but you do not know if it is running fast enough to generate exact thrust to keep the arm with angular velocity zero. Again let’s assume that the motor is not producing enough thrust, so when reading the gyro we will get V1 = v1. With single value you cannot judge, you need to read two values, so you wait until the next IMU loop and read V2=v2.

       Now assume that both V1 & V2 have the same signs. This means the same direction, which is falling down –counter clockwise in the figure-.

Condition#1:     If V2 > V1 : this means the arm is accelerating and the quad in danger of flip. So let us reduce the P value by one if the difference is high enough.

Condition#2:     If V2 < V1 : this means the arm is decelerating and the quad is trying to adjust itself to reach angular velocity zero. However there is a danger here that the deceleration is so fast so that it will not only stop the arm but will move in the other direction and start oscillations. So let’s decrease P value by one if the difference is high enough.

Please note that by design, quad stability is active stability, i.e. you need to monitor and adjust to keep it stable, so whatever the P value is, it will oscillate, the idea here is the oscillation amplitude should be minimal.

Condition#3: What if V1 & V2 has different signs, i.e. our quad arm has reversed its rotation direction. This case is ignored as it will always happen due to oscillations as I mentioned in the previous paragraph. And we rely on condition 2 to minimize oscillations.    

What if the arm –in the figure- rotation direction is clockwise, in this case we are calculating the right arm that is falling down. That is why we use abs(Error) . So we always consider the falling arm.

ZERO_PID algorithm can be written now as follows:

void G_Tune (Error)  {

                If (Sign(Error) == Sign (OldError))

               {

                       If ((abs(Error) - abs (OldError)) > High_Enough _1) // we are falling down.
                      {

                           P = P + 1;
                      }

                      If ((abs(Error) - abs (OldError)) <  - High_Enough_2 ) // we may oscillate.
                     {

                         P = P - 1;
                     }

                }

               OldError = Error;

}

 

Simple :) and yet it works. Well almost :)

As we can see the above algorithm changes P-factor only. In the first version I used a parallel condition for I-factor that increases and decreases it with 0.1 steps. Later I discovered this was not the best approach.

 

Challenges

Algorithm idea looks simple; however we need to consider some points that affect the performance of the algorithm.

  1. Aerodynamic Factor:  The above algorithm updates OldError = Error, actually it is not reasonable to assume that applying the updated P factor once in the PID and read the very next value will reflect the instant correct response, we need to consider motor acceleration and deceleration, as well as frame/propellers inertia, a lot of factor that makes our assumption not solid enough.3689610274?profile=original In the first version I tried to use complementary filter, and give a large weight for the new value, however keeping the old values so that we can have idea of the average performance. However we still read the very next action and update P-factor after one read. In the latest version I have defined time_skip parameter that make sure that the algorithm is executed one time each ntimes of PID calls. See the figure, the curve are the values from gyro while the bar chart shows samples taken by the algorithm. In practice I found time_skip  from 7 to 20 i.e. 14ms to ms gives the correct response, out of this range the quad still flies but the model assumption is not valid and it either saturate or stay in Zero. For low value of time_skip it stays in zero because V2 – V1 is small and within a safe range so quad assumes that this is a normal speed. Also V2 in this case does not represent the effect of previous updated P. also when time_skip is high, quad reads random values with large difference, and in this case condition #1 wins and P saturates, also still this is a fake reading. So time_skip is a critical parameter, which works well as long as we are in this range 7 – 20.
  2. Taking-Off & Landing: When you land with your quadcopter, once the quad hit the ground –even smoothly-, you will be able to see sudden peeks on the accelerometer graph. It is more clear on the Acc-Z, and this means calculated P could be corrupted during take-off or landing especially. Handling this was relatively easy. I just added a condition not to calculate P when Thrust is less than one third throttle. So now you can land and then switch from G_Tune to ACRO mode, you don’t need to do that in the air, however you can still do it safely as in the first version.

     
  3. What is Error Input Parameter: PID takes Error as an input, error could be gyro reading as in hefnycopter firmware , or as in multiwii it is the difference between stick value and correspondent gyro, i.e. between aileron value and the x-axes gyro. In the first version as used the same Error value as in multiwii, but this was not very good, as it means that when you make sudden stick change it will give error and the algorithm will correct P accordingly, although the current P value could be enough and correct. First I tried to define high and low boundaries for Error values, but after more thinking I was convinced that we need to consider only gyro reading as an input, and leave stick for multiwii algorithm.  

     
  4. Condition #2: Please re-read that condition again “However there is a danger here that the deceleration is so fast so that it will not only stop the arm” there is a vague word “danger”. Well how can we know if the deceleration is healthy and arm is slowing down in a proper speed, or it is slowing down too fast, well I don’t J. I tried some ranges and I found thatHigh_Enough _2 should be 1.5 to 2 times larger than High_Enough _1. Lower value for High_Enough_2 will make P always ZERO which is logic. And high value of it will make P saturate as condition #2 is hardly achieved because of the large barrier value.

 

Calculating I-Factor

               

                As I mentioned in the beginning of this article, I was calculating I as a percentage of P. Well in an article about sensors & PIDs I mentioned that I component in PID for gyro is used for restoring, it acts as a memory, because it is based on many values not the most recent one as P or the difference as D. I think about I component as the DC current in a signal or as a trim in your TX. Try to fly in Acro mode with I factor equal to Zero, you will find that if you tilt your try then take your hand of the sticks it will not get back, if you add some values to I-factor, it will tend to restore itself. And this is obvious because the I-component –i.e. the integration value not the I factor value- that was accumulated to overcome your stick need to be reduced back to zero. To have this effect I used a simple average variable to calculate the average value of gyro readings in a time window, and if the value is not Zero –higher or lower than a certain range- I is incremented otherwise it is decremented.

 

A Workable Code

 

                I attached a working code, you can use it to fly in ACRO mode only, as I used other PID parameters to as ZERO_PIDs parameters in order to study the effects above.

 

                LEVEL_P: represents High_Enough _1

                LEVEL _I: represents High_Enough_2

                ALT_P: represents time_skip counts.

                ALT_I: represents number of samples used for averaging Error for calculating I factor.

Note: if you put value ALT_I = 0.01 this means actually 10, as the minimum value is 0.001 which is 1. Same for other values, for example LEVEL_P = 1.0 means 10 and value 0.1 means 1 as there is no 0.001 and this is the minimum value for P, so take care when you play with values.

 

My Samples

              These figures are taken from MultiWii EZ-GUI for 3 flights:

3689610073?profile=original

                 as we can see High_Enough_1 = 10 & High_Enough_2 = 15 works very nice. time_skip here is 10 and values that are read for averaging to calculate I-factor is 100.

                 as I increased High_Enough_2 to 20 P values started to raise, especially in the third trial where I played more aggressive with quad compared to the calm first two flights.

Final Notice

                Still everything is experimental, and try it on your OWN RISK, try to fly smoothly and dont take off suddenly, let it leave ground easy.

 Latest Code is Here

Read more…

3689610135?profile=original

The Low Orbit Helium Assisted Navigator (LOHAN) team is awaiting the arrival on Sunday of Pixhawk wrangler Linus Penzlien, and ahead of some planned tests during his visit we've knocked up a wooden platform to mount the Vulture 2 spaceplane atop a van.

Proper garden shed engineering, and here are a couple of video stills as the aircraft hit 100km/h on a first run.

3689610252?profile=original

There's more on the structure and the forthcoming Pixhawk custom mission parameters here.

Read more…
Developer

Terrain following added to APM:Plane

3689591584?profile=originalIn preparation for the upcoming APM:Plane 3.1.0 release I thought it would be useful to showcase some of the new features that have been added.

The biggest new feature in this release is automatic terrain following. That is something I have wanted to add for a long time, and it is now finally done, prompted by the need for better terrain following for the upcoming Outback Challenge 2014 competition.

How it works

Terrain following works by maintaining a terrain database on the microSD card on the autopilot which gives the terrain height in meters above sea level for a grid of geographic locations. On the Pixhawk this database is stored in the APM\TERRAIN directory on the microSD card. Unfortunately code side limitations and the lack of a microSD card mean terrain following is not available for the APM1 or APM2.

The terrain database is populated automatically by the autopilot requesting terrain data from the ground station over a MAVLink telemetry link. This can happen either during flight planning when the autopilot is connected over USB, or during flight when connected over a radio link. Once the terrain data is sent from the GCS to the autopilot it is stored on the microSD card so that it is available even when the GCS is not connected. This makes it possible for the autopilot to use terrain data to perform a terrain following RTL (Return To Launch) even when it is not able to talk to the ground station.

During flight the ardupilot code automatically reads in the needed terrain data from the microSD card into memory as the aircraft approaches a new area. It maintains an area of about 7km by 8km in memory if the default terrain grid spacing is used.

In addition to any terrain data for the immediate vicinity of the aircraft, ardupilot also asks the ground station for terrain data for any mission waypoints which are loaded, and for any rally points which are loaded. This ensures that terrain data is available on the microSD card for a whole mission even if the GCS becomes unavailable.

Terrain Following Flight Modes

In APM:Plane terrain following is available in the following flight modes:

  • RTL – Return to launch
  • LOITER – circle a point
  • CRUISE – long distance cruising
  • FBWB – speed/height maintenance
  • GUIDED – “fly to” waypoints
  • AUTO – fully autonomous missions

Use of terrain following in RTL, LOITER, CRUISE, FBWB and GUIDED modes is controlled by the TERRAIN_FOLLOW parameter. That parameter defaults to off, so no terrain following will be used in those modes by default. Set TERRAIN_FOLLOW to 1 to enable terrain following in those modes.

Use of terrain following in AUTO missions is controlled on a waypoint by waypoint basis using the reference frame of the waypoint. Normal (non terrain following) waypoints have a “Relative” reference frame, and altitudes are specified relative to the home location. Terrain following waypoints have a “Terrain” reference frame, and altitudes are relative to the ground level given in the terrain database.

Terrain Following in CRUISE mode

CRUISE mode is a flight mode which is designed for long distance flying, especially for things like FPV. When you enable terrain following with the TERRAIN_FOLLOW=1 parameter CRUISE mode will hold an altitude above the terrain rather than a barometric altitude. This allows easier flying at a set AGL altitude which makes terrain avoidance easier, and also makes it easier to stay within regulatory altitude limits.

Terrain Following in RTL mode

When you engage RTL (either as a flight mode or as a failsafe) the plane flies back to either the home location or the closest rally point. If you have TERRAIN_FOLLOW=1 then the plane will follow the contours of the terrain on the way to the RTL location, which makes RTL much safer in hilly areas.

Uses of Terrain Following

Terrain following is very useful when flying ardupilot in areas where the terrain may vary significantly. Key uses are:

  • Safe RTL. Being able to come over a hill rather than trying to fly through it when you enter RTL in a hilly area is very useful!
  • Aerial Photography. It is useful to be able to maintain a constant altitude over the ground when taking a sequence of aerial photos
  • FPV flying. When flying FPV in CRUISE mode it is useful to maintain constant height above the ground so you can spend more time enjoying the scenery and less time avoiding hills

Sources of terrain data

The ground station is responsible for providing the raw terrain data which is sent to the aircraft via MAVLink. Right now only MissionPlanner (beta version as of 6th August 2014) and MAVProxy support the required TERRAIN_DATA and TERRAIN_REQUEST messages needed for terrain following support. If you are using a different ground station then to load terrain data you will need to connect using one of the two supported ground stations to allow ardupilot to load terrain data onto your board. It typically takes around 2 minutes to load all the terrain data for a mission. Once it is loaded it is saved permanently on the microSD card.

Both MissionPlanner and MAVProxy support the global SRTM database for terrain data. That database has a global grid spacing of 3 arc-seconds (around 100 meters), but has a smaller grid spacing in some parts of the world (around 30 meters in the US). Support for other terrain databases can be added by extending the ground station code without changes to the ardupilot code.

Terrain Spacing

The ardupilot terrain code has a user settable parameter called TERRAIN_SPACING which controls the grid spacing which is used for requests for terrain data from the aircraft to the ground station. The default TERRAIN_SPACING is 100 meters, but users may set a different grid spacing for specialist applications. When ardupilot uses the terrain data it interpolates between grid points.

The amount of terrain data kept in memory is directly related to the grid spacing. If you decrease the TERRAIN_SPACING by a factor of 2 then the amount of terrain area kept in memory is reduced by a factor of 4. It is recommended that you use a TERRAIN_SPACING of at least 30 meters to prevent the aircraft running off the side of a grid in flight and not having data available.

If the ground station does not have terrain data available at the resolution requested by the aircraft then the ground station will interpolate as necessary to provide the requested grid size.

Terrain Accuracy

The accuracy of the SRTM database varies over the surface of the earth. Typical accuracy is around 10 to 20 meters, although some areas are worse. This makes terrain following suitable for aircraft that are flying at altitudes of 60 meters or more. Using terrain data for low flights is not recommended.

Setting up for terrain following

To setup your fixed wing aircraft for terrain following follow these steps

  • make sure you have APM:Plane 3.1.0 or later loaded
  • make sure you have the latest MissionPlanner installed (latest beta version as of August 2014)
  • set TERRAIN_ENABLE to 1 and TERRAIN_FOLLOW to 1
  • connect to your vehicle over USB when you have GPS lock
  • check the FlightData->Status page in MissionPlanner and look for the terrain status data:

MP-terrain

When the autopilot has finished loading terrain data you should see “ter_pend” goes to zero and the current terrain altitude in meters showing up in “ter_alt”. The “ter_pend” value is the number of terrain blocks that the autopilot is waiting to load from the ground station.

Terrain Lookahead

The terrain following code “looks ahead” of the current position along the flight path to try to ensure that the aircraft climbs soon enough to avoid upcoming terrain. The amount of lookahead is controlled by the TERRAIN_LOOKAHD parameter, which defaults to 2000 meters. The lookahead is also limited by the distance to the next waypoint in AUTO mode, so you need to ensure that you don’t have any legs of your mission which include climb rates your aircraft cannot achieve.

The climb rate used in the terrain look ahead is based on the TECS_MAX_CLIMB parameter, combined with your current ground speed.

Give it a try!

If you like the sound of terrain following then please give it a try! I've just released a 3.1.0-beta1 release that you can try now. Please let me know how it goes!

Read more…
3D Robotics

Cool Pixhawk-based VTOL aircraft

Excellent project from the University of Leuven, using Pixhawk in a VTOL design:

Meet VertiKUL, a student-designed prototype at the cutting edge of delivery drone technology

Students build drone for transporting packages

Unmanned aircraft may one day be used to deliver packages to your back patio, important documents to your lawyer or even vital organs to hospital for transplantation. Although the legal framework for ‘delivery drones’ is not yet in place, the technology – as three students of engineering science at KU Leuven show – nearly is. 

Master’s students Cyriel Notteboom, Menno Hochstenbach and Maarten Verbandt were given an unusual assignment for their master’s thesis: build a fully functioning drone. A year of intensive work later, VertiKUL made its maiden flight. The unmanned aircraft can pick up a package and deliver it to a destination up to 30 kilometres away. 

While VertiKUL is not the first delivery drone around, it does include some notable improvements compared to its older competitors.

“The first drones were designed like small helicopters. This allowed for exceptional precision but limited range and speed due to high energy needs,” says master’s student of engineering science and project member Cyriel Notteboom. “In our prototype, we combined the high speed of an airplane with the take-off and landing capacities of a helicopter.”

The drone’s four propellers provide the necessary carrying capacity during take-off and landing. To transition from vertical to horizontal motion, the drone rotates its nose 90° forward. In-air stability is ensured by the propellers, which adjust independently as needed. The wings increase energy efficiency during forward propulsion. The limited number of moving parts makes for a robust and dependable design.

The drone sets out for its destination with a charged battery and a 1-kilo package. With the help of GPS coordinates, its flies to its drop-off point – as far as 30 kilometres away. Once it has arrived at its location, it makes a careful precision landing.

Maarten: “We designed the landing system so that the drone can land very carefully and precisely. All of this happens automatically on a round landing platform. The platform is lit with LEDs to allow for nighttime landings.”

So how long before the university delivers diplomas using VertiKUL? Advisor and doctoral researcher Bart Theys: “It’s hard to say because there is still work to be done. For instance, we still need to teach the drone to adapt to changing weather conditions. In testing, we noticed that a strong wind can really play tricks on us. An automated landing in high winds is no easy task. That is the next challenge.”

“At present, delivery drones are not allowed for commercial use. Companies like Amazon are of course very interested in the technology, but there is currently no legal framework for the use of airspace. A good deal of legislation will have to be in place before your pizza can automatically delivered to your back patio. At the moment, we are focusing on the technical challenges. Thanks to the efforts of Cyriel, Menno and Maarten, we have made real progress on that front. They should be proud to call themselves Masters of Engineering.” 

Read more…

3689609963?profile=original

Hello everyone,

My name is Rusty and I am from BlueRobotics. We've spent the last nine months developing an underwater thruster for marine robotics that is high-performing, resistant to saltwater, and affordable for hobbyists. We've used it to propel a few vehicles with the APM2.6 already.

3689609935?profile=originalSolarSurfer ASV. End goal: send it autonomously from LA to Hawaii, guided by an APM2.6.

http://hackaday.io/project/1677-SolarSurfer

http://www.bluerobotics.com/solarsurfer-ocean-test-2/

https://github.com/bluerobotics/SolarSurferCore

3689609976?profile=originalROV: Six thrusters for six-degree of freedom control. Multicopter-like feedback lets it auto-stabilize and hold any orientation. It uses an APM2.6 for control and a Raspberry Pi to stream live video over an Ethernet tether.

Today we're announcing our Kickstarter campaign! You can preview the campaign here and let us know what you think.

The Kickstarter Campaign will go live on August 12th, 2014 at 8:30am Pacific.

We've been longtime readers of DIYDrones and we've built multicopters, airplanes, and lots of other robotic vehicles. We hope that the DIY robotics revolution can extend into the ocean!

I hope you will check it out and back us next week! Please let us know if you have any comments, questions, or suggestions. You can do so here, on the feedback form at the top of the preview page, or email us at info@bluerobotics.com.

You can also visit us at www.bluerobotics.com and join the new Arduboat User Group on DIYD.

Thanks!

- Rusty, Joe, and Josh from BlueRobotics

Read more…