diff --git a/src/airframe.md b/src/airframe.md new file mode 100644 index 0000000..2aee7a6 --- /dev/null +++ b/src/airframe.md @@ -0,0 +1,17 @@ +# Intro to the UAARG Airframe Subteam + +Hello and welcome to the UAARG Airframe Subteam! This page it to serve as a guide for you to learn about who we are and what we do. + + +At UAARG Airframe, we do a lot of things, some of which include aero design, electromechanical design, and manufacturing. There are tons of things you can learn at your time with the UAARG Airframe team, but not all of them can encapsulated in a single guide so I will be primarily including resources to introduce you to the basics of what we do at UAARG Airframe. + + +## Some things you should be familiar with + + - SolidWorks (See [this](/guide/src/solidworks.md) for a SolidWorks Guide) + - 3D Printing + - [Basic Aerodynamics](https://www1.grc.nasa.gov/beginners-guide-to-aeronautics/learn-about-aerodynamics/) + - Basic Structural Analysis + - Common Hand Tools + + diff --git a/src/sim.md b/src/sim.md index 5a09ca6..570e6a4 100644 --- a/src/sim.md +++ b/src/sim.md @@ -124,23 +124,77 @@ git clone git@github.com:uaarg/simulator-scripts.git Next you need to make these shell scripts executable ``` -chmod +x ./sitl.sh ./proxy.sh +chmod +x ./sitl.sh ./proxy.sh ./camera.sh ``` +## Installing Gazebo (3D Simulated Environment for Simulating Imaging Scripts in Flight) + +Install Gazebo from binary, following the instructions from here: +https://gazebosim.org/docs/harmonic/install/ + +Follow these instructions for Gazebo Harmonic based on your OS: + +https://github.com/ArduPilot/ardupilot_gazebo/blob/main/README.md + + +Test out if the Gazebo SITL works by running sitl.sh, proxy.sh, and the following: + +``` +export GZ_SIM_SYSTEM_PLUGIN_PATH=$HOME/ardupilot_gazebo/build:$GZ_SIM_SYSTEM_PLUGIN_PATH +export GZ_SIM_RESOURCE_PATH=$HOME/ardupilot_gazebo/models:$HOME/ardupilot_gazebo/worlds:$GZ_SIM_RESOURCE_PATH +``` + +NOTE: If someone could find a way to properly implement this in a shell script that would be goated + +``` +gz sim -v4 -r iris_runway.sdf +``` + +and in the proxy.sh window, run the following: +``` +mode guided +arm throttle +takeoff 5 +``` + +If everything works, the drone in the gazebo simulator will take off + +### Imaging Simulation + +Go to Application Settings -> Video in QGroundControl and select UDP h.264 Video Stream and set the UDP URL to '127.0.0.1:5600' + +Then run the following + +``` +export GZ_SIM_SYSTEM_PLUGIN_PATH=$HOME/ardupilot_gazebo/build:$GZ_SIM_SYSTEM_PLUGIN_PATH +export GZ_SIM_RESOURCE_PATH=$HOME/ardupilot_gazebo/models:$HOME/ardupilot_gazebo/worlds:$GZ_SIM_RESOURCE_PATH +gz sim -v4 -r iris_runway.sdf +``` + +And in a seperate terminal window run: +``` +gz topic -t /world/iris_runway/model/iris_with_gimbal/model/gimbal/link/pitch_link/sensor/camera/image/enable_streaming -m gz.msgs.Boolean -p "data: 1" +``` + +If you change what world you are running or the model that contains the camera topic then you must change the topic to be whatever new topic you have + +If everything works, you'll be able to see a video stream in your QGroundControl Window + ## Running the Simulator Open up 4 terminals -1. In the first terminal, run `./sitl.sh` +1. In the first terminal, run `./camera.sh` if doing Gazebo Simulations 2. In the second terminal, run `./proxy.sh` -3. If using APM planner: In the third terminal, run `./release/apmplanner2` from within the APMplanner directory. - - If using QGC, then run the downloaded AppImage/App for ubuntu/mac respectively -4. The fourth terminal is where you will be executing your scripts to run in - the simulator +3. In the third terminal, run Gazebo via gz sim -v4 -r +4. (Optional) run QGroundControl + +If you are running Gazebo, see the instructions to run gazebo in the installing gazebo instructions + +The fourth terminal will serve as the place for you to run your python scripts. To run a python script, navigate to the root of the directory with the script. -For example, navigate to the root of shepard and then you can run your scripts +For example, navigate to the root of shepard (or whatever directory you have your scripts in) and then you can run your scripts as follows: ``` @@ -150,6 +204,5 @@ PYTHONPATH=. python3 After the script is running, you will know if it is running if there is a print statement in your console saying that the connection has been established -To start flying the drone in the simulator, you will need to go into the -mission planner, set the mode to `Guided` and then arm the drone and it will +To start flying the drone in the simulator, you will need to go into QGroundControl, set the mode to `Guided` and then arm the drone and it will start flying. diff --git a/src/solidworks.md b/src/solidworks.md new file mode 100644 index 0000000..733c2fc --- /dev/null +++ b/src/solidworks.md @@ -0,0 +1,10 @@ +# Intro to SolidWorks + +This is a quick reference guide to videos and other resources to allow you to learn about SolidWorks. If you do not have a SolidWorks license, feel free to contact one of the Airframe subteam leads and they will get you access to a SolidWorks License. + +## [Video Series](https://www.youtube.com/watch?v=2sSgkW0MhBw&list=PLROUP1bV8REQmZgDTTJ0JCanXS8uySo-4) + +## [Text Guide (From SolidWorks)](https://my.solidworks.com/solidworks/guide/SOLIDWORKS_Introduction_EN.pdf) + +You don't have to go through the entirity of these guides, but these serve as good introductions to SolidWorks and CAD. These serve as good resources for you to learn how to use SolidWorks so that you can apply it for when you go and design parts and assemblies. +