All Posts (14048)

Sort by
3D Robotics

Transformer bot turns from rover to heli



From IEEE Spectrum:

Designing a robot that can traverse variable terrain usually involves a number of unsatisfactory compromises. You can go with a flying robot, which will almost never get stuck, but is of limited use in detailed sensing and can't operate for very long. Or, you can go with a ground robot, which is much more efficient, but also much more likely to run into an obstacle that it can't get around.

An ideal platform would spend most of its time on the ground but still be able to fly when it needs to, but this is a very tricky thing to make happen, since the design of something that drives is fundamentally different from the design of something that flies. Researchers from the Center for Distributed Robotics at the University of Minnesota have managed to create a single robot that can actually do this effectively.

As it turns out, it was actually more efficient to design the robot with two completely independent motor systems than to try to design a transmission that would allow the low speed wheel motors to power the rotors or vice versa. And even then, it's still extremely complicated: the rotor folding mechanism cost almost US $20,000 to create. With that in mind, future developments for this platform will focus on making things simpler, while also teaching the robot to take advantage of its hybrid nature when it comes to autonomous path planning.

The researchers -- Alex Kossett and robotics professor and IEEE Fellow Nikolaos Papanikolopoulos -- describe their work in a paper, "A Robust Miniature Robot Design for Land/Air Hybrid Locomotion," presented yesterday at the IEEE International Conference on Robotics and Automation (ICRA), in Shanghai.


3689407251?profile=original3689407370?profile=original
Read more…
Developer

Successful flight of the MAJA Drone with the ArduPilotMega

The MAJA Drone built and tested by Jean-Louis Naudin, a true UAV with full autonomous flight capabilities done on May 2011.
 
Avionic setup:
 - Ardupilot Mega (Atmega 1280 @16 MHz), 32 Mips
 - Full 9DOF IMU,
 - Built-in 16 MB Data Logger,
 - Airspeed and absolute pressure sensors (Bosh),
 - triple axis magnetometer HMC5843,
 - 10Hz Mediatek GPS.
 - Full high speed telemetry with MavLink protocol,
 - PC Laptop ground station (APM planner with Mavlink protocol from Michael Oborne),
 - Hand-held groundstation (Ardustation with embedded Ardustation protocol).
 
Firmware: APM v2.2 (modified version by JLN)
Camera: GoPro HD Wide
 
Payload: Up to 1.5 Kg (Lipo battery included)
Flight time: Up to 1 hour (depends on the Lipo capacity)

 
More infos at: http://diydrones.com/profile/JeanLouisNaudin

Read more…

3689407160?profile=original

How to setup the mode switch mixing for Turnigy 9x with ER9x

First thanks to Olivier whose post in my Futaba tute  helped me get my head around ER9x mixing.

I am an AC2 user so there may be some APM differences I have missed.

This tutorial was created using eePe v247 and ER9x r349.

I am going to assume that if you have managed to load ER9x, then you must be familiar with eePe and basic ER9x programming.

We will be using the 3 position flight mode switch and the 2 AIL D/R switch in this example to be able to get all six flight modes for the APM/AC2. We are aiming to get pulse widths of 1165, 1295, 1425, 1555, 1685, and 1815. Remember that 1815 will put APM into hardware manual because it uses the ch8 input, so you may as well assign manual mode to that position when you setup your chosen flight modes in CLI.

Use the PWM test in CLI to read the pulse width numbers for ch5 on AC2 and ch8 on APM. The pulse-width readout is now conveniently located on the Radio Calibration page of the Planner. I have used a servo programmer here as it is convenient for photos.

You can use eePe to setup initial mixing but Remember to backup your eeprom first.

Please don't just blindly copy my values as your radio may produce different pulse widths. The Turnigy is not as accurate as my 12fg and the pulse values seem to vary slightly every time I cycle power. Hey, it's a $55 radio :)

 

1. Clear any flight mode mixing you may already have, otherwise you will go round in circles chasing numbers due to the switch interaction. I wasted many hours by trying to jump straight into mixing.

2. Start with end points at +- 100 and subtrim 0 on ch5.

3. Setup these mixes on ch5. Don’t get overly concerned about the numbers for ID0 & ID2, they just get us in the ballpark.

3689407255?profile=original

 

4. Put the flight mode switch in position 1. Adjust the weight of the ID1 mix to get a pulse of 1490. This is the key to not chasing your tail later, it is also not the normal centre pulse width but is right in the middle of the range we are trying to setup.

3689407160?profile=original

 

5. Leave flight mode in position 1 and put AIL D/R switch in position 0. Add the mix shown here (make sure it is !AIL) and adjust the weight to get a 1425 pulse.

3689407203?profile=original

 

6. Leave flight mode in position 1 and put AIL D/R switch in position 1. Add the mix shown here (make sure it is AIL) and adjust the weight to get a 1555 pulse.

3689407220?profile=original

 

7. Put the flight mode switch in position N and AIL D/R in position 0.  Adjust the ID0 weight to get an 1165 pulse.

3689407180?profile=original

 

8. Put the flight mode switch in position 2 and AIL D/R in position 1.  Adjust the ID2 weight to get an 1815 pulse.

3689407235?profile=original

 

9. That’s it. If you flick through all 6 combinations, it should be pretty close to what the APM/AC2 expects to see.  I ended up with  1165, 1298, 1423, 1556, 1681 and 1813.

Read more…
3D Robotics

DIY Drones in the New York Times!

3689406881?profile=originalVery cool: The New York Times was at the Sparkfun competition and did a story on DIY Drones!

 

It will take me a while to live this quote down ;-) "“This is the future of aviation,” Mr. Anderson, 49, said. “Our children will not believe that people used to drive cars and drive airplanes. We are the weak link in the chain.”"

 

There's also a great video of one of the autonomous ArduCoper 2 runs, plus more of the AVC, here.

Read more…

Ultra Light QuadCopter

The new Carbon arrow shaft and blue 1 1/2" foam board.

3689406949?profile=original3689406970?profile=original

 

3689407029?profile=original

3689406996?profile=original

3689407121?profile=original

 

All parts are glued together with epoxy.  The foam was cut with a RotoZip, razor blades, and sandpaper.

The raw quad chassi weights only 165g and is very ridged.  About 12 hrs. to build.  

 

Bare weight 165g

Flying weight: 787g ( 1 battery)

                       964g (2 bateries)  Still 30 grams lighter

 

    I moved all of my electronic from this quad

which weights 375g bare. ( HEAVY ) 

 

Flying weight: 994g

motor: 2212-1400kv

prop: 9x5

Batteries: 2200 mha 11.1v = 7 min flight time. :O(3689407057?profile=original

 

The size is the same but the weight difference is 215 gram. 

With all the weight saved I will increase flight time and allow for larger batteries and / or camera.

Read more…
Developer

Latest AC2 update



This is to let you know that AC2 beta has been updated based on everyone's feedback. I think we're getting closer to a full release.

Things to concentrate on:

Logging - Logs are the most helpful thing you can post. If you have an issue, please post the log and let me know where to look.

Altitude hold: The Dterm was a bit too aggressive preventing the copter from changing altitudes. It's been lowered by default to 0.03. If you have trouble changing alt, try adjusting this value down a bit.

Mission scripting was a bit broken - fixed now.

Frames have now moved out of the CLI and into defines. This means you'll use the download tool to grab the frame config you need from the start. This makes the code a lot simpler internally and saves a lot of code space.

There is a newer rate based navigation algorithm (above in Flash) to try it, set this parameter in APM_Config.h and upload with Arduino:

#define NAV_TEST 1 // 0 = traditional, 1 = rate controlled

The sim above in Flash now addresses the steady state error with the I-term. PID's are great ;)

It's set to hold 4.5 M/S right now. It may not beat the wind yet, it's still limited to Pitch Max of 18° That will change for the release to full 45° pitch. This will let the copter fight high winds in WP mode.

Lot's of other minor tweaks to improve performance.

Please post all issue to the issues list:

http://code.google.com/p/arducopter/issues/list

Thanks!

Jason

Read more…

DroneCell and 900Mhz Xbee problems ?....

 

I had the brilliant idea of building a device that will send GPS location over SMS text messages.

this, after i lost my prototype quad Arducopter last week. it felt not too far, i could hear it, but a few days of searching in the forest gave nothing....

 

R.I.P. dear copter.

here is the last successful flight, in memory..

 

 

 

to the point,

BR-Dronecell-01-2T.jpg?width=249

the Xbees are working at 900Mhz,

and the DroneCell is quad band, but the local cell company is using both 900Mhz and 1800.

 

should there be interference between them ?

and how can one know if the Dronecell will choose 900 or 1800 Mhz ? given the cell company support both...

Read more…

Flytron's OpenLRS available now

OpenLRS is a radio control system designed by Flytron in Turkey. For most of us, the name will make clear that this is an open source product. Source code is available for download, you can make improvements or change the code and share these with others.

 

5721631134_74240fbe9d.jpg

The OpenLRS M1 is an open source transmitter module that is configurable for any channel (420-450mhz) or any protocol or extra features as telemetry receiver of OpenLRS Rx module. The M1 module exists of a 100mW RFM22B RF unit and Atmega328 processor with Arduino Bootloader.

 

The TX module includes:

  • Frequency Hopping on 3 channels (see below)
  • Serial port for firmware upload and telemetry application
  • a buzzer for audible information
  • bi color led for visible information
  • RFM22B tranceiver module including Si4432 chip with configurable 0-100mW output, Frequency hopping capability and hundreds of other features
  • 16Mhz Atmega328 processor with Arduino Pro Mini compatible bootloader.

Frequency Hopping
The code that is preloaded to the transmitter does 3 channel frequency hopping (not FHSS, FH only) for reducing risks. The standard refresh rate is the same as your normal transmitter (50hz), if one of channels is disabled by an external source, refresh rate is reduced to %66 (33hz) , if you loose 2 of 3 channels you can still fly with only %33 (15hz) refresh rate. If you don't like how Flytron has implemented frequency hopping, you can write your own hopping codes or just use 1 solid channel.

 

The receiver (is also a transmitter)
If you don't need the Futaba Tx module's advantages, you dont need an M1 modules too. Just order 2 receivers and update the one of them as a transmitter. Because M1 module and Rx modules using same RF modules (RFM22B) . Only you should change the pinouts of transmitter code. Code will be shared on the Flytron website shortly.

 

3689406596?profile=original

The RX module includes:

  • Serial Port for firmware upload and telemetry application
  • 3.3v I2C port for all modern sensors as WiiMotionPlus, WiiNunchuk, MEMs gyros, accelerometers, barometers, etc.
  • 8 channel servo output
  • PWM output for RSSI output. (You can modify it to be a 9th channel)
  • Red and green LEDs for visible informations
  • RFM22B tranceiver module including Si4432 chip with configurable 0-100mW output, Frequency hopping capability and hundreds features.
  • 16Mhz Atmega328 processor with Arduino Pro Mini compatible bootloader.

Telemetry
The OpenLRS Rx module is actually a Transceiver, that means that you can use it as a transmitter or a telemetry transmitter. Just imagine, you can follow your plane's voltage levels or sensors of your quadrocopter and you can change the configuration by your PC.

 

Serial or Parallel PPM selectable
If you are using an autopilot/multicopter controller with serial PPM. You dont need any firmware change. Just plug a jumper (binding plugs of 2.4ghz receivers) between channel 1 and 3's signal outputs. OpenLRS Rx detects the jumper when startup and gives 2 short blink. This mean it's giving serial PPM signal from 8th channel.

 
You dont need external multicopter controllers or autopilots
The OpenLRS Rx module, includes serial and I2C ports for your future projects. Just include a WiiMotionPlus (DealExtreme) and upload your code for making a basic quadrocopter. Add a Wii Nunchuck and you have 6DOF IMU. or just buy a 9DOF IMU and connect. Our 3.3v I2C port compatible with all of modern I2C sensors. You can connect your GPS or other Serial equipments with serial port.

 

7 Watt booster for UHF frequencies
The booster is using a Mitsubishi RA07M4047M RF amplifier to generate a deadly 7W RF power, extending the range of your Long Range System (LRS) massively. The output power is configurable by the voltage you supply to it. It starts boosting from 3.7v(0.8W) to 9v(14W).  You can supply power to this booster with a 2S lipo (7.2-8.4v) battery and it will give you 7-10W power, depending on battery voltage. This booster can be used with any (if not all) of the known LRS's (DragonLabs, Thomas Scherrer TLRS, EzUHF)


Flytron

Flytron has all information on above products listed on their website. Schematics for both the transmitter and receiver are available as pdf on the specific product pages. There you will also find datasheets for the transceiver chips/modules used. Flytron also has a forum section where their Long Range System items can be discussed Last, but not least the source code used with OpenLRS is available for download.

 

 

Read more…

Double blade disaster

 

3689399455?profile=original

 

Flew something for the 1st time since the PCS order. She didn't
oscillate, but didn't have enough power.  That design had no coning
angle.  Back to wing designs.

 

3689406711?profile=original

That had tons of lift, but no control.  The issue with flexible wings
pinching the takeoff pin was solved.  Got a pretty high coning angle.
Also saw very faint LED flickering.  Pitch oscillation was in full
attendance.  The optimum wing diameter for this motor is pretty long.
The lift relative to the balance beam inertia seemed too high.

 

3689406623?profile=original

Tried stiffer wings, but still got a coning angle.  Small weights on the
balance beam & wings didn't do anything.  RPM appeared too low for
stability.

 

3689406726?profile=original

3689406654?profile=original

3689406757?profile=original

Then, there was eliminating the coning angle.  With this design, we
noticed 1 wing always flew higher than the other, more dramatically than
any other design.  Every spin copter with a double wing was suffering
from blade tracking errors.  Blade tracking seemed to negate any
reduction in coning.

 


There's probably no way to completely fix blade tracking with such light weight,
home made wings.  It would take very precise angle of attack adjustment
on both wings.  It would have to be readjusted often.

A monocopter & all its inefficiency seems to be the only thing you can
make, without sophisticated mechanics.

 

3689406743?profile=original


We did finally discover CA glue desolver is really common acetone, for a
lot more money.  Wish we knew that, 10 years ago.

3689406814?profile=original

 

 

 

 

Read more…

TaigaCam and camera stabilizer, pan test

3689406572?profile=original

TaigaCam and Ardupilot tries to look home position all the time. Camera can turn about 100 degrees. In Ardupilot there is no compass, and therefore it calculates flight direction once per second according to gps. That's why camera turns slowly.
This pan-system needs only one line of code to Ardupilot. In plane there is also roll stabilizer, and it needs also only one line code.

 

If I should build a pan/tilt camera, I would first build a platform, that is always in level. Then I would install the pan/tilt camera on it. This system needs only 4 lines code to Ardupilot, and all free servo channels... In the main program there is fast_loop. To the end of this subroutine, just above }, I should add these lines. (I have not tested the last line = tilt)

 

APM_RC.OutputCh(CH_5, constrain(g.rc_6.radio_in - (dcm.roll_sensor / 10),900,2100)); 
APM_RC.OutputCh(CH_6, constrain(g.rc_7.radio_in + (dcm.pitch_sensor / 10),900,2100));  
APM_RC.OutputCh(CH_7, constrain((wrap_360(get_bearing(&current_loc, &home) - g_gps->ground_course) / 10) + 500,900,2100));
APM_RC.OutputCh(CH_8, constrain(atan(((float)get_alt_distance(&current_loc, &home) / 100) / (float)get_distance(&current_loc, &home)) * 573 + 1000,900,2100));

 

Read more…

UAV School Project



Here is a quick vid of my final project I'm building in electrical engineering. It's a tricopter UAV with thrust vectoring. As of now I have implemented roll, pitch stabilization, yaw and height are controlled by the aircraft. I just control the x and y movement.


All the control algorithms use fuzzy logic. Why? To be different... and to overcome a lot of the limitations associated with PID's and nonlinear processes.


The craft has 3 motors, and 5 servos. The front two motors can pitch forward and backward as well as tilt side to side. The rear motor can only tilt side to side. This allows the aircraft to gimbal around with out having to have translational movement (in theory). The goal is to have the platform as stable as possible for photography so the servos are needed to thrust vector. (It may have been easer to have a floating camera mount...)


I use two dsPIC33s for the computer and a XBee Pro for data transfer. Both chips are running at 80MHz, one handles all the low level control while the other is for higher level control/communications. Eventually it will be used for path planning/ object avoidance etc. But now it just mainly handles communications and reading the GPS data.

 

More videos of it during the development stage are also on my youtube page.

 

Enjoy

Read more…

Mode Switch Setup

 

How to setup the mode switch for APM/AC2

This tutorial was created using the Futaba 12fg, but keep reading and it may give you some ideas on your radio. If you already have your particular radio figured out, write a tute like this and maybe we can get a collection of them added to the APM/AC2 wiki's.

You will need two spare switches, a 2 position and a 3 position to be able to get all six flight modes for the APM/AC2. We are aiming to get pulse widths of 1165, 1295, 1425, 1555, 1685, and 1815.

If you have a device which can measure pulse width, it is much more convenient than watching numbers scroll on the cli. The pulse-width readout is now conveniently located on the Radio Calibration page of the Planner. Some servo testers can measure what is coming out of the receiver.

 

1. Start with end points at 100 and subtrim 0 on the gear ch.

 

2. Go to the AFR screen #2 and set the function to Gear.

3689406464?profile=original

 

3. Put Gear switch in middle the position. Now backup to AFR screen #1 and set the offset to get a pulse of 1490. This is not the normal centre pulse width but is right in the middle of the range we are trying to setup. This could be done with subtrim on other radios.

3689406506?profile=original

 

4. Go to the Prog Mixes screen, pick a mix and set it to Offset, then activate it to get to the next step.

3689406479?profile=original

 

5. You should now be in the setting screens for your chosen mix. Go to screen #5 to assign a switch to use as your secondary mode switch and remember to activate it. I chose SF as it was a 2 position switch.

3689406416?profile=original

 

6. Go to Mix screen #1 and set the function to Gear.

3689406492?profile=original

 

7. Set the secondary mode switch to the rear and Gear switch to centre and adjust Offset Off for a 1425 pulse.

3689406556?profile=original

 

8. Set the secondary mode switch forward and adjust Offset On for a 1555 pulse.

3689406522?profile=original

 

9. Go back to AFR screen #1 and make sure you are still in the Gear function. Put both switches to the rear and adjust Rate B for an 1165 pulse. This can be done with gear endpoints on other radios.

3689406429?profile=original

 

10. Flick both switches all the way forward and adjust Rate A for an 1815 pulse.3689406438?profile=original

 

11. That’s it. If you flick through all 6 combinations, it should be pretty close to what the APM/AC2 expects to see. I ended up with 1165, 1296, 1426, 1555, 1684 and 1814.

 

Here is the file for my complete model. I would suggest using it as a guide only because my switch assignments may not suit you.

 

ACM%20HEXA

Read more…

As part of my plane to create a simple, solid Arducopter frame, I have had a number of parts laser cut in 2mm 6082 aluminium from the original Arducopter frame design by the DIYD team.

 

3689406327?profile=original

 

The parts have come back a little more "bashed up" than I expected, but apparently that's normal, they just need a clean-up with something abbrasive.

 

I had trouble opening the DXF files in the SVN. In the end I opened them in Microsoft Visio, saved them as Autocad files and then exported them back into DXF files from within Autocad after I tweaked the legs etc not to need the dome. The laser cutters seemed to need the DXF files in the 2004 format attached.

 

I can't verify anything fits (they've just arrived and I'm in the office), but for those feeling brave the DXF files I used are attached for anyone that wants them.

 

BatteryHolder-2004.dxf

CarrierBoard-2004.dxf

LandingGearFin-2004.dxf

MainSqure-2004.dxf

MotorMountLower-2004.dxf

MotorMountUpper-2004.dxf

 

Cheers!

Read more…