• Autopilot classification by its programming method GUI vs SDK
• Types of SDK
• Pixhawk Autopilot (hardware)
• Clones vs Originals
• Commercial autopilot vs owndesign
• Ardupilot Libraries (software)
• Compatibilities and other similar projects
• Confusion between hardware and software?
Chapter 2: Ardupilot Working Environment
• File types and Ardupilot libraries
• Use of specific data types
• Description and flow of the programs to be used
• Loading custom codes to the pixhawk using mission planner
• Making new projects using the added eclipse interface
• Identification of errors
• Is it possible to use the Arduino directly with the APM libraries?
Chapter 3: Recap and Definitions
• Description of the auxiliary components
• Computational efficiency vs mathematical equality
• Working with variables, functions, modules and objects?
• Getter and setter concept
• Concept of orientation and position
• Difference between installation and coding
• Usual parts of an Ardupilot code
• Usual models of programming on Ardupilot codes
References and suggested websites of Part 1
Part 2: Sequential Mode
Chapter 4: Basic Input and Output Operations
• About the header
• About the setup
• Writing to terminal
• Terminal reading
• Reading radios
• Reading of orientation and position internal sensors
• Reading of external position sensors (GPS)
• Reading analog external sensors
• Signal filtering
• Reading and writing of external digital equipment
• Battery reading
• Use of visual alerts through the onboard LED
Chapter 5: Advanced Operations: Serial Communications, Data Storage, Motion Units and Basis of Time Management
• Wired and wireless serial communication
• Interface with development cards
• Writing to brushless motors
• Code optimization
• Writing to brushed motors
• Use of stepper motors
• Use of servomotors for auxiliary applications
• Summary of the control of various compatible motors
• Storage and use of flight data
• Using the MissionPlanner GUI to plot flight data
• Use of time
Chapter 6: Application to Quadcopter Drone Control with a Smooth Flight Mode:
• Modeling and Basic Control of a Multirotor with Application Code
References and suggested websites of Part 2
Part 3: Real Time Mode
Chapter 7: Real Time Working Environment
• Notions of modular programming
• Description of the scheduler
• Usual parts of an ardupilot code in parallel mode
• Measurement of the time of execution of a task
Chapter 8: Compendium of the Previous Chapters in Real Time Mode with Application Code
References and suggested websites of Part 3
Appendices
• Libraries installation
• Comparison of commands with other SDKs
• Thrust vectoring
• Omnidirectionality
• Methods of extended power
• Extended header code
• Extended setup code
• Summary of the design of a quadcopter
Julio Mendoza-Mendoza earned his computing doctoral degree at CIC IPN in 2016, where he specialized in underactuated robotics, UAS, and intelligent and nonlinear control. He also earned his advanced-technologies master degree and mechatronics-engineering bachelor at UPIITA IPN, in 2011 and 2008 respectively. Currently, Julio is working on 5 patents related to his research field and developing his flying serial-robot manipulator theory at FI UNAM through his postdoctoral 2017 DGAPA grant.
V. J. Gonzalez-Villela received his B.Eng. degree in Mechanical and Electrical Engineering and the M.Eng. degree in Electrical Engineering in 1987 and 1993, respectively, from the National Autonomous University of Mexico (UNAM), and a Ph.D. degree in Kinematics, Dynamics, and Nonlinear Systems applied to Mobile Robot Modelling and Control from Loughborough University, Loughborough, UK, in 2006. He is currently a Titular Professor in the Department of Mechatronics Engineering, UNAM. His research focuses on Mobile, Hybrid and Adaptive Robots, and Artificial Intuition.
Learn how to program robotic vehicles with ardupilot libraries and pixhawk autopilot, both of which are open source technologies with a global scope. This book is focused on quadcopters but the knowledge is easily extendable to three-dimensional vehicles such as drones, submarines, and rovers.
Pixhawk and the ardupilot libraries have grown dramatically in popularity due to the fact that the hardware and software offer a real-time task scheduler, huge data processing capabilities, interconnectivity, low power consumption, and a global developer support.
This book shows you how take your robotic programming skills to the next level. From hardware to software, Advanced Robotic Vehicles Programming links theory with practice in the development of unmanned vehicles. By the end of this book, you’ll learn the pixhawk software and ardupilot libraries to develop your own autonomous vehicles.
You will:
Model and implement elementary controls in any unmanned vehicle
Select hardware and software components during the design process of an unmanned vehicle
Use other compatible hardware and software development packages
Understand popular scientific and technical nomenclature in the field
Identify relevant complexities and processes for the operation of an unmanned vehicle