In the Follow Me tutorial under the Advanced Topics, spawning the pedestrian and vehicle actors with different paths work for me but the last section about controlling the vehicle’s throttle, brake, and steering with the keyboard keeps failing and I can’t get the plugin to work.
When I run this command:
sphinx /opt/parrot-sphinx/usr/share/sphinx/worlds/outdoor_1.world \
/opt/parrot-sphinx/usr/share/sphinx/drones/anafi4k.drone::name=follower::pose=starting_pen \
/opt/parrot-sphinx/usr/share/sphinx/actors/off_road_vehicle.actor::machine=follower::path=/opt/parrot-sphinx/usr/share/sphinx/paths/follow_road.path
sphinx opens up fine. However, as soon as I added this code snippet:
<plugin name="libsphinx_vehicle_gui" filename="libsphinx_vehicle_gui.so">
<model_name>vehicle</model_name>
</plugin>
before the </gui>
tag in the outdoor_1.world and re-run the same command, I get this error:
[Msg] Preparation of firmware http://plf.parrot.com/sphinx/firmwares/anafi/pc/latest/images/anafi-pc.ext2.zip
I shd: omniscient_vehicle: opened: sample_count=4000 sample_size=192 sample_rate=1000 metadata_size=1125
I shd: wind: opened: sample_count=4000 sample_size=24 sample_rate=1000 metadata_size=125
[libprotobuf FATAL ./google/protobuf/repeated_field.h:1575] CHECK failed: (n) >= (0):
terminate called after throwing an instance of 'google::protobuf::FatalException'
what(): CHECK failed: (n) >= (0):
*** Aborted
Register dump:
RAX: 0000000000000000 RBX: 0000564a8742cd70 RCX: 00007ffb1eb03fb7
RDX: 0000000000000000 RSI: 00007fff25258ac0 RDI: 0000000000000002
RBP: 00007ffb1eeb1840 R8 : 0000000000000000 R9 : 00007fff25258ac0
R10: 0000000000000008 R11: 0000000000000246 R12: 0000564a874248a0
R13: 00007fff25258e70 R14: 000000000000000d R15: 0000564a87447350
RSP: 00007fff25258ac0
RIP: 00007ffb1eb03fb7 EFLAGS: 00000246
CS: 0033 FS: 0000 GS: 0000
Trap: 00000000 Error: 00000000 OldMask: 00000000 CR2: 00000000
FPUCW: 0000037f FPUSW: 00000000 TAG: 00000000
RIP: 00000000 RDP: 00000000
ST(0) 0000 0000000000000000 ST(1) 0000 0000000000000000
ST(2) 0000 0000000000000000 ST(3) 0000 0000000000000000
ST(4) 0000 0000000000000000 ST(5) ffff a000000000000000
ST(6) ffff a000000000000000 ST(7) a000 a000000000000000
mxcsr: 1fa7
XMM0: 000000000000000000000000ffffffff XMM1: 000000000000000000000000ffffffff
XMM2: 000000000000000000000000ffffffff XMM3: 000000000000000000000000ffffffff
XMM4: 000000000000000000000000ffffffff XMM5: 000000000000000000000000ffffffff
XMM6: 000000000000000000000000ffffffff XMM7: 000000000000000000000000ffffffff
XMM8: 000000000000000000000000ffffffff XMM9: 000000000000000000000000ffffffff
XMM10: 000000000000000000000000ffffffff XMM11: 000000000000000000000000ffffffff
XMM12: 000000000000000000000000ffffffff XMM13: 000000000000000000000000ffffffff
XMM14: 000000000000000000000000ffffffff XMM15: 000000000000000000000000ffffffff
Backtrace:
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0xc7)[0x7ffb1eb03fb7]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x141)[0x7ffb1eb05921]
/usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0x8c957)[0x7ffb1f15a957]
/usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0x92ae6)[0x7ffb1f160ae6]
/usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0x91b49)[0x7ffb1f15fb49]
/usr/lib/x86_64-linux-gnu/libstdc++.so.6(__gxx_personality_v0+0x2a8)[0x7ffb1f1604b8]
/lib/x86_64-linux-gnu/libgcc_s.so.1(+0x10573)[0x7ffb1eec6573]
/lib/x86_64-linux-gnu/libgcc_s.so.1(_Unwind_Resume+0x125)[0x7ffb1eec6df5]
/usr/lib/x86_64-linux-gnu/libprotobuf.so.10(_ZN6google8protobuf25EncodedDescriptorDatabase3AddEPKvi+0xec)[0x7ffa7c7892bc]
/usr/lib/x86_64-linux-gnu/libprotobuf.so.10(_ZN6google8protobuf14DescriptorPool24InternalAddGeneratedFileEPKvi+0x78)[0x7ffa7c761358]
/usr/lib/x86_64-linux-gnu/libprotobuf.so.10(_ZN6google8protobuf48protobuf_AddDesc_google_2fprotobuf_2fany_2eprotoEv+0x44)[0x7ffa7c758624]
/lib64/ld-linux-x86-64.so.2(+0x108d3)[0x7ffb20f878d3]
/lib64/ld-linux-x86-64.so.2(+0x1539f)[0x7ffb20f8c39f]
/lib/x86_64-linux-gnu/libc.so.6(_dl_catch_exception+0x6f)[0x7ffb1ec2c1ef]
/lib64/ld-linux-x86-64.so.2(+0x1496a)[0x7ffb20f8b96a]
/lib/x86_64-linux-gnu/libdl.so.2(+0xf96)[0x7ffb19859f96]
/lib/x86_64-linux-gnu/libc.so.6(_dl_catch_exception+0x6f)[0x7ffb1ec2c1ef]
/lib/x86_64-linux-gnu/libc.so.6(_dl_catch_error+0x2f)[0x7ffb1ec2c27f]
/lib/x86_64-linux-gnu/libdl.so.2(+0x1745)[0x7ffb1985a745]
/lib/x86_64-linux-gnu/libdl.so.2(dlopen+0x71)[0x7ffb1985a051]
/opt/parrot-sphinx/usr/lib/libgazebo_gui.so.7(_ZN6gazebo7PluginTINS_9GUIPluginEE6CreateERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_+0x3e5)[0x7ffb208b6435]
/opt/parrot-sphinx/usr/lib/libgazebo_gui.so.7(_ZN6gazebo3gui10MainWindow12OnAddPluginsEv+0xb8)[0x7ffb208f7d18]
/usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN7QObject5eventEP6QEvent+0x1d1)[0x7ffb2015bd11]
/usr/lib/x86_64-linux-gnu/libQtGui.so.4(_ZN7QWidget5eventEP6QEvent+0x70c)[0x7ffb1b2afd9c]
/usr/lib/x86_64-linux-gnu/libQtGui.so.4(_ZN11QMainWindow5eventEP6QEvent+0x113)[0x7ffb1b694323]
/usr/lib/x86_64-linux-gnu/libQtGui.so.4(_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0x8c)[0x7ffb1b25903c]
/usr/lib/x86_64-linux-gnu/libQtGui.so.4(_ZN12QApplication6notifyEP7QObjectP6QEvent+0x2b6)[0x7ffb1b25ff76]
/usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN16QCoreApplication14notifyInternalEP7QObjectP6QEvent+0x8d)[0x7ffb201418ad]
/usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN23QCoreApplicationPrivate16sendPostedEventsEP7QObjectiP11QThreadData+0x376)[0x7ffb20145366]
/usr/lib/x86_64-linux-gnu/libQtCore.so.4(+0x1bb09e)[0x7ffb2017209e]
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x2e7)[0x7ffb17b4e537]
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x4c770)[0x7ffb17b4e770]
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_iteration+0x2c)[0x7ffb17b4e7fc]
/usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE+0x7e)[0x7ffb2017220e]
/usr/lib/x86_64-linux-gnu/libQtGui.so.4(+0x272666)[0x7ffb1b306666]
/usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN10QEventLoop13processEventsE6QFlagsINS_17ProcessEventsFlagEE+0x3f)[0x7ffb2014012f]
/usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE+0x1b5)[0x7ffb20140495]
/usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN16QCoreApplication4execEv+0x99)[0x7ffb20146459]
/opt/parrot-sphinx/usr/lib/libgazebo_gui.so.7(_ZN6gazebo3gui3runEiPPc+0x151)[0x7ffb208d5261]
gzclient(+0x82dac)[0x564a81ed8dac]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7)[0x7ffb1eae6bf7]
gzclient(_start+0x2a)[0x564a81ed973a]
Memory map:
40427000-404d6000 rw-p 00000000 00:00 0
40e5a000-40f09000 rw-p 00000000 00:00 0
410f7000-411a6000 rw-p 00000000 00:00 0
41632000-41634000 r-xs 00000000 00:01 155884 /memfd:/.glXXXXXX (deleted)
564a81e56000-564a82235000 r-xp 00000000 00:1b 650003 /opt/parrot-sphinx/usr/bin/gzclient-7.0.1
564a82434000-564a8243a000 r--p 003de000 00:1b 650003 /opt/parrot-sphinx/usr/bin/gzclient-7.0.1
564a8243a000-564a8243b000 rw-p 003e4000 00:1b 650003 /opt/parrot-sphinx/usr/bin/gzclient-7.0.1
564a8243b000-564a8243c000 rw-p 00000000 00:00 0
564a8386f000-564a87888000 rw-p 00000000 00:00 0 [heap]
7ffa48000000-7ffa48032000 rw-p 00000000 00:00 0
7ffa48032000-7ffa4c000000 ---p 00000000 00:00 0
7ffa4c000000-7ffa4c021000 rw-p 00000000 00:00 0
7ffa4c021000-7ffa50000000 ---p 00000000 00:00 0
7ffa50000000-7ffa50081000 rw-p 00000000 00:00 0
7ffa50081000-7ffa54000000 ---p 00000000 00:00 0
7ffa54000000-7ffa54021000 rw-p 00000000 00:00 0
How can I fix it?
I also would like to know if there is a way to spawn a vehicle without a path and then control it using shell commands only (which I will call from a python script) because I want to study different interactions between the drone and the vehicle so it’d be easier if I can control them directly?