Socket hung up (Ubuntu)

Hello,

I’m having trouble using Sphinx

vledoze@vledoze:~/NOSAVE$ sphinx /opt/parrot-sphinx/usr/share/sphinx/drones/bebop.drone
Sphinx simulator version 0.23.1

Gazebo multi-robot simulator, version 7.0.1
Copyright (C) 2012-2015 Open Source Robotics Foundation.
Released under the Apache 2 License.
http://gazebosim.org

[Msg] Waiting for master.
Gazebo multi-robot simulator, version 7.0.1
Copyright (C) 2012-2015 Open Source Robotics Foundation.
Released under the Apache 2 License.
http://gazebosim.org

[Msg] Waiting for master.
[Msg] Connected to gazebo master @ http://127.0.0.1:11345
[Msg] Publicized address: 127.0.0.1
[Msg] Connected to gazebo master @ http://127.0.0.1:11345
[Msg] Publicized address: 127.0.0.1
[Msg] created parameter server on http:8383
[Msg] connected to firmwared
[Msg] PrepareFirmwares
[Msg] Preparation of firmware http://plf.parrot.com/sphinx/firmwares/ardrone3/mykonos3_pc/latest/images/ardrone3-mykonos3_pc.ext2.zip
[Wrn] [Event.cc:87] Warning: Deleteing a connection right after creation. Make sure to save the ConnectionPtr from a Connect call
[Msg] firmware /usr/share/firmwared/firmwares//ardrone3-mykonos3_pc.ext2.zip.90773f82-b4a3-f154-c37e-94c171db9375.firmware supported hardwares:
[Msg] mykonos3board
[Msg] start listen on socket /tmp/fd_mount_points/instances/ce19830e4c70c6425177869599d3a0051bd9ff48/union/simulator/iio_simulator.sock
[Msg] Selected params to build .sdf file for bebop:
param low_gpu = 0
param with_bumpers = 0
param with_front_cam = 1
[Wrn] [Event.cc:87] Warning: Deleteing a connection right after creation. Make sure to save the ConnectionPtr from a Connect call
[Wrn] [PluginHelper.cc:69] Cannot get param ‘attitude_sensor’ in section ‘magnetometer’
[Wrn] [PluginHelper.cc:69] Cannot get param ‘pose_accelero’ in section ‘imusensor’
[Wrn] [PluginHelper.cc:69] Cannot get param ‘pose_gyro’ in section ‘imusensor’
[Msg] All plugins for drone bebop[ce19830e4c70c6425177869599d3a0051bd9ff48] loaded
I libshdata: New user header matches the one already present in shared memory
I libshdata: New metadata header matches the one already present in shared memory
I libshdata: Memory section “omniscient_bebop” successfully reopen for writing with revision number : 8
I libshdata: New user header matches the one already present in shared memory
I libshdata: New metadata header matches the one already present in shared memory
I libshdata: Memory section “battery_bebop” successfully reopen for writing with revision number : 8
I libshdata: New user header matches the one already present in shared memory
I libshdata: New metadata header matches the one already present in shared memory
I libshdata: Memory section “gps_bebop” successfully reopen for writing with revision number : 8
[Msg] Drone bebop[ce19830e4c70c6425177869599d3a0051bd9ff48] loaded
[Msg] Started websocket server on localhost:9002
[Msg] Instance adamant_adelina[ce19830e4c70c6425177869599d3a0051bd9ff48] started
[Msg] All drones instantiated
[Err] [Socket.cc:e[1;31E pomp: recvmsg(fd=71) err=104(Connection reset by peer)
m171] Socket 72 hung up
E pomp: write(fd=74) err=32(Broken pipe)
[Err] [CameraSensor.cc:1009] could not send MSG_FRAME message
E pomp: recvmsg(fd=73) err=104(Connection reset by peer)
[Err] [Socket.ccE pomp: recvmsg(fd=71) err=104(Connection reset by peer)
:171] Socket 72 hung up
[Err] [Socket.cc:171] Socket 72 hung up
[Err] [Socket.cc:171] Socket 72 hung up
E pomp: write(fd=74) err=32(Broken pipe)
[Err] [CameraSensor.cc:1009] could not send MSG_FRAME message

The wifi AP is created, I can see it and connect with my smartphone, but I cant connect to the simulated drone. Even with the ROS Driver (based on ARDRONESDK3) on the localhost I can’t connect to the drone (I tried to connect to the following IP : 10.202.0.1).

Do you have any solution ?

Thanks.

Hello,

Have you tried running sphinx without the front camera:

sphinx /opt/parrot-sphinx/usr/share/sphinx/drones/bebop.drone::with_front_cam=false

?

1 Like

I didn’t try that.
Thank to you, It works now, I can connect to the drone.
However, I will need the front cam in the future.

Is there a solution for that ?

Sphinx requires a high-end GPU to perform multiple renderings and reconstruct fisheye images. You could try the low_gpu option to decrease the front camera rendering quality:
sphinx /opt/parrot-sphinx/usr/share/sphinx/drones/bebop.drone::low_gpu=true

Finally, I figured it out.
My GPU drivers weren’t updated. Now It works.

Thank you for the advices.

Hello there!

As @vledoze pointed out, I was lacking the latest GPU drivers. With those, I’m able to smoothly run the simulations with my Intel Graphics 620. However, I am not able to use the front camera, even with low gpu option enabled.

So my questions are

  1. Can I still get the camera output (preferably w/ ROS) without being able to see it in the simulator (i.e. setting with_front_cam to false)? If so, how?
  2. If not, can I deploy sphinx-server to say e.g. a Google Computing instance and connect to it through sphinx-client, right?

Thanks in advance!

Hello,

Right now, there is no way to do that. When setting with_front_cam to false, the camera is not even instantiated in gazebo.

Yes, you can run sphinx remotely as explained here:
https://developer.parrot.com/docs/sphinx/remote.html?highlight=remote

1 Like