RCCanada - Canada Radio Controlled Hobby Forum - Reply to Topic
RCCanada - Canada's Radio Control Hobby Forum
General RC Aircraft Discussion Discuss anything RC related

Thread: MonoBot: Aerial Robotics Project Reply to Thread
Title:
  
Message:

Additional Options
Miscellaneous Options

Topic Review (Newest First)
01-26-2020 04:09 PM
vaalleon
Re: MonoBot: Aerial Robotics Project

Re-testing the Ardupilot Arduino hybrid, position hold and RTL on my monobot test unit. Better test, a little drift at the start but as it acquired more satellites all was good.

https://youtu.be/NZjYo5Z1V0E
01-19-2020 09:11 PM
vaalleon
Re: MonoBot: Aerial Robotics Project

These flights are to test the arduino mixing for Ardupilot and see if it can handle the job. After a couple of tries and crashes it turned out pretty cool.

https://youtu.be/LM8oG8nZ9O0
04-02-2018 02:18 AM
RCcanuck
Re: MonoBot: Aerial Robotics Project

Your slowly getting it.
03-31-2018 10:18 PM
vaalleon
Re: MonoBot: Aerial Robotics Project

A much better test at last. The 5th channel is assigned to the compensation, which is the level of impact from the sensor to the nozzles.

No wind this afternoon. So, the purpose of the test is to see the reaction of the unit at lower compensation level and increase the compensation to the level where the unit over compensates. This way I want to set a reasonable compensation range and keep the unit in that.

I activated the system multiple times during the flight. It responded much better and I felt like it really contributed to the stability this time until I increased the compensation to unreasonable levels. The unit tended to keep the velocity that it was travelling at when the system was activated. I made some corrections while the system was active, to slow down the velocity closer to zero. As I explained in the previous post, when the system is initiated, the sticks are acting different than normal, throwing in a constant value to the servo output calculation, to fool the unit to slow down.

I think I am getting there but need to test it when there is some wind and see how it reacts.

03-30-2018 11:38 PM
vaalleon
Re: MonoBot: Aerial Robotics Project

Here is the latest status:

I tested the unit again after installing the vibration dampener. The test didn’t go well. Again, the unit chose a different direction every time I initiated the system and took off. I adjusted the dead band zone during the flight but no luck.

So, I decided that I need to change the position of the accelerometer and place it closer to the center of gravity, to reduce the physical sideways impact of the tilting and tested again. The unit reacted better but it didn’t really hold position. It kind of drifted away. But this made me feel like I am getting closer to the solution.

Here is one of the things with this concept. Because of the way the accelerometers work, when I activate the system, it should basically keep the current speed. So, if it is still when the system is activated, then it should stay still. But if it is in motion at 1m/s for example it should hold that. And you cannot change that with the stick input because it conflicts with the sensor input and the unit gets out of control (I tried this). So, I decided to change the stick input logic when the system is activated. Now, if the unit is moving backwards when the system is activated, when I push the stick forward, it inputs a constant in the output equation to slow the unit down and finally stop it, instead of fighting the equation.

Also, I spent 5 hours to test every variable one by one at home, hand simulating the flight back and forth. I found the combination which I think works the best in the serial monitor, looking at the system output. When doing this, you need to test all combinations, including the ones that doesn’t make sense at all. Many times, you will find that the one doesn’t make sense is the working combination. Which actually was the case in this one. I found a combination which works ten times better than the other combinations that I tested (which I still think make lots of sense).

I took the unit out just before sun down and tested. I think the unit response is way better in terms of “trying to hold the position”. I initiated the system twice, once right in the beginning of the video and once right after the half of the video. The unit reacted erratically because the compensation which seemed normal before is way high with the new setup. Now I assigned the 5th channel to the sensor compensation and will test again to find the right compensation rate with the new setting. You never know but I feel like I am getting close.

03-26-2018 09:08 PM
vaalleon
Re: MonoBot: Aerial Robotics Project

Quote:
Originally Posted by RCcanuck View Post
Nice work!
Thanks bud!
03-26-2018 04:32 AM
RCcanuck
Re: MonoBot: Aerial Robotics Project

Nice work!
03-24-2018 10:47 PM
vaalleon
Re: MonoBot: Aerial Robotics Project

New project for the MonoBot test unit. I took off all sensors, sonars, etc… to pursue this idea that I had for a long time, to see if I can create an independent indoors/outdoors position hold and cruise control system which doesn't have any external dependencies like satellites, vision, etc… I want the system to capture the tiny acceleration changes and correct the unit.

I am using a single 3 axis accelerometer to sense the directional accelerations. The MAJOR problem is that the sensor senses the change in the angle and the change in the direction exactly the same way and create the same signal. I thought for days and days until my brain burned to figure how I can distinguish between the two and filter out the angle changes. I need the sensor to correct for the directional input but not the angle of the unit.

It took me weeks to put the code together and put everything on the unit. The first tests were not good. Most of the time the unit chose a direction and just kept going. Sometimes I had something close to a position hold in like 10m diameter but then again it just chose a direction and go. Once the impeller imploded and I crashed the unit, had to replace all servos and some other parts. The variables that I need to tune are below:

- The dead zone band range to filter out the noise.
- Two moving averages.
- The rate of impact of the signal to the servos.
- The max allowed impact allowed, to impact the flight in X and Y axis.

I continuously played with these variables and tested but the flight tests proved to give very inconsistent results. Then I realized that the impeller vibration would be impacting the sensor to generate some weird signals. I placed the sensor on a vibration damper, balanced the new impeller and tested again. The unit responded much better. In the video there was a part of the flight where it really looked like holding the position just like a GPS. However, then the wind picked up and the unit drifted away. The position hold system is only allowed to use 1/3 of the stick range, and the wind was much stronger than this could handle. I will test again in a calmer weather and try to tune the variables.

11-15-2017 07:10 PM
vaalleon
Re: MonoBot: Aerial Robotics Project

I never thought building an altitude hold system with a sonar would be this hard… I wanted to build the “simple” sonar altitude hold to be able to test the “hard” IR scanner better. I ended up crashing the unit 10 times and found out that I need a much better setup to achieve this.

Problems:
1- High speed air out of the nozzle is impacting the sonar performance.
2- I believe the grass as a sound reflector is not doing a good job because the sonar is utterly inconsistent in reaction. AND this is a relatively expensive sonar at $30.
3- The codes I came up with are not even close to do the job. The code has to incorporate approach speed and a fully automated throttle control.

I will re-visit this in the future, and maybe implement a high precision BARO instead of the sonar for higher altitude hold and try another type of sensor for landing, because of sonar’s poor performance, probably due to nozzle air.

So, I decided to go ahead and test the IR scanner before totaling the unit. My concerns regarding the scanner making the unit unstable were proven wrong. It worked perfectly You can see it spin at the top of the unit for the first time, doing a great job. The unit clearly reacted to my hand and body and rushed the other direction when approached.

The plan was to test it during GPS hold but the GPS hold was not stable. I probably damaged it during the last crash which was nasty. So I deactivated the GPS during this test.


+ YouTube Video
ERROR: If you can see this, then YouTube is down or you don't have Flash installed.
09-24-2017 04:49 PM
vaalleon
Re: MonoBot: Aerial Robotics Project

Looks similar but completely different and better setup.

1- Modified the servo to be continuous rotation. I also did the necessary modification to be able to read the shaft position via potentiometer. I have a 180 degree sweep instead of the previous 120 degrees.
2- Revised the code to accommodate the new servo. In the new setup, I don’t need to write the servo value 300 times every cycle to drive the servo. All I am doing is reading the shaft position and reversing the direction whenever the shaft hits 800 value on the top and 200 on the bottom. I am reading the sensors at certain positions based on the potentiometer readings.
3- Added GPS.
These changes made the unit way more responsive as the code is not jammed like before.
With the new GPS, I will not have to intervene all the time. In the first flights, I will activate the GPS right after takeoff and test the sensors. I will look into getting a sonar for the altitude hold. The only problem is that I am using all digital ports in the current setup. So, I will need to find an analog sonar if it exists.

I also ordered a barometric sensor to modulate the approach speed and enable altitude hold for higher altitudes.

Hoping the test the current setup in flight soon.


+ YouTube Video
ERROR: If you can see this, then YouTube is down or you don't have Flash installed.
This thread has more than 10 replies. Click here to review the whole thread.


All times are GMT -5. The time now is 12:21 PM.


vBulletin Security provided by vBSecurity v2.2.2 (Pro) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.