ros-drivers / axis_camera

Contains basic Python drivers for accessing an Axis camera's MJPG stream. Also provides control for PTZ cameras.
BSD 3-Clause "New" or "Revised" License
52 stars 75 forks source link

Proposal: Change Axis.msg to use radians instead of degrees #71

Open civerachb-cpr opened 2 years ago

civerachb-cpr commented 2 years ago

I'm writing this as the maintainer of the package. When I inherited this project, the package was already released using degree for the pan and tilt positions in the Axis messages. Obviously the ROS standard is to use radians.

I'm hesitant to change the units used by the package simply because it's been released and used in its current state for years. But the fact that the message uses non-standard units makes interoperability with other ROS packages less convenient.

My initial proposal is to add a new rosparam option to the PTZ node to specify the units:

<node pkg="axis_camera" type="teleop.py" name="teleop" if="$(arg enable_ptz_teleop)">
  <param name="use_degrees" value="1" />
  <param name="enable_button" value="1" />
  <param name="scale_pan_deg" value="25" />
  <param name="scale_tilt_deg" value="25" />
  <remap from="joy" to="/joy" />
</node>

I'd like to use radians by default, as this is the ROS standard. But initially the default may remain degrees so as not to break anything that depends on this package.

Before I implement any of this work, I'm going to leave this issue open to solicit feedback from the wider community. If you have opinions on this proposal, please leave them below!