diff --git a/Dockerfile b/Dockerfile index fd24eaff53574..d102a6797b403 100644 --- a/Dockerfile +++ b/Dockerfile @@ -55,6 +55,14 @@ RUN export ARDUPILOT_ENTRYPOINT="/home/${USER_NAME}/ardupilot_entrypoint.sh" \ # Set the buildlogs directory into /tmp as other directory aren't accessible ENV BUILDLOGS=/tmp/buildlogs +# Additional commands after installing the base image: installing simulators +RUN sudo apt-get install -y python3-dev python3-opencv python3-wxgtk4.0 python3-pip python3-matplotlib python3-lxml python3-pygame +RUN pip3 install PyYAML mavproxy --user +RUN echo 'export PATH="$PATH:$HOME/.local/bin"' >> ~/.bashrc +RUN echo 'export PATH="$PATH:$HOME/usr/games"' >> ~/.bashrc +RUN sudo apt-get install flightgear -y +RUN sudo apt-get install vim -y + # Cleanup RUN sudo apt-get clean \ && sudo rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* diff --git a/README.md b/README.md index e015b750ff32b..7b3e7cd209edd 100644 --- a/README.md +++ b/README.md @@ -1,161 +1,52 @@ -# ArduPilot Project - -Discord - -[![Test Copter](https://github.com/ArduPilot/ardupilot/workflows/test%20copter/badge.svg?branch=master)](https://github.com/ArduPilot/ardupilot/actions/workflows/test_sitl_copter.yml) [![Test Plane](https://github.com/ArduPilot/ardupilot/workflows/test%20plane/badge.svg?branch=master)](https://github.com/ArduPilot/ardupilot/actions/workflows/test_sitl_plane.yml) [![Test Rover](https://github.com/ArduPilot/ardupilot/workflows/test%20rover/badge.svg?branch=master)](https://github.com/ArduPilot/ardupilot/actions/workflows/test_sitl_rover.yml) [![Test Sub](https://github.com/ArduPilot/ardupilot/workflows/test%20sub/badge.svg?branch=master)](https://github.com/ArduPilot/ardupilot/actions/workflows/test_sitl_sub.yml) [![Test Tracker](https://github.com/ArduPilot/ardupilot/workflows/test%20tracker/badge.svg?branch=master)](https://github.com/ArduPilot/ardupilot/actions/workflows/test_sitl_tracker.yml) - -[![Test AP_Periph](https://github.com/ArduPilot/ardupilot/workflows/test%20ap_periph/badge.svg?branch=master)](https://github.com/ArduPilot/ardupilot/actions/workflows/test_sitl_periph.yml) [![Test Chibios](https://github.com/ArduPilot/ardupilot/workflows/test%20chibios/badge.svg?branch=master)](https://github.com/ArduPilot/ardupilot/actions/workflows/test_chibios.yml) [![Test Linux SBC](https://github.com/ArduPilot/ardupilot/workflows/test%20Linux%20SBC/badge.svg?branch=master)](https://github.com/ArduPilot/ardupilot/actions/workflows/test_linux_sbc.yml) [![Test Replay](https://github.com/ArduPilot/ardupilot/workflows/test%20replay/badge.svg?branch=master)](https://github.com/ArduPilot/ardupilot/actions/workflows/test_replay.yml) - -[![Test Unit Tests](https://github.com/ArduPilot/ardupilot/workflows/test%20unit%20tests%20and%20sitl%20building/badge.svg?branch=master)](https://github.com/ArduPilot/ardupilot/actions/workflows/test_unit_tests.yml)[![test size](https://github.com/ArduPilot/ardupilot/actions/workflows/test_size.yml/badge.svg)](https://github.com/ArduPilot/ardupilot/actions/workflows/test_size.yml) - -[![Test Environment Setup](https://github.com/ArduPilot/ardupilot/actions/workflows/test_environment.yml/badge.svg?branch=master)](https://github.com/ArduPilot/ardupilot/actions/workflows/test_environment.yml) - -[![Cygwin Build](https://github.com/ArduPilot/ardupilot/actions/workflows/cygwin_build.yml/badge.svg)](https://github.com/ArduPilot/ardupilot/actions/workflows/cygwin_build.yml) [![Macos Build](https://github.com/ArduPilot/ardupilot/actions/workflows/macos_build.yml/badge.svg)](https://github.com/ArduPilot/ardupilot/actions/workflows/macos_build.yml) - -[![Coverity Scan Build Status](https://scan.coverity.com/projects/5331/badge.svg)](https://scan.coverity.com/projects/ardupilot-ardupilot) - -[![Test Coverage](https://github.com/ArduPilot/ardupilot/actions/workflows/test_coverage.yml/badge.svg?branch=master)](https://github.com/ArduPilot/ardupilot/actions/workflows/test_coverage.yml) - -[![Autotest Status](https://autotest.ardupilot.org/autotest-badge.svg)](https://autotest.ardupilot.org/) - -ArduPilot is the most advanced, full-featured, and reliable open source autopilot software available. -It has been under development since 2010 by a diverse team of professional engineers, computer scientists, and community contributors. -Our autopilot software is capable of controlling almost any vehicle system imaginable, from conventional airplanes, quad planes, multi-rotors, and helicopters to rovers, boats, balance bots, and even submarines. -It is continually being expanded to provide support for new emerging vehicle types. - -## The ArduPilot project is made up of: ## - -- ArduCopter: [code](https://github.com/ArduPilot/ardupilot/tree/master/ArduCopter), [wiki](https://ardupilot.org/copter/index.html) - -- ArduPlane: [code](https://github.com/ArduPilot/ardupilot/tree/master/ArduPlane), [wiki](https://ardupilot.org/plane/index.html) - -- Rover: [code](https://github.com/ArduPilot/ardupilot/tree/master/Rover), [wiki](https://ardupilot.org/rover/index.html) - -- ArduSub : [code](https://github.com/ArduPilot/ardupilot/tree/master/ArduSub), [wiki](http://ardusub.com/) - -- Antenna Tracker : [code](https://github.com/ArduPilot/ardupilot/tree/master/AntennaTracker), [wiki](https://ardupilot.org/antennatracker/index.html) - -## User Support & Discussion Forums ## - -- Support Forum: - -- Community Site: - -## Developer Information ## - -- Github repository: - -- Main developer wiki: - -- Developer discussion: - -- Developer chat: - -## Top Contributors ## - -- [Flight code contributors](https://github.com/ArduPilot/ardupilot/graphs/contributors) -- [Wiki contributors](https://github.com/ArduPilot/ardupilot_wiki/graphs/contributors) -- [Most active support forum users](https://discuss.ardupilot.org/u?order=post_count&period=quarterly) -- [Partners who contribute financially](https://ardupilot.org/about/Partners) - -## How To Get Involved ## - -- The ArduPilot project is open source and we encourage participation and code contributions: [guidelines for contributors to the ardupilot codebase](https://ardupilot.org/dev/docs/contributing.html) - -- We have an active group of Beta Testers to help us improve our code: [release procedures](https://ardupilot.org/dev/docs/release-procedures.html) - -- Desired Enhancements and Bugs can be posted to the [issues list](https://github.com/ArduPilot/ardupilot/issues). - -- Help other users with log analysis in the [support forums](https://discuss.ardupilot.org/) - -- Improve the wiki and chat with other [wiki editors on Discord #documentation](https://discord.com/channels/ardupilot) - -- Contact the developers on one of the [communication channels](https://ardupilot.org/copter/docs/common-contact-us.html) - -## License ## - -The ArduPilot project is licensed under the GNU General Public -License, version 3. - -- [Overview of license](https://ardupilot.org/dev/docs/license-gplv3.html) - -- [Full Text](https://github.com/ArduPilot/ardupilot/blob/master/COPYING.txt) - -## Maintainers ## - -ArduPilot is comprised of several parts, vehicles and boards. The list below -contains the people that regularly contribute to the project and are responsible -for reviewing patches on their specific area. - -- [Andrew Tridgell](https://github.com/tridge): - - ***Vehicle***: Plane, AntennaTracker - - ***Board***: Pixhawk, Pixhawk2, PixRacer -- [Francisco Ferreira](https://github.com/oxinarf): - - ***Bug Master*** -- [Grant Morphett](https://github.com/gmorph): - - ***Vehicle***: Rover -- [Willian Galvani](https://github.com/williangalvani): - - ***Vehicle***: Sub -- [Lucas De Marchi](https://github.com/lucasdemarchi): - - ***Subsystem***: Linux -- [Michael du Breuil](https://github.com/WickedShell): - - ***Subsystem***: Batteries - - ***Subsystem***: GPS - - ***Subsystem***: Scripting -- [Peter Barker](https://github.com/peterbarker): - - ***Subsystem***: DataFlash, Tools -- [Randy Mackay](https://github.com/rmackay9): - - ***Vehicle***: Copter, Rover, AntennaTracker -- [Siddharth Purohit](https://github.com/bugobliterator): - - ***Subsystem***: CAN, Compass - - ***Board***: Cube* -- [Tom Pittenger](https://github.com/magicrub): - - ***Vehicle***: Plane -- [Bill Geyer](https://github.com/bnsgeyer): - - ***Vehicle***: TradHeli -- [Emile Castelnuovo](https://github.com/emilecastelnuovo): - - ***Board***: VRBrain -- [Georgii Staroselskii](https://github.com/staroselskii): - - ***Board***: NavIO -- [Gustavo José de Sousa](https://github.com/guludo): - - ***Subsystem***: Build system -- [Julien Beraud](https://github.com/jberaud): - - ***Board***: Bebop & Bebop 2 -- [Leonard Hall](https://github.com/lthall): - - ***Subsystem***: Copter attitude control and navigation -- [Matt Lawrence](https://github.com/Pedals2Paddles): - - ***Vehicle***: 3DR Solo & Solo based vehicles -- [Matthias Badaire](https://github.com/badzz): - - ***Subsystem***: FRSky -- [Mirko Denecke](https://github.com/mirkix): - - ***Board***: BBBmini, BeagleBone Blue, PocketPilot -- [Paul Riseborough](https://github.com/priseborough): - - ***Subsystem***: AP_NavEKF2 - - ***Subsystem***: AP_NavEKF3 -- [Víctor Mayoral Vilches](https://github.com/vmayoral): - - ***Board***: PXF, Erle-Brain 2, PXFmini -- [Amilcar Lucas](https://github.com/amilcarlucas): - - ***Subsystem***: Marvelmind -- [Samuel Tabor](https://github.com/samuelctabor): - - ***Subsystem***: Soaring/Gliding -- [Henry Wurzburg](https://github.com/Hwurzburg): - - ***Subsystem***: OSD - - ***Site***: Wiki -- [Peter Hall](https://github.com/IamPete1): - - ***Vehicle***: Tailsitters - - ***Vehicle***: Sailboat - - ***Subsystem***: Scripting -- [Andy Piper](https://github.com/andyp1per): - - ***Subsystem***: Crossfire - - ***Subsystem***: ESC - - ***Subsystem***: OSD - - ***Subsystem***: SmartAudio -- [Alessandro Apostoli ](https://github.com/yaapu): - - ***Subsystem***: Telemetry - - ***Subsystem***: OSD -- [Rishabh Singh ](https://github.com/rishabsingh3003): - - ***Subsystem***: Avoidance/Proximity -- [David Bussenschutt ](https://github.com/davidbuzz): - - ***Subsystem***: ESP32,AP_HAL_ESP32 -- [Charles Villard ](https://github.com/Silvanosky): - - ***Subsystem***: ESP32,AP_HAL_ESP32 +### Instalacja + +``` +git clone --recurse-submodules git@github.com:Sentinel-Eagle/ardupilot.git +cd ardupilot +docker build . -t ardupilot +``` + +### Uruchomienie - X11 + +``` +docker run \ + -e DISPLAY=unix$DISPLAY \ + -v /tmp/.X11-unix:/tmp/.X11-unix \ + --privileged --rm -it \ + -v `pwd`:/ardupilot \ + ardupilot:latest bash +``` + +Żeby uruchomić symulator i mapę: +``` +./Tools/autotest/sim_vehicle.py --console --map -v ArduPlane +``` + +Żeby uruchomić FlightGear 3D View: +``` +cd /ardupilot/Tools/autotest/ +./fg_plane_view.sh +``` +potem: +``` +sim_vehicle.py -L KSFO +``` + +### Uruchomienie - Wayland + +``` +xhost +SI:localuser:$(id -un) +docker run \ + -e DISPLAY=$DISPLAY \ + -e XDG_RUNTIME_DIR=/tmp \ + -e WAYLAND_DISPLAY=$WAYLAND_DISPLAY \ + -e GDK_BACKEND=wayland \ + -v $XDG_RUNTIME_DIR/$WAYLAND_DISPLAY:/tmp/$WAYLAND_DISPLAY \ + --privileged --rm -it \ + -v `pwd`:/ardupilot \ + --user=$(id -u):$(id -g) \ + --network=host \ + ardupilot:latest bash +``` + +Reszta tak samo jak X11.