diff --git a/.gitmodules b/.gitmodules index 896ee22..d33240b 100644 --- a/.gitmodules +++ b/.gitmodules @@ -9,3 +9,11 @@ path = content/blueos/1.1 url = https://github.com/bluerobotics/ardusub-zola.git branch = BlueOS-1.1 +[submodule "content/hardware"] + path = content/hardware + url = https://github.com/bluerobotics/ardusub-zola + branch = Hardware +[submodule "content/integrations"] + path = content/integrations + url = https://github.com/bluerobotics/ardusub-zola + branch = Integrations diff --git a/content/hardware b/content/hardware new file mode 160000 index 0000000..722a837 --- /dev/null +++ b/content/hardware @@ -0,0 +1 @@ +Subproject commit 722a8376dec24b1a2b3569c67c2c0f6a56da1496 diff --git a/content/hardware/_index.md b/content/hardware/_index.md deleted file mode 100644 index b54b427..0000000 --- a/content/hardware/_index.md +++ /dev/null @@ -1,9 +0,0 @@ -+++ -title = "Hardware" -description = "Hardware documentation." -date = 2022-10-04T01:21:30+10:00 -updated = 2022-10-04T22:00:00+10:00 -sort_by = "weight" -weight = 2 -template = "docs/overview-section.html" -+++ diff --git a/content/hardware/additional/_index.md b/content/hardware/additional/_index.md deleted file mode 100644 index 692e75b..0000000 --- a/content/hardware/additional/_index.md +++ /dev/null @@ -1,9 +0,0 @@ -+++ -title = "Additional Components and Peripheral Devices" -description = "Useful hardware for an underwater ROV." -date = 2022-10-11T07:00:00+10:00 -template = "docs/section.html" -sort_by = "weight" -weight = 3 -draft = false -+++ diff --git a/content/hardware/additional/acoustic-modems/index.md b/content/hardware/additional/acoustic-modems/index.md deleted file mode 100644 index 321f231..0000000 --- a/content/hardware/additional/acoustic-modems/index.md +++ /dev/null @@ -1,23 +0,0 @@ -+++ -title = "Acoustic Modems" -description = "Provides low bandwidth underwater remote communication. Can be used with autonomous vehicles or untethered devices/sensors, or as a short term emergency backup if the vehicle tether gets severed." -date = 2022-10-11T17:33:19+11:00 -template = "docs/page.html" -sort_by = "weight" -weight = 50 -draft = false -[extra] -lead = "" -toc = true -top = false -+++ - -Acoustic modems enable wireless data transmission through water. With two omni-directional transceivers, bidirectional communication is possible. - -In theory it is possible to use acoustic modems for wireless synchronisation of an autonomous swarm of underwater vehicles. - -## Supported Acoustic Modems - -The following acoustic modems have been tested: - -- [Water Linked Modem M64](https://store.waterlinked.com/product/modem-m64/) diff --git a/content/hardware/additional/electrical-switch/index.md b/content/hardware/additional/electrical-switch/index.md deleted file mode 100644 index 8d5ae15..0000000 --- a/content/hardware/additional/electrical-switch/index.md +++ /dev/null @@ -1,29 +0,0 @@ -+++ -title = "Electrical Switch" -description = "Allows turning a circuit on/off inside an enclosure without needing to open it. Can be used for arming safety, or for disconnecting power to the control electronics to reduce idle power usage." -date = 2023-03-10T01:20:00+11:00 -template = "docs/page.html" -sort_by = "weight" -weight = 30 -draft = false -[extra] -lead = "" -toc = true -top = false -+++ - -A depth-rated electrical switch allows turning a circuit in an enclosure on and off from outside the enclosure. It can be used -* to prevent unintentional arming of the vehicle -* for disconnecting power to the control electronics to reduce idle power usage -* for sending a signal to the electronics (e.g. to activate a programming / communication mode) - -{{ easy_image(src="switch", width=300) }} - -## Supported Electrical Switches - -* [Blue Robotics Switch](https://bluerobotics.com/store/comm-control-power/switch/switch-10-5a-r1/) - -## Other Known Switch Types - -* Reed Switch - * The switch component sits on the inside of the enclosure wall / end cap, and a magnet can be put on or removed from the other side to open/close the switch circuit diff --git a/content/hardware/additional/electrical-switch/switch.png b/content/hardware/additional/electrical-switch/switch.png deleted file mode 100644 index 3554658..0000000 Binary files a/content/hardware/additional/electrical-switch/switch.png and /dev/null differ diff --git a/content/hardware/additional/electronic-switches/index.md b/content/hardware/additional/electronic-switches/index.md deleted file mode 100644 index a40099f..0000000 --- a/content/hardware/additional/electronic-switches/index.md +++ /dev/null @@ -1,20 +0,0 @@ -+++ -title = "Electronic Switches (Relays and MOSFETs)" -description = "Enables the autopilot and/or onboard computer to control higher voltage (>5V DC) and high power circuits via software." -date = 2023-03-10T01:10:00+11:00 -template = "docs/page.html" -sort_by = "weight" -weight = 35 -draft = false -[extra] -lead = "" -toc = true -top = false -+++ - - -Electronic switches are useful for turning higher voltage (>5V DC) / high power auxiliary equipment on and off via digital outputs on the [flight controller board](../../required/flight-controller/). Most commonly they use relay or MOSFET components. - -Up to four electronic switches can be operated via the "relay" joystick button functions when connected to the appropriate signal outputs. - -Most flight controllers cannot provide power to the output rail to trigger the relays, so a [5V power supply](https://bluerobotics.com/store/comm-control-power/elec-packages/bec-5v6a-r1/) will generally need to be connected to the AUX power connector (if it exists), or to the power pin on one of the outputs. diff --git a/content/hardware/additional/ethernet-switch/ethswitch-usage.png b/content/hardware/additional/ethernet-switch/ethswitch-usage.png deleted file mode 100644 index 98a798a..0000000 Binary files a/content/hardware/additional/ethernet-switch/ethswitch-usage.png and /dev/null differ diff --git a/content/hardware/additional/ethernet-switch/index.md b/content/hardware/additional/ethernet-switch/index.md deleted file mode 100644 index 47bb1e7..0000000 --- a/content/hardware/additional/ethernet-switch/index.md +++ /dev/null @@ -1,21 +0,0 @@ -+++ -title = "Ethernet (Network) Switch" -description = "Provides ethernet-based expandability without loading the onboard computer, including simple interfacing with IP cameras and other sensors that have an ethernet interface." -date = 2022-10-11T17:33:19+11:00 -template = "docs/page.html" -sort_by = "weight" -weight = 25 -draft = false -[extra] -lead = "" -toc = true -top = false -+++ - -An Ethernet Switch (sometimes called a Network Switch) allows connecting multiple Ethernet-based connections to the same network. It allows IP cameras, imaging sonars, and other sensors and actuators to communicate directly over the tether without needing to go via the Onboard Computer. - -{{ easy_image(src="ethswitch-usage", width=500) }} - -## Supported Ethernet Switches - -* [Blue Robotics Ethernet Switch](https://bluerobotics.com/store/comm-control-power/tether-interface/ethswitch/) diff --git a/content/hardware/additional/grippers-manipulators/gripper.png b/content/hardware/additional/grippers-manipulators/gripper.png deleted file mode 100644 index 954a65b..0000000 Binary files a/content/hardware/additional/grippers-manipulators/gripper.png and /dev/null differ diff --git a/content/hardware/additional/grippers-manipulators/index.md b/content/hardware/additional/grippers-manipulators/index.md deleted file mode 100644 index 387c4bb..0000000 --- a/content/hardware/additional/grippers-manipulators/index.md +++ /dev/null @@ -1,28 +0,0 @@ -+++ -title = "Grippers and Manipulators" -description = "A gripper is a useful tool for picking up small objects, attaching recovery lines, or freeing a snagged tether. Other manipulators may be useful in cleaning, inspection, or repair tasks." -date = 2022-10-11T17:33:19+11:00 -template = "docs/page.html" -sort_by = "weight" -weight = 40 -draft = false -[extra] -lead = "" -toc = true -top = false -+++ - -A gripper is a useful tool for picking up small objects, attaching recovery lines, or freeing a snagged tether. Other manipulators may be useful in cleaning, inspection, or repair tasks. - -Ardusub has the ability to natively control grippers through assigning joystick buttons and servo outputs for grippers that use Pulse Width Modulation (PWM) for control. Depending on the control circuitry, this may include momentary open/close actions, or precise position control. - -Other grippers often have their own control software and interface for assigning control functions. Grippers which use RS485 for control can use a spare twisted wire pair in the tether for data transmission, whereas grippers with RS232 control require custom software on the [Companion Computer](/introduction/hardware-options/required-hardware/companion-computer.md). - -## Supported Grippers and Manipulators - -{{ easy_image(src="gripper", width=500) }} - -The following grippers have been used on ArduSub vehicles: - -* [Blue Robotics Newton Subsea Gripper](https://bluerobotics.com/store/rov/bluerov2-accessories/newton-gripper-asm-r2-rp/) (PWM output from autopilot) -* [Blueprint Lab Series Grippers](https://blueprintlab.com/products/grabbers/) (RS485 through the tether) diff --git a/content/hardware/additional/indicators/index.md b/content/hardware/additional/indicators/index.md deleted file mode 100644 index a8a76ec..0000000 --- a/content/hardware/additional/indicators/index.md +++ /dev/null @@ -1,19 +0,0 @@ -+++ -title = "Indicator Lights" -description = "Used to provide visual indications of electronics and/or software status and errors, especially with opaque enclosures." -date = 2022-10-11T17:33:19+11:00 -template = "docs/page.html" -sort_by = "weight" -weight = 45 -draft = false -[extra] -lead = "" -toc = true -top = false -+++ - -Depth-rated indicator lights can provide visual indications of the status of electronics (e.g. when diving), the location of a device, or can be used as a light display (for visual appeal, or to attract marine life for study). - -## Supported Indicator Lights - -* [Blue Robotics Subsea LED Indicator](https://bluerobotics.com/store/thrusters/lights/indicator10-asm-r1/) diff --git a/content/hardware/additional/leak-sensors/index.md b/content/hardware/additional/leak-sensors/index.md deleted file mode 100644 index cd88573..0000000 --- a/content/hardware/additional/leak-sensors/index.md +++ /dev/null @@ -1,25 +0,0 @@ -+++ -title = "Leak Sensors" -description = "Detect and provide warning if a leak occurs, before it gets to and damages the electronics in an enclosure." -date = 2022-10-11T17:33:19+11:00 -template = "docs/page.html" -sort_by = "weight" -weight = 0 -draft = false -[extra] -lead = "" -toc = true -top = false -+++ - -Leak sensors are an important addition for saving an electronics enclosure should a leak occur. - -ArduSub can be configured to read leak sensors through auxiliary servo pins on a Pixhawk when set to GPIO mode, and the dedicated leak pins on a Navigator. A failsafe action can be configured to either send a warning or automatically surface the vehicle when a leak is detected. - -## Supported Sensors - -{{ easy_image(src="leak-sensor", width=200) }} - -The following sensor products are supported: - -* [Blue Robotics SOS Leak Sensor](https://bluerobotics.com/store/sensors-sonars-cameras/leak-sensor/sos-leak-sensor/) diff --git a/content/hardware/additional/leak-sensors/leak-sensor.png b/content/hardware/additional/leak-sensors/leak-sensor.png deleted file mode 100644 index b4adc50..0000000 Binary files a/content/hardware/additional/leak-sensors/leak-sensor.png and /dev/null differ diff --git a/content/hardware/additional/other-sensors/celsius.png b/content/hardware/additional/other-sensors/celsius.png deleted file mode 100644 index 5feff37..0000000 Binary files a/content/hardware/additional/other-sensors/celsius.png and /dev/null differ diff --git a/content/hardware/additional/other-sensors/index.md b/content/hardware/additional/other-sensors/index.md deleted file mode 100644 index 4c14dc5..0000000 --- a/content/hardware/additional/other-sensors/index.md +++ /dev/null @@ -1,40 +0,0 @@ -+++ -title = "Other Sensors (Temperature, Salinity, Thickness, etc)" -description = "Can be helpful for research, or estimating related phenomena (e.g. sound speed for sonar and acoustic positioning performance)." -date = 2023-03-15T20:00:00+10:00 -template = "docs/page.html" -sort_by = "weight" -weight = 15 -draft = false -[extra] -lead = "" -toc = true -top = false -+++ - -A variety of other sensors types can be useful in a marine environment, for research and/or to measure phenomena that improve the accuracy of other sensors and vehicle control. Sensors that may be of interest include - -- [conductivity](https://discuss.bluerobotics.com/t/using-conductivity-sensor-with-brs-flight-controller-and-qgc/13126) -- hydrophones -- [O2, salinity](https://discuss.bluerobotics.com/t/o2-and-salinity-sensors/2569) -- [pH](https://discuss.bluerobotics.com/t/ph-sensor-recommendations/13197) -- [sediment and water samplers](https://discuss.bluerobotics.com/t/water-sampler-sediment-sampler/2712) -- temperature -- [ultrasonic thickness gauge](https://discuss.bluerobotics.com/t/cygnus-ultrasonic-thickness-gage/2967) - -## Temperature Sensor - -An auxiliary external temperature sensor may be added for obtaining faster and more accurate readings than those from an integrated pressure sensor. Duplicate sensors are not supported (e.g. two of the same temperature sensor at different locations on the vehicle). - -ArduSub has a pre-installed driver for the following sensor type: - -* [Measurement Specialties TSYS01](https://www.te.com/commerce/DocumentDelivery/DDEController?Action=showdoc&DocId=Data+Sheet%7FTSYS01%7FA%7Fpdf%7FEnglish%7FENG_DS_TSYS01_A.pdf%7FG-NICO-018) - - -## Supported Sensor Products - -{{ easy_image(src="celsius", width=350) }} - -The following sensor products may be directly connected to an [autopilot](../../required/flight-controller-boards/): -* [Celsius Fast-Response, ±0.1°C Temperature Sensor (I2C)](https://bluerobotics.com/store/sensors-sonars-cameras/sensors/celsius-sensor-r1/) -* [PCB for Celsius Fast-Response, ±0.1°C Temperature Sensor](https://bluerobotics.com/store/sensors-sonars-cameras/sensors/celsius-sensor-pcb-r1/) diff --git a/content/hardware/additional/positioning-sensors/SBL-WL.png b/content/hardware/additional/positioning-sensors/SBL-WL.png deleted file mode 100644 index 2d5dfeb..0000000 Binary files a/content/hardware/additional/positioning-sensors/SBL-WL.png and /dev/null differ diff --git a/content/hardware/additional/positioning-sensors/USBL-CS.png b/content/hardware/additional/positioning-sensors/USBL-CS.png deleted file mode 100644 index cad2166..0000000 Binary files a/content/hardware/additional/positioning-sensors/USBL-CS.png and /dev/null differ diff --git a/content/hardware/additional/positioning-sensors/WL-DVL.png b/content/hardware/additional/positioning-sensors/WL-DVL.png deleted file mode 100644 index 5de4c65..0000000 Binary files a/content/hardware/additional/positioning-sensors/WL-DVL.png and /dev/null differ diff --git a/content/hardware/additional/positioning-sensors/index.md b/content/hardware/additional/positioning-sensors/index.md deleted file mode 100644 index 9817835..0000000 --- a/content/hardware/additional/positioning-sensors/index.md +++ /dev/null @@ -1,75 +0,0 @@ -+++ -title = "Positioning Sensors (GPS / DVL)" -description = "Allows waypoint and target-based navigation, position holding, and location-tagged data collection." -date = 2022-10-11T17:33:19+11:00 -template = "docs/page.html" -sort_by = "weight" -weight = 10 -draft = false -[extra] -lead = "" -toc = true -top = false -+++ - -A positioning system is a useful addition to an ArduSub vehicle either for displaying numerical location coordinates or the position of the vehicle on a map in QGroundControl. - -Below is an example of a Water Linked Underwater GPS System being used to locate a shipwreck: - - -

- -{% note() %} -The [autopilot](/introduction/hardware-options/required-hardware/autopilot.md) has the capability of utilizing an external positioning system to perform autonomous maneuvers like station keeping, 'click to go here', transects, and pre-planned waypoint missions, however this is IN DEVELOPMENT. -{% end %} - -## GPS Module - -ArduSub maintains the same [GPS module drivers](https://ardupilot.org/copter/docs/common-positioning-landing-page.html) as the rest of the ArduPilot family of firmwares, so a compatible GPS module may be directly connected to the GPS port on the autopilot. Positioning information will only be available when the vehicle is on the surface and the module is out of the water. The module will not be able to obtain a fix if it is underwater due to high frequency radio waves being unable to penetrate the water medium. - -Acoustic positioning systems are the only reliable way of providing positioning information underwater. - -## SBL Positioning Systems - -A [short baseline (SBL) acoustic positioning system](https://en.wikipedia.org/wiki/Short_baseline_acoustic_positioning_system) uses an acoustic transmitter on the vehicle to transmit timed acoustic pulses. These pulses are received by a series of multiple receivers on the surface in an arranged geometric pattern. The ["time of flight"](https://en.wikipedia.org/wiki/Time_of_flight) is calculated to when each receiver records the acoustic pulse and then a consolidated position for the underwater vehicle can be plotted. - -SBL systems can produce better positioning accuracy in highly reflective environments due to the adjustable receiver locations. - -{{ easy_image(src="SBL-WL", width=500) }} -Image Credit: Water Linked - -### Supported SBL Systems - -* [Water Linked Underwater GPS Explorer Kit](https://store.waterlinked.com/underwater-gps/) - -## USBL Positioning Systems - -An [ultra-short baseline acoustic positioning system](https://en.wikipedia.org/wiki/Ultra-short_baseline) is similar to SBL system where an acoustic pulse is transmitted from a tranciever on the vehicle and then recieved by a receiver on the surface. Instead of simply calculating time of flight, range and bearing are calculated by USBLs. - -USBLs are more compact than SBL systems where the receiver's transducers are fixed in one tranciever head. - -{{ easy_image(src="USBL-CS", width=500) }} -Image Credit: Cerulean Sonar - -### Supported USBL Systems - -* [Cerulean Sonar ROV Locator](https://ceruleansonar.com/products/rovl-mkii?variant=39414929915970) - -## DVL Positioning Systems - -A [doppler velocity log](https://en.wikipedia.org/wiki/Acoustic_Doppler_current_profiler#Bottom_tracking) sends multiple acoustic pulses in different directions, and measures the frequency change (doppler shift) from the transmitted pulses to estimate velocity of the vehicle relative to the bottom. Combining the velocity estimate with measurements from the accelerometers, compass, and gyroscopes in the onboard inertial measurement unit (IMU), the vehicle's orientation and relative position can be estimated via dead-reckoning. If the time of flight of the pulses is measured, it is also possible to estimate vehicle altitude above the bottom, similar to an [altimeter](../sonars/#echosounders-and-altimeters). - -{{ easy_image(src="WL-DVL", height=300) }} -Image Credit: Water Linked - -DVLs do not require external acoustic hardware or infrastructure, so are better suited to long distance autonomous missions than an SBL or USBL system. - -The relative positioning estimates from a DVL system mean the estimate is prone to drift over time. Accurate long term positioning requires occasional corrections from an absolute positioning system (like a GPS Module at the surface). - -### Supported DVL Systems - -* [Water Linked DVL-A50](https://store.waterlinked.com/product/dvl-a50/?hsCtaTracking=b79feacb-c824-4524-b3e0-2f6513163a7f%7C44cc28cf-75a8-4e25-ac64-ee6bc3e9e5e8) -* [Cerulean Sonar DVL-75](https://ceruleansonar.com/products/dvl-75?variant=32632308760642) -* [Teledyne Wayfinder](http://www.teledynemarine.com/Wayfinder) - -There is a comparison of some common DVLs in [this forum comment](https://discuss.bluerobotics.com/t/dvl-recommendations/10775/2#comparisons-1). diff --git a/content/hardware/additional/servos/index.md b/content/hardware/additional/servos/index.md deleted file mode 100644 index 3facc83..0000000 --- a/content/hardware/additional/servos/index.md +++ /dev/null @@ -1,27 +0,0 @@ -+++ -title = "Servos" -description = "Useful when a component needs to be actuated or rotated. They can be inside an enclosure to rotate cameras, or depth-rated and used outside of enclosures." -date = 2022-10-11T17:33:19+11:00 -template = "docs/page.html" -sort_by = "weight" -weight = 20 -draft = false -[extra] -lead = "" -toc = true -top = false -+++ - - -Servos are a useful addition to any underwater vehicle build where a component needs to be actuated or rotated. Normal servos can be installed inside the watertight enclosures to rotate things such as cameras. Depth rated servos can be used outside of enclosures. - -Up to three servos can be operated via joystick button functions when connected to the appropriate signal output. - -Most autopilots cannot provide power to the servos so a 5V power supply will need to be connected to the output signal rail. - -## Supported Servos - -ArduSub supports either analog or digital PWM controlled servos. The following have been tested: - -* [Hitec HS-5055MG Servo](https://hitecrcd.com/products/servos/micro-and-mini-servos/digital-micro-and-mini-servos/hs-5055mg-economy-metal-gear-feather-servo/product) (used in the Blue Robotics [Camera Tilt System](https://bluerobotics.com/store/sensors-sonars-cameras/cameras/camera-tilt-mount/)) -* [Blue Trail Engineering Waterproof Servo SER-110X](https://www.bluetrailengineering.com/product-page/100-m-underwater-servo-with-low-profile-bulkhead-connector) diff --git a/content/hardware/additional/sonars/index.md b/content/hardware/additional/sonars/index.md deleted file mode 100644 index 77240c3..0000000 --- a/content/hardware/additional/sonars/index.md +++ /dev/null @@ -1,62 +0,0 @@ -+++ -title = "Sonars" -description = "Allows measuring range to surfaces, or acoustically imaging targets. Can be helpful for navigation and terrain following, especially in structured environments without alternative positioning systems. Robust to poor lighting and water clarity." -date = 2022-10-11T17:33:19+11:00 -template = "docs/page.html" -sort_by = "weight" -weight = 5 -draft = false -[extra] -lead = "" -toc = true -top = false -+++ - - -Sonars are useful pieces of equipment in situations where visibility is low. Sonars can help get ranges to surfaces or acoustically image targets to better understand their shape. - -## Echosounders and Altimeters - -A useful type of sonar is an echosounder, also known as an altimeter when installed on an underwater vehicle. An altimeter is a single-beam sonar which gets a range measurement from the bottom of the ROV to the seabed. This is useful in low visibility situations where the distance to the bottom is unknown. - -In addition to getting a distance reading, echosounders can provide the full echo response (echo strength versus time) which can be plotted like the display of a fishfinder sonar. This is useful for locating targets or obstructions beneath the vehicle. - -### Supported Echosounders/Altimeters - -{{ easy_image(src="ping" width=300) }} - -* [Blue Robotics Ping Sonar Altimeter and Echosounder](https://bluerobotics.com/store/sensors-sonars-cameras/sonar/ping-sonar-r2-rp/) (USB connection to Onboard Computer) - -## Scanning Imaging Sonars - -Mechanically scanning sonars are useful tools for navigation, and acoustically imaging targets in a top-down 2-dimensional representation. If you are new to scanning sonars, Blue Robotics has written an introductory guide which illustrates the key concepts and can help with image recognition: [Understanding and Using Scanning Sonars](https://bluerobotics.com/learn/understanding-and-using-scanning-sonars/). - -### Supported Scanning Sonars - -Only the Blue Robotics Ping360 Scanning Sonar is fully integrated with the ArduSub system and has advanced features such as heading rotation and a direct connection to the Companion Computer. - -{{ easy_image(src="ping360", width=350) }} - -* [Blue Robotics Ping360 Scanning Imaging Sonar](https://bluerobotics.com/store/sensors-sonars-cameras/sonar/ping360-sonar-r1-rp/) ([USB, RS485, or Ethernet](https://bluerobotics.com/learn/changing-communications-interface-on-the-ping360/)) - -The following scanning sonars have been installed on ArduSub vehicles: -* [Tritech Micron Sonar](https://www.tritech.co.uk/product/small-rov-mechanical-sector-scanning-sonar-tritech-micron) (RS485 connection through tether) -* [Imagenex 852 Ultra-Miniature Imaging](https://imagenex.com/products/852-ultra-miniature-imaging) (RS485 connection through tether) - -## Multibeam Sonars - -Multibeam imaging sonars are similar to mechanically scanning sonars in that they acoustically image targets in a top-down 2-dimensional representation. However, with multiple sonar beams the refresh rate is much higher presenting a real-time image of what is in front of the vehicle. - -The following multibeam sonars have been installed on ArduSub vehicles: - * [Blueprint Subsea Oculus Series Multibeam Sonars](https://www.blueprintsubsea.com/oculus/) (Ethernet) - * [Tritech International Gemini 720im Multibeam Sonar](https://www.tritech.co.uk/product/gemini-720im) (Ethernet or RS485 connection through tether) - * [Tritech International Gemini 720ik Multibeam Sonar](https://www.tritech.co.uk/product/gemini-720ik) (Ethernet) - - -## Profiling Sonars - -Profiling sonars are 1-dimensional echosounders with a rotating head that are able to get accurate acoustic range data to create a "profile" of the surrounding environment. These types of sonars are useful for inspecting material buildup in pipes. - -The following profiling sonars have been installed on ArduSub vehicles: -* [Imagenex 831L Pipe Profiling Sonar](https://imagenex.com/products/831l-pipe-profiling) -* [Imagenex 881A Profiling Sonar](https://imagenex.com/products/881a-profiling) diff --git a/content/hardware/additional/sonars/ping.png b/content/hardware/additional/sonars/ping.png deleted file mode 100644 index 3c01d48..0000000 Binary files a/content/hardware/additional/sonars/ping.png and /dev/null differ diff --git a/content/hardware/additional/sonars/ping360.png b/content/hardware/additional/sonars/ping360.png deleted file mode 100644 index a6f06be..0000000 Binary files a/content/hardware/additional/sonars/ping360.png and /dev/null differ diff --git a/content/hardware/recommended/_index.md b/content/hardware/recommended/_index.md deleted file mode 100644 index 40bb483..0000000 --- a/content/hardware/recommended/_index.md +++ /dev/null @@ -1,9 +0,0 @@ -+++ -title = "Recommended Extra Hardware" -description = "Hardware recommended for an underwater ROV." -date = 2022-10-11T07:00:00+10:00 -template = "docs/section.html" -sort_by = "weight" -weight = 2 -draft = false -+++ diff --git a/content/hardware/recommended/camera-gimbal/cam-mount.png b/content/hardware/recommended/camera-gimbal/cam-mount.png deleted file mode 100644 index fa8701b..0000000 Binary files a/content/hardware/recommended/camera-gimbal/cam-mount.png and /dev/null differ diff --git a/content/hardware/recommended/camera-gimbal/index.md b/content/hardware/recommended/camera-gimbal/index.md deleted file mode 100644 index 33e3bf4..0000000 --- a/content/hardware/recommended/camera-gimbal/index.md +++ /dev/null @@ -1,28 +0,0 @@ -+++ -title = "Camera Tilt Mount / Gimbal" -description = "Used to move and/or stabilise the camera, for smoother video feeds and looking around without needing to rotate or move the whole vehicle." -date = 2022-10-11T17:33:19+11:00 -template = "docs/page.html" -sort_by = "weight" -weight = 10 -draft = false -[extra] -lead = "" -toc = true -top = false -+++ - - -ArduSub supports control and attitude atabilization for up to 3-axis gimbals. The most common gimbal type for underwater vehicles is a 1-axis tilt mount, since the majority of standard ROV frames have control over the other Degrees of Freedom (DoF). - -ArduSub supports both simple servo-driven (PWM) gimbals in which the autopilot's onboard IMU controls the stabilisation and brushless direct drive (UART) gimbals that have their own self-stabilization controllers. - -## Supported Camera Gimbals - -{{ easy_image(src="cam-mount" width=300) }} - -The following gimbals are supported in ArduSub: -* [Servo Gimbals](https://bluerobotics.com/store/sensors-sonars-cameras/cameras/camera-tilt-mount/) -* [Gremsy Pixy U](https://ardupilot.org/copter/docs/common-gremsy-pixyu-gimbal.html#common-gremsy-pixyu-gimbal) -* [SimpleBGC (aka AlexMos) Gimbal Controller](https://ardupilot.org/copter/docs/common-simplebgc-gimbal.html#common-simplebgc-gimbal) -* [SToRM32 Gimbal Controller](https://ardupilot.org/copter/docs/common-storm32-gimbal.html#common-storm32-gimbal) (communicates with MAVLink) diff --git a/content/hardware/recommended/lights/index.md b/content/hardware/recommended/lights/index.md deleted file mode 100644 index 300d3bc..0000000 --- a/content/hardware/recommended/lights/index.md +++ /dev/null @@ -1,22 +0,0 @@ -+++ -title = "Lights" -description = "Used to improve camera visibility in low light conditions (e.g. at night, under cover, or deep under water). Important for visual inspections and navigation." -date = 2022-10-11T17:33:19+11:00 -template = "docs/page.html" -sort_by = "weight" -weight = 15 -draft = false -[extra] -lead = "" -toc = true -top = false -+++ - -Lights are an integral component of any marine vehicle where optical inspection is being conducted. ArduSub has the ability to control lights that use Pulse Width Modulation (PWM) signals. Two independent light sets may be controlled by two different output channels. - -## Supported Light Products - -{{ easy_image(src="lumen" width=300) }} - -The following light products may be controlled by an [autopilot](/introduction/hardware-options/required-hardware/autopilot.md): -* [Lumen Subsea Light for ROV/AUV](https://bluerobotics.com/store/thrusters/lights/lumen-r2-rp/) diff --git a/content/hardware/recommended/lights/lumen.png b/content/hardware/recommended/lights/lumen.png deleted file mode 100644 index a2ca876..0000000 Binary files a/content/hardware/recommended/lights/lumen.png and /dev/null differ diff --git a/content/hardware/recommended/pressure-sensor/bar100.png b/content/hardware/recommended/pressure-sensor/bar100.png deleted file mode 100644 index 5a0b19c..0000000 Binary files a/content/hardware/recommended/pressure-sensor/bar100.png and /dev/null differ diff --git a/content/hardware/recommended/pressure-sensor/bar30.png b/content/hardware/recommended/pressure-sensor/bar30.png deleted file mode 100644 index 553f281..0000000 Binary files a/content/hardware/recommended/pressure-sensor/bar30.png and /dev/null differ diff --git a/content/hardware/recommended/pressure-sensor/index.md b/content/hardware/recommended/pressure-sensor/index.md deleted file mode 100644 index 19c7c1c..0000000 --- a/content/hardware/recommended/pressure-sensor/index.md +++ /dev/null @@ -1,31 +0,0 @@ -+++ -title = "Pressure Sensor" -description = "Allows estimating vehicle depth." -date = 2022-10-11T17:33:19+11:00 -template = "docs/page.html" -sort_by = "weight" -weight = 5 -draft = false -[extra] -lead = "" -toc = true -top = false -+++ - -An external pressure sensor is required for obtaining depth readings and enabling Depth Hold functionality. Only one sensor may be connected at a time. - -ArduSub has pre-installed drivers for the following sensor types: - -* [Measurement Specialties MS5837-30BA](https://www.te.com/commerce/DocumentDelivery/DDEController?Action=showdoc&DocId=Data+Sheet%7FMS5837-30BA%7FB1%7Fpdf%7FEnglish%7FENG_DS_MS5837-30BA_B1.pdf%7FCAT-BLPS0017) -* [Keller 7LD Series](https://download.keller-druck.com/api/download/2LfcGMzMbeHdjFbyUd5DWA/en/latest) - -## Supported Sensor Products - - - -The following sensor products may be directly connected to an [autopilot](/introduction/hardware-options/required-hardware/autopilot.md): -* [Bar30 High-Resolution 300m Depth/Pressure Sensor](https://bluerobotics.com/store/sensors-sonars-cameras/sensors/bar30-sensor-r1/) -* [PCB for Bar30 High-Resolution 300m Depth/Pressure Sensor](https://bluerobotics.com/store/sensors-sonars-cameras/sensors/bar30-sensor-pcb-r1/) -* [Bar100 High-Resolution 1000m Depth/Pressure Sensor](https://bluerobotics.com/store/sensors-sonars-cameras/sensors/bar100-sensor-r2-rp/) - -There is a comparison [in the Blue Robotics Technical Reference](https://bluerobotics.com/learn/technical-reference/#temperature-and-pressuredepth-sensors). diff --git a/content/hardware/recommended/tether-interface/fathomx.png b/content/hardware/recommended/tether-interface/fathomx.png deleted file mode 100644 index 42dded8..0000000 Binary files a/content/hardware/recommended/tether-interface/fathomx.png and /dev/null differ diff --git a/content/hardware/recommended/tether-interface/index.md b/content/hardware/recommended/tether-interface/index.md deleted file mode 100644 index 4ff31d1..0000000 --- a/content/hardware/recommended/tether-interface/index.md +++ /dev/null @@ -1,31 +0,0 @@ -+++ -title = "Tether Interface" -description = "Converts an ethernet connection to a signal type more suited to long distances and different tether types." -date = 2022-10-11T17:33:19+11:00 -template = "docs/page.html" -sort_by = "weight" -weight = 0 -draft = false -[extra] -lead = "" -toc = true -top = false -+++ - -Although optional and not necessary for basic functionality, tether interfaces increase the **range** and **reliability** of Ethernet communications. - -## Interfaces for Copper Twisted Wire Pairs - -Interface boards which use the [Homeplug AV](https://en.wikipedia.org/wiki/HomePlug#HomePlug_AV) standard provide a robust high-speed, long-distance Ethernet connection over a single pair of wires. These boards enable HD video and high-bandwidth data over 300m+ tether lengths. - -{{ easy_image(src="fathomx" width=350) }} - -The following interface boards are supported: -* [Blue Robotics Fathom-X Tether Interface Board Set](https://bluerobotics.com/store/comm-control-power/tether-interface/fathom-x-r1/) - -## Interfaces for Fiber Optic Cable - -With communications being Ethernet based, fiber optic cables may also be used with Ethernet-to-Fiber converters installed inside the ROV and topside. - -The following fiber optic interface boards have been known to work: -* [DeltaROV Subsea Fiber to Ethernet Communication Kit](http://www.deltarov.com/new/product/drov-subsea-fiber-to-ethernet-communication-kit/) diff --git a/content/hardware/required/_index.md b/content/hardware/required/_index.md deleted file mode 100644 index 376962c..0000000 --- a/content/hardware/required/_index.md +++ /dev/null @@ -1,9 +0,0 @@ -+++ -title = "Required Hardware" -description = "Hardware required for an underwater ROV." -date = 2022-10-04T21:45:00+10:00 -template = "docs/section.html" -sort_by = "weight" -weight = 1 -draft = false -+++ diff --git a/content/hardware/required/camera/cam-usb.png b/content/hardware/required/camera/cam-usb.png deleted file mode 100644 index 3619308..0000000 Binary files a/content/hardware/required/camera/cam-usb.png and /dev/null differ diff --git a/content/hardware/required/camera/exploreHD2.png b/content/hardware/required/camera/exploreHD2.png deleted file mode 100644 index d850c40..0000000 Binary files a/content/hardware/required/camera/exploreHD2.png and /dev/null differ diff --git a/content/hardware/required/camera/index.md b/content/hardware/required/camera/index.md deleted file mode 100644 index b5f90d5..0000000 --- a/content/hardware/required/camera/index.md +++ /dev/null @@ -1,85 +0,0 @@ -+++ -title = "Camera" -description = "Allows the operator to see and record from the vehicle's point of view. If paired with a tilting mount or other gimbal it can be moved during operation." -date = 2022-10-11T17:33:19+11:00 -template = "docs/page.html" -sort_by = "weight" -weight = 20 -draft = false -[extra] -lead = "" -toc = true -top = false -+++ - -A valuable aspect of subsea robotics is being able to see underwater and at high pressures for extended periods, which aids navigation, inspections, exploration, and cleaning and repair work. Cameras can be located inside an electronics enclosure, or can be depth-rated and operate on the outside of the vehicle. - -BlueOS (on the [Onboard Computer](../onboard-computer/)) includes a camera manager which can configure and stream multiple camera feeds to the [Control Station Computer](../control-computer/), from both USB and ethernet (IP) cameras. QGroundControl can switch between different video streams, but is currently only capable of displaying (and recording) one stream at a time, and only supports H.264-encoded streams. Additional video streams can be viewed in [external applications/software](https://discuss.bluerobotics.com/t/how-to-stream-another-cameras-video/9573/3#receiving-the-stream-7), including VideoLan (VLC) and Open Broadcast Studio (OBS). - -## Supported Cameras - -### USB Cameras - -Most modern USB cameras are compatible with the BlueOS. - - - -The following USB cameras have been tested to work: - -* [Blue Robotics Low-Light HD USB Camera](https://www.bluerobotics.com/store/electronics/cam-usb-low-light-r1/) -* [DeepWater Exploration exploreHD](https://exploredeepwater.com/products/explorehd-rov-auv-usb-camera) (depth rated) - -### Camera Serial Interface (CSI) Cameras - -With a Camera Serial Interface (CSI) input on the Raspberry Pi, this type of camera may be used with the Companion software. A Raspberry Pi camera module came pre-installed on the BlueROV2 until mid-2017 when it was replaced by the Low-Light HD USB Camera. - -{{ easy_image(src="rpicam", width=300) }} - -The following CSI cameras have been tested to work: - -* [Raspberry Pi Camera Module v2](https://www.raspberrypi.org/products/camera-module-v2/) - -### Ethernet (IP) Cameras - -An [Ethernet Switch](../../additional/ethernet-switch/) is required unless the camera stream is sent through an independent part of the [Tether](../tether/). The minimum requirements for working directly with QGroundControl are: - -* H.264 Output -* RTSP - ---- - -## Understanding Camera Properties - -Choosing a camera setup for underwater use can be challenging, because a tradeoff must be made between the various properties of the camera, its lens, and the bandwidth required for streaming. If you are mostly interested in camera alternatives and improvements, there's a brief comparison table [here](https://discuss.bluerobotics.com/t/camera-lens-for-br-camera/10993/3#seeing-better-qualityresolution-1) of some options that have been posted about on the Blue Robotics forum. - -The following points discuss the tradeoffs between different camera properties, with a focus on the underwater environment: - -### Higher Resolution -- assuming sufficient lighting and good enough optics, more pixels means clearer fine details, but -- more pixels means more data to send, so requires more communication bandwidth and storage space, and reduces options for multiple additional cameras/sensors to be run at the same time -- also generally means the physical sensor for each pixel is smaller, which reduces low-light performance -- some high resolution cameras support moving the output frame when streaming at lower resolutions, which can allow for optical zooming, panning, and tilting without needing to move the camera itself - that's most effective with a wide-angle lens -### Higher Framerate -- the "time" equivalent of higher resolution - instead of finer details within an image, higher framerate captures more moments in time, so is better suited for capturing short events, or following fast objects -> results are generally perceived as "smoother" -- less time between frames also reduces the maximum exposure time, which can reduce the amount of light that can be captured (so can reduce low-light performance) -- more frames means more data, so uses additional communication bandwidth and storage space -### Improved Low-Light Performance -- primarily comes from a larger physical sensor, which can capture more photons -- better low-light performance means your lights don't need to be as strong, which reduces backscatter and bright reflections off bubbles and particles in the water -- [this forum comment](https://discuss.bluerobotics.com/t/new-product-bluerov2-full-electronics-and-software-upgrade/10652/4) shows the kind of difference it can make -### Wider Angle Lens -- a wider viewing angle means you can see more of what's around you without needing to turn the camera or vehicle -- a wider view into the same set of pixels means each pixel covers more area, so there's less fine detail that can be resolved -- human eyes have their own viewing angle they're used to seeing, so very wide angle camera views can be a bit disorienting -- a wider viewing angle means a larger portion of the viewing sphere is mapped onto the flat image plane, so the resulting image often looks quite distorted -### More Efficient Encoding (H265) -- H264 has been the standard high-efficiency stream encoding for many years, because it can be calculated quickly, has low bandwidth requirements, and produces videos that look similar to the captured input - it's currently the only option that's available by default in our vehicles -- H265 is the next generation beyond H264 - it requires some extra computation to encode (which can potentially add some latency), but it's a more efficient encoding -> either less data can be sent to achieve the same quality (so potentially more cameras could be streamed), or the same amount of data could be sent but with a significant quality improvement -- encoding is important for streaming, but efficient encodings work by removing data that humans aren't very good at seeing -> that's great if only humans are looking at the output, but makes it harder/less effective to do video processing and computer vision on the results -### Image Pre-processing -- encoding removes large amounts of data that may be helpful for processing, so if processing is going to occur it generally has better results if it can be done in real time on the raw image frames from the camera sensor, before they get encoded -- pre-processing on the camera makes the camera more complex and expensive, and the real-time requirement can place some limitations on what kinds of processing are feasible, and how much processing can be applied -- if the stream uses the processed results, the time taken to process any single frame is added to the stream latency, and too much display latency makes the vehicle feel unresponsive and harder to control -- if pre-processing is applied in the camera module to improve visibility/colour (as in the [DWE exploreHD](https://discuss.bluerobotics.com/t/a-new-high-quality-underwater-usb-camera/10279/15)), the video receiver can display better results that are easier to analyse and interpret as they appear -- some cameras support custom processing, which can be used for visibility improvements but also machine-learning detection of regions or objects of interest -- custom processing has the benefit that you can choose which processing you want to apply, and people can share results and benefit from each other's developments, but also means you need resources to develop processing that works well for your use-case, and/or access to others who have developed it already diff --git a/content/hardware/required/camera/rpicam.png b/content/hardware/required/camera/rpicam.png deleted file mode 100644 index 0f12902..0000000 Binary files a/content/hardware/required/camera/rpicam.png and /dev/null differ diff --git a/content/hardware/required/control-computer/index.md b/content/hardware/required/control-computer/index.md deleted file mode 100644 index 1453adf..0000000 --- a/content/hardware/required/control-computer/index.md +++ /dev/null @@ -1,58 +0,0 @@ -+++ -title = "Control Station (Topside) Computer" -description = "Sends operator input to the vehicle, and receives and displays information from the vehicle." -date = 2022-10-11T17:33:19+11:00 -template = "docs/page.html" -sort_by = "weight" -weight = 10 -draft = false -[extra] -lead = "" -toc = true -top = false -+++ - -The Control Station Computer is the operator's primary interface to their vehicle(s). In subsea applications it is often referred to as the Topside Computer or Surface Computer, whereas for rovers and aerial vehicles it is normally called the Ground Control Station (GCS) Computer. - -When controlling an ArduSub vehicle, the Topside Computer is tethered to the [Onboard Computer](../onboard-computer/). The vehicle is controlled using Control Station software such as the QGroundControl application, which displays the live video feed and telemetry data to the operator, and accepts piloting inputs from a connected [joystick](../joystick) for manual control. - -## Supported Operating Systems - -QGroundControl has been tested and is supported on the following operating systems: - -* Windows 10 - 64 bit -* macOS 10.20 or later -* Ubuntu 18.04 or later - -The minimum recommended hardware for running QGroundControl is: - -* i5 processor or better -* 8GB RAM -* Solid-state hard drive (SSD) - -### Consumer Level Computers - -QGroundControl runs well on consumer level laptops meeting the minimum specifications in the section above. These types of laptops are generally made to be used indoors, so they lack bright screens and water resistance for use outside. If possible, try to find a computer with the brightest screen possible. The engineering department of Blue Robotics uses this [Dell XPS 15 laptop](https://www.dell.com/en-us/shop/dell-laptops/new-xps-15-laptop/spd/xps-15-7590-laptop/XNber5cr656Ps?view=configurations&configurationid=55d274d4-e828-4110-b161-3acaa604d481) as of 2020. - -### Rugged and Semi-Rugged Computers - -If a brighter screen or water resitance are required, then a rugged or semi-rugged laptop may be a better choice. Modern rugged laptops are about equal with their consumer level counterparts from a performance perspective. - -* [Panasonic Toughbook Series](https://na.panasonic.com/us/computers-tablets-handhelds) -* [Dell Rugged Series](https://www.dell.com/en-us/work/learn/rugged) -* [Getac Laptops and Tablets](https://www.getac.com/) - -### Custom Computers - -With the introduction of the ArduSub system and compatibility with major operating systems, users are building their own topside computer systems, usually into ruggedized travel cases. A high brightness screen (>1000 nits) is installed in the lid and the computer components are located into the remainder of the case. - -Below is an example of such a case from Blue Link: - -{{ easy_image(src="topside-computer-bluelink", width=400) }} - -## Unsupported Operating Systems - -Althugh QGroundControl can be downloaded onto these operating systems, ArduSub is not currently supported on: - -* Android -* iOS diff --git a/content/hardware/required/control-computer/topside-computer-bluelink.png b/content/hardware/required/control-computer/topside-computer-bluelink.png deleted file mode 100644 index 30075b6..0000000 Binary files a/content/hardware/required/control-computer/topside-computer-bluelink.png and /dev/null differ diff --git a/content/hardware/required/esc/besc.png b/content/hardware/required/esc/besc.png deleted file mode 100644 index c4e9e79..0000000 Binary files a/content/hardware/required/esc/besc.png and /dev/null differ diff --git a/content/hardware/required/esc/index.md b/content/hardware/required/esc/index.md deleted file mode 100644 index 2dcb5ac..0000000 --- a/content/hardware/required/esc/index.md +++ /dev/null @@ -1,42 +0,0 @@ -+++ -title = "Electronic Speed Controllers (ESCs)" -description = "Used to control the speed/thrust of motors and thrusters." -date = 2022-10-11T17:33:19+11:00 -template = "docs/page.html" -sort_by = "weight" -weight = 25 -draft = false -[extra] -lead = "" -toc = true -top = false -+++ - -ArduSub is designed to work with brushless and brushed Electronic Speed Controllers (ESCs) to control motors and [thrusters](../thrusters/). Different motor types require different ESCs, so the ESCs must match the motor type they are being used to control. - -ArduPilot does not support controlling both brushed and brushless motors at the same time. - -The minimum requirements for an ESC of either type are: - -* Bi-directional control - they operate in forward and reverse (most ESCs for UAVs and hobby drones only operate in one direction) -* Controlled by a PWM input where: - * 1900 us is full forward - * 1500 us is stopped - * 1100 us is full reverse - -## Brushless ESCs - -{{ easy_image(src="besc" width=500) }} - -The following brushless ESCs are supported for use with ArduSub: - -* [Blue Robotics Basic ESC](https://bluerobotics.com/store/thrusters/speed-controllers/besc30-r3/) -* [Blue Robotics Basic ESC 500](https://bluerobotics.com/store/thrusters/speed-controllers/besc500/) - -There is a comparison of properties [in the Blue Robotics Technical Reference](https://bluerobotics.com/learn/technical-reference/#speed-controllers-escs). - -## Brushed ESCs - -No brushed ESCs have been reported to be used with ArduSub, but here is the reference documentation from ArduPilot: - -* [Brushed Motor ESCs](https://ardupilot.org/rover/docs/common-brushed-motors.html) diff --git a/content/hardware/required/flight-controller/index.md b/content/hardware/required/flight-controller/index.md deleted file mode 100644 index dc6b254..0000000 --- a/content/hardware/required/flight-controller/index.md +++ /dev/null @@ -1,53 +0,0 @@ -+++ -title = "Flight Controller Board" -description = "Processes the pilot input and sensor data, and controls the lights and actuators on the vehicle." -date = 2022-10-11T17:33:19+11:00 -template = "docs/page.html" -sort_by = "weight" -weight = 0 -draft = false -[extra] -lead = "" -toc = true -top = false -+++ - -In the ArduSub control system, the flight controller board is the hardware component which the ArduSub autopilot firmware is loaded onto. The autopilot processes the pilot input and sensor data, and controls the motors, lights, servos, and relays on the vehicle. - -Although there are many different flight controller boards available, here are the general characteristics: -* Ability to load any ArduPilot binary firmware file (Copter, Plane, Rover/Boat, Sub) -* Manual control and semi-autonomous/stablilised "flight" modes -* Autonomous waypoint-based control (with an appropriate positioning sensor) -* Various input and output connections for connecting multiple peripherals -* Embedded IMU(s), magnetic compass(es) and gyroscope(s) to determine vehicle's orientation -* Capable of transmitting telemetry data, and saving vehicle logs - -## Recommended Flight Controllers - -The first flight controller board recommended for ArduSub was the [Pixhawk 1](https://docs.px4.io/v1.10/en/flight_controller/pixhawk.html) manufactured by 3D Robotics (3DR) from 2013-2016. When 3DR exited manufacturing hardware in 2016, different manufacturers took the open source design files and created their own flight controllers. The original Pixhawk design has been retired, and Blue Robotics has designed the Navigator as a modern replacement that is tailored to ArduSub use cases. - -Navigator Flight Controller Board Pixhawk Flight Controller Board - -The following list is the recommended flight controller boards for use with ArduSub: -1. [Blue Robotics Navigator](https://bluerobotics.com/store/comm-control-power/control/navigator/) (requires Raspberry Pi 4B [Onboard Computer](../onboard-computer/)) -1. The original [3DR (3D Robotics) Pixhawk 1](https://docs.px4.io/v1.10/en/flight_controller/pixhawk.html) -1. [mRobotics (Mayan Robotics) Pixhawk 1](https://docs.px4.io/v1.10/en/flight_controller/mro_pixhawk.html) -1. [HolyBro Pixhawk 4](http://www.holybro.com/product/pixhawk-4/) -1. [Cube Module](https://docs.cubepilot.org/user-guides/autopilot/the-cube-module-overview) - -There is a comparison [in the Blue Robotics Technical Reference](https://bluerobotics.com/learn/technical-reference#flight-controller-boards). - -## Not Recommended Flight Controllers - -With feedback from other users, the following flight controller boards are not recommended for use with Ardusub: - -1. [RadioLink Pixhawk](https://www.foxtechfpv.com/pixhawk-autopilot-combo.html) - * Issues: Proprietary firmware binaries, only works with RadioLink version of Mission Planner, incorrect connectors. -1. Any flight controller with [Picoblade](https://www.molex.com/molex/products/family/picoblade) series connectors instead of [JST-GH](https://bluerobotics.com/learn/wl-connector-standard/#jst-gh-series) or [DF13](https://bluerobotics.com/learn/wl-connector-standard/#hirose-df13-series-not-recommended-for-new-designs) connectors. - * Issue: Is not connector compatible with Blue Robotics products. - -## Other Flight Controllers That Haven't Been Tested - -ArduPilot has has a list of other compatible flight controllers: [Autopilot Hardware Options](https://ardupilot.org/copter/docs/common-autopilots.html) - -These boards have not been tested or reported to work with ArduSub. diff --git a/content/hardware/required/flight-controller/navigator.png b/content/hardware/required/flight-controller/navigator.png deleted file mode 100644 index f236875..0000000 Binary files a/content/hardware/required/flight-controller/navigator.png and /dev/null differ diff --git a/content/hardware/required/flight-controller/pixhawk.png b/content/hardware/required/flight-controller/pixhawk.png deleted file mode 100644 index 724523c..0000000 Binary files a/content/hardware/required/flight-controller/pixhawk.png and /dev/null differ diff --git a/content/hardware/required/joystick/index.md b/content/hardware/required/joystick/index.md deleted file mode 100644 index 0ba3996..0000000 --- a/content/hardware/required/joystick/index.md +++ /dev/null @@ -1,55 +0,0 @@ -+++ -title = "Joystick / Gamepad" -description = "Allows the operator to directly control the vehicle, using stick movements and button presses." -date = 2022-10-11T17:33:19+11:00 -template = "docs/page.html" -sort_by = "weight" -weight = 15 -draft = false -[extra] -lead = "" -toc = true -top = false -+++ - -A joystick (also known as a hand controller, gamepad, etc) when connected to the topside computer is how the user provides control inputs to the vehicle. These inputs may be in the form of movement (stick control) or action items (button presses). - -QGroundControl has support for Microsoft's [XInput Game Controller API](https://docs.microsoft.com/en-us/windows/win32/xinput/xinput-game-controller-apis-portal) meaning any controller which supports XInput may be used. - -QGroundControl supports controllers with up to 4 control axes and 16 buttons. - -## Supported Commercial Joysticks - -The following joysticks have been tested and are supported: - -* [Logitech F310](https://www.logitechg.com/en-us/products/gamepads/f310-gamepad.940-000110.html) (wired) -* [Logitech F710](https://www.logitechg.com/en-us/products/gamepads/f710-wireless-gamepad.html) (wireless) -* [Microsoft Xbox One controllers](https://www.xbox.com/en-us/accessories/controllers/xbox-wireless-controller-usb-c) (wired and wireless) -* [Sony PlayStation 4 controllers](https://www.playstation.com/en-us/explore/accessories/gaming-controllers/dualshock-4/) (wired only) - -## Custom Joysticks - -With the inclusion of industry standard drivers and APIs, custom controllers can be built using a joystick control board and standard buttons and sticks. - -Marine Simulation wrote a quick tutorial on how to do so: [Custom Hand Controller Design](http://marinesimulation.com/custom-hand-controller-design/) - -The following control boards have been known to work: - -* Leo Bodnar Electronics - * [BU0836X 12-Bit Joystick Board](http://www.leobodnar.com/shop/index.php?main_page=product_info&cPath=94&products_id=180) - * [BU0836A 12-Bit Joystick Controller](http://www.leobodnar.com/shop/index.php?main_page=product_info&cPath=94&products_id=204) - * [BU0836A-NC 12-Bit Joystick Controller No Connectors](http://www.leobodnar.com/shop/index.php?main_page=product_info&cPath=94&products_id=219) -* Ultimarc - * [Mini-PAC Standard](https://www.ultimarc.com/control-interfaces/mini-pac-en/mini-pac/) - -### Custom Joystick Examples - -Below are some examples of custom joysticks created by ArduSub users. - -* [ROVsim Surface Control Unit mk4](http://marinesimulation.com/rovsim-surface-control-unit/) - -{{ easy_image(src="joystick-rovsim", width=400) }} - -* [DeltaROV ROV USB Joystick v1.0](http://www.deltarov.com/new/product/br2-controller/) - -{{ easy_image(src="joystick-deltarov", width=400) }} diff --git a/content/hardware/required/joystick/joystick-deltarov.png b/content/hardware/required/joystick/joystick-deltarov.png deleted file mode 100644 index 0aa14ef..0000000 Binary files a/content/hardware/required/joystick/joystick-deltarov.png and /dev/null differ diff --git a/content/hardware/required/joystick/joystick-rovsim.png b/content/hardware/required/joystick/joystick-rovsim.png deleted file mode 100644 index 41de42d..0000000 Binary files a/content/hardware/required/joystick/joystick-rovsim.png and /dev/null differ diff --git a/content/hardware/required/onboard-computer/RPi3B.png b/content/hardware/required/onboard-computer/RPi3B.png deleted file mode 100644 index ac89d1c..0000000 Binary files a/content/hardware/required/onboard-computer/RPi3B.png and /dev/null differ diff --git a/content/hardware/required/onboard-computer/RPi4B.png b/content/hardware/required/onboard-computer/RPi4B.png deleted file mode 100644 index 62ddc86..0000000 Binary files a/content/hardware/required/onboard-computer/RPi4B.png and /dev/null differ diff --git a/content/hardware/required/onboard-computer/index.md b/content/hardware/required/onboard-computer/index.md deleted file mode 100644 index 2f4480b..0000000 --- a/content/hardware/required/onboard-computer/index.md +++ /dev/null @@ -1,35 +0,0 @@ -+++ -title = "Onboard (Companion) Computer" -description = "Streams video and relays communications between the autopilot and control station. Enables custom device/sensor integrations" -date = 2022-10-11T17:33:19+11:00 -template = "docs/page.html" -sort_by = "weight" -weight = 5 -draft = false -[extra] -lead = "" -toc = true -top = false -+++ - -Onboard Computers are usually small single board computers (SBCs) which can be connected to an [Autopilot Board](../autopilot/), and can facilitate [MAVLink](https://ardupilot.org/dev/docs/mavlink-basics.html) communications with the [Control Station](../control-computer/) as well as enable interfacing and processing of sensors the autopilot is poorly suited to handle. - -When paired with an independent Autopilot Board (e.g. Pixhawk) the Onboard Computer is sometimes called a Companion Computer. Other boards like the Navigator use the Onboard Computer as a host, and cannot run without one. - -An ArduSub-based vehicle is expected to include an Onboard Computer running [BlueOS](../../software/onboard-computer/) or the older [ArduSub Companion Computer Software](https://github.com/bluerobotics/companion) (often refered to as the "Companion Software"). - -## Supported Hardware - -Raspberry Pi 3 Model B Raspberry Pi 4 Model B - -BlueOS can run on Raspberry Pi boards from the 3 Model B and onwards. It is designed to be portable, and support for additional Linux-based SBCs will come in future. Contributions are welcomed. - -The Companion Software is **only** supported for use with the [Raspberry Pi 3 Model B](https://www.raspberrypi.org/products/raspberry-pi-3-model-b/). - -There is a comparison of Onboard Computer specifications [in the Blue Robotics Technical Reference](https://bluerobotics.com/learn/technical-reference/#onboard-computers). - -## References - -The ArduPilot documentation has more reading material about Companion Computers, but those software images are not compatible with the ArduSub system. - -* [ArduPilot: Companion Computers](https://ardupilot.org/dev/docs/companion-computers.html) diff --git a/content/hardware/required/power-sensor/index.md b/content/hardware/required/power-sensor/index.md deleted file mode 100644 index 8458b49..0000000 --- a/content/hardware/required/power-sensor/index.md +++ /dev/null @@ -1,39 +0,0 @@ -+++ -title = "Power Sensor / Battery Monitor" -description = "Measures the voltage and current consumption to estimate power capacity and usage." -date = 2022-10-11T17:33:19+11:00 -template = "docs/page.html" -sort_by = "weight" -weight = 35 -draft = false -[extra] -lead = "" -toc = true -top = false -+++ - -A power sensing module provides analog current and voltage sensing to an autopilot onboard the vehicle. ArduSub supports various modules in the firmware and when properly set, QGroundControl will give visual indications of battery level and current consumption. - -## Recommended Power Sensing Modules - -{{ easy_image(src="psm", width=600) }} - -The following power sensing modules have been tested and recommended for use: - -* [Blue Robotics Power Sense Module](https://bluerobotics.com/store/comm-control-power/elec-packages/psm-asm-r2-rp/) - * Does not provide power to the autopilot, voltage and current sensing only. -* [Mauch HS Series Power Module](https://www.mauch-electronic.com/hs-sensor-product) - * Requires an additional [4-14S Hybrid BEC](https://www.mauch-electronic.com/4-14s-hyb-bec) to power the board. - -## Not Recommended Power Sensing Modules - -The following modules have been tested and are **not** recommended for use: - -* [mRobotics Classic Power Module (BEC) 4S LIPOs](https://store.mrobotics.io/product-p/m10018a.htm) - * Issue: For unknown reasons, will short circuit and send 12V to the autopilot, damaging both the power module and autopilot. - -## Other Power Sensing Modules - -ArduPilot has a list of other power sensing modules, but these have not been tested or verified: - -* [Battery Monitors (aka Power Monitors/Modules)](https://ardupilot.org/copter/docs/common-powermodule-landingpage.html) diff --git a/content/hardware/required/power-sensor/psm.png b/content/hardware/required/power-sensor/psm.png deleted file mode 100644 index 4c0cbf6..0000000 Binary files a/content/hardware/required/power-sensor/psm.png and /dev/null differ diff --git a/content/hardware/required/power-supply/battery.png b/content/hardware/required/power-supply/battery.png deleted file mode 100644 index 2a433da..0000000 Binary files a/content/hardware/required/power-supply/battery.png and /dev/null differ diff --git a/content/hardware/required/power-supply/index.md b/content/hardware/required/power-supply/index.md deleted file mode 100644 index c9c2896..0000000 --- a/content/hardware/required/power-supply/index.md +++ /dev/null @@ -1,57 +0,0 @@ -+++ -title = "Power Supply / Battery" -description = "Supplies and distributes power to all onboard electronics, including the high current draw of the thrusters. A regulator converts the main supplied power (from a battery or otherwise) into appropriate steady voltages for the more sensitive electronics." -date = 2022-10-11T17:33:19+11:00 -template = "docs/page.html" -sort_by = "weight" -weight = 40 -draft = false -[extra] -lead = "" -toc = true -top = false -+++ - -A stable power supply and power distribution system is an integral part of any underwater vehicle. The power supply needs to be able to power all the onboard electronics and keep up with the current draw of the thrusters. - -The working voltage is usually tied to the maximum voltage rating of the thrusters. Voltage regulators step down higher voltages into lower ones to power the electronics. - -## Battery Power - -For safety reasons, it is recommended to design an underwater vehicle to operate on battery power. Lithium type batteries are a popular choice due to their high storage capacity in a compact form factor. When selecting a battery for a new vehicle, here are a few important considerations: - -- **Voltage:** Lithium batteries often specify their nominal pack voltage as well as a corresponding **"S"** rating indicating the number of 3.7V cells in wired in **S**eries inside the battery. The voltage of your battery needs to be matched to the ratings of your ESCs and thrusters. - - * For example, [Blue Robotics Basic ESCs](https://bluerobotics.com/store/thrusters/speed-controllers/besc30-r3/) support 2S through 6S (7-26V) batteries, however the [T200 Thruster](https://bluerobotics.com/store/thrusters/t100-t200-thrusters/t200-thruster-r2-rp/) is only rated for a maximum of 20V. Therefore, the the maximum recommended battery to use in this system is a 4S battery as a fully charged battery is 16.8V. - -- **Capacity** Batteries usually specify their capacity in units of mAh, the larger this number, the more energy the battery will store, and the longer you can run your ROV. - -- **Current Rating:** Batteries usually specify a **C** rating for **C**urrent. In order to calculate the rated current in Amps, multiply the capacity of the battery in Ah (mAh/1000) times the **C** rating. For example, a 10000 mAh (10 Ah) battery with a 10C rating is rated for 100 Amps. As a general rule of thumb, your battery should be rated for a continuous current draw of 15 Amps times the number of thrusters. - -A battery will also need its own [watertight enclosure (WTE)](https://bluerobotics.com/product-category/watertight-enclosures/) unless space is allocated inside the main electronics enclosure. - -{{ easy_image(src="battery", width=500) }} - -These batteries are known to fit inside a 3" inner diameter (WTE): -* [Blue Robotics Lithium-ion Battery (14.8V, 18Ah)](https://bluerobotics.com/store/comm-control-power/powersupplies-batteries/battery-li-4s-18ah-r3/) -* [Blue Robotics Lithium-ion Battery (14.8V, 15.6Ah)](https://bluerobotics.com/store/comm-control-power/powersupplies-batteries/battery-li-4s-15-6ah/) -* [Blue Robotics Lithium-Polymer Battery (14.8V, 10Ah)](https://bluerobotics.com/store/comm-control-power/powersupplies-batteries/battery-lp-4s-10ah/) - -There is a comparison of the main properties [in the Blue Robotics Technical Reference](https://bluerobotics.com/learn/technical-reference/#power-supplies-batteries-and-chargers). - - -## Power Over Tether (High Voltage) - -**With the inherent danger of high voltage around water, the ArduSub developers highly discourage users from making their own high voltage power supplies.** - -If a power over tether solution is required, then Blue Robotics sells the [Outland Technology Power Supply (OTPS) for the BlueROV2](https://bluerobotics.com/store/comm-control-power/powersupplies-batteries/otps1kw/). Although the OTPS system was resigned to replace the battery enclosure on the BlueROV2, it can be adapted for other vehicle projects. - -{{ easy_image(src="otps" width=400) }} - -## Voltage Regulators - -Depending on the electronics used, the primary voltage of the vehicle will most likely need to be stepped down and regulated more more sensitive electronics such as Companion Computers and autopilots. - -The following regulators have been tested to provide adequate power: - -* [Blue Robotics 5V 6A Power Supply](https://bluerobotics.com/store/comm-control-power/elec-packages/bec-5v6a-r1/) diff --git a/content/hardware/required/power-supply/otps.png b/content/hardware/required/power-supply/otps.png deleted file mode 100644 index 40bed5d..0000000 Binary files a/content/hardware/required/power-supply/otps.png and /dev/null differ diff --git a/content/hardware/required/tether/index.md b/content/hardware/required/tether/index.md deleted file mode 100644 index 51feb3d..0000000 --- a/content/hardware/required/tether/index.md +++ /dev/null @@ -1,23 +0,0 @@ -+++ -title = "Tether" -description = "Provides low latency high-bandwidth communication between the onboard computer and the control station, which other technologies are poorly suited to." -date = 2022-10-11T17:33:19+11:00 -template = "docs/page.html" -sort_by = "weight" -weight = 45 -draft = false -[extra] -lead = "" -toc = true -top = false -+++ - -A tether is a length of cable which connects the [Onboard Computer](../onboard-computer/) to the [Topside Computer](../control-computer/). Radio frequency (RF) waves do not travel far through water and acoustic modems have limited bandwidth, so a tether is a critical component to connect the vehicle to a surface computer. - -## Requirements - -The Onboard Computer communicates with 10/100/1000 Base Ethernet. If 10/100 Base is acceptable, a standard [Cat 5 cable](https://en.wikipedia.org/wiki/Category_5_cable) may be used to connect to the vehicle and topside computer. The maximum transmission length of Cat5 cable is around 100m. - -{{ easy_image(src="tether", width=300) }} - -Alternative tether types (twisted pair, fiber optic, etc) and lengths require a [Tether Interface](../../recommended/tether-interface/). diff --git a/content/hardware/required/tether/tether.png b/content/hardware/required/tether/tether.png deleted file mode 100644 index 278683a..0000000 Binary files a/content/hardware/required/tether/tether.png and /dev/null differ diff --git a/content/hardware/required/thrusters/index.md b/content/hardware/required/thrusters/index.md deleted file mode 100644 index dfe1156..0000000 --- a/content/hardware/required/thrusters/index.md +++ /dev/null @@ -1,42 +0,0 @@ -+++ -title = "Thrusters" -description = "Used to maneuver a vehicle in marine environments. The number and orientation of thrusters on a vehicle determines the degrees of freedom (DoF) it may maneuver in." -date = 2022-10-11T17:33:19+11:00 -template = "docs/page.html" -sort_by = "weight" -weight = 30 -draft = false -[extra] -lead = "" -toc = true -top = false -+++ - -Thrusters are necessary to maneuver an underwater vehicle around. The number and orientation of thrusters on a vehicle determines the number of degrees of freedom (DoF) it may maneuver in. - -The maximum current draw of the power supply on the vehicle is an important consideration when choosing what type and how many thrusters to mount on a vehicle. The maximum current draw at the intended voltage should be totaled up for all the thrusters. If this exceeds the current rating of the power supply, either lower the supply voltage, [limit the maximum thrust](https://discuss.bluerobotics.com/t/raspberry-and-pixhawk-shutdown-problem/10814/2), or remove thrusters. - -ArduSub can be used with both brushless and brushed thrusters, but all motion-control thrusters on a single vehicle must use the same type of control signal, and each thruster needs to be paired to an [Electronic Speed Controller (ESC)](../esc/) that matches its motor type. - -## Brushless Thrusters - -Brushless thrusters are a good choice for propulsion as they do not have brushes that must be protected or wear out. - -## Recommended Brushless Thrusters - -{{ easy_image(src="t200" height=300) }} - -The following brushless thrusters have been tested and are recommended for use: - -* [Blue Robotics T200 Thruster](https://bluerobotics.com/store/thrusters/t100-t200-thrusters/t200-thruster-r2-rp/) -* [Blue Robotics T500 Thruster](https://bluerobotics.com/store/thrusters/t100-t200-thrusters/t500-thruster/) - -There is a comparison of properties [in the Blue Robotics Technical Reference](https://bluerobotics.com/learn/technical-reference/#thrusters). - -## Brushed Thrusters - -Brushed thrusters are generally cheaper than brushless types, but must be internally sealed with either an oil compensating system or have shaft seals. - -Partially disasembled bilge pump motors with propellers have been used in the past for a shallow water sealed thruster unit. - -Brushed thrusters must use an appropriate [brushed ESC](../esc/#brushed-escs). diff --git a/content/hardware/required/thrusters/t200.png b/content/hardware/required/thrusters/t200.png deleted file mode 100644 index 81bdd22..0000000 Binary files a/content/hardware/required/thrusters/t200.png and /dev/null differ diff --git a/content/integrations b/content/integrations new file mode 160000 index 0000000..64fef26 --- /dev/null +++ b/content/integrations @@ -0,0 +1 @@ +Subproject commit 64fef261928715435bf4e283b45f4cf1f667cded diff --git a/content/integrations/_index.md b/content/integrations/_index.md deleted file mode 100644 index e4d0610..0000000 --- a/content/integrations/_index.md +++ /dev/null @@ -1,11 +0,0 @@ -+++ -title = "Integrations" -description = "Integrations documentation." -date = 2022-10-29T02:25:00+11:00 -updated = 2022-10-29T03:00:00+11:00 -sort_by = "weight" -weight = 3 -template = "docs/section.html" -+++ - -{{ mermaid(path="overview.mermaid", width="220%", curve="monotoneY") }} diff --git a/content/integrations/overview.mermaid b/content/integrations/overview.mermaid deleted file mode 100644 index a7f15a0..0000000 --- a/content/integrations/overview.mermaid +++ /dev/null @@ -1,92 +0,0 @@ -flowchart TD - start(Something
to integrate) - start --> Q1{purpose?} - Q1 -- change the world --> Actuator - Actuator --> QA1{control signal?} - QA1 -- "binary
(ON/OFF)" --> ADO(Autopilot
digital outputs):::Autopilot - QA1 -- "CAN bus" ---> QCAN{"controlled
by autopilot?"} - QCAN -- "yes" --> ACP("Autopilot
CAN port
(+ArduPilot
library)"):::Autopilot - QCAN -- "no" --> STP1[Spare
tether
pair] --> CSC1("Control Station
Computer"):::Computer - QA1 -- "PWM (servo /
duty-cycle)" --> APO(Autopilot
PWM outputs):::Autopilot - QA1 -- "USB
serial" ---> OCUSB1["Onboard Computer
USB port"] --> BEUIP("BlueOS Extension
(USB over IP)"):::BlueOS - QA1 -- "UART serial /
MAVLink" --> ASP("Autopilot serial
UART port
(+ArduPilot library)"):::Autopilot - Q1 -- measure the world --> Sensor - Sensor --> QS1{signal type?} - QS1 -- "UART
serial" --> ASP - QS1 -- "USB" --> OCUSB2["Onboard Computer
USB port"] - QS1 -- "RSxxx
serial" --> QUSB{RS485 and
unrelated to
vehicle?} - QUSB -- "no" --> USC1[USB-serial
converter] --> OCUSB2 --> QOC1{used/
processed
by vehicle?} - QOC1 -- "no" --> QOC2{Control
Station Computer
accepts UDP?} - QOC2 -- "no" --> BEUIP - QOC2 -- "yes" --> BB(BlueOS Bridges):::BlueOS - QOC1 -- "yes" --> QOC3{UVC Camera?} - QOC3 -- "yes" -----> BCM(BlueOS
Camera Manager):::BlueOS - QOC3 -- "no" ----> BEC2(Custom BlueOS
Extension):::BlueOS - QUSB -- "yes" --> STP2[Spare tether pair] --> URC[USB-RS485
converter] --> CSC2(Control Station
Computer):::Computer - QS1 -- "I2C" --> AI2C("Autopilot
I2C port
(+ ArduPilot
library)"):::Autopilot - QS1 -- "binary
(ON/OFF)" --> ASD("Autopilot
digital input
(+ ArduPilot
library)"):::Autopilot - QS1 -- "analog
electrical" --> QS2{measurable
quantity?} - QS2 -- "resistance /
current" --> QS3{relevant to
autopilot?} - QS3 -- "no" --> STP3[Spare tether pair] --> QS4{needs
automatic
logging?} - QS4 -- "no" --> MM(Multimeter):::Other - QS4 -- "yes" --> C2["Resistor(s)"] --> ADC2[ADC device] --> CSC2 - QS3 -- "yes" --> C1["Resistor(s)"] --> AADC("Autopilot ADC
(+ ArduPilot
library)"):::Autopilot - QS2 -- "voltage" --> AADC - QS1 -- "Ethernet" --> ES[Ethernet Switch] --> QE1{IP Camera?} - QE1 -- "no" --> QE2{relevant
to vehicle
control?} - QE2 -- "no" --> QE3{tether
type?} - QE3 -- "other" --> TI[Tether Interface] --> Tether - QE3 -- "ethernet
cable" --> Tether --> CSC2 - QE2 -- "yes" --> BEC2 - QE1 -- "yes" --> BCM - QS1 -- "MIPI
CSI-2" --> QRPi{Raspberry Pi
Compatible?} - QRPi -- "yes" --> BCM - QRPi -- "no" --> Co{{Converter}} - QS1 -- "Other
(HDMI,
etc)" --> Co -. supported
signal
type .-> QS1 - - subgraph SK [style key] - direction TB - Hyperlink:::Link -- "Common
path" --> Q{question} - subgraph Endpoints - direction LR - EZ(minimal
configuration
required):::Easy ~~~ - MED(isolated
high-level
development
required):::Medium ~~~ - HARD(integrated
low-level
development
required):::Hard - end - end - - %% ---------------- ARROW STYLING ----------------- %% - %% style individual arrows, nth, counted in definition order - %% label components (e.g. color) cannot override edgeLabel overrides - linkStyle 15,42,57 stroke:lightseagreen,color:lightseagreen; - linkStyle 55,56 stroke:plum,color:plum; - - %% ----------------- NODE STYLING ------------------ %% - %% integration difficulties - classDef Easy stroke:green,stroke-width:6px; - classDef Medium stroke:orange,stroke-width:6px; - classDef Hard stroke:red,stroke-width:6px; - - class ADO,APO,BB,BEUSB,BCM,BEUIP Easy; - class BEC1,BEC2,BOS Medium; - class ACP,ASP,AI2C,ASD,AADC Hard; - - %% primary integration endpoint - classDef BlueOS fill:#339,color:#eee; - classDef Autopilot fill:#933,color:#eee; - classDef Computer fill:#363,color:#eee; - classDef Other fill:#939,color:#eee; - - %% hyperlinks - click ADO "/hardware/additional/electronic-switches/" - click ACP "https://ardupilot.org/dev/docs/can-bus.html" - click BB "/software/onboard/BlueOS-1.0/advanced-usage/#bridges" - click CSC1 "/hardware/required/control-computer/" - click CSC2 "/hardware/required/control-computer/" - click BCM "/software/onboard/BlueOS-1.0/advanced-usage/#video" - click ES "/hardware/additional/ethernet-switch/" - click TI "/hardware/recommended/tether-interface/" - click URC "https://bluerobotics.com/store/comm-control-power/tether-interface/bluart-r1-rp/" - - classDef Link color:#0af; - class ADO,ACP,BB,CSC1,CSC2,BCM,ES,TI,URC Link;