CRTP: A Guide to Crazyflie's Real-Time Protocol

 
The Crazy Real
Time Protocol
 
What is the CRTP?
 
The CRTP is the Crazyflie’s custom packet communication system
between the crazyflie client, the python library, or custom ground
stations
 
What can be accessed with the CRTP?
 
The CRTP allows for communication over:
-
The onboard console of the crazyflie (no display unless connected to a client that can)
-
Getting and setting parameters of the Crazyflie firmware
-
The high level commander (so setpoints can be sent over the CRTP)
-
Non-volatile memory
-
Data logging
-
Anything related to localization i.e. the overhead camera system
-
It can send generic setpoints
 
Port Allocation for all the things just mentioned
 
How to send packets via the CRTP
 
Currently there are two ways to use the CRTP, the Crazyradio and USB.
 
Unfortunately, it seems there is no support for CRTP to communicate over WiFi. However,
this doesn’t mean it is impossible to emulate it.  Some discussion about this can be found here:
https://forum.bitcraze.io/viewtopic.php?t=4373
 and here:
https://forum.bitcraze.io/viewtopic.php?t=3435
 
CRTP Packet Header
 
Detailed information on how to use each port
can be found here:
https://www.bitcraze.io/documentation/repositor
y/crazyflie-firmware/master/functional-
areas/crtp/
 
Some miscellaneous helpful
information/tips
 
-
The TOC (table of contents) holds all the parameters for the Crazyflie firmware (or at
least the parameters the firmware specifies to be apart of the TOC)
-
To retrieve a specific TOC parameter, users need the id of the parameter. There is no
list of all the IDs connected to the parameters as each crazyflie does not have the same
ID setup. The TOC can be downloaded and then users can find the IDs they are looking
for.
-
Custom parameters can be added to the TOC.
-
Be mindful about the contents of the packet being sent to the crazyflie. The CRTP is
pretty strict and users will not get the result they are looking for if there are accidental
garbage values or the packet is not the correct size.
Slide Note
Embed
Share

Explore the Crazy Real Time Protocol (CRTP) used in Crazyflie's custom packet communication system. Learn about accessing functionalities, sending packets, port allocation, and more. Discover detailed information on using CRTP ports effectively and helpful tips for efficient communication with Crazyflie firmware.

  • CRTP
  • Crazyflie
  • Real-Time Protocol
  • Communication System
  • Packet Sending

Uploaded on Sep 17, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. The Crazy Real Time Protocol

  2. What is the CRTP? The CRTP is the Crazyflie s custom packet communication system between the crazyflie client, the python library, or custom ground stations

  3. What can be accessed with the CRTP? The CRTP allows for communication over: - - - - - - - The onboard console of the crazyflie (no display unless connected to a client that can) Getting and setting parameters of the Crazyflie firmware The high level commander (so setpoints can be sent over the CRTP) Non-volatile memory Data logging Anything related to localization i.e. the overhead camera system It can send generic setpoints

  4. Port Allocation for all the things just mentioned

  5. How to send packets via the CRTP Currently there are two ways to use the CRTP, the Crazyradio and USB. Unfortunately, it seems there is no support for CRTP to communicate over WiFi. However, this doesn t mean it is impossible to emulate it. Some discussion about this can be found here: https://forum.bitcraze.io/viewtopic.php?t=4373 and here: https://forum.bitcraze.io/viewtopic.php?t=3435

  6. CRTP Packet Header

  7. Detailed information on how to use each port can be found here: https://www.bitcraze.io/documentation/repositor y/crazyflie-firmware/master/functional- areas/crtp/

  8. Some miscellaneous helpful information/tips - The TOC (table of contents) holds all the parameters for the Crazyflie firmware (or at least the parameters the firmware specifies to be apart of the TOC) To retrieve a specific TOC parameter, users need the id of the parameter. There is no list of all the IDs connected to the parameters as each crazyflie does not have the same ID setup. The TOC can be downloaded and then users can find the IDs they are looking for. Custom parameters can be added to the TOC. Be mindful about the contents of the packet being sent to the crazyflie. The CRTP is pretty strict and users will not get the result they are looking for if there are accidental garbage values or the packet is not the correct size. - - -

More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#