08448380779 Call Girls In Civil Lines Women Seeking Men
PX4 Seminar 02
1. PX4 Seminar
- On-board Applications and Makefile -
Jungtaek Kim
jtkim@postech.edu
2015.04.10
2. PX4 Autopilot
• Independent, open-source, open-hardware autopilot
system oriented toward autonomous aircraft
• BSD License
• Started in 2009
• Be being developed and used at Computer Vision
and Geometry Lab of ETH Zurich and supported by
the Autonomous Systems Lab and the Automatic
Control Laboratory
3. Main Software Modules
• PX4 Flight Stack
• Flight control modules (Controller, Attitude estimator, MAVLink and
etc)
• PX4 Middleware
• Drivers, uORB
• PX4 ESC Firmware
• PX4 Bootloader
• Operating System
• NuttX OS
4.
5. On-board Applications
• System Applications
• mavlink – Sends and receives MAVLink
messages via serial port
• sdlog2 – Logs system/flight data to the
SD card
• tests – Test applications to test the
system (during bringup and
troubleshooting)
• top – Lists current processes and their
CPU load
• uORB – Micro Object Request Broker -
distributing information between other
applications
• Drivers
• mkblctrl – Mikrokopter BLCTRL Driver
• esc_calib – ESC calibration tool
• fmu – Configures FMU GPIO pins
• gpio_led – GPIO LED driver
• gps – GPS receiver driver
• pwm – Command to set PWM update
rates
• sensors – Sensor utility
• px4io – PX4IO driver
• uavcan – UAVCAN driver
6. On-board Applications (cont’d)
• Flight Control Applications
• Flight Safety and Navigation
• commander – main flight safety state
machine
• navigator – Mission, failsafe and RTL
navigator
• Attitude and Position Estimators
• attitude_estimator_ekf – EKF-based
attitude estimator
• ekf_att_pos_estimator – EKF-based
attitude and position estimator (Paul
Riseborough)
• position_estimator_inav – Inertial
navigation position estimator
• Multirotor Attitude and Position Controllers
• mc_att_control – Multirotor attitude
controller
• mc_pos_control – Multirotor position
controller
• Fixedwing Attitude and Position
Controllers
• fw_att_control – Fixed wing attitude
controller
• fw_pos_control_l1 – Fixed wing
position controller
• VTOL Attitude Controller
• vtol_att_control – VTOL attitude
controller
7. System Startup
• The boot process of PX4
• /etc/init.d/rcS (https://github.com/PX4/Firmware/blob/master/ROMFS/px4fmu_common/
init.d/rcS)
• /etc/rc.txt on the SD card (for advanced users)
• If /etc/rc.txt does not exist, set to autostart mode
• /etc/config.txt is executed if it exists
• Configuration to set the environment variables (https://pixhawk.org/dev/
system_startup#configuration_variables)
• /etc/extras.txt is executed if it exists
• Start custom apps after the autostart process
• All scripts belonging to the autostart process (https://github.com/PX4/Firmware/tree/master/
ROMFS/px4fmu_common/init.d)
8. /etc/config.txt Example for
Custom Model
#
Generic
Quadcopter
+
set
VEHICLE_TYPE
mc
set
MIXER
FMU_quad_+
#
PX4IO
PWM
output
will
be
used
by
default
set
PWM_OUT
1234
#
Change
parameters
for
the
first
4
outputs
set
PWM_RATE
400
#
Set
PWM
rate
to
400
Hz
for
better
performance
set
PWM_DISARMED
900
#
Motors
should
stop
at
this
PWM
value
set
PWM_MIN
1100
#
Motors
should
spin
at
low,
idle
speed
at
this
PWM
value
set
PWM_MAX
1900
#
Motors
should
spin
at
max
speed
at
this
PWM
value
9. NuttShell
• An embedded equivalent to bash and similar Unix
shells
• It is used to start all on-board applications and
manage a executed process
• It interacts with the user over a serial port (FMU
system’s UARTS or USB)
• http://nuttx.org/doku.php?
id=documentation:nuttshell
10. Makefile
• Default available targets
• archives - Build the NuttX RTOS archives that are used by the firmware build.
• all - Build all firmware configs: aerocore_default px4fmu-v1_default px4fmu-v2_default px4fmu-v2_multiplatform px4fmu-
v2_test px4io-v1_default px4io-v2_default. A limited set of configs can be built with CONFIGS=<list-of-configs>
• aerocore_default - Build just the aerocore_default firmware configuration.
• px4fmu-v1_default - Build just the px4fmu-v1_default firmware configuration.
• px4fmu-v2_default - Build just the px4fmu-v2_default firmware configuration.
• px4fmu-v2_multiplatform - Build just the px4fmu-v2_multiplatform firmware configuration.
• px4fmu-v2_test - Build just the px4fmu-v2_test firmware configuration.
• px4io-v1_default - Build just the px4io-v1_default firmware configuration.
• px4io-v2_default - Build just the px4io-v2_default firmware configuration.
• clean - Remove all firmware build pieces.
• distclean - Remove all compilation products, including NuttX RTOS archives.
• upload - When exactly one config is being built, add this target to upload the firmware to the board when the build is
complete. Not supported for all configurations.
• testbuild - Perform a complete clean build of the entire tree.
11. Additional Rule for Makefile
• /makefiles/*.mk
• Details on /makefiles/README.txt (https://
github.com/PX4/Firmware/blob/master/makefiles/
README.txt)