Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
fdm_pybullet module

PyBullet based FDM for NPS simulator

No detailed description...

Example for airframe file

Add to your firmware section: This example contains all possible configuration options, not all of them are mandatory!

<module name="fdm_pybullet">
b'<define name="PYTHON_EXEC" value="python3" type="string" />\n '
b'<define name="PYBULLET_GUI" value="TRUE" />\n '
b'<define name="NPS_ACTUATORS_ORDER" value="{3, 2, 1, 0}" />\n '
b'<define name="NPS_PYBULLET_MODULE" value="simple_quad_sim" type="string" />\n '
b'<define name="NPS_PYBULLET_URDF" value="robobee.urdf" type="string" />\n '
</module>

Module configuration options

Define Options

  • name: PYTHON_EXEC value: python3
    Description: python executable to use. Can be a /path/to/venv/python3
  • name: PYBULLET_GUI value: TRUE
    Description: start pybullet Gui
  • name: NPS_ACTUATORS_ORDER value: {3, 2, 1, 0}
    Description: set actuators URDF indexes
  • name: NPS_PYBULLET_MODULE value: simple_quad_sim
    Description: python module for your pybullet model
  • name: NPS_PYBULLET_URDF value: robobee.urdf
    Description: URDF vehicle model

Files

Source Files

Raw fdm_pybullet.xml file:

<!DOCTYPE module SYSTEM "module.dtd">
<module name="fdm_pybullet" dir="fdm">
<doc>
<description>
PyBullet based FDM for NPS simulator
</description>
<define name="PYTHON_EXEC" value="python3" type="string" description="python executable to use. Can be a /path/to/venv/python3"/>
<define name="PYBULLET_GUI" value="TRUE" description="start pybullet Gui"/>
<define name="NPS_ACTUATORS_ORDER" value="{3, 2, 1, 0}" description="set actuators URDF indexes"/>
<define name="NPS_PYBULLET_MODULE" value="simple_quad_sim" type="string" description="python module for your pybullet model"/>
<define name="NPS_PYBULLET_URDF" value="robobee.urdf" type="string" description="URDF vehicle model"/>
</doc>
<header/>
<makefile target="nps|hitl">
<raw>
nps.CFLAGS += $(shell python3-config --cflags) -fPIE
nps.LDFLAGS += $(shell python3-config --ldflags --embed)
nps.CFLAGS += -DPAPARAZZI_SRC=\"$(PAPARAZZI_SRC)\"
</raw>
<file name="nps_fdm_pybullet.c" dir="nps"/>
</makefile>
</module>