FollowMe feature

command messageolympe.messages.follow_me.start(mode, _timeout=10, _no_expect=False, _float_tol=(1e-07, 1e-09))

Follow_me.Start

Start a FollowMe with all its params set to the default params. Sending this command will stop other running followMe.

Parameters
  • mode (olympe.enums.follow_me.mode) –

  • _timeout (int) – command message timeout (defaults to 10)

  • _no_expect (bool) – if True for,do not expect the usual command expectation (defaults to False)

  • _float_tol (tuple) – specify the float comparison tolerance, a 2-tuple containing a relative tolerance float value and an absolute tolerate float value (default to (1e-07, 1e-09)). See python 3 stdlib math.isclose documentation for more information

Result: Event state() is triggered. Also triggers the event that informs about the current configuration (if there is one) like event [Geographic configuration](geographic_config()) or [Relative configuration](relative_config())

Expectations: (state(mode=self.mode, behavior='look_at', _policy='wait') | state(mode=self.mode, behavior='follow', _policy='wait'))

command messageolympe.messages.follow_me.stop(_timeout=10, _no_expect=False, _float_tol=(1e-07, 1e-09))

Follow_me.Stop

Stop current followMe.

Parameters
  • _timeout (int) – command message timeout (defaults to 10)

  • _no_expect (bool) – if True for,do not expect the usual command expectation (defaults to False)

  • _float_tol (tuple) – specify the float comparison tolerance, a 2-tuple containing a relative tolerance float value and an absolute tolerate float value (default to (1e-07, 1e-09)). See python 3 stdlib math.isclose documentation for more information

Result: Event state() is triggered with mode equals to none.

Expectations: state(mode='none', _policy='wait')

event messageolympe.messages.follow_me.state(mode=None, behavior=None, animation=None, animation_available=None, _policy='check_wait', _float_tol=(1e-07, 1e-09))

Follow_me.State

State of the FollowMe

Parameters
  • mode (olympe.enums.follow_me.mode) – Mode asked by user

  • behavior (olympe.enums.follow_me.behavior) – Behavior of the drone according to the asked mode

  • animation (olympe.enums.follow_me.animation) – Current animation. This parameter has been deprecated. Please use the animation feature.

  • animation_available (BitfieldOf(olympe.enums.follow_me.animation, u16)) – List of available animations This parameter has been deprecated. Please use the animation feature.

  • _policy (olympe.arsdkng.expectations.ExpectPolicy) – specify how to check the expectation. Possible values are ‘check’, ‘wait’ and ‘check_wait’ (defaults to ‘check_wait’)

  • _float_tol (tuple) – specify the float comparison tolerance, a 2-tuple containing a relative tolerance float value and an absolute tolerate float value (default to (1e-07, 1e-09)). See python 3 stdlib math.isclose documentation for more information

Triggered by any changes on the followme, like start(), stop(), [start helicoid anim](relative_config())…

event messageolympe.messages.follow_me.mode_info(mode=None, missing_requirements=None, improvements=None, _policy='check_wait', _float_tol=(1e-07, 1e-09))

Follow_me.Mode_info

FollowMe mode info

Parameters
  • mode (olympe.enums.follow_me.mode) –

  • missing_requirements (BitfieldOf(olympe.enums.follow_me.input, u16)) – List of missing requirements to enter this mode on start. Bit is 0 if the input is missing, 1 if the input is ok. For example, if the first bit is equal to 0, it means that the mode is not available because the drone is not calibrated. If at least one input is missing, drone won’t able to follow the target. It won’t use any fallback either

  • improvements (BitfieldOf(olympe.enums.follow_me.input, u16)) – List of inputs that can improve the mode. Bit is 0 if the input is missing, i.e.: the mode can be improved if this input would be fulfilled, 1 if the input is ok. For example, if the first bit is equal to 0, it means that the mode would be improved if the drone would be calibrated. If at least one input is missing, a downgraded mode will be used. See behavior

  • _policy (olympe.arsdkng.expectations.ExpectPolicy) – specify how to check the expectation. Possible values are ‘check’, ‘wait’ and ‘check_wait’ (defaults to ‘check_wait’)

  • _float_tol (tuple) – specify the float comparison tolerance, a 2-tuple containing a relative tolerance float value and an absolute tolerate float value (default to (1e-07, 1e-09)). See python 3 stdlib math.isclose documentation for more information

Triggered When the list of missing requirements or improvments changes

command messageolympe.messages.follow_me.configure_geographic(use_default, distance, elevation, azimuth, _timeout=10, _no_expect=False, _float_tol=(1e-07, 1e-09))

Follow_me.Configure_geographic

Configure the geographic FollowMe. This should only be taken in account if arg behavior in state() is equal to Follow.

Parameters
  • use_default (BitfieldOf(olympe.enums.follow_me.geo_rel_configure_param, u8)) –

  • distance (float) – The distance leader-follower in meter Not used when arg start is at 0

  • elevation (float) – The elevation leader-follower in rad (not used when arg start is at 0)

  • azimuth (float) – The azimuth north-leader-follower in rad (not used when arg start is at 0)

  • _timeout (int) – command message timeout (defaults to 10)

  • _no_expect (bool) – if True for,do not expect the usual command expectation (defaults to False)

  • _float_tol (tuple) – specify the float comparison tolerance, a 2-tuple containing a relative tolerance float value and an absolute tolerate float value (default to (1e-07, 1e-09)). See python 3 stdlib math.isclose documentation for more information

Result: Event [Geographic config](geographic_config()) is sent and drone will move to respect the configuration.

Expectations: geographic_config(use_default=self.use_default, _policy='wait')

event messageolympe.messages.follow_me.geographic_config(use_default=None, distance=None, elevation=None, azimuth=None, _policy='check_wait', _float_tol=(1e-07, 1e-09))

Follow_me.Geographic_config

Geographic configuration changed. This event is only valid when arg behavior in state() is equal to Follow.

Parameters
  • use_default (BitfieldOf(olympe.enums.follow_me.geo_rel_configure_param, u8)) –

  • distance (float) – The distance leader-follower in meter If distance is default, this value is the current drone distance

  • elevation (float) – The elevation leader-follower in rad If elevation is default, this value is the current leader to drone elevation

  • azimuth (float) – The azimuth north-leader-follower in rad If azimuth is default, this value is the current leader to drone azimuth

  • _policy (olympe.arsdkng.expectations.ExpectPolicy) – specify how to check the expectation. Possible values are ‘check’, ‘wait’ and ‘check_wait’ (defaults to ‘check_wait’)

  • _float_tol (tuple) – specify the float comparison tolerance, a 2-tuple containing a relative tolerance float value and an absolute tolerate float value (default to (1e-07, 1e-09)). See python 3 stdlib math.isclose documentation for more information

Triggered By [start geographic](start()) or [configure geographic](configure_geographic()).

command messageolympe.messages.follow_me.configure_relative(use_default, distance, elevation, azimuth, _timeout=10, _no_expect=False, _float_tol=(1e-07, 1e-09))

Follow_me.Configure_relative

Configure the relative FollowMe. This should only be taken in account if arg behavior in state() is equal to Follow

Parameters
  • use_default (BitfieldOf(olympe.enums.follow_me.geo_rel_configure_param, u8)) –

  • distance (float) – The distance leader-follower in meter

  • elevation (float) – The elevation leader-follower in rad

  • azimuth (float) – The azimuth north-leader-follower in rad

  • _timeout (int) – command message timeout (defaults to 10)

  • _no_expect (bool) – if True for,do not expect the usual command expectation (defaults to False)

  • _float_tol (tuple) – specify the float comparison tolerance, a 2-tuple containing a relative tolerance float value and an absolute tolerate float value (default to (1e-07, 1e-09)). See python 3 stdlib math.isclose documentation for more information

Result: Event [Relative config](relative_config()) is sent and drone will move to respect the configuration.

Expectations: relative_config(use_default=self.use_default, distance=self.distance, elevation=self.elevation, azimuth=self.azimuth, _policy='wait')

event messageolympe.messages.follow_me.relative_config(use_default=None, distance=None, elevation=None, azimuth=None, _policy='check_wait', _float_tol=(1e-07, 1e-09))

Follow_me.Relative_config

Relative configuration changed. This event is only valid when arg behavior in state() is equal to Follow.

Parameters
  • use_default (BitfieldOf(olympe.enums.follow_me.geo_rel_configure_param, u8)) –

  • distance (float) – The distance leader-follower in meter If distance is default, this value is the current drone distance

  • elevation (float) – The elevation leader-follower in rad If elevation is default, this value is the current leader to drone elevation

  • azimuth (float) – The azimuth course-leader-follower in rad If azimuth is default, this value is the current leader to drone azimuth

  • _policy (olympe.arsdkng.expectations.ExpectPolicy) – specify how to check the expectation. Possible values are ‘check’, ‘wait’ and ‘check_wait’ (defaults to ‘check_wait’)

  • _float_tol (tuple) – specify the float comparison tolerance, a 2-tuple containing a relative tolerance float value and an absolute tolerate float value (default to (1e-07, 1e-09)). See python 3 stdlib math.isclose documentation for more information

Triggered By [start relative](start()) or [configure relative](configure_relative()).

event messageolympe.messages.follow_me.target_trajectory(latitude=None, longitude=None, altitude=None, north_speed=None, east_speed=None, down_speed=None, _policy='check_wait', _float_tol=(1e-07, 1e-09))

Follow_me.Target_trajectory

Target estimated trajectory

Parameters
  • latitude (double) – Target latitude (in degrees)

  • longitude (double) – Target longitude (in degrees)

  • altitude (float) – Target altitude (in meters, relative to sea level)

  • north_speed (float) – Target north speed (in m/s)

  • east_speed (float) – Target east speed (in m/s)

  • down_speed (float) – Target down speed (in m/s)

  • _policy (olympe.arsdkng.expectations.ExpectPolicy) – specify how to check the expectation. Possible values are ‘check’, ‘wait’ and ‘check_wait’ (defaults to ‘check_wait’)

  • _float_tol (tuple) – specify the float comparison tolerance, a 2-tuple containing a relative tolerance float value and an absolute tolerate float value (default to (1e-07, 1e-09)). See python 3 stdlib math.isclose documentation for more information

Triggered Regularly when a FollowMe is started.

command messageolympe.messages.follow_me.stop_animation(_timeout=10, _no_expect=False, _float_tol=(1e-07, 1e-09))

Follow_me.Stop_animation

Stop current followMe animation. This message has been deprecated. Please use the animation feature.

Parameters
  • _timeout (int) – command message timeout (defaults to 10)

  • _no_expect (bool) – if True for,do not expect the usual command expectation (defaults to False)

  • _float_tol (tuple) – specify the float comparison tolerance, a 2-tuple containing a relative tolerance float value and an absolute tolerate float value (default to (1e-07, 1e-09)). See python 3 stdlib math.isclose documentation for more information

Result: FollowMe animation will stop. Event state() is triggered.

Expectations: state(_policy='wait')

command messageolympe.messages.follow_me.start_helicoid_anim(use_default, speed, revolution_number, vertical_distance, _timeout=10, _no_expect=False, _float_tol=(1e-07, 1e-09))

Follow_me.Start_helicoid_anim

Start a helicoid animation. The helicoid animation allows the drone to revolve around the target while going up, with a fixed radius. This message has been deprecated. Please use the animation feature.

Parameters
  • use_default (BitfieldOf(olympe.enums.follow_me.helicoid_configure_param, u8)) –

  • speed (float) – The desired speed of the anim in m/s Not used when speed_is_default is 1

  • revolution_number (float) – The number of revolution (in turn) Negative value is infinite Example: 1.5 makes an entire turn plus half of a turn Not used when revolutionNb_is_default is 1

  • vertical_distance (float) – Distance that should be made by the product to reach the top of the helicoid in m Not used when verticalDistance_is_default is 1

  • _timeout (int) – command message timeout (defaults to 10)

  • _no_expect (bool) – if True for,do not expect the usual command expectation (defaults to False)

  • _float_tol (tuple) – specify the float comparison tolerance, a 2-tuple containing a relative tolerance float value and an absolute tolerate float value (default to (1e-07, 1e-09)). See python 3 stdlib math.isclose documentation for more information

Result: Animation is started and event state() is triggered.

Expectations: state(_policy='wait')

event messageolympe.messages.follow_me.helicoid_anim_config(use_default=None, speed=None, revolution_nb=None, vertical_distance=None, _policy='check_wait', _float_tol=(1e-07, 1e-09))

Follow_me.Helicoid_anim_config

Helicoid animation configuration. This should only be taken in account if arg animation in state() is equal to helicoid. This message has been deprecated. Please use the animation feature.

Parameters
  • use_default (BitfieldOf(olympe.enums.follow_me.helicoid_configure_param, u8)) –

  • speed (float) – The speed of the anim in m/s

  • revolution_nb (float) – The number of revolution (in turn) Negative value is infinite

  • vertical_distance (float) – Distance that will be made by the product to reach the top of the helicoid in m

  • _policy (olympe.arsdkng.expectations.ExpectPolicy) – specify how to check the expectation. Possible values are ‘check’, ‘wait’ and ‘check_wait’ (defaults to ‘check_wait’)

  • _float_tol (tuple) – specify the float comparison tolerance, a 2-tuple containing a relative tolerance float value and an absolute tolerate float value (default to (1e-07, 1e-09)). See python 3 stdlib math.isclose documentation for more information

Triggered by a [start helicoid animation](relative_config()).

command messageolympe.messages.follow_me.start_swing_anim(use_default, speed, vertical_distance, _timeout=10, _no_expect=False, _float_tol=(1e-07, 1e-09))

Follow_me.Start_swing_anim

Start a swing animation. The swing animation enables a vertical point of view while the drone passes over the target. This message has been deprecated. Please use the animation feature.

Parameters
  • use_default (BitfieldOf(olympe.enums.follow_me.swing_configure_param, u8)) –

  • speed (float) – The desired speed of the anim in m/s Not used when speed_is_default is 1 Not used when start is 0

  • vertical_distance (float) – Distance that should be made by the product to reach the top of the swing in m Not used when verticalDistance_is_default is 1 Not used when start is 0

  • _timeout (int) – command message timeout (defaults to 10)

  • _no_expect (bool) – if True for,do not expect the usual command expectation (defaults to False)

  • _float_tol (tuple) – specify the float comparison tolerance, a 2-tuple containing a relative tolerance float value and an absolute tolerate float value (default to (1e-07, 1e-09)). See python 3 stdlib math.isclose documentation for more information

Result: Animation is started and event state() is triggered.

Expectations: state(_policy='wait')

event messageolympe.messages.follow_me.swing_anim_config(use_default=None, speed=None, vertical_distance=None, _policy='check_wait', _float_tol=(1e-07, 1e-09))

Follow_me.Swing_anim_config

Swing animation configuration changed. This should only be taken in account if arg animation in state() is equal to swing. This message has been deprecated. Please use the animation feature.

Parameters
  • use_default (BitfieldOf(olympe.enums.follow_me.swing_configure_param, u8)) –

  • speed (float) – The speed of the anim in m/s

  • vertical_distance (float) – Distance that will be made by the product to reach the top of the swing in m

  • _policy (olympe.arsdkng.expectations.ExpectPolicy) – specify how to check the expectation. Possible values are ‘check’, ‘wait’ and ‘check_wait’ (defaults to ‘check_wait’)

  • _float_tol (tuple) – specify the float comparison tolerance, a 2-tuple containing a relative tolerance float value and an absolute tolerate float value (default to (1e-07, 1e-09)). See python 3 stdlib math.isclose documentation for more information

Triggered by a [start swing animation](stop_animation()).

command messageolympe.messages.follow_me.start_boomerang_anim(use_default, speed, distance, _timeout=10, _no_expect=False, _float_tol=(1e-07, 1e-09))

Follow_me.Start_boomerang_anim

Start a boomerang animation. The boomerang animation enables a zoom- out/zoom-in trajectory while preserving the framing chosen by the user. This message has been deprecated. Please use the animation feature.

Parameters
  • use_default (BitfieldOf(olympe.enums.follow_me.boomerang_configure_param, u8)) –

  • speed (float) – The desired speed of the anim in m/s Not used when speed_is_default is 1 Not used when start is 0

  • distance (float) – Distance that should be made by the product to reach its return point in m Not used when distance_is_default is 1 Not used when start is 0

  • _timeout (int) – command message timeout (defaults to 10)

  • _no_expect (bool) – if True for,do not expect the usual command expectation (defaults to False)

  • _float_tol (tuple) – specify the float comparison tolerance, a 2-tuple containing a relative tolerance float value and an absolute tolerate float value (default to (1e-07, 1e-09)). See python 3 stdlib math.isclose documentation for more information

Result: Animation is started and event state() is triggered.

Expectations: state(_policy='wait')

event messageolympe.messages.follow_me.boomerang_anim_config(use_default=None, speed=None, distance=None, _policy='check_wait', _float_tol=(1e-07, 1e-09))

Follow_me.Boomerang_anim_config

Boomerang animation configuration changed. This should only be taken in account if arg animation in state() is equal to boomerang. This message has been deprecated. Please use the animation feature.

Parameters
  • use_default (BitfieldOf(olympe.enums.follow_me.boomerang_configure_param, u8)) –

  • speed (float) – The speed of the anim in m/s

  • distance (float) – Distance that will be made by the product to reach its return point in m

  • _policy (olympe.arsdkng.expectations.ExpectPolicy) – specify how to check the expectation. Possible values are ‘check’, ‘wait’ and ‘check_wait’ (defaults to ‘check_wait’)

  • _float_tol (tuple) – specify the float comparison tolerance, a 2-tuple containing a relative tolerance float value and an absolute tolerate float value (default to (1e-07, 1e-09)). See python 3 stdlib math.isclose documentation for more information

Triggered by a [start boomerang animation](helicoid_anim_config()).

command messageolympe.messages.follow_me.start_candle_anim(use_default, speed, vertical_distance, _timeout=10, _no_expect=False, _float_tol=(1e-07, 1e-09))

Follow_me.Start_candle_anim

Start a candle animation. The candle animation enables a zoom-in directly on the target followed by a vertical zoom-out. This message has been deprecated. Please use the animation feature.

Parameters
  • use_default (BitfieldOf(olympe.enums.follow_me.candle_configure_param, u8)) –

  • speed (float) – The desired speed of the anim in m/s Not used when speed_is_default is 1 Not used when start is 0

  • vertical_distance (float) – Distance that should be made by the product to reach the top of the vertical zoom-out in m Not used when verticalDistance_is_default is 1 Not used when start is 0

  • _timeout (int) – command message timeout (defaults to 10)

  • _no_expect (bool) – if True for,do not expect the usual command expectation (defaults to False)

  • _float_tol (tuple) – specify the float comparison tolerance, a 2-tuple containing a relative tolerance float value and an absolute tolerate float value (default to (1e-07, 1e-09)). See python 3 stdlib math.isclose documentation for more information

Result: Animation is started and event state() is triggered.

Expectations: state(_policy='wait')

event messageolympe.messages.follow_me.candle_anim_config(use_default=None, speed=None, vertical_distance=None, _policy='check_wait', _float_tol=(1e-07, 1e-09))

Follow_me.Candle_anim_config

Candle animation configuration changed. This should only be taken in account if arg animation in state() is equal to candle. This message has been deprecated. Please use the animation feature.

Parameters
  • use_default (BitfieldOf(olympe.enums.follow_me.candle_configure_param, u8)) –

  • speed (float) – The speed of the anim in m/s

  • vertical_distance (float) – Distance that will be made by the product to reach the top of the vertical zoom-out in m

  • _policy (olympe.arsdkng.expectations.ExpectPolicy) – specify how to check the expectation. Possible values are ‘check’, ‘wait’ and ‘check_wait’ (defaults to ‘check_wait’)

  • _float_tol (tuple) – specify the float comparison tolerance, a 2-tuple containing a relative tolerance float value and an absolute tolerate float value (default to (1e-07, 1e-09)). See python 3 stdlib math.isclose documentation for more information

Triggered by a [start candle animation](swing_anim_config()).

command messageolympe.messages.follow_me.start_dolly_slide_anim(use_default, speed, angle, horizontal_distance, _timeout=10, _no_expect=False, _float_tol=(1e-07, 1e-09))

Follow_me.Start_dolly_slide_anim

Start a dolly slide animation. Allows the drone to catch up to the target before flying past it, creating a zoom-in/zoom_out effect without a curved path. This message has been deprecated. Please use the animation feature.

Parameters
  • use_default (BitfieldOf(olympe.enums.follow_me.dolly_slide_configure_param, u8)) –

  • speed (float) – The desired speed of the anim in m/s Not used when speed_is_default is 1 Not used when start is 0

  • angle (float) – Desired angle Product-User-Target in rad Not used when angle_is_default is 1 Not used when start is 0

  • horizontal_distance (float) – Distance that should be made by the product to reach its target in m Not used when horizontalDistance_is_default is 1 Not used when start is 0

  • _timeout (int) – command message timeout (defaults to 10)

  • _no_expect (bool) – if True for,do not expect the usual command expectation (defaults to False)

  • _float_tol (tuple) – specify the float comparison tolerance, a 2-tuple containing a relative tolerance float value and an absolute tolerate float value (default to (1e-07, 1e-09)). See python 3 stdlib math.isclose documentation for more information

Result: Animation is started and event state() is triggered.

Expectations: state(_policy='wait')

event messageolympe.messages.follow_me.dolly_slide_anim_config(use_default=None, speed=None, angle=None, horizontal_distance=None, _policy='check_wait', _float_tol=(1e-07, 1e-09))

Follow_me.Dolly_slide_anim_config

DollySlide animation configuration changed. This should only be taken in account if arg animation in state() is equal to dolly_slide. This message has been deprecated. Please use the animation feature.

Parameters
  • use_default (BitfieldOf(olympe.enums.follow_me.dolly_slide_configure_param, u8)) –

  • speed (float) – The speed of the anim in m/s

  • angle (float) – Angle Product-User-Target in rad

  • horizontal_distance (float) – Distance that will be made by the product to reach its target in m

  • _policy (olympe.arsdkng.expectations.ExpectPolicy) – specify how to check the expectation. Possible values are ‘check’, ‘wait’ and ‘check_wait’ (defaults to ‘check_wait’)

  • _float_tol (tuple) – specify the float comparison tolerance, a 2-tuple containing a relative tolerance float value and an absolute tolerate float value (default to (1e-07, 1e-09)). See python 3 stdlib math.isclose documentation for more information

Triggered by a [start dolly slide animation](boomerang_anim_config()).

command messageolympe.messages.follow_me.target_framing_position(horizontal, vertical, _timeout=10, _no_expect=False, _float_tol=(1e-07, 1e-09))

Follow_me.Target_framing_position

Set the desired target framing in the video.

Parameters
  • horizontal (i8) – Horizontal position in the video (in %, from left to right)

  • vertical (i8) – Vertical position in the video (in %, from bottom to top)

  • _timeout (int) – command message timeout (defaults to 10)

  • _no_expect (bool) – if True for,do not expect the usual command expectation (defaults to False)

  • _float_tol (tuple) – specify the float comparison tolerance, a 2-tuple containing a relative tolerance float value and an absolute tolerate float value (default to (1e-07, 1e-09)). See python 3 stdlib math.isclose documentation for more information

Result: Event [target framing position](target_framing_position_changed()) is triggered.

Expectations: target_framing_position_changed(horizontal=self.horizontal, vertical=self.vertical, _policy='wait')

event messageolympe.messages.follow_me.target_framing_position_changed(horizontal=None, vertical=None, _policy='check_wait', _float_tol=(1e-07, 1e-09))

Follow_me.Target_framing_position_changed

Desired target framing

Parameters
  • horizontal (i8) – Horizontal position in the video (in %, from left to right)

  • vertical (i8) – Vertical position in the video (in %, from bottom to top)

  • _policy (olympe.arsdkng.expectations.ExpectPolicy) – specify how to check the expectation. Possible values are ‘check’, ‘wait’ and ‘check_wait’ (defaults to ‘check_wait’)

  • _float_tol (tuple) – specify the float comparison tolerance, a 2-tuple containing a relative tolerance float value and an absolute tolerate float value (default to (1e-07, 1e-09)). See python 3 stdlib math.isclose documentation for more information

Triggered by [set target framing](candle_anim_config()).

command messageolympe.messages.follow_me.target_image_detection(target_azimuth, target_elevation, change_of_scale, confidence_index, is_new_selection, timestamp, _timeout=10, _no_expect=False, _float_tol=(1e-07, 1e-09))

Follow_me.Target_image_detection

Send vision detection results.

Parameters
  • target_azimuth (float) – Horizontal north-drone-target angle in radian

  • target_elevation (float) – Vertical angle horizon-drone-target in radian

  • change_of_scale (float) – Normalized relative radial speed in 1/second

  • confidence_index (u8) – Confidence index of the detection (from 0 to 255, the highest is the best)

  • is_new_selection (u8) – Boolean. 1 if the selection is new, 0 otherwise

  • timestamp (u64) – Acquisition time of processed picture in millisecond

  • _timeout (int) – command message timeout (defaults to 10)

  • _no_expect (bool) – if True for,do not expect the usual command expectation (defaults to False)

  • _float_tol (tuple) – specify the float comparison tolerance, a 2-tuple containing a relative tolerance float value and an absolute tolerate float value (default to (1e-07, 1e-09)). See python 3 stdlib math.isclose documentation for more information

Result: If drone is in FollowMe, is will look at the target according to the chosen [framing position](target_framing_position_changed()).

Expectations: target_framing_position_changed(horizontal=InternalError, vertical=InternalError, _policy='wait')

Todo

Fix wrong expectation definition for follow_me.target_image_detection: Invalid parameter value for the ‘horizontal’ expectation parameter

Todo

Fix wrong expectation definition for follow_me.target_image_detection: Invalid parameter value for the ‘vertical’ expectation parameter

event messageolympe.messages.follow_me.target_image_detection_state(state=None, _policy='check_wait', _float_tol=(1e-07, 1e-09))

Follow_me.Target_image_detection_state

State of the image detection

Parameters
  • state (olympe.enums.follow_me.image_detection_status) –

  • _policy (olympe.arsdkng.expectations.ExpectPolicy) – specify how to check the expectation. Possible values are ‘check’, ‘wait’ and ‘check_wait’ (defaults to ‘check_wait’)

  • _float_tol (tuple) – specify the float comparison tolerance, a 2-tuple containing a relative tolerance float value and an absolute tolerate float value (default to (1e-07, 1e-09)). See python 3 stdlib math.isclose documentation for more information

Triggered By a possible wrong [target image detection](target_image_detection()).

command messageolympe.messages.follow_me.set_target_is_controller(target_is_controller, _timeout=10, _no_expect=False, _float_tol=(1e-07, 1e-09))

Follow_me.Set_target_is_controller

Tells that the target to follow is the controller and drone can use controller gps sent by [controller_info gps](gps()) and barometer data sent by [controller_info barometer](barometer()) as valid to locate the target.

Parameters
  • target_is_controller (u8) – Boolean. 1 if the target is the controller, 0 otherwise

  • _timeout (int) – command message timeout (defaults to 10)

  • _no_expect (bool) – if True for,do not expect the usual command expectation (defaults to False)

  • _float_tol (tuple) – specify the float comparison tolerance, a 2-tuple containing a relative tolerance float value and an absolute tolerate float value (default to (1e-07, 1e-09)). See python 3 stdlib math.isclose documentation for more information

Result: The drone sends target_is_controller() and may send start_dolly_slide_anim() with updated missing_requirements

Expectations: target_is_controller(state=self.target_is_controller, _policy='wait')

event messageolympe.messages.follow_me.target_is_controller(state=None, _policy='check_wait', _float_tol=(1e-07, 1e-09))

Follow_me.Target_is_controller

Tells whether the drone is using the controller gps position and barometer to locate the target

Parameters
  • state (u8) – Boolean. 1 if the target is the controller, 0 otherwise

  • _policy (olympe.arsdkng.expectations.ExpectPolicy) – specify how to check the expectation. Possible values are ‘check’, ‘wait’ and ‘check_wait’ (defaults to ‘check_wait’)

  • _float_tol (tuple) – specify the float comparison tolerance, a 2-tuple containing a relative tolerance float value and an absolute tolerate float value (default to (1e-07, 1e-09)). See python 3 stdlib math.isclose documentation for more information

Triggered During connection and by set_target_is_controller()

command messageolympe.messages.follow_me.configure_leash(use_default, distance, elevation, azimuth, _timeout=10, _no_expect=False, _float_tol=(1e-07, 1e-09))

Follow_me.Configure_leash

Configure the leash mode of FollowMe. This should only be taken in account if arg behavior in state() is equal to Follow

Parameters
  • use_default (BitfieldOf(olympe.enums.follow_me.geo_rel_configure_param, u8)) –

  • distance (float) – The distance leader-follower in meter

  • elevation (float) – The elevation leader-follower in rad

  • azimuth (float) – The azimuth north-leader-follower in rad

  • _timeout (int) – command message timeout (defaults to 10)

  • _no_expect (bool) – if True for,do not expect the usual command expectation (defaults to False)

  • _float_tol (tuple) – specify the float comparison tolerance, a 2-tuple containing a relative tolerance float value and an absolute tolerate float value (default to (1e-07, 1e-09)). See python 3 stdlib math.isclose documentation for more information

Result: Event [Leash config](leash_config()) is sent and drone will move to respect the configuration.

Expectations: leash_config(use_default=self.use_default, distance=self.distance, elevation=self.elevation, azimuth=self.azimuth, _policy='wait')

event messageolympe.messages.follow_me.leash_config(use_default=None, distance=None, elevation=None, azimuth=None, _policy='check_wait', _float_tol=(1e-07, 1e-09))

Follow_me.Leash_config

Leash mode configuration changed. This event is only valid when arg behavior in state() is equal to Follow.

Parameters
  • use_default (BitfieldOf(olympe.enums.follow_me.geo_rel_configure_param, u8)) –

  • distance (float) – The distance leader-follower in meter If distance is default, this value is the current drone distance

  • elevation (float) – The elevation leader-follower in rad If elevation is default, this value is the current leader to drone elevation

  • azimuth (float) – The azimuth course-leader-follower in rad If azimuth is default, this value is the current leader to drone azimuth

  • _policy (olympe.arsdkng.expectations.ExpectPolicy) – specify how to check the expectation. Possible values are ‘check’, ‘wait’ and ‘check_wait’ (defaults to ‘check_wait’)

  • _float_tol (tuple) – specify the float comparison tolerance, a 2-tuple containing a relative tolerance float value and an absolute tolerate float value (default to (1e-07, 1e-09)). See python 3 stdlib math.isclose documentation for more information

Triggered By [start leash](start()) or [configure leash](configure_leash()).

enumolympe.enums.follow_me.mode

FollowMe mode

none

No follow me (0)

look_at

Look at the target without moving automatically (1)

geographic

Follow the target keeping the same vector (2)

relative

Follow the target keeping the same orientation to its direction (3)

leash

Follow the target as it was held by a leash (4)

enumolympe.enums.follow_me.behavior

FollowMe behavior

idle

Drone is not moving according to the target This means that at least one required input is missing (0)

follow

Follow the target (1)

look_at

Look at the target without moving (2)

enumolympe.enums.follow_me.input

Input values used by the FollowMe

drone_calibrated

Drone is calibrated (0)

drone_gps_good_accuracy

Drone gps has fixed and has a good accuracy (1)

target_gps_good_accuracy

Target gps data is known and has a good accuracy (2)

target_barometer_ok

Target barometer data is available (3)

drone_far_enough

Drone is far enough from the target (4)

drone_high_enough

Drone is high enough from the ground (5)

image_detection

Target detection is done by image detection among other things (6)

enumolympe.enums.follow_me.geo_rel_configure_param

Geographic and Relative follow me configuration parameters

distance

Distance configuration (0)

elevation

Elevation configuration (1)

azimuth

Azimuth configuration (2)

enumolympe.enums.follow_me.animation

FollowMe animation type

none

No animation (0)

helicoid

Turn around the target (1)

swing

Pass by the zenith and change of side (2)

boomerang

Fly far from the target and fly back (3)

candle

Move to the target and go high when it is near (4)

dolly_slide

Fly in line (5)

enumolympe.enums.follow_me.helicoid_configure_param

Helicoid animation configuration parameters.

speed

Speed parameter (0)

revolution_nb

Number of turn (1)

vertical_distance

Vertical distance (2)

enumolympe.enums.follow_me.swing_configure_param

Swing configure parameters.

Enum aliases:

speed

Speed parameter (0)

vertical_distance

Vertical distance (1)

enumolympe.enums.follow_me.boomerang_configure_param

Boomerang animation configure parameters.

speed

Speed parameter (0)

distance

Distance (1)

enumolympe.enums.follow_me.candle_configure_param

Candle animation configure parameters.

Enum aliases:

speed

Speed parameter (0)

vertical_distance

Follow the target keeping the same vector (1)

enumolympe.enums.follow_me.dolly_slide_configure_param

Dolly slide animation configure parameters.

speed

Speed parameter (0)

angle

Angle (1)

horizontal_distance

Horizontal distance (2)

enumolympe.enums.follow_me.image_detection_status

State of the image detection

none

No image detection (0)

ok

Image detection is considered ok by the drone (1)

lost

Image detection is considered lost or in contradiction with gps value. This state will remain until a new selection of the target is done (2)

enumolympe.enums.follow_me.list_flags

Arsdk built-in “list_flags” enum that is used to in “LIST_ITEM” event messages

First

Arsdk built-in “list_flags” enum that is used to in “LIST_ITEM” event messages (0)

Last

Arsdk built-in “list_flags” enum that is used to in “LIST_ITEM” event messages (1)

Empty

Arsdk built-in “list_flags” enum that is used to in “LIST_ITEM” event messages (2)

Remove

Arsdk built-in “list_flags” enum that is used to in “LIST_ITEM” event messages (3)