Merge branch 'master' of https://github.com/RosettaDrone/rosettadrone
Esse commit está contido em:
+17
-17
@@ -1,12 +1,12 @@
|
||||
# Rosetta Drone
|
||||
# RosettaDrone
|
||||
|
||||
This is the official and actively maintained Rosetta Drone project.
|
||||
This is the official and actively maintained RosettaDrone project.
|
||||
|
||||
Rosetta Drone is a MAVLink wrapper for the DJI SDK, which allows users to fly DJI drones using MAVLink-speaking ground control stations. In theory it should work with any MAVLink GCS.
|
||||
RosettaDrone is a MAVLink wrapper for the DJI SDK, which allows users to fly DJI drones using MAVLink-speaking ground control stations. In theory it should work with any MAVLink GCS.
|
||||
|
||||
*** IMPORTANT SAFETY NOTE ***
|
||||
|
||||
Always stay away from the propellers. Use Rosetta Drone's "Safe Mode" to prevent the drone from unexpectly arming or taking off.
|
||||
Always stay away from the propellers. Use RosettaDrone's "Safe Mode" to prevent the drone from unexpectly arming or taking off.
|
||||
When testing a new Rosetta version, test it first using the simulator.
|
||||
|
||||
This Software is experimental and under constant development. By using this Software, you agree to assume all responsibility for eventual harm or damage.
|
||||
@@ -41,7 +41,7 @@ Rosetta is compatible with:
|
||||
* MAVSDK
|
||||
* DJI SDK 4.16.1
|
||||
|
||||
## Contributing to Rosetta Drone
|
||||
## Contributing to RosettaDrone
|
||||
|
||||
* If you want to contribute please follow these [important recomendations](https://docs.google.com/document/d/1wR56Mvd2OsT82kxMOD7f_3-c6yJGBtLaT8LuVrmC5wI/edit?usp=sharing).
|
||||
* Here is some [documentation](https://github.com/lilfish/Delta-FlowerPower/wiki/Drone-app) from a forked project.
|
||||
@@ -71,10 +71,10 @@ Main screen, with live video on Mavic AIR (from my office)...
|
||||
Main screen on QGroundControl with live video and telemetry... (from inside my office)
|
||||
|
||||

|
||||
Rosetta Drone on the big screen from DJI Smart Controller
|
||||
RosettaDrone on the big screen from DJI Smart Controller
|
||||
|
||||

|
||||
Rosetta Drone on the DJI Smart Controller
|
||||
RosettaDrone on the DJI Smart Controller
|
||||
|
||||
Latency video:
|
||||

|
||||
@@ -98,12 +98,12 @@ Latency video:
|
||||
|
||||
1. Connect your Android phone to a DJI transmitter and power on your DJI drone.
|
||||
|
||||
2. Start Rosetta Drone. The DJI light in the top-right will turn green if the app is successfully communicating with your drone.
|
||||
2. Start RosettaDrone. The DJI light in the top-right will turn green if the app is successfully communicating with your drone.
|
||||
|
||||
3. If you wish to use QGroundControl on an external device, click the Gear icon to access Settings, check **Use GCS on an external device**, then specify an IP address.
|
||||
Additionally a second telemetry connection con be configured to run AI scripts using DroneKit Python.
|
||||
|
||||
4. Start QGroundControl. A telemetry connection should be immediately established, and the GCS light in Rosetta Drone will turn green.
|
||||
4. Start QGroundControl. A telemetry connection should be immediately established, and the GCS light in RosettaDrone will turn green.
|
||||
Note that if you are using QGroundControl on the same device as Rosetta drone, the GCS light may not turn green if QGC is in the background.
|
||||
|
||||
5. To start video:
|
||||
@@ -196,37 +196,37 @@ Anyone who speaks multiple languages knows that translations are rarely perfect.
|
||||
|
||||
- The message on the boot/login screen can now be modified in "settings/drone configuration/App Name" , to make tha app more private.
|
||||
|
||||
- The switch C3 is now both reported as switch 3 and also perform an auto takeoff is the system is armed. This to allow flying from Rosetta Drone, and might be reverted.
|
||||
- The switch C3 is now both reported as switch 3 and also perform an auto takeoff is the system is armed. This to allow flying from RosettaDrone, and might be reverted.
|
||||
|
||||
|
||||
# Known Issues for Users
|
||||
|
||||
- If you change the UDP port while QGC is running, you may need to restart QGC.
|
||||
|
||||
- If you change the video UDP port while QGC is running, you may need to restart Rosetta Drone.
|
||||
- If you change the video UDP port while QGC is running, you may need to restart RosettaDrone.
|
||||
|
||||
- Some times the Rosetta Drone app stops and restarts. Work is in progress to eliminate this. Seems to be related to the MAVLink layer.
|
||||
- Some times the RosettaDrone app stops and restarts. Work is in progress to eliminate this. Seems to be related to the MAVLink layer.
|
||||
|
||||
- If you takeoff using the QGC, set a point, and then hit goto, Rosetta Drone enters an error state. Work on a fix for this is in progress.
|
||||
- If you takeoff using the QGC, set a point, and then hit goto, RosettaDrone enters an error state. Work on a fix for this is in progress.
|
||||
|
||||
|
||||
|
||||
# Known Issues for Developers
|
||||
|
||||
Rosetta Drone uses MAVLink code generated by the MAVLink code generator, using the ArduPilot dialect. The Java code generator contains errors (see issues [#805](https://github.com/mavlink/mavlink/issues/805) and [#806](https://github.com/mavlink/mavlink/issues/806)), and the code required manual tweaking after generation. This means that simply dropping in updated auto-generated files will likely produce errors. At the moment this seems only to apply for setting and getting double that is missing. It is quite easy to copy the float function and modify it to double. The only usage for this is for ROV wheel distance, so someone should fix that in Mavlink.
|
||||
RosettaDrone uses MAVLink code generated by the MAVLink code generator, using the ArduPilot dialect. The Java code generator contains errors (see issues [#805](https://github.com/mavlink/mavlink/issues/805) and [#806](https://github.com/mavlink/mavlink/issues/806)), and the code required manual tweaking after generation. This means that simply dropping in updated auto-generated files will likely produce errors. At the moment this seems only to apply for setting and getting double that is missing. It is quite easy to copy the float function and modify it to double. The only usage for this is for ROV wheel distance, so someone should fix that in Mavlink.
|
||||
|
||||
The use of an ArduPilot dialect over PX4 is not intended to be a statement of preference. The author believes strongly in the importance of maintaining maximum compatibility across both projects.
|
||||
|
||||
|
||||
# Acknowledgements
|
||||
|
||||
Rosetta Drone was brought to you by developers from Rogue Squadron, a UAS/C-UAS red team at the Defense Innovation Unit Experimental, 9Tek AS (Norway), IMATRONIX and others.
|
||||
RosettaDrone was brought to you by developers from Rogue Squadron, a UAS/C-UAS red team at the Defense Innovation Unit Experimental, 9Tek AS (Norway), IMATRONIX and others.
|
||||
|
||||
|
||||
# Licensing
|
||||
|
||||
Rosetta Drone is licensed under BSD3. For particularities related to U.S. federal government code release, please read Intent.MD. For more information, visit [code.mil](https://code.mil) or [code.gov](https://code.gov).
|
||||
RosettaDrone is licensed under BSD3. For particularities related to U.S. federal government code release, please read Intent.MD. For more information, visit [code.mil](https://code.mil) or [code.gov](https://code.gov).
|
||||
|
||||
Rosetta Drone uses a modified version of DJI's [Android Video Stream Decoding Sample](https://developer.dji.com/mobile-sdk/documentation/sample-code/index.html), which is released under the MIT License.
|
||||
RosettaDrone uses a modified version of DJI's [Android Video Stream Decoding Sample](https://developer.dji.com/mobile-sdk/documentation/sample-code/index.html), which is released under the MIT License.
|
||||
|
||||
Video RTP packing uses code modified from the [libstreamer](https://github.com/fyhertz/libstreaming) library, licensed under Apache 2.
|
||||
|
||||
@@ -6,7 +6,7 @@ import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
import androidx.test.platform.app.InstrumentationRegistry;
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
@@ -20,7 +20,7 @@ public class ExampleInstrumentedTest {
|
||||
@Test
|
||||
public void useAppContext() throws Exception {
|
||||
// Context of the app under test.
|
||||
Context appContext = InstrumentationRegistry.getTargetContext();
|
||||
Context appContext = ApplicationProvider.getApplicationContext();
|
||||
|
||||
assertEquals("io.diux.rogue.rosettadrone", appContext.getPackageName());
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ package sq.rogue.rosettadrone;
|
||||
* MiniPID pid = new MiniPID(p,i,d); <br>
|
||||
* ...looping code...{ <br>
|
||||
* output= pid.getOutput(sensorvalue,target); <br>
|
||||
* }
|
||||
* }
|
||||
*
|
||||
* @see https://github.com/tekdemo/MiniPID-Java
|
||||
* @see http://brettbeauregard.com/blog/2011/04/improving-the-beginners-pid-direction/improving-the-beginners-pid-introduction
|
||||
|
||||
Referência em uma Nova Issue
Bloquear um usuário