This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| en:drones:autonomous [2021/03/24 20:39] – pczekalski | en:drones:autonomous [Unknown date] (current) – external edit (Unknown date) 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ===== Communication, | ===== Communication, | ||
| A general idea of a UAV is to move in 3D airspace. It can be manually controlled via remote, usually a human operator, or an autonomous flight with various autonomy levels.\\ | A general idea of a UAV is to move in 3D airspace. It can be manually controlled via remote, usually a human operator, or an autonomous flight with various autonomy levels.\\ | ||
| - | According to the Drone Industry Insights (2019. [[https:// | + | According to the Drone Industry Insights (2019. [[https:// |
| Line 21: | Line 21: | ||
| * CAN (not so common), | * CAN (not so common), | ||
| * One-wire (rare). | * One-wire (rare). | ||
| - | The exact protocol use is usually driven by the set of sensors and components present onboard the UAV. Flight controller sometimes exposes set of dedicated ports (connectors), | + | The exact protocol use is usually driven by the set of sensors and components present onboard the UAV. Flight controller sometimes exposes |
| - | Additionally, | + | Additionally, |
| === Remote Control and Actuators Communication Protocols === | === Remote Control and Actuators Communication Protocols === | ||
| - | Remote Control is an essential part of drones. While there do are fully automatic systems that take-off, implement the mission and then land 100% automatically, | + | Remote Control is an essential part of drones. While there do are fully automatic systems that take off, implement the mission and then land 100% automatically, |
| - | As from the beginning, RC was used to control actuators directly (usually control surfaces), so actuators communication protocols were and still are an essential part of the on-board | + | As from the beginning, RC was used to control actuators directly (usually control surfaces), so actuators communication protocols were and still are an essential part of the onboard |
| <figure rccommunication> | <figure rccommunication> | ||
| Line 91: | Line 91: | ||
| * PWM - as mentioned above, historical, still operating. Many ESCs can use it as a fallback if there is an advanced protocol' | * PWM - as mentioned above, historical, still operating. Many ESCs can use it as a fallback if there is an advanced protocol' | ||
| * Analogue PWM, where 0% duty cycle is equivalent to motor stop, and 100% is equivalent to full throttle; | * Analogue PWM, where 0% duty cycle is equivalent to motor stop, and 100% is equivalent to full throttle; | ||
| - | * Standard PWM (as in servos), where 1ms duty cycle is motor stop and 2ms if full throttle. However, differently as in servos, the motor requires faster updates, so the PWM frequency is usually much higher than the servo' | + | * Standard PWM (as in servos), where 1ms duty cycle is motor stop and 2ms if full throttle. However, differently as in servos, the motor requires faster updates, so the PWM frequency is usually much higher than the servo' |
| * OneShot family: OneShot125 and OneShot42 - for OneShot125, the pulse length is between 125 and 250 microseconds; | * OneShot family: OneShot125 and OneShot42 - for OneShot125, the pulse length is between 125 and 250 microseconds; | ||
| * MultiShot - it is 32kHz operating one, 10x faster than OneShot125. It is the fastest one in the family, but there are not so many ESC capable of handling it. | * MultiShot - it is 32kHz operating one, 10x faster than OneShot125. It is the fastest one in the family, but there are not so many ESC capable of handling it. | ||
| * Digital, binary protocols: | * Digital, binary protocols: | ||
| * DShot family: DShot150/ | * DShot family: DShot150/ | ||
| - | * ProtoShot - an approach to integrate both digital (as, i.e. in DShot150) and analogue (OneShot) protocols, all in one. | + | * ProtoShot - an approach to integrate both digital (as i.e. in DShot150) and analogue (OneShot) protocols, all in one. |
| <note tip>Use of analogue protocols requires throttle calibration (setting motors not to spin at all and spin with their maximum RPM). Digital protocols do not require throttle calibration.</ | <note tip>Use of analogue protocols requires throttle calibration (setting motors not to spin at all and spin with their maximum RPM). Digital protocols do not require throttle calibration.</ | ||
| Line 102: | Line 102: | ||
| == Servos == | == Servos == | ||
| Servos are connected with 3 cables, power (+/-) and control. PWM frequency is constant, but it is the duty cycle that controls the servo rotation. | Servos are connected with 3 cables, power (+/-) and control. PWM frequency is constant, but it is the duty cycle that controls the servo rotation. | ||
| - | Analogue (classical) servos use 50Hz PWM frequency. Modern, digital servos use 300Hz and up.\\ | + | Analogue (classical) servos use a 50Hz PWM frequency. Modern, digital servos use 300Hz and up.\\ |
| - | As digital servos are still not very popular, here we describe analogue servos' | + | As digital servos are still not very popular, here we describe analogue servos' |
| A 0-degree rotation angle is equivalent to the 1ms high/19ms low digital control signal duty cycle, while 180 degrees is for a 2ms duty cycle. Naturally, this scale tends to be linear, so 90 degree is equivalent to 1.5ms: see figure {{ref> | A 0-degree rotation angle is equivalent to the 1ms high/19ms low digital control signal duty cycle, while 180 degrees is for a 2ms duty cycle. Naturally, this scale tends to be linear, so 90 degree is equivalent to 1.5ms: see figure {{ref> | ||
| Line 111: | Line 111: | ||
| </ | </ | ||
| - | As one can see from the above, the most common case is a servo operating | + | As one can see from the above, the most common case is a servo operating |
| Line 133: | Line 133: | ||
| While it is possible to receive raw satellite signals over the radio and use it to decode the signal and obtain a lon/lat position using the triangulation method (see the chapter on navigation for more details), it is common to rather use ready GNSS (also referenced as GPS) receiver module, that communicates to the flight controller or other device, providing 2D/3D position (3D includes altitude), positioning accuracy, number of satellites in view (it directly impacts positioning quality) and so on. Manual decoding requires a huge amount of resources, thus is implemented with integrated circuits. Here we focus on communication between an FC and GNSS receiver rather than between satellites and receiver.\\ | While it is possible to receive raw satellite signals over the radio and use it to decode the signal and obtain a lon/lat position using the triangulation method (see the chapter on navigation for more details), it is common to rather use ready GNSS (also referenced as GPS) receiver module, that communicates to the flight controller or other device, providing 2D/3D position (3D includes altitude), positioning accuracy, number of satellites in view (it directly impacts positioning quality) and so on. Manual decoding requires a huge amount of resources, thus is implemented with integrated circuits. Here we focus on communication between an FC and GNSS receiver rather than between satellites and receiver.\\ | ||
| GNSS modules use textual and binary communication, | GNSS modules use textual and binary communication, | ||
| - | In particular, most GNSS receivers can deliver information using NMEA protocol that is a standard communication protocol at the moment, usually in a textual form over the serial connection (the most common is 9600 bps). At the moment, a binary communication protocol is being introduced as more efficient and simply delivering position data much faster, yet it is still a niche solution.\\ | + | In particular, most GNSS receivers can deliver information using the NMEA protocol that is a standard communication protocol at the moment, usually in a textual form over the serial connection (the most common is 9600 bps). At the moment, a binary communication protocol is being introduced as more efficient and simply delivering position data much faster, yet it is still a niche solution.\\ |
| Sample NMEA data for Tallinn/ | Sample NMEA data for Tallinn/ | ||
| Line 146: | Line 146: | ||
| === ADS-B === | === ADS-B === | ||
| ADS-B (Automatic dependent surveillance-broadcast) is an airborne protocol that drones barely use now, but that is changing over time. Each commercial aircraft broadcasts information about its current position, velocity, direction, and so on that can be received using special modules or even out of tuned DVB-T receiver (USB TV stick). ADS-B can be freely received and decoded, but it is forbidden to broadcast it without permission and licence. Communication uses a 1090 MHz band.\\ | ADS-B (Automatic dependent surveillance-broadcast) is an airborne protocol that drones barely use now, but that is changing over time. Each commercial aircraft broadcasts information about its current position, velocity, direction, and so on that can be received using special modules or even out of tuned DVB-T receiver (USB TV stick). ADS-B can be freely received and decoded, but it is forbidden to broadcast it without permission and licence. Communication uses a 1090 MHz band.\\ | ||
| - | <note warning> | + | <note warning> |
| The simplicity of reception of the signal caused open-source implementations and the rise of flight information services like, i.e. very popular FlightRadar24 that directly benefit from ADS-B reception via distributed receiver network operated by amateurs.\\ | The simplicity of reception of the signal caused open-source implementations and the rise of flight information services like, i.e. very popular FlightRadar24 that directly benefit from ADS-B reception via distributed receiver network operated by amateurs.\\ | ||
| <note tip> | <note tip> | ||