Open idani301 opened 2 years ago
Agent comment from yating.liao in Zendesk ticket #69498:
You can read this article and use the configuration mentioned here:What is the recommended configuration of virtual stick?
Also, are you sure that the virtual joystick function is turned on and that it works?
°°°
Yes, the virtual joystick function is turned on.
The M300 responses to virtual sticks until the GPS signal jammer is turned on. Once the GPS signal jammer is turned on, the drone won't move even though we send virtual stick commands. Once the GPS signal jammer is turned off again, the drone moves.
In other drones we don't have this problem(such as Mavic 2 enterprise advance, M600, M210), only with M300
Agent comment from yating.liao in Zendesk ticket #69498:
When the GPS signal jammer is turned on,what does the value of FlightMode become? interface:getFlightMode
From your description, that would be the effect of the GPS blocking, so I suspect the drone is in attitude mode and therefore unable to use the Virtual Stick function.
°°°
Thanks for the comment, I will have answer for the getFlightMode only on Sunday. (I can't use the GPS jammer whenever I want) However, even if the flight mode is automatically changed to "Attitude", what should I do?
We have algorithm that returns the drone home automatically when GPS signal is lost. It works perfectly on all other drones except of M300.
M300 if supposed to be the perfect drone for this kind of missions, is there any way to solve this issue somehow?
All we need is the keep controlling the drone programmatically when GPS signal is lost, I don't see a reason why we could not.
Agent comment from yating.liao in Zendesk ticket #69498:
If it is in the Attitude mode, the virtual joystick function is not available. Prerequisites for using the virtual joystick:When you can enable virtual stick?
M300 if supposed to be the perfect drone for this kind of missions, is there any way to solve this issue somehow?
-->Are you using the virtual joystick to achieve return without GPS?If so, we should confirm whether the M300 can still use the virtual joystick after losing the GPS signal.
°°°
" M300 if supposed to be the perfect drone for this kind of missions, is there any way to solve this issue somehow? -->Are you using the virtual joystick to achieve return without GPS?If so, we should confirm whether the M300 can still use the virtual joystick after losing the GPS signal. " --> Yes, we want to achieve that M300 will be able to return home without GPS by using virtual stick commands. How can we confirm if M300 is able to use virtual joystick without GPS signal somehow?
" If it is in the Attitude mode, the virtual joystick function is not available. Prerequisites for using the virtual joystick:When you can enable virtual stick? " --> We just confirmed it through logs: the flight mode is "Joystick" like it should be. And the RC of course remains in P mode the entire time.
Agent comment from yating.liao in Zendesk ticket #69498:
The drone goes into attitude mode when there is no GPS signal and when the visual positioning system is not available. In this case it is not possible to use the Virtual Stick.
According to your description, the drone does not exit Joystick mode, i.e. it does not exit the virtual joystick function.It is strange that the virtual joystick function cannot be used in this case.
Can you upload a video of you experiencing this problem to our link? As well as a flight control log from that time.The exact cause may require analysis of the flight control logs to find out.
LINK:https://pan-sec.djicorp.com/s/ioBXqLHQSmWirpY password:dji123
°°°
I sent screen record and log that shows that under gps signal lost we stay in mode "Joystick" but the drone won't response to virtual stick commands. Thanks for the support!
Agent comment from yating.liao in Zendesk ticket #69498:
Got your video and log file. I would also like to trouble you to export the log files of the aircraft during that time so that I can get a more accurate picture of the status of the aircraft.
I have received your video and log files. I would also ask you to export the log files of the aircraft during that time so that you can get a more accurate picture of the status of the aircraft.
I have put the exported tutorial in the previous link.
I will try to parse the log you sent me, please wait a while.
°°°
Aircraft log added.
I can also make additional flights if more data need to be collected so let me know.
Thank you very much for the support!
Agent comment from yating.liao in Zendesk ticket #69498:
We have parsed the flight control logs you gave us. The result is that the aircraft did go into attitude mode and there was a remote control gear change.
The blue line represents the GPS signal, the purple line represents the remote control gear (TPS) and the yellow line represents the aircraft's flight mode.We can clearly see that all three lines fluctuate and that the turning point is the point at which the change occurs.
The aircraft first relied on its visual system to maintain stability because of the lack of GPS signals.Thereafter, it went into attitude mode at 9.34pm on 2 August, as none of the visual systems could cope anymore. At 9.35 a remote control gear change occurred, from P to S. Because of this, the aircraft's flight mode changed. You can also see from the picture that the yellow and purple lines are fluctuating together.
From the flight control logs, it does appear that Virtual Stick was disabled when the aircraft went into a state where it could not be controlled by the Virtual Stick.
image.png
°°°
The flow of this specific flight was :
Flight mode of "Joystick" and getVirtualStickModeEnabled returns true.
GPS signal lost 44 seconds after the take off.
RC mode changed to "Sport" and flight mode changed to "ATTI" 1m 27.9s after take off.
During the time between 44 seconds after take off to 1 min and 27.9 seconds after take off, the RC in "P" mode. The flight mode is "Joystick" and getVirtualStickModeEnabled returns true. However during that time the drone is not responding to any of the virtual sticks commands.
The only thing that matter to us is the timeline between 44 seconds after take off to 1m 27.9s after take off. Why the drone is does not response to virtual stick commands during that time? Is the reason is that the visual system of the M300 fails to maintain stability? If this is the reason, can we suppress it somehow?
In older drones we don't have this problem at all, and the main purpose of our work is to make a new layer that use our own visual system + virtual sticks to maintain stability and even more during GPS signal lost.
I can do the following experiment for easier investigation, let me know what you think: During the entire experiment, the RC will be only in "P" mode.
1 . take off the drone to altitude of 150(barometer).
Agent comment from yating.liao in Zendesk ticket #69498:
Have you tested whether you can get into virtual stick mode with the GPS signal blocker on? That is, can the virtual stick be enabled when there is no GPS signal?
°°°
Yes.
While GPS signal blocker is on, I can successfully enable the virtual stick and go into "Joystick" mode again. getVirtualStickModeEnabled returns true in that case.
As you can see in the following log(which I also sent you) https://www.phantomhelp.com/logviewer/8SHFSMKQQ46URB5HC1T9/
At 1m 53.4s, while the GPS signal was on, the RC was changed from S to P and we enabled the virtual stick again while we have no GPS signal at all. The flight mode turned into "Joystick" and getVirtualStickModeEnabled returned true during that time.
However, the drone won't move even though getVirtualStickModeEnabled returns true and the flight mode is "Joystick" like it should be once getVirtualStickModeEnabled is true and the drone receives virtual stick commands.
Agent comment from yating.liao in Zendesk ticket #69498:
From the log file and timeline you provided, it does appear that there are some issues here. The aircraft enters ATTI mode 60 seconds after take-off, but the aircraft does not exit the virtual stick function as a result.
However, the drone won't move even though getVirtualStickModeEnabled returns true and the flight mode is "Joystick" like it should be once getVirtualStickModeEnabled is true and the drone receives virtual stick commands. -->Does isVirtualStickControlModeAvailable also return true?
As for my previous comment about being able to enter virtual stick mode without a GPS signal, in your case the first time you enter virtual stick mode is with a good gps signal, have you tried entering virtual stick mode for the first time with a poor GPS signal?
Thank you for your patience and cooperation.
°°°
" As for my previous comment about being able to enter virtual stick mode without a GPS signal, in your case the first time you enter virtual stick mode is with a good gps signal, have you tried entering virtual stick mode for the first time with a poor GPS signal? " --> Yes, at 1m 53.4s we entered virtual stick mode with poor GPS signal. You can see in the log that during poor GPS signal the flight mode was changed to Joystick once the RC mode changed from S to P and setVirtualStickModeEnabled(true) was called.
"Does isVirtualStickControlModeAvailable also return true" --> Unfortunately we didn't check or save this. However, isVirtualStickControlModeAvailable can be false while the flight mode is Joystick?
I will break it down with the following data by timestamps: RC switch mode (P/S/T). getVirtualStickModeEnabled Flight Mode GPS signal.
From 0m 5.1s to 0m 43.8s: Drone in P mode and GPS signal is good, flying with virtual sticks RC switch mode (P/S/T) = P getVirtualStickModeEnabled = true Flight Mode = Joystick GPS signal = Good (15 satellites)
From 0m 43.9s to 1m 25s : Drone in P mode and GPS signal is bad, drone won't response here for virtual stick commands although it is in Joystick mode RC switch mode (P/S/T) = P getVirtualStickModeEnabled = true Flight Mode = Joystick GPS signal = Poor(0 satellites)
From 1m 27.9s to 1m 50s : Drone in S mode with bad GPS signal, here the pilot took over control to prevent the drone from going too far away RC switch mode (P/S/T) = S getVirtualStickModeEnabled = false Flight Mode = ATTI GPS signal = Poor(0 satellites)
From 1m 53.4s to 2m 20s : During bad GPS signal the RC switched to P again, and by using setVirtualStickModeEnabled we switched the flight mode to Joystick again. However still the drone won't response to any of the virtual stick commands RC switch mode (P/S/T) = P getVirtualStickModeEnabled = true Flight Mode = Joystick GPS signal = Poor(0 satellites)
From 2m 23.7s to 2m 35s: Our pilot switched to S mode again to control the drone while we turned off the GPS signal blocker RC switch mode (P/S/T) = S getVirtualStickModeEnabled = false Flight Mode = ATTI GPS signal = Poor(0 satellites)
From 2m 36.3s until the end: Return home process RC switch mode (P/S/T) = S getVirtualStickModeEnabled = false Flight Mode = ATTI/Sport/Go Home GPS signal = Good(15 satellites)
Agent comment from yating.liao in Zendesk ticket #69498:
Thank you for the detailed description.
What is the probability of this problem occurring? Does it occur every time in the absence of a GPS signal?
°°°
We made over 20 flights. about 10 by flying the drone with MSDK and about 10 by flight the drone with OSDK(by virtual sticks as well).
The probability for this problem occurring is 100% in both ways, very easy to reproduce if you have GPS signal blocker or something like that.
Agent comment from yating.liao in Zendesk ticket #69498:
I will take the issue to the engineers and they will assess or fix the problem.And i will keep you updated with the latest news.
°°°
Thank you so much!
Any news about this?
Agent comment from yating.liao in Zendesk ticket #69498:
The problem is being addressed.
We need outdoor tests to further clarify what is causing this problem.
°°°
From the log, we cannot see anything wrong on it. So we goes out and test it. The record video shows the aircraft has 7-8 stars initially and fly into 2-3 stars and no GPS locating. The Fly mode shows GPS_ATTI means the aircraft enters ATTI mode. The aircraft can enable virtual stick and run very well without any error. Maybe your situation is more extreme but we cannot reproduce it in our environment. Please have a look our testing video. Link:https://pan-sec.djicorp.com/s/8cAMcttz2zr369k dji123
Hi I saw the video, in our situation we have 0 sats. The flight mode is always joystick but the virtual stick commands does not response.
Do you have a way to fly the drone without gps signal at all? like with gps signal jammer or something like that?
No, we have no such equipment. It is very hard to meet 0 sats in real life. What happens in your environment that the aircraft has 2-3 sats which means it is in GPS_ATTI mode and start the JOYSTICK.
We have advance technology that could make M300 mil grade by doing many things through virtual sticks during full GPS signal block. For example, we have OSDK based air pod that could return the drone safely home once GPS signal and RF signal jammers are being activated base on image process and virtual sticks. Is there any way to work with you guys to fix this issue? We have the equipment to create full GPS signal blocks if needed.
" What happens in your environment that the aircraft has 2-3 sats which means it is in GPS_ATTI mode and start the JOYSTICK." I am sorry but I didn't perfectly understood this sentence, what do you mean?
Normally using the GPS signal and RF signal jammers will generate a very extreme environment. It does not really happen in reality, What happens if you test similar like me. Is it worth to solve the issue in such extreme environment.
If you want to defend the country's borderlines or any other advanced security/Counterterrorism you have to be prepared to GPS and RF signal jammers. We are trying to make the M300 ready for this use.
We also can help DJI with any tests and record whatever you need if it could help solve this issue
Agent comment from yating.liao in Zendesk ticket #69498:
In general, changes in the GPS signal occur without the problem of virtual joystick failure, as shown in the video in the previous reply.
It is very rare that he GPS signal and RF signal jammers is used in the production process or in life. In addition to this, your application scene is very special.
°°°
Dear all, were you able to solve the issue above?
Drone: M300 MSDK Version: 4.16.2. Firmware: latest to today (21/8/2022) (Also tried different firmwares)
When using flightController sendVirtualStickFlightControlData function when GPS is on, the drone responses. Without GPS signal, the drone doesn't response anymore.
The configuration is the following: flightController.setRollPitchControlMode(RollPitchControlMode.VELOCITY); flightController.setRollPitchCoordinateSystem(FlightCoordinateSystem.GROUND) flightController.setVerticalControlMode(VerticalControlMode.VELOCITY); flightController.setYawControlMode(YawControlMode.ANGULAR_VELOCITY)
This problem also occurs in the OSDK with the similar command.