Starling Motor ESC replacement
-
@Vin said in Starling Motor ESC replacement:
https://review.px4.io/plot_app?log=66f46543-fd98-4d55-bcf3-bba24eaf6c33
Hello @Vin , thank you for the log, we will take a look. Based on a quick look, it seems the vehicle is trying to yaw aggressively during take off (yaw FF term is high), which causes two motors to spin at very low rpm and the other two at much higher rpm. This causes an imbalance and drone tips over while trying to take off.
We are looking into this further..
Meanwhile, i would recommend the following test that would help test the motors:
- remove all 4 propellers
- stop px4 (`systemctl stop voxl-px4)
- navigate to
/usr/share/modalai/voxl-esc-tools
- execute a test spin command:
propellers off!!
./voxl-esc-spin.py --id 255 --power 60 --ramp-time 3.0 --timeout 4.0 --enable-plot 1
This will spin up all 4 motors, will gradually ramp up to 60% power (the current draw will be very low because there are no props), the test will stop after 4 seconds. Since you are running this on voxl, it cannot display the plot (no display), but latest version of
voxl-esc
tools (in dev branch, but may not be what is installed in your SDK release) will also save the plot to a .html in the same folder. However, you can even look at the reported rpms (printed in terminal) to see if they are spinning at roughly the same rpm. If any motor is damaged, it will likely spin slower than others even without any load. -
@Vin We are looking at the log. One suggestion is that when you get a new drone you should always start with a first flight in manual mode just to verify basic operation. Then move on to more advanced flight modes such as VIO guided position control mode.
-
Thanks @Eric-Katzfey
I believe we followed the instruction on the website and instructions mentioned in the clip.
https://www.youtube.com/watch?v=Cpbbye3Z6coAll the params look right however drone would not be under control in manual mode.
When tried on position mode, it looked to be doing well half a meter up from the ground, when tried to raise the altitude, ended up taking off and crashing.The cam started to complain "BAD_CAM..." when tried restore, it complain on partition being in correct, thus ended up wipe install to SDK 1.1.2. It has not made up in the air after and crashes.
-
Thanks @Alex-Kushleyev
When voxl-esc-tools was run using props on the following was observed
Motor 1
Motor 2
Motor 3
Motor 4
Will remove the props and do the test and update.
-
The 4 motor tests you posted (calibration tests with props) look OK, but since they were run at slightly different voltages, can't say for sure. However, i do not see anything obviously wrong with RPMs or current.
Your battery voltage is getting kind of low. Even though Starling is not using a Lipo, it's good to do these tests at medium to full charged battery so you don't get unexpected voltage dropouts due to battery being empty.
In the px4 log you posted, looking at RC inputs, it appears that you were changing yaw at the same time as you were increasing thrust : https://review.px4.io/plot_app?log=66f46543-fd98-4d55-bcf3-bba24eaf6c33#Nav-Manual-Control-Inputs-Radio-or-Joystick
This causes the vehicle try to yaw while being on the ground and this can cause trouble, as the landing gear can get caught on the floor, it is a bad situation since two out of the 4 motors are commanded minimum rpm and produce zero thrust : https://review.px4.io/plot_app?log=66f46543-fd98-4d55-bcf3-bba24eaf6c33#Nav-Motor-Outputs
Once you get a chance to do another test flight, please make sure:
- your battery is fully charged (which appears to be ok in your flight test)
- do not command yaw when you take off
-
@Vin Are you saying that you cannot fly in manual mode? Not controllable? That's a bad sign. What does the drone do?
-
Thanks @Alex-Kushleyev , @Eric-Katzfey
Battery @ 87%
I have not tried to yaw earlier nor have done it this time
px4 logs:
[https://review.px4.io/plot_app?log=5a80a45a-0aa2-428c-aa01-788493b635b9](link url)Clip, hopefully can indicate whats happening in current state
https://youtu.be/jp-JdU60IPM
One observation not sure if it matters:
I was running: voxl-logger --preset_odometryIt started showing up error as below
Other thing I have tried to avoid any manual errors is ROS example as described below
https://gitlab.com/voxl-public/support/mavros_test/-/blob/simple-example/catkin_ws/src/mavros_test/src/mavros_test_node.cpp?ref_type=heads
The expectation was just to arm and disarm however the drone just takes off.
-
@Vin , i have taken a look at the video you posted and the log. thank you for that.
After looking at the video, i do not see or hear anything wrong with the vehicle from mechanical point of view. It sounds normal and takes off in a controlled way. However, obviously, it flies to the side right after take off.
Are you just flying it in manual mode? Looking at this plot : https://review.px4.io/plot_app?log=5a80a45a-0aa2-428c-aa01-788493b635b9#Nav-Actuator-Controls , the roll actuator input is non-zero, which would explain the tilt after take off. Did you move the joystick slightly to one side during this short flight, as the plot indicates?
Also, please take note that in the ESC params for starling, the motor spin-up time is set to 2 seconds, this is just to make sure that the propellers unfold nicely and spin up smoothly. This means that during initial two seconds of flight, the vehicle will not respond to any user commands. That may explain a sudden jump in thrust after your flight started. If you are flying manually, you can keep the thrust low until the motors spin up fully and then gradually bring the throttle up.
After you have done a complete wipe, this most likely erased all the factory calibration files, including the IMU calibration files. Have you performed IMU calibration after you fully re-flashed your board?
I will check about the errors from voxl-logger. Do they happen right away? how often do you see them (how many of these errors per minute)
-
Thanks @Alex-Kushleyev ,
Joystick movement basically
- ARM ( move to right bottom )
- Bottom position
- Middle position
After complete wipe, I have followed calibration as detailed below
https://docs.modalai.com/calibration/
Camera, tracking using factory opencv file as well as calibrating using chessboard
IMU, following instruction from QGC, same for horizonThe error it is not consistent, I only noticed it when I tried doing voxl-logger --preset_odometry
Probably in terms of hundredsThe reason why I felt something odd is when u write a ROS code just to arm and disarm the drone arms however also tries to take off. If we talk abt position hold it just takes it to the ceiling.
Clip of ESC sound, just in case if you find anything different
https://youtu.be/d7rFEJEmjoA
-
@Vin , the motor sounds are fine, i think. Just FYI, they should correspond to the following ESC params : https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/blob/master/voxl-esc-params/mavic_mini_2/mavic_mini_2.xml?ref_type=heads#L90
Are you comfortable flying RC quadrotors in manual (thrust, roll, pitch, yaw) mode? If so, based on the previous video (where starling starts drifting to one side), if you bring your thrust up slowly, you should be able to use the roll/pitch sticks to compensate for the minor offset. See if you can get a stable flight. The issue with that video was the thrust was brought up too quickly and the vehicle jumped up and there was, perhaps, not a lot of time for you to react. So , instead, when you test in manual mode, arm the vehicle, bring the thrust up slowly (keeping in mind that the motors take 2 seconds to fully spin up) and then keep bringing up the thrust until vehicle starts taking off. Meanwhile you can compensate for any roll / pitch deviation (compensate with sticks). If you know that vehicle will tilt to one side every time, you can be ready to slightly compensate with sticks in the other direction.
-
Thanks @Alex-Kushleyev ,
We have tried quite a bit crashed also broken pros, broken drone legs, injured as well. We are using different dev drones, even the once's which are not suppose to run indoor do well when it comes to controls and estimations.
If the issues was small enough that can be controlled with sticks then there was no issues.I dont think it should be as bad as what we are seeing doent makes sense and want to rule out if we have missed anything when we did and SDK upgrade to 1.1.2.
The following are some observation and not limited to only these
- Latency between RC and System
- Services crashing in the middle (ex Drone would not arm while inspect shows all services are running, restart everything then all good)
- If we look into position mode, more issues like qvio would crash for example. Just arming the drone would make it to take off etc.
We have used Sentinel before and did not have such issues.
Next week, I will try to debug from scratch (reduce vel, acc, sensitivity etc so its easy to test and not crash ) and see if I can find the issues.
It would be interesting to get this up and run autonomously indoors
-
@Vin ,
It seems that we are not able to resolve your issues remotely, so you should consider sending the Starling back for inspection / repair. Since you did have a crash and you also reported that the vehicle did not function correctly on the first flight ("took off and crashed in position hold"), it may be best for us to take a look at it.
You can follow the RMA process here https://modalai.com/rma and the team will help you once you submit the request. You should provide a short summary of your issues when you submit the request.
-
Thanks @Alex-Kushleyev, will do, much appreciated