Hi,
When I use “Hello, Drone” mission, with a MoveBy command from Olympe, drone’s log has lot of guidance error like :
**01-01 01:00:37.871 E guidance (guidance-345) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)**
But I can’t find any getLastStereoFrame call in “Hello, Drone” code. Any ideas ?
Best,
Clément
Hi Clément,
In order to better understand what happens, I would need a bit more context :
Are you using a real drone or a simulated one on Sphinx ?
If you are using a simulated drone, are the stereo cameras enabled ? Could you share the content of the .drone file you are using ?
Did you activate obstacle avoidance ?
The function you are referring to is an internal function, outside of the mission.
Best,
Gauthier
Hi @g.rousseau ,
Yes this problem is related to simulated drone on Sphinx. Here is the anafi_ai.drone I’m using :
<?xml version="1.0" encoding="UTF-8"?>
<drone name="anafi_ai" hardware="anafi2">
<pose>default</pose>
<wifi_iface>auto</wifi_iface>
<wan_access>false</wan_access>
<remote_ctrl_ip></remote_ctrl_ip>
<int_storage_size>500MB</int_storage_size>
<ext_storage_size>10G</ext_storage_size>
<with_front_cam>1</with_front_cam>
<with_gimbal>1</with_gimbal>
<with_front_stcam>1</with_front_stcam>
<with_depth_hil>0</with_depth_hil>
<hil_ip>auto</hil_ip>
<with_tracking_hil>0</with_tracking_hil>
<photo_high_res>0</photo_high_res>
<invisible_body>0</invisible_body>
</drone>
I don’t think I activated obstacle avoidance, should I ?
Best,
Clément
Hi Clément,
Thank you for the info. No need to activate obstacle avoidance it was just to get more context. I transmitted your issue to the Sphinx simulator team, they are currently investigating it.
Best,
Gauthier
1 Like
Hi,
Could you please provide:
the sphinx version you are using
the anafi2-pc firmware version
the command line you execute to run sphinx
Thanks
Hi @slekieffre ,
I’m using sphinx 2.7, and anafi2-pc firmware seems to be 7.1.0.
Here is how I launch sphinx :
sphinx "/opt/parrot-sphinx/usr/share/sphinx/drones/anafi_ai.drone"::firmware="ftp://<my_username>:<my_password>@ftp2.parrot.biz/versions/anafi2/pc/%23latest/images/anafi2-pc.ext2.zip" & parrot-ue4-empty
We cannot reproduce the issue.
Could you share the python script you use to load, start the hello mission and run a moveby command?
Hi @slekieffre ,
First, I used Hello mission from GitHub - Parrot-Developers/airsdk-samples , where I added the RELATIVE_MOVE_STATE in flying children state :
from fsup.missions.default.flying.stage import FLYING_STAGE as DEF_FLYING_STAGE
from fsup.missions.default.flying.manual import MANUAL_STATE
from fsup.missions.default.flying.relative_move import RELATIVE_MOVE_STATE
FLYING_STAGE = {
"name": "flying",
"class": DEF_FLYING_STAGE["class"],
"initial": "manual",
"children": [MANUAL_STATE, RELATIVE_MOVE_STATE],
}
Then, in Olympe, here is the python script I use :
from cmath import pi
import logging
import olympe
import olympe.log
import os
import pprint
import time
import math
from olympe.controller import Disconnected
from olympe.messages.ardrone3.Piloting import TakeOff, moveBy, Landing
from olympe.messages.ardrone3.PilotingState import FlyingStateChanged
from olympe.messages.common.Common import Reboot
from olympe.messages import mission, gimbal
DRONE_IP = os.environ.get("DRONE_IP", "10.202.0.1")
HELLO_MISSION_URL = os.environ.get("HELLO_MISSION_URL", "com.parrot.missions.samples.hello.tar.gz")
olympe.log.update_config({"loggers": {"olympe": {"level": "WARNING"}}})
logger = logging.getLogger("olympe")
def test_hello_mission():
drone = olympe.Drone(DRONE_IP)
with drone.mission.from_path(HELLO_MISSION_URL).open() as hello:
# Install the 'hello' mission and reboot the drone
assert drone.connect()
assert hello.install(allow_overwrite=True)
assert drone(Reboot() >> Disconnected()).wait()
#Connect to the drone after reboot, load and activate the 'hello' mission
assert drone.connect(retry=5)
# load and activate the hello mission
mission_activated = drone(
mission.load(uid=hello.uid)
>> mission.activate(uid=hello.uid)
)
assert mission_activated.wait(), mission_activated.explain()
flyingAction = drone(
TakeOff()
>> FlyingStateChanged(state="hovering", _timeout=10)
).wait()
flyingAction = drone(
moveBy(0, 8, -7, 0)
>> FlyingStateChanged(state="hovering", _timeout=25)
).wait()
assert drone(Landing()).wait()
assert drone.disconnect()
if __name__ == "__main__":
test_hello_mission()
As soon a the moveBy command is sent, the drone execute the command and tons of 01-01 01:00:31.726 E guidance (guidance-352) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
appears.
Ronan
May 3, 2022, 2:46pm
9
Hello,
I cannot reproduce the issue with your script and latest firmware version.
Have you tried with the latest firmware 7.2.2 (published today)?
Can you try the same command with the default mission?
Thanks,
Hi @Ronan ,
This is insane … Firmware is 7.2.2 and default mission has the same problem, so it doesn’t come from hello world mission. At least we progress
In one terminal, I launch sphinx :
sphinx "/opt/parrot-sphinx/usr/share/sphinx/drones/anafi_ai.drone"::firmware=
pwd/anafi2-pc.ext2.zip
In an other one, I run parrot-ue4-empty
In the third one, I execute this python script :
import logging
import olympe
import olympe.log
import os
from olympe.controller import Disconnected
from olympe.messages.ardrone3.Piloting import TakeOff, moveBy, Landing
from olympe.messages.ardrone3.PilotingState import FlyingStateChanged
DRONE_IP = os.environ.get("DRONE_IP", "10.202.0.1")
olympe.log.update_config({"loggers": {"olympe": {"level": "WARNING"}}})
logger = logging.getLogger("olympe")
def test_hello_mission():
drone = olympe.Drone(DRONE_IP)
#Connect to the drone after reboot, load and activate the 'hello' mission
assert drone.connect(retry=5)
flyingAction = drone(
TakeOff()
>> FlyingStateChanged(state="hovering", _timeout=10)
).wait()
flyingAction = drone(
moveBy(2, 0, -7, 0)
>> FlyingStateChanged(state="hovering", _timeout=25)
).wait()
assert drone(Landing()).wait()
assert drone.disconnect()
if __name__ == "__main__":
test_hello_mission()
And the ULOGS are :
01-01 01:00:45.267 I (guidance-568) : Obstacle avoidance disabled
01-01 01:00:45.267 N fsup.flyingstmgr(fsup-569) : EVT:AUTOPILOT;state='flying.relative_move';flying_state='flying';message='Autopilot.relative_move_start'
01-01 01:00:45.267 I (guidance-568) : reset mode
01-01 01:00:45.267 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:45.286 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:45.316 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:45.346 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:45.366 N colibrylite (drone-controlle-287) : EVT:COLIBRY;event='is_horizontal_steady';value='false'
01-01 01:00:45.367 I pimp_hovering(pimp-hovering-a-291) : packages/pimp-hovering/src/pimp-hovering-control.c:110 handle stop_2d command (12)
01-01 01:00:45.367 W pimp_hovering(pimp-hovering-a-291) : packages/pimp-hovering/src/pimp-hovering.c:444 stop is already in progress
01-01 01:00:45.376 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:45.406 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:45.436 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:45.436 I vipcsrc (pimp-hovering-a-291/prhvr-src:src-614): gstvipcsrc.c:1329:gst_vipc_src_flush<prhvr-src>:vipc stopped
01-02 00:52:09.506 N vipcs (gzserver-243669/vertical_camera-244525): vcam.sock:2.prhvr-src:src-614/vcam_raw stop
01-01 01:00:45.437 I vipcsrc (pimp-hovering-a-291) : gstvipcsrc.c:781:gst_vipc_src_connection_status_cb<prhvr-src>:vipc disconnected
01-01 01:00:45.437 I pimp_hovering(pimp-hovering-a-291) : packages/pimp-hovering/src/pimp-hovering.c:719 hovering-2d-pipeline: pipeline state changed state from PLAYING to PAUSED.
01-01 01:00:45.439 I pimp_hovering(pimp-hovering-a-291) : packages/pimp-hovering/src/pimp-hovering.c:719 hovering-2d-pipeline: pipeline state changed state from PAUSED to READY.
01-01 01:00:45.440 I pimp_hovering(pimp-hovering-a-291) : packages/pimp-hovering/src/pimp-hovering.c:719 hovering-2d-pipeline: pipeline state changed state from READY to NULL.
01-01 01:00:45.442 I pimp_hovering(pimp-hovering-a-291) : packages/pimp-hovering/src/pimp-hovering-control.c:508 sending event result for 2d/stop
01-01 01:00:45.465 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:45.496 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:45.526 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:45.556 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:45.585 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:45.610 N colibrylite (drone-controlle-287) : EVT:COLIBRY;event='heading_ned_ned_start_update';source='magneto';value=1.569227
01-01 01:00:45.615 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:45.645 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:45.676 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:45.706 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:45.736 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:45.766 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:45.796 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:45.826 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:45.856 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:45.886 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:45.916 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:45.945 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:45.976 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:46.006 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:46.036 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:46.065 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:46.096 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:46.125 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:46.155 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:46.186 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:46.215 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:46.245 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:46.276 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:46.306 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:46.336 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:46.365 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:46.395 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:46.425 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:46.456 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:46.485 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:46.515 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:46.546 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:46.576 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:46.606 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
01-01 01:00:46.636 E guidance (guidance-568) : getLastStereoFrame:226: videoFrame err=22(Invalid argument)
Ronan
May 3, 2022, 5:19pm
11
OK.
What your PC configuration (GPU)?
I’m under Ubuntu 20.04.4 LTS, Quadro T1000 GPU, Intel(R) Core™ i9-9880H x86_64 CPU.
Did you carefully check this page from sphinx userguide?
https://developer.parrot.com/docs/sphinx/system_requirements.html
In particular, are you sure you are using proprietary nvidia drivers?
Hi @slekieffre ,
Yes, I have nvidia-driver-470.
Here is my nvidia-smi config :
nvidia-smi
Thu May 5 10:56:31 2022
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.103.01 Driver Version: 470.103.01 CUDA Version: 11.4 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 Quadro T1000 Off | 00000000:01:00.0 Off | N/A |
| N/A 74C P0 45W / N/A | 3087MiB / 3911MiB | 63% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 1922 G /usr/lib/xorg/Xorg 49MiB |
| 0 N/A N/A 3185 G /usr/lib/xorg/Xorg 496MiB |
| 0 N/A N/A 3359 G /usr/bin/gnome-shell 147MiB |
| 0 N/A N/A 74548 G /usr/lib/firefox/firefox 170MiB |
| 0 N/A N/A 79099 G evolution 261MiB |
| 0 N/A N/A 161687 G ...RendererForSitePerProcess 33MiB |
| 0 N/A N/A 176355 C+G .../Binaries/Linux/UnrealApp 1871MiB |
| 0 N/A N/A 176740 G gzserver 6MiB |
| 0 N/A N/A 208385 G ...RendererForSitePerProcess 35MiB |
+-----------------------------------------------------------------------------+
Best,
Clément
system
Closed
May 21, 2022, 8:26am
15
This topic was automatically closed after 30 days. New replies are no longer allowed.