Files
paparazzi/conf/modules/bebop_cam.xml
T
Christophe De Wagter cf7c8b3797
Issues due date / Add labels to issues (push) Has been cancelled
Doxygen / build (push) Has been cancelled
MAVLab Course2026 Updates (p1) (#3632)
* updated distance measurement script.
- automatically shows which ids are available
- filter out big jumps
- plot_summary.py shows distance over time with recording regions

* Adding config file for radiomaster pocket joystick ble/usb (#108)

* added radiomaster tx16s xml (#123)

Co-authored-by: Wiebe van der Knaap <wkvanderknaap@tudelft.nl>

* Fix joystick device argument parsed as single token in control panel sessions (#118)

The `-d 0` joystick device flag was passed as a single `flag` attribute,
causing the joystick program to receive it as one token instead of two
separate arguments. This prevented the device number from being recognized,
breaking joystick input in the Simulation - Gazebo and Flight UDP sessions.

Fixed by splitting into `<arg flag="-d" constant="0"/>`.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

* fixed names of variables and resolution bugs, added documentation (#113)

Co-authored-by: macoman <macoman@student.tudelft.nl>

* Update Gazebo Models: Gate, Plants, Logo

* Added some (math) tests (#114)

* added a test for paparazzi's math librarie's int sqrt function and int quaternion normalization function
* Keep essential tests

Reduced the number of tests planned from 9 to 6 and removed tests for int32_sqrt.

---------

Co-authored-by: LSSchef <l.s.scheffer@student.tudelft.nl>
Co-authored-by: AniketBehura <aniketbehura1023@gmail.com>
Co-authored-by: diaa <D.abbasi@student.tudelft.nl>

* Feat: readme update for submodule installation (#115)

* feat: readme update for submodule installation

* Rename README to README.md

---------

Co-authored-by: Christophe De Wagter <dewagter@gmail.com>

---------

Co-authored-by: robinferede <robinferede@tudelft.nl>
Co-authored-by: Robin Euger <robin.euger@gmail.com>
Co-authored-by: Wiebe van der Knaap <wkvanderknaap@tudelft.nl>
Co-authored-by: EAbbenhuis <113993394+EAbbenhuis@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Mihai Coman <127535163+miki133@users.noreply.github.com>
Co-authored-by: macoman <macoman@student.tudelft.nl>
Co-authored-by: Swayam Kuckreja <110131770+swayamkuckreja@users.noreply.github.com>
Co-authored-by: LSSchef <l.s.scheffer@student.tudelft.nl>
Co-authored-by: AniketBehura <aniketbehura1023@gmail.com>
Co-authored-by: diaa <D.abbasi@student.tudelft.nl>
Co-authored-by: Douwe-Rijs <Douwe@standofl.nl>
2026-04-09 15:37:28 +02:00

163 lines
7.4 KiB
XML

<!DOCTYPE module SYSTEM "module.dtd">
<module name="bebop_cam" dir="../boards/bebop">
<doc>
<description>
Compile and control the settings of the Bebop front and bottom cameras.
</description>
<section name="Front camera" prefix="MT9F002_">
<define name="RESOLUTION" value="0" description="Preset image resolutions, 0 = VGA, 1 = 720p, 2 = 720p 4:3 aspect ratio, 3 = 1080p, 4 = 1080p 4:3 aspect ratio, 5 = 2048*2048, this is the max dimension allowable with isp"/>
<define name="OUTPUT_WIDTH" value="640" description="Image horizontal resolution used if MT9F002_RESOLUTION not defined"/>
<define name="OUTPUT_HEIGHT" value="480" description="Image vertical resolution used if MT9F002_RESOLUTION not defined"/>
<define name="OFFSET_X" value="0" description="Signed fractional offset from centre of image of original sensor [-0.5,0.5]"/>
<define name="OFFSET_Y" value="0" description="Signed fractional offset from centre of image of original sensor [-0.5,0.5]"/>
<define name="ZOOM" value="1" description="Zoom factor of image"/>
<define name="TARGET_EXPOSURE" value="30" description="Exposure of the front camera of the bebop. Experimental values: Outside: 15; Inside well lit: 30; Inside poorly lit: 60"/>
<define name="TARGET_FPS" value="30" description="Desired frame rate"/>
<define name="GAIN_GREEN1" value="2" description="Green gain"/>
<define name="GAIN_GREEN2" value="2" description="Green gain"/>
<define name="GAIN_RED" value="1.4" description="Red gain"/>
<define name="GAIN_BLUE" value="2.7" description="Blue gain"/>
<define name="FOCAL_X" value="0.48686" description="Normalized focal length in x-direction (fraction of image width)"/>
<define name="FOCAL_Y" value="0.48908" description="Normalized focal length in y-direction (fraction of image width)"/>
<define name="CENTER_X" value="0.51015" description="Center image coordinate in the x-direction"/>
<define name="CENTER_Y" value="0.51015" description="Center image coordinate in the y-direction"/>
<define name="DHANE_K" value="1.25" description="(Un)Distortion parameter for a fish-eye lens"/>
</section>
<section name="Bottom camera" prefix="MT9V117_">
<define name="TARGET_FPS" value="30" description="Desired frame rate"/>
<define name="FOCAL_X" value="0.48686" description="Normalized focal length in x-direction (fraction of image width)"/>
<define name="FOCAL_Y" value="0.48908" description="Normalized focal length in y-direction (fraction of image width)"/>
<define name="CENTER_X" value="0.51015" description="Center image coordinate in the x-direction"/>
<define name="CENTER_Y" value="0.51015" description="Center image coordinate in the y-direction"/>
<define name="DHANE_K" value="1.25" description="(Un)Distortion parameter for a fish-eye lens"/>
</section>
</doc>
<!-- ================= Camera runtime settings ================= -->
<!-- These settings appear in the Paparazzi Ground Control Station
and allow adjusting camera parameters during flight. -->
<settings>
<!-- Top-level group shown in the settings tree -->
<dl_settings name="Bebop camera control">
<!-- Settings for the Bebop FRONT camera (MT9F002 sensor) -->
<dl_settings name="Front camera">
<!-- Digital zoom factor applied by the ISP -->
<dl_setting var="mt9f002.set_zoom" min="1." step="0.05" max="2.5"
shortname="zoom" param="MT9F002_ZOOM"/>
<!-- Horizontal crop offset relative to image center
Range [-0.5, 0.5] corresponds to fraction of sensor width -->
<dl_setting var="mt9f002.set_offset_x" min="-0.5" step="0.05" max="0.5"
shortname="offset_x" param="MT9F002_OFFSET_X"/>
<!-- Vertical crop offset relative to image center -->
<dl_setting var="mt9f002.set_offset_y" min="-0.5" step="0.05" max="0.5"
shortname="offset_y" param="MT9F002_OFFSET_Y"/>
<!-- Trigger command to send updated resolution to the camera driver -->
<dl_setting var="mt9f002_send_resolution" min="1" step="1" max="1"
values="SEND" shortname="update_resolution"
module="boards/bebop/mt9f002"
handler="setting_update_resolution"/>
<!-- White balance gains for Bayer channels -->
<dl_setting var="mt9f002.gain_green1" min="1" step="0.1" max="60"
shortname="green_1" param="MT9F002_GAIN_GREEN1"/>
<dl_setting var="mt9f002.gain_green2" min="1" step="0.1" max="60"
shortname="green_2" param="MT9F002_GAIN_GREEN2"/>
<dl_setting var="mt9f002.gain_blue" min="1" step="0.1" max="60"
shortname="blue" param="MT9F002_GAIN_BLUE"/>
<dl_setting var="mt9f002.gain_red" min="1" step="0.1" max="60"
shortname="red" param="MT9F002_GAIN_RED"/>
<!-- Send updated color gain values to the camera hardware -->
<dl_setting var="mt9f002_send_color" min="1" step="1" max="1"
values="SEND" shortname="update_color"
module="boards/bebop/mt9f002"
handler="setting_update_color"/>
<!-- Target exposure level used by the automatic exposure control -->
<dl_setting var="mt9f002.target_exposure" min="0.1" step="0.1" max="80"
shortname="exposure" param="MT9F002_TARGET_EXPOSURE"/>
<!-- Apply the new exposure setting to the camera -->
<dl_setting var="mt9f002_send_exposure" min="1" step="1" max="1"
values="SEND" shortname="update_exposure"
module="boards/bebop/mt9f002"
handler="setting_update_exposure"/>
</dl_settings>
</dl_settings>
</settings>
<!-- ================= Module dependencies ================= -->
<!-- Requires I2C communication for the sensors and the
video processing thread for image streaming -->
<dep>
<depends>i2c,video_thread</depends>
</dep>
<!-- ================= Header files ================= -->
<!-- Camera driver interfaces used by this module -->
<header>
<file name="mt9v117.h"/> <!-- bottom camera sensor -->
<file name="mt9f002.h"/> <!-- front camera sensor -->
</header>
<!-- ================= Module initialization ================= -->
<!-- Called during autopilot startup to initialize sensors -->
<init fun="mt9v117_init(PTR(mt9v117))"/>
<init fun="mt9f002_init(PTR(mt9f002))"/>
<!-- ================= Build rules for autopilot target ================= -->
<makefile target="ap">
<!-- Camera driver implementations -->
<file name="mt9v117.c"/>
<file name="mt9f002.c"/>
<!-- Bebop image signal processor (ISP) library -->
<file name="libisp.c" dir="boards/bebop/isp"/>
<!-- Size of I2C communication buffer -->
<define name="I2C_BUF_LEN" value="56"/>
<!-- Use Bebop I2C bus 0 -->
<define name="USE_I2C0"/>
<!-- Also define for test builds -->
<test>
<define name="USE_I2C0"/>
</test>
</makefile>
<!-- ================= Build rules for NPS simulator ================= -->
<makefile target="nps">
<!-- Simulated camera drivers -->
<file name="mt9v117_nps.c"/>
<file name="mt9f002_nps.c"/>
<!-- Same ISP library used for simulation -->
<file name="libisp.c" dir="boards/bebop/isp"/>
<define name="I2C_BUF_LEN" value="56"/>
<define name="USE_I2C0"/>
</makefile>
</module>