Disconnection occurs while controlling multple ANAFIs

Hello.
I’m currently working on controlling 3 ANAFIs by one PC using Olympe.

There is a connection problem I can not solve.
The problem is sudden disconnection.
The disconnection occurs between Olympe-ANAFI not PC-ANAFI.

This problem has never been shown up with sole drone but shown up while controlling multiple ANAFIs.

I have no idea why the problem happens.

There are mainly 2 different types disconnection.

TYPE1 : Disconnection probably caused by other Wi-Fi devices
I use 2.4 GHz Wi-Fi band to control ANAFIs.
When a device exists that use Wi-Fi channel same(or close) as ANAFI, My ANAFIs disconnect easily.

I can’t get it that if Wi-Fi channel interference is main cause of this problem, disconnection may occur at the time of connection between My PC(Ubuntu) and ANAFIs.
But the disconnection always occurs after Olympe creates drone objects and successfully send command and receive data from ANAFIs.

TYPE2 : "Error cmd interface seems to be destroyed"
This type disconnection occurs at connection phase using Olympe.

When this type problem happens, the error output would never end until I force termination by Ctrl+C.

2022-08-24 09:26:32,778 [INFO] 	olympe.backend - _create_pomp_loop - Creating pomp loop
2022-08-24 09:26:32,780 [INFO] 	olympe.backend - _do_create - device callbacks have been added to arsdk_ctrl
2022-08-24 09:26:32,782 [INFO] 	olympe.scheduler - _create_pomp_loop - Creating pomp loop
2022-08-24 09:26:32,790 [INFO] 	olympe.media - _create_pomp_loop - Creating pomp loop
2022-08-24 09:26:32,792 [INFO] 	olympe.backend - _create_pomp_loop - Creating pomp loop
2022-08-24 09:26:32,793 [INFO] 	olympe.backend - _do_create - device callbacks have been added to arsdk_ctrl
2022-08-24 09:26:32,794 [INFO] 	olympe.scheduler - _create_pomp_loop - Creating pomp loop
2022-08-24 09:26:32,800 [INFO] 	olympe.media - _create_pomp_loop - Creating pomp loop
2022-08-24 09:26:32,802 [INFO] 	olympe.backend - _create_pomp_loop - Creating pomp loop
2022-08-24 09:26:32,803 [INFO] 	olympe.backend - _do_create - device callbacks have been added to arsdk_ctrl
2022-08-24 09:26:32,804 [INFO] 	olympe.scheduler - _create_pomp_loop - Creating pomp loop
2022-08-24 09:26:32,809 [INFO] 	olympe.media - _create_pomp_loop - Creating pomp loop
2022-08-24 09:26:32,813 [INFO] 	olympe.drone - _start_piloting_impl - Piloting interface has been correctly launched
2022-08-24 09:26:32,813 [INFO] 	olympe.drone - start_piloting - Piloting started
2022-08-24 09:26:32,814 [INFO] 	olympe.drone - _start_piloting_impl - Piloting interface has been correctly launched
2022-08-24 09:26:32,814 [INFO] 	olympe.drone - start_piloting - Piloting started
2022-08-24 09:26:32,815 [INFO] 	olympe.drone - _start_piloting_impl - Piloting interface has been correctly launched
2022-08-24 09:26:32,815 [INFO] 	olympe.drone - start_piloting - Piloting started
[INFO   ] [Loader      ] using a thread pool of 2 workers
2022-08-24 09:26:33.044545: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network 
Library (oneDNN) to use the following CPU instructions in performance-critical operations:  AVX2 AVX512F AVX512_VNNI FMA
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
2022-08-24 09:26:33.916142: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1532] Created device /job:localhost/replica:0/task:0/device:GPU:0 with
 46278 MB memory:  -> device: 0, name: NVIDIA RTX A6000, pci bus id: 0000:73:00.0, compute capability: 8.6
2022-08-24 09:26:56,732 [ERROR] 	olympe.drone - __call__ - Unhandled exception
Traceback (most recent call last):
  File "/home/nazca/workspace/project1/lib/python3.8/site-packages/olympe/utils/__init__.py", line 100, in __call__
    return self.func(*args, **kwargs)
  File "/home/nazca/workspace/project1/lib/python3.8/site-packages/olympe/arsdkng/cmd_itf.py", line 519, in _send_command_impl
    raise RuntimeError("[sendcmd] Error cmd interface seems to be destroyed")
RuntimeError: [sendcmd] Error cmd interface seems to be destroyed
2022-08-24 09:26:56,732 [ERROR] 	olympe.backend - run_async - Unhandled exception in async task function
Traceback (most recent call last):
  File "/home/nazca/workspace/project1/lib/python3.8/site-packages/olympe/concurrent/__init__.py", line 249, in run_async
    ret = func(*args, **kwds)
  File "/home/nazca/workspace/project1/lib/python3.8/site-packages/olympe/utils/__init__.py", line 90, in <lambda>
    lambda *args, **kwds: self._method_call(obj, *args, **kwds)
  File "/home/nazca/workspace/project1/lib/python3.8/site-packages/olympe/utils/__init__.py", line 94, in _method_call
    return self.__call__(this, *args, **kwds)
  File "/home/nazca/workspace/project1/lib/python3.8/site-packages/olympe/utils/__init__.py", line 100, in __call__
    return self.func(*args, **kwargs)
  File "/home/nazca/workspace/project1/lib/python3.8/site-packages/olympe/arsdkng/cmd_itf.py", line 519, in _send_command_impl
    raise RuntimeError("[sendcmd] Error cmd interface seems to be destroyed")
RuntimeError: [sendcmd] Error cmd interface seems to be destroyed
2022-08-24 09:26:56,804 [INFO] 	olympe.backend - _device_added_cb - DiscoveryNet: New device has been detected: 'this_is_anafi'
2022-08-24 09:26:56,808 [INFO] 	olympe.drone - _connecting_cb - Connecting to device: this_is_anafi
2022-08-24 09:26:56,808 [INFO] 	olympe.drone - _connect_impl - Connection in progress...
2022-08-24 09:26:56,907 [INFO] 	olympe.drone.this_is_anafi - _aconnected_cb - Connected to device: this_is_anafi
2022-08-24 09:26:56,908 [INFO] 	olympe.drone.this_is_anafi - _aconnected_cb - {'c2d_port': 2233,
 'c2d_update_port': 51,
 'c2d_user_port': 21,
 'proto_v': 3,
 'qos_mode': 0,
 'status': 0}
2022-08-24 09:26:56,909 [INFO] 	olympe.drone.this_is_anafi - _create_command_interface - Command interface has been created
2022-08-24 09:26:56,912 [ERROR] 	olympe.callbacks - __call__ - Unhandled exception
Traceback (most recent call last):
  File "/home/nazca/workspace/project1/lib/python3.8/site-packages/olympe/utils/__init__.py", line 100, in __call__
    return self.func(*args, **kwargs)
  File "/home/nazca/workspace/project1/lib/python3.8/site-packages/olympe/scheduler.py", line 191, in _process_event
    elif expectation.check(event).success():
  File "/home/nazca/workspace/project1/lib/python3.8/site-packages/olympe/arsdkng/expectations.py", line 413, in check
    or (not self._command_future.result())
  File "/usr/lib/python3.8/concurrent/futures/_base.py", line 437, in result
    return self.__get_result()
  File "/usr/lib/python3.8/concurrent/futures/_base.py", line 389, in __get_result
    raise self._exception
  File "/home/nazca/workspace/project1/lib/python3.8/site-packages/olympe/concurrent/__init__.py", line 249, in run_async
    ret = func(*args, **kwds)
  File "/home/nazca/workspace/project1/lib/python3.8/site-packages/olympe/utils/__init__.py", line 90, in <lambda>
    lambda *args, **kwds: self._method_call(obj, *args, **kwds)
  File "/home/nazca/workspace/project1/lib/python3.8/site-packages/olympe/utils/__init__.py", line 94, in _method_call
    return self.__call__(this, *args, **kwds)
  File "/home/nazca/workspace/project1/lib/python3.8/site-packages/olympe/utils/__init__.py", line 100, in __call__
    return self.func(*args, **kwargs)
  File "/home/nazca/workspace/project1/lib/python3.8/site-packages/olympe/arsdkng/cmd_itf.py", line 519, in _send_command_impl
    raise RuntimeError("[sendcmd] Error cmd interface seems to be destroyed")
RuntimeError: [sendcmd] Error cmd interface seems to be destroyed
2022-08-24 09:26:56,912 [ERROR] 	olympe.backend - run_async - Unhandled exception in async task function
Traceback (most recent call last):
  File "/home/nazca/workspace/project1/lib/python3.8/site-packages/olympe/concurrent/__init__.py", line 249, in run_async
    ret = func(*args, **kwds)
  File "/home/nazca/workspace/project1/lib/python3.8/site-packages/olympe/utils/__init__.py", line 90, in <lambda>
    lambda *args, **kwds: self._method_call(obj, *args, **kwds)
  File "/home/nazca/workspace/project1/lib/python3.8/site-packages/olympe/utils/__init__.py", line 94, in _method_call
    return self.__call__(this, *args, **kwds)
  File "/home/nazca/workspace/project1/lib/python3.8/site-packages/olympe/utils/__init__.py", line 100, in __call__
    return self.func(*args, **kwargs)
  File "/home/nazca/workspace/project1/lib/python3.8/site-packages/olympe/scheduler.py", line 191, in _process_event
    elif expectation.check(event).success():
  File "/home/nazca/workspace/project1/lib/python3.8/site-packages/olympe/arsdkng/expectations.py", line 413, in check
    or (not self._command_future.result())
  File "/usr/lib/python3.8/concurrent/futures/_base.py", line 437, in result
    return self.__get_result()
  File "/usr/lib/python3.8/concurrent/futures/_base.py", line 389, in __get_result
    raise self._exception
  File "/home/nazca/workspace/project1/lib/python3.8/site-packages/olympe/concurrent/__init__.py", line 249, in run_async
    ret = func(*args, **kwds)
  File "/home/nazca/workspace/project1/lib/python3.8/site-packages/olympe/utils/__init__.py", line 90, in <lambda>
    lambda *args, **kwds: self._method_call(obj, *args, **kwds)
  File "/home/nazca/workspace/project1/lib/python3.8/site-packages/olympe/utils/__init__.py", line 94, in _method_call
    return self.__call__(this, *args, **kwds)
  File "/home/nazca/workspace/project1/lib/python3.8/site-packages/olympe/utils/__init__.py", line 100, in __call__
    return self.func(*args, **kwargs)
  File "/home/nazca/workspace/project1/lib/python3.8/site-packages/olympe/arsdkng/cmd_itf.py", line 519, in _send_command_impl
    raise RuntimeError("[sendcmd] Error cmd interface seems to be destroyed")
RuntimeError: [sendcmd] Error cmd interface seems to be destroyed
2022-08-24 09:26:56,912 [INFO] 	olympe.drone.this_is_anafi - _send_command_impl - common.Common.CurrentDateTime(datetime='20220824T092656+090
0') has been sent to the device

Are there any solution for this disconnection problem?
Have someone ever achieved multiple ANAFIs control without any error?

Thanks.

This topic was automatically closed after 30 days. New replies are no longer allowed.