Best way to communicate between Computer Vision services and Guidance


I’m trying to write a autonomous guidance based on computer vision algorithms.

I’m wondering what is the best way to write computer vision based guidance in python.

Right now, cv-service publish on unix:/tmp/hello-cv-service, fsup/flying/ check in step like :

    def step(self, msg):
        # It is required to check the kind of message received as multiple
        # messages can trigger the step method.
        if is_msg(msg, hello_cv_service_messages.Event, "apriltag"):
                self.set_guidance_mode(_FLYING_MODE_NAME, hello_gdnc_mode_messages.Config(apriltag=tagPose))

I’m not sure using “set_guidance_mode” is the good way to do so, because I have a info log each time a new message is received as :

01-01 01:01:35.640 I guidance    (guidance-375)                   : config.type_url:
01-01 01:01:35.668 I guidance    (guidance-375)                   : Setting guidance mode to 'com.parrot.missions.samples.hello.flying' (same=1, ok=1)
01-01 01:01:35.668 I guidance    (guidance-375)                   : config.type_url:
01-01 01:01:35.777 I guidance    (guidance-375)                   : Setting guidance mode to 'com.parrot.missions.samples.hello.flying' (same=1, ok=1)
01-01 01:01:35.777 I guidance    (guidance-375)                   : config.type_url:
01-01 01:01:35.800 I guidance    (guidance-375)                   : Setting guidance mode to 'com.parrot.missions.samples.hello.flying' (same=1, ok=1)
01-01 01:01:35.800 I guidance    (guidance-375)                   : config.type_url:
01-01 01:01:35.839 I guidance    (guidance-375)                   : Setting guidance mode to 'com.parrot.missions.samples.hello.flying' (same=1, ok=1)
01-01 01:01:35.839 I guidance    (guidance-375)                   : config.type_url:
01-01 01:01:35.881 I guidance    (guidance-375)                   : Setting guidance mode to 'com.parrot.missions.samples.hello.flying' (same=1, ok=1)

What is the best way ? I know you’ll publish some other airsdk-sample, but I can’t wait to write mine :slight_smile:


Just use telemetry cv@hello :slight_smile:

1 Like


Indeed, telemetry is the good way to use as it allows to easily get the timestamps of the data produced by the service.

Telemetry is generally used when something is pushed periodically.
Messages (Commands/Events) is generally used when it is not generated periodically.


1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.