Segway on multiwii

Post Reply
bartwaw
Posts: 18
Joined: Thu May 05, 2011 9:43 pm

Segway on multiwii

Post by bartwaw »

I'e got some servos, MiniPro and Gy-521 (mpu-6050) layin around.
Today i've got some time and build simple platform:

Image
Image
Image

Servos already modded to 360 rotation.

I want to connect receiver.
I will also try to put on it small camera and make FPV segway :)

But i've got dilema how to connect it. ???

What model I can use ?
Maybe custom mixers ?

copterrichie
Posts: 2261
Joined: Sat Feb 19, 2011 8:30 pm

Re: Segway on multiwii

Post by copterrichie »

This should be a very interesting project. The Bicopter Mixing would be a good foundation for starters.

bartwaw
Posts: 18
Joined: Thu May 05, 2011 9:43 pm

Re: Segway on multiwii

Post by bartwaw »

I've made small board to connect servos, rx and BEC.

For testing purpose MiniPro, board and 6DOF are sticking by BlueTack :)
I uploaded Bicopter.
Done first test without RX - don't want to stay. Serwos spin in same direction so for now it spins around.

So for now, need to change direction of one servo.

/* Servosettings for DualCopter */
#define DUALCOPTER_SERVO {1,1} //Pitch,Roll
/* Use SERVO_OFFSET and SERVO_RATES in Heli and Airplane section for centering and endpoints */


It not looking nice, but ...

Image

Image

Image

Image

copterrichie
Posts: 2261
Joined: Sat Feb 19, 2011 8:30 pm

Re: Segway on multiwii

Post by copterrichie »

Not sure why but it seems this would work less the throttle.

Code: Select all

#ifdef BI
    //motor[0] = PIDMIX(+1, 0, 0); //LEFT
    //motor[1] = PIDMIX(-1, 0, 0); //RIGHT       
    servo[4]  = constrain(1500 + (YAW_DIRECTION * axisPID[YAW]) + axisPID[PITCH], 1020, 2000); //LEFT
    servo[5]  = constrain(1500 + (YAW_DIRECTION * axisPID[YAW]) - axisPID[PITCH], 1020, 2000); //RIGHT
  #endif

QuadBow
Posts: 532
Joined: Fri Jan 04, 2013 10:06 am

Re: Segway on multiwii

Post by QuadBow »

Hi, it is a nice project you are proposing.

bartwaw wrote:So for now, need to change direction of one servo.


What about ?
#ifdef BI
// motor[0] = PIDMIX(+1, 0, 0); //LEFT
// motor[1] = PIDMIX(-1, 0, 0); //RIGHT
servo[4] = constrain(1500 + (YAW_DIRECTION * axisPID[YAW]) + axisPID[PITCH], 1020, 2000); //LEFT
servo[5] = constrain(1500 + (YAW_DIRECTION * axisPID[YAW]) + axisPID[PITCH], 1020, 2000); //RIGHT plus instead of minus
#endif

bartwaw
Posts: 18
Joined: Thu May 05, 2011 9:43 pm

Re: Segway on multiwii

Post by bartwaw »

Tried both.
For now Segway-me 1:0

http://youtu.be/Td3oDeV2xZM

:)

copterrichie
Posts: 2261
Joined: Sat Feb 19, 2011 8:30 pm

Re: Segway on multiwii

Post by copterrichie »

That appears to me more of a servo centering issue to me and maybe XY sensing directions crossed. You may also want to play with changing the + to - for the Pitch.

PatrikE
Posts: 1976
Joined: Tue Apr 12, 2011 6:35 pm
Location: Sweden
Contact:

Re: Segway on multiwii

Post by PatrikE »

Test this.

I made a MWII_ROBOT Mix.
Use the gui to setup servo directions.

bartwaw
Posts: 18
Joined: Thu May 05, 2011 9:43 pm

Re: Segway on multiwii

Post by bartwaw »

Hi Patrik,
On which ports are servos ?
As I see i should choose MWII_ROBOT.

PatrikE
Posts: 1976
Joined: Tue Apr 12, 2011 6:35 pm
Location: Sweden
Contact:

Re: Segway on multiwii

Post by PatrikE »

Servopins is A0 + A1.

I made a 3D printed robot and tested on a little.
But my servos is to slow it seems.
It can keep balance but when it starts to tilt the topspeed of the servos is not enough to compensate.

copterrichie
Posts: 2261
Joined: Sat Feb 19, 2011 8:30 pm

Re: Segway on multiwii

Post by copterrichie »

Without having built one myself, it would seem increasing the height would solve this problem.

iksbob
Posts: 3
Joined: Sat Apr 06, 2013 3:56 am

Re: Segway on multiwii

Post by iksbob »

Looks to me like the issue is at least partly in using servos to drive the wheels. As you noted, full speed isn't enough to catch a fall. Also, servos have 3 discreet "settings": Full speed forward, stopped, and full speed reverse. This is the case whether the servo has been 360° converted or not. Even if the servo was fast enough to keep up, it would jam full speed forward or full speed reverse in response to any need for motion. Program needs to correct a 0.5° lean? Bam - Full speed forward.
What you need is proportional control of speed (a pair of small DC motors and forward/reverse speed controls). Or even better yet, proportional control of movement (such as with stepper motors or DC motors with an encoder setup).

gompf-2
Posts: 136
Joined: Sun Jun 05, 2011 11:46 am

Re: Segway on multiwii

Post by gompf-2 »

Hi,
nice project!
iksbob wrote:Also, servos have 3 discreet "settings": Full speed forward, stopped, and full speed reverse. This is the case whether the servo has been 360° converted or not.

That´s not right, ~15 years ago I used servo electronics as speed controllers for modding 1:72 plastic tanks to RC because other "micro hardware" was barely available. They gave a quite narrow control range but at least were somthing like proportional in this.
I think it´s a problem of speed, too.
copterrichie wrote:Without having built one myself, it would seem increasing the height would solve this problem.

Was also my first idea, but I think by this you also increase the needed travel for compensating a given angular failure (think about distance COG-wheel and angle to radius) -> need more speed on the wheels.

crashlander
Posts: 506
Joined: Thu May 05, 2011 8:13 am
Location: Slovenia

Re: Segway on multiwii

Post by crashlander »

Those days it is probably better idea to look into brushless gimbal code/direction than using servos?!
Especially since HW is now really affordable! (http://www.goodluckbuy.com/cjmcu-ytv3-b ... v3-01.html + http://www.goodluckbuy.com/cjmcu-121-mp ... dule-.html)
Best Regards
Andrej

Post Reply