-
Notifications
You must be signed in to change notification settings - Fork 124
Time, camera exposure and video stabilization mode #97
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…syncing bebop time on start.
… Also included geometric camera calibration for bebop2
|
Thank you for this PR. The proposed changes look good. I will review these as soon as possible. In the meantime:
|
|
Thank you for feedback.
It also makes me think about rewriting the
|
That would be great.
That is a great idea. All dynamically reconfigurable parameters are automatically extracted from the underlying's SDK's XML files (fetched directly from upstream SDK's repo from Github). I am not sure why there is no code generated for the method you used (
You are welcome. I will post any updates about if we can use the other model under this thread. |
…namic parameter PictureSettingsVideoStabilizationModeMode
mani-monaj
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you again for this PR and the new changes. It looks good but requires few minor modifications and documentation update. I will merge it as soon as you get a chance to apply these changes.
| @@ -0,0 +1,20 @@ | |||
| image_width: 640 | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you please add an optional argument to bebop_driver launch files so someone can switch between Bebop 1 and 2. Based on that argument those launch files can load the appropriate camera calibration params.
| // Params (not dynamically reconfigurable, local) | ||
| // TODO(mani-monaj): Wrap all calls to .param() in a function call to enable logging | ||
| const bool param_reset_settings = private_nh.param("reset_settings", false); | ||
| const bool param_sync_time = private_nh.param("sync_time", false); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you please add this new param to the documentation?
| stop_autoflight_sub_ = nh.subscribe("autoflight/stop", 1, &BebopDriverNodelet::StopAutonomousFlightCallback, this); | ||
| animation_sub_ = nh.subscribe("flip", 1, &BebopDriverNodelet::FlipAnimationCallback, this); | ||
| snapshot_sub_ = nh.subscribe("snapshot", 10, &BebopDriverNodelet::TakeSnapshotCallback, this); | ||
| exposure_sub_ = nh.subscribe("set_exposure", 10, &BebopDriverNodelet::SetExposureCallback, this); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you please also add this new topic and range of accepted values to the documentation?
…ude sync_time parameter and set_exposure topic.
|
I have added the argument to both launch files and documentation for the sync_time parameter and set_exposure topic. Let me know if there is something else. |
| { | ||
| try | ||
| { | ||
| ROS_INFO("Setting exposure to %f", exposure_ptr->data); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be great to add a CLAMP here not to let any number outside the [-3.0..3.0] range to be passed.
|
@fairf4x Thank you for applying the changes. I will test this changeset before the end of the week and will merge it afterwards. I will also create an issue to investigate why the code for setting the exposure is not automatically generated. |
Hi,
I have implemented and tested some minor features I needed for my experiments:
parameter: sync_time (true/false)
It enables/disables time and date synchronization of drone during initialization.
topic: set_exposure (float from range <-3.0,3.0>)
Enables setting of camera exposure on demand.
topic: set_video_stabilization (uint8 - mode)
Enables setting video stabilization mode (also works for snapshots):
0 = roll_pitch: Video flat on roll and pitch
1 = pitch: Video flat on pitch only
2 = roll: Video flat on roll only
3 = none: Video follows drone angles
Added rough visual model to bebop 1 URDF description (works in RViz)
Added camera calibration file for bebop 2