tentone / tello-ros2

ROS2 node for DJI Tello and Visual SLAM for mapping of indoor environments.
MIT License
135 stars 42 forks source link

decoding error #1

Open chaos4ros2 opened 3 years ago

chaos4ros2 commented 3 years ago

I got error like blow, please help me.
the wifi connection is ok and I can control tello with offical app.

ROS2 version : Foxy Fitzroy

chaos@chaos-ubuntu:~/drone_ws$ ros2 run tello tello
[INFO] [1627166321.719289990] [tello]: Tello: Connecting to drone
[INFO] tello.py - 106 - Tello instance was initialized. Host: '192.168.10.1'. Port: '8889'.
[INFO] tello.py - 421 - Send command: 'command'
[INFO] tello.py - 445 - Response command: 'ok'
[INFO] [1627166321.876126831] [tello]: Tello: Connected to drone
[INFO] tello.py - 421 - Send command: 'streamon'
[INFO] tello.py - 445 - Response streamon: 'ok'
[INFO] [1627166322.085020725] [tello]: Tello: Driver node ready
[h264 @ 0x7fb75c013d80] non-existing PPS 0 referenced
[h264 @ 0x7fb75c013d80] non-existing PPS 0 referenced
[h264 @ 0x7fb75c013d80] decode_slice_header error
[h264 @ 0x7fb75c013d80] no frame!
[h264 @ 0x7fb75c013d80] non-existing PPS 0 referenced
[h264 @ 0x7fb75c013d80] non-existing PPS 0 referenced
[h264 @ 0x7fb75c013d80] decode_slice_header error
[h264 @ 0x7fb75c013d80] no frame!
[h264 @ 0x7fb75c013d80] non-existing PPS 0 referenced
[h264 @ 0x7fb75c013d80] non-existing PPS 0 referenced
[h264 @ 0x7fb75c013d80] decode_slice_header error
[h264 @ 0x7fb75c013d80] no frame!
[h264 @ 0x7fb75c013d80] non-existing PPS 0 referenced
[h264 @ 0x7fb75c013d80] non-existing PPS 0 referenced
[h264 @ 0x7fb75c013d80] decode_slice_header error
[h264 @ 0x7fb75c013d80] no frame!
[h264 @ 0x7fb75c013d80] non-existing PPS 0 referenced
[h264 @ 0x7fb75c013d80] non-existing PPS 0 referenced
[h264 @ 0x7fb75c013d80] decode_slice_header error
[h264 @ 0x7fb75c013d80] no frame!
[h264 @ 0x7fb75c013d80] non-existing PPS 0 referenced
[h264 @ 0x7fb75c013d80] non-existing PPS 0 referenced
[h264 @ 0x7fb75c013d80] decode_slice_header error
[h264 @ 0x7fb75c013d80] no frame!
[h264 @ 0x7fb75c013d80] non-existing PPS 0 referenced
[h264 @ 0x7fb75c013d80] non-existing PPS 0 referenced
[h264 @ 0x7fb75c013d80] decode_slice_header error
[h264 @ 0x7fb75c013d80] no frame!
[h264 @ 0x7fb75c013d80] non-existing PPS 0 referenced
[h264 @ 0x7fb75c013d80] non-existing PPS 0 referenced
[h264 @ 0x7fb75c013d80] decode_slice_header error
[h264 @ 0x7fb75c013d80] no frame!
[h264 @ 0x7fb75c013d80] non-existing PPS 0 referenced
[h264 @ 0x7fb75c013d80] non-existing PPS 0 referenced
[h264 @ 0x7fb75c013d80] decode_slice_header error
[h264 @ 0x7fb75c013d80] no frame!
[h264 @ 0x7fb75c013d80] non-existing PPS 0 referenced
[h264 @ 0x7fb75c013d80] non-existing PPS 0 referenced
[h264 @ 0x7fb75c013d80] decode_slice_header error
[h264 @ 0x7fb75c013d80] no frame!
[h264 @ 0x7fb75c013d80] non-existing PPS 0 referenced
[h264 @ 0x7fb75c013d80] non-existing PPS 0 referenced
[h264 @ 0x7fb75c013d80] decode_slice_header error
[h264 @ 0x7fb75c013d80] no frame!
[h264 @ 0x7fb75c013d80] non-existing PPS 0 referenced
[h264 @ 0x7fb75c013d80] non-existing PPS 0 referenced
[h264 @ 0x7fb75c013d80] decode_slice_header error
[h264 @ 0x7fb75c013d80] no frame!
[h264 @ 0x7fb75c013d80] non-existing PPS 0 referenced
[h264 @ 0x7fb75c013d80] non-existing PPS 0 referenced
[h264 @ 0x7fb75c013d80] decode_slice_header error
[h264 @ 0x7fb75c013d80] no frame!
[h264 @ 0x7fb75c06e280] error while decoding MB 12 39, bytestream -8
[h264 @ 0x7fb75c06e280] left block unavailable for requested intra mode
[h264 @ 0x7fb75c06e280] error while decoding MB 0 37, bytestream 4086
[h264 @ 0x7fb75c076600] left block unavailable for requested intra mode
[h264 @ 0x7fb75c076600] error while decoding MB 0 42, bytestream 2032
[h264 @ 0x7fb75c06e280] left block unavailable for requested intra mode
[h264 @ 0x7fb75c06e280] error while decoding MB 0 33, bytestream 4329
[h264 @ 0x7fb75c076600] left block unavailable for requested intra4x4 mode -1
[h264 @ 0x7fb75c076600] error while decoding MB 0 41, bytestream 1757
[h264 @ 0x7fb75c06e280] left block unavailable for requested intra mode
[h264 @ 0x7fb75c06e280] error while decoding MB 0 37, bytestream 3033
[h264 @ 0x7fb75c06e280] error while decoding MB 58 35, bytestream -10
[h264 @ 0x7fb75c06e280] left block unavailable for requested intra mode
[h264 @ 0x7fb75c06e280] error while decoding MB 0 26, bytestream 4906
[h264 @ 0x7fb75c06e280] left block unavailable for requested intra mode
[h264 @ 0x7fb75c06e280] error while decoding MB 0 34, bytestream 5268
[h264 @ 0x7fb75c06e280] error while decoding MB 10 34, bytestream -10
[h264 @ 0x7fb75c076600] left block unavailable for requested intra mode
[h264 @ 0x7fb75c076600] error while decoding MB 0 42, bytestream 1449
[h264 @ 0x7fb75c06e280] left block unavailable for requested intra mode
[h264 @ 0x7fb75c06e280] error while decoding MB 0 31, bytestream 4850
[h264 @ 0x7fb75c06e280] error while decoding MB 45 35, bytestream -6
[h264 @ 0x7fb75c076600] left block unavailable for requested intra mode
[h264 @ 0x7fb75c076600] error while decoding MB 0 38, bytestream 2674
[h264 @ 0x7fb75c076600] left block unavailable for requested intra mode
[h264 @ 0x7fb75c076600] error while decoding MB 0 41, bytestream 1390
[h264 @ 0x7fb75c06e280] error while decoding MB 15 35, bytestream -6
[h264 @ 0x7fb75c076600] left block unavailable for requested intra4x4 mode -1
[h264 @ 0x7fb75c076600] error while decoding MB 0 36, bytestream 2928
[h264 @ 0x7fb75c06e280] error while decoding MB 1 40, bytestream -10
[h264 @ 0x7fb75c06e280] left block unavailable for requested intra mode
[h264 @ 0x7fb75c06e280] error while decoding MB 0 43, bytestream 1078
[h264 @ 0x7fb75c076600] left block unavailable for requested intra mode
[h264 @ 0x7fb75c076600] error while decoding MB 0 39, bytestream 2424
[h264 @ 0x7fb75c06e280] error while decoding MB 17 35, bytestream -6
[h264 @ 0x7fb75c076600] left block unavailable for requested intra mode
[h264 @ 0x7fb75c076600] error while decoding MB 0 41, bytestream 1614
[h264 @ 0x7fb75c076600] left block unavailable for requested intra mode
[h264 @ 0x7fb75c076600] error while decoding MB 0 40, bytestream 1637
[h264 @ 0x7fb75c06e280] error while decoding MB 5 31, bytestream -8
[h264 @ 0x7fb75c06e280] left block unavailable for requested intra mode
[h264 @ 0x7fb75c06e280] error while decoding MB 0 40, bytestream 2956
[h264 @ 0x7fb75c06e280] error while decoding MB 11 33, bytestream -6
[h264 @ 0x7fb75c06e280] left block unavailable for requested intra mode
[h264 @ 0x7fb75c06e280] error while decoding MB 0 42, bytestream 38
[h264 @ 0x7fb75c06e280] error while decoding MB 44 43, bytestream -10
[h264 @ 0x7fb75c06e280] error while decoding MB 39 43, bytestream -8
[h264 @ 0x7fb75c076600] left block unavailable for requested intra4x4 mode -1
[h264 @ 0x7fb75c076600] error while decoding MB 0 34, bytestream 4200
[h264 @ 0x7fb75c06e280] error while decoding MB 31 32, bytestream -12
[h264 @ 0x7fb75c06e280] error while decoding MB 29 32, bytestream -10
[h264 @ 0x7fb75c076600] left block unavailable for requested intra mode
[h264 @ 0x7fb75c076600] error while decoding MB 0 37, bytestream 3102
[h264 @ 0x7fb75c076600] left block unavailable for requested intra4x4 mode -1
[h264 @ 0x7fb75c076600] error while decoding MB 0 35, bytestream 4137
[h264 @ 0x7fb75c06e280] error while decoding MB 3 40, bytestream -14
[h264 @ 0x7fb75c06e280] left block unavailable for requested intra mode
[h264 @ 0x7fb75c06e280] error while decoding MB 0 37, bytestream 3371
^CTraceback (most recent call last):
  File "/home/chaos/drone_ws/install/tello/lib/tello/tello", line 11, in <module>
    load_entry_point('tello==0.1.0', 'console_scripts', 'tello')()
  File "/home/chaos/drone_ws/install/tello/lib/python3.8/site-packages/tello/node.py", line 349, in main
    rclpy.spin(node)
  File "/opt/ros/foxy/lib/python3.8/site-packages/rclpy/__init__.py", line 191, in spin
    executor.spin_once()
  File "/opt/ros/foxy/lib/python3.8/site-packages/rclpy/executors.py", line 703, in spin_once
    handler, entity, node = self.wait_for_ready_callbacks(timeout_sec=timeout_sec)
  File "/opt/ros/foxy/lib/python3.8/site-packages/rclpy/executors.py", line 689, in wait_for_ready_callbacks
    return next(self._cb_iter)
  File "/opt/ros/foxy/lib/python3.8/site-packages/rclpy/executors.py", line 586, in _wait_for_ready_callbacks
    _rclpy.rclpy_wait(wait_set, timeout_nsec)
KeyboardInterrupt
^CException ignored in: <module 'threading' from '/usr/lib/python3.8/threading.py'>
Traceback (most recent call last):
  File "/usr/lib/python3.8/threading.py", line 1388, in _shutdown
    lock.acquire()
KeyboardInterrupt:
Exception ignored in: <function Executor.__del__ at 0x7fb79028ff70>
Traceback (most recent call last):
  File "/opt/ros/foxy/lib/python3.8/site-packages/rclpy/executors.py", line 240, in __del__
  File "/opt/ros/foxy/lib/python3.8/site-packages/rclpy/signals.py", line 39, in destroy
AttributeError: 'NoneType' object has no attribute 'rclpy_unregister_sigint_guard_condition'
Exception ignored in: <function SignalHandlerGuardCondition.__del__ at 0x7fb7903a53a0>
Traceback (most recent call last):
  File "/opt/ros/foxy/lib/python3.8/site-packages/rclpy/signals.py", line 30, in __del__
TypeError: catching classes that do not inherit from BaseException is not allowed
tentone commented 3 years ago

Hello

Please check the firmware version of your tello, update to the last firmware using the tello mobile app and then test again.

In the meanwhile i will try to setup a clean environment and try to recreate this issue.

Thanks a lot!

chaos4ros2 commented 3 years ago

In the meanwhile i will try to setup a clean environment and try to recreate this issue.

Thank you very much. my firmware version is 01.04.92.01 and I try to updated to last one (02.05.01.17) but failed. mobile app show updating message by using my own wifi but tello uses local wifi so I can't update firmware when I connect to tello.

I will try again later.

tentone commented 3 years ago

I believe that you can connect to a network with internet access to first download the firmware and then connect back to the drone to upload the firmware.

Since you are running on a older version this might be the issue. The pytello lib is made to work with tello V2.# firmwares

https://www.youtube.com/watch?v=L0Emr0Y5z7o

chaos4ros2 commented 3 years ago

Thank you for video.

I follow the guide and I am sure that my app has a problem.

Every time I switch to Tello and push start, the app show my firmware is [Latest Firmware] and can’t update.

0E7C2903-42CD-420F-9706-2DA45BF07A87 FD0BB7E4-4888-46EA-93B3-408FE85D9492

lbrianza commented 1 year ago

Hi, I am having exactly the same issue as @chaos4ros2 - so I'm also trying to update the firmware but then I'm having the exact same problem even with the app, it tells me 'latest firmware' but in reality I see the firmware version is 01.04.91.01. Did you manage to update the firmware and solve the problem? @tentone

MizzouRobotics commented 1 year ago

Hey again, I think I might have the other half to this puzzle. It seems that firmware 02.X is set only for the tello edu. https://tellopilots.com/threads/tello-firmware-update-not-working.6126/

MizzouRobotics commented 1 year ago

I tried with a tello edu, and assuming it's the first connection on its boot it works

MizzouRobotics commented 1 year ago

Granted, when I do use an edu it seems to only reduce the error to: error while decoding MB 33 41, bytestream -5.

It seems intermittent, but it's gone away. I haven't been able to get rviz to stream the video topic yet, but I'm going to leave it for now. If you had any insight it would be appreciated (I am trying this on ros-humble which may also be causing issues).

You could likely close this issue, and I can make a new one for this.

Edit: Got it working. I think it was likely that I'm running both rviz and this node in a container. That said, I also did refactor the node initialization in the tello driver aswell, but idk if that changed it ¯_(ツ)_/¯