Future Project Ideas: Difference between revisions

From Distributed Autonomous and Networked Control Lab
Jump to navigation Jump to search
Jnoronha (talk | contribs)
Jnoronha (talk | contribs)
m changed title and spacing
Line 18: Line 18:
*'''Potential extension:''' Completely independent Crazyflie flight (i.e. No Client needed at all)
*'''Potential extension:''' Completely independent Crazyflie flight (i.e. No Client needed at all)


==Tuning X, Y, and Z Location PID's for Faster Response==
 
==Model Development/Verification and Tuning X, Y, and Z Location PID's==
===Focus Area===
===Focus Area===
'''Control Systems and Model Development/Verification'''
'''Control Systems and Model Development/Verification'''
Line 32: Line 33:
*Flight performance will be greatly improved allowing more complex applications to be developed.
*Flight performance will be greatly improved allowing more complex applications to be developed.
*'''Potential extension:''' Path prediction algorithms and optimal pathing between points with obstacles
*'''Potential extension:''' Path prediction algorithms and optimal pathing between points with obstacles


==Adding Parameter Support to Swarm Client==
==Adding Parameter Support to Swarm Client==
Line 48: Line 50:
*Less Firmware modification if we can just write params during Client init.
*Less Firmware modification if we can just write params during Client init.
*'''Potential Extension:''' Tuning Firmware PID constants
*'''Potential Extension:''' Tuning Firmware PID constants


==Threading Each USB Radio to speed up Computation==
==Threading Each USB Radio to speed up Computation==

Revision as of 19:28, 28 July 2016

Here we will go into more depth on what each of these projects would require:

Migrating Swarm Client PID's to Firmware

Focus Area

Firmware Programming and Communication Protocols

  • This project requires heavy modification of the Firmware and Communication systems inside the Crazyflie.

Tasks

Firmware

  • (HARD) Modifying Commander Packet Structure to allow position data to be sent rather than pitch, roll, yaw, and thrust setpoints.
  • Modifying Firmware to pass the new position data into the correct place for use by the Firmware PID controllers.

Client

  • Modify Swarm Client packet construction to match new commander packet protocol in Firmware
  • (EASY) Remove Controllers from callbacks and just send location packets to Crazyflies while still maintaining other functionality.

Benefits

  • Significantly reduces Client-side computation and allows Crazyflie swarm to share the load.
  • Potential extension: Completely independent Crazyflie flight (i.e. No Client needed at all)


Model Development/Verification and Tuning X, Y, and Z Location PID's

Focus Area

Control Systems and Model Development/Verification

  • This project will require developing a model of the Crazyflie system and using the Model to calculate PID constants.

Tasks

  • (HARD) Identify model Parameters for the Crazyflie
  • Construct model in Simulink and Verify simulation compared to test data
  • (EASY) Derive PID constants from verified model, test flight performance

Benefits

  • VERIFIED MODEL!! We can do many things once we have a verified model of the system.
  • Flight performance will be greatly improved allowing more complex applications to be developed.
  • Potential extension: Path prediction algorithms and optimal pathing between points with obstacles


Adding Parameter Support to Swarm Client

Focus Area

Communications Protocols and Networking

  • This project will require Client-side software development to create helper functions for easy modification of parameters on the Crazyflie Firmware

Tasks

  • Creating packet framework in the Client to replicate the parameters packet protocol
  • Programming helper functions to make it simple to modify parameters
    • Ex. Write Parameter Value: setParam(string "param_group.param_name", int set_value);
    • Ex. Read Parameter Value: readParam(string "param_group.param_name");

Benefits

  • Won't have to re-flash Firmware every time we want to test a parameter change (Improves Firmware testing efficiency)
  • Less Firmware modification if we can just write params during Client init.
  • Potential Extension: Tuning Firmware PID constants


Threading Each USB Radio to speed up Computation

Crazyflie Model Development and Verification

Developing New Controllers for the Crazyflie (pending Model Development)

Develop Communications Network Between Crazyflies

Trilateration Position Estimation using a Swarm


Main Directory
Crazyflie Swarm Home | PC Client Software | USB Radio | Firmware | FAQ
Modifications Directory
Controller | Logging | Keyboard Commands | Changing Radio Channel | Flight Modes | Callbacks | Adding a Crazyflie | Firmware