gazebosim / gazebosim/sdformat

<camera> lacks a way to specify the vertical field of view

Open
#166 1 comment 0 reactions 0 assignees View on GitHub
enhancement major
Dominant language
C++
Stars
216
Forks
125
Avg merge
1d 14h
Merged PRs (30d)
14

Description

**Original report ([archived issue](https://osrf-migration.github.io/sdformat-gh-pages/#!/osrf/sdformat/issues/166)) by Shane Loretz (Bitbucket: [Shane Loretz](https://bitbucket.org/%7B656e3311-aad9-45a1-aaf7-b0ee0e84b287%7D/), GitHub: [sloretz](https://github.com/sloretz)).**

----------------------------------------
sdf spec 1.6

The `` allows specifying the horizontal field of view, image width, and image height, but not the vertical field of view. Gazebo calculates the vertical field of view using ` vfov = 2.0 * atan(tan(hfov / 2.0) / ratio)` where `ratio = width / height`.

The vertical field of view of a simulated camera doesn't have to obey that formula. For example Ogre allows changing the vertical field of view [directly](http://www.ogre3d.org/docs/api/1.9/class_ogre_1_1_camera.html#aa6f83f76980139d6a9c36abf635e0c75) or by [setting an aspect ratio](http://www.ogre3d.org/docs/api/1.9/class_ogre_1_1_frustum.html#a3235cda8bbc2ae127082e191ae11bcb0). The `` tag could have an `` or `` so it could be specified in SDF. I have not checked if there are real cameras that would require this setting to be simulated correctly.

Contributor guide

Open the contributing guide

Research direction

The issue identifies the element in SDF spec 1.6 but names no implementation files or tests. Start by locating the camera parsing and serialization entry points, then clarify whether vertical_fov or aspect_ratio is supported. Done requires an agreed SDF representation and coverage showing vertical field of view can be specified independently.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, xml
Domain
robotics
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.