Adjuvo / SenseCom

Hosts the SenseGlove communications software files. Topics related to its UI and SenseGlove device sommunications go here.
MIT License
1 stars 3 forks source link

Sensecom shutdown = No Thread #4

Closed PARKBONG closed 2 years ago

PARKBONG commented 2 years ago

Hi, After the install some dependencies, Sensecom doesn't work.

What I installed is sudo apt-get install -y libsdl2-dev libpulse-dev libpulse0=1:13.99.1-1ubuntu3.13 libpulse-mainloop-glib0=1.13.99.1-1ubuntu3.13

After launching Sensecom, It just be shutdown

here is the log that after launch the senseglove noetic.

bonggyeong@hydra:~/workspace$ roslaunch senseglove_launch senseglove_finger_distance_demo.launch 
... logging to /home/bonggyeong/.ros/log/fa7fb332-4ad4-11ed-9c8b-712b189aee21/roslaunch-hydra-10970.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://hydra:33671/

SUMMARY
========

PARAMETERS
 * /rosdistro: noetic
 * /rosversion: 1.15.14

NODES
  /
    senseglove_finger_distance_left (senseglove_finger_distance/senseglove_finger_distance_node)
    senseglove_finger_distance_right (senseglove_finger_distance/senseglove_finger_distance_node)
    startGlove (senseglove_launch/startGlove.sh)

auto-starting new master
process[master]: started with pid [10982]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to fa7fb332-4ad4-11ed-9c8b-712b189aee21
process[rosout-1]: started with pid [10992]
started core service [/rosout]
process[startGlove-2]: started with pid [10995]
process[senseglove_finger_distance_left-3]: started with pid [10999]
process[senseglove_finger_distance_right-4]: started with pid [11005]
Found path: /home/bonggyeong/catkin_ws/src/senseglove_noetic/src/hardware_interface/senseglove_hardware/SenseCom/Linux/SenseCom.x86_64
Mono path[0] = '/home/bonggyeong/catkin_ws/src/senseglove_noetic/src/hardware_interface/senseglove_hardware/SenseCom/Linux/SenseCom_Data/Managed'
Mono config path = '/home/bonggyeong/catkin_ws/src/senseglove_noetic/src/hardware_interface/senseglove_hardware/SenseCom/Linux/SenseCom_Data/Mono/etc'
Preloaded 'libSGConnect.so'
Preloaded 'ScreenSelector.so'
Display 0 'DELL P2723D 27"': 2560x1440 (primary device).
Display 1 'DELL P2723D 27"': 2560x1440 (secondary device).
Display 2 'DELL P2723D 27"': 2560x1440 (secondary device).
Logging to /home/bonggyeong/.config/unity3d/Sense Glove/SenseCom v1.1.2/Player.log
[INFO] [1665651412.152614]: initialize finger distance node
[INFO] [1665651412.152623]: initialize finger distance node
[INFO] [1665651412.154870]: Setting up calibration
[WARN] [1665651412.155668]: No calibration data found, using defaults
[INFO] [1665651412.156532]: Done setting up calibration for /senseglove_finger_distance_left/Calibrate
[INFO] [1665651412.157209]: Setting up calibration
[WARN] [1665651412.158305]: No calibration data found, using defaults
[INFO] [1665651412.159055]: Done setting up calibration for /senseglove_finger_distance_right/Calibrate
Stacktrace:

Native stacktrace:

    /home/bonggyeong/catkin_ws/src/senseglove_noetic/src/hardware_interface/senseglove_hardware/SenseCom/Linux/SenseCom_Data/Mono/x86_64/libmono.so(+0x98a23) [0x7fa70f6b0a23]
    /lib/x86_64-linux-gnu/libpthread.so.0(+0x14420) [0x7fa7160ed420]
    /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xcb) [0x7fa715f2800b]
    /lib/x86_64-linux-gnu/libc.so.6(abort+0x12b) [0x7fa715f07859]
    /home/bonggyeong/catkin_ws/src/senseglove_noetic/src/hardware_interface/senseglove_hardware/SenseCom/Linux/SenseCom.x86_64() [0xd411d6]
    /home/bonggyeong/catkin_ws/src/senseglove_noetic/src/hardware_interface/senseglove_hardware/SenseCom/Linux/SenseCom_Data/Mono/x86_64/libmono.so(+0xd931d) [0x7fa70f6f131d]
    /home/bonggyeong/catkin_ws/src/senseglove_noetic/src/hardware_interface/senseglove_hardware/SenseCom/Linux/SenseCom_Data/Mono/x86_64/libmono.so(+0x375cf) [0x7fa70f64f5cf]
    /lib/x86_64-linux-gnu/libpthread.so.0(+0x14420) [0x7fa7160ed420]
    /home/bonggyeong/catkin_ws/src/senseglove_noetic/src/hardware_interface/senseglove_hardware/SenseCom/Linux/SenseCom.x86_64() [0xcc46e8]
    /home/bonggyeong/catkin_ws/src/senseglove_noetic/src/hardware_interface/senseglove_hardware/SenseCom/Linux/SenseCom.x86_64() [0xa14c72]
    /home/bonggyeong/catkin_ws/src/senseglove_noetic/src/hardware_interface/senseglove_hardware/SenseCom/Linux/SenseCom.x86_64() [0xa17e33]
    /home/bonggyeong/catkin_ws/src/senseglove_noetic/src/hardware_interface/senseglove_hardware/SenseCom/Linux/SenseCom.x86_64() [0xa1828f]
    /home/bonggyeong/catkin_ws/src/senseglove_noetic/src/hardware_interface/senseglove_hardware/SenseCom/Linux/SenseCom.x86_64() [0xa18500]
    /home/bonggyeong/catkin_ws/src/senseglove_noetic/src/hardware_interface/senseglove_hardware/SenseCom/Linux/SenseCom.x86_64() [0xe220a9]
    /home/bonggyeong/catkin_ws/src/senseglove_noetic/src/hardware_interface/senseglove_hardware/SenseCom/Linux/SenseCom.x86_64() [0x17f7c15]
    /home/bonggyeong/catkin_ws/src/senseglove_noetic/src/hardware_interface/senseglove_hardware/SenseCom/Linux/SenseCom.x86_64() [0x181ee5b]
    /home/bonggyeong/catkin_ws/src/senseglove_noetic/src/hardware_interface/senseglove_hardware/SenseCom/Linux/SenseCom.x86_64() [0x181f1ae]
    /home/bonggyeong/catkin_ws/src/senseglove_noetic/src/hardware_interface/senseglove_hardware/SenseCom/Linux/SenseCom.x86_64() [0x181f328]
    /home/bonggyeong/catkin_ws/src/senseglove_noetic/src/hardware_interface/senseglove_hardware/SenseCom/Linux/SenseCom.x86_64() [0x181f4c4]
    /home/bonggyeong/catkin_ws/src/senseglove_noetic/src/hardware_interface/senseglove_hardware/SenseCom/Linux/SenseCom.x86_64() [0x180f198]
    /home/bonggyeong/catkin_ws/src/senseglove_noetic/src/hardware_interface/senseglove_hardware/SenseCom/Linux/SenseCom.x86_64() [0x180454e]
    /home/bonggyeong/catkin_ws/src/senseglove_noetic/src/hardware_interface/senseglove_hardware/SenseCom/Linux/SenseCom.x86_64() [0xe31f0d]
    /home/bonggyeong/catkin_ws/src/senseglove_noetic/src/hardware_interface/senseglove_hardware/SenseCom/Linux/SenseCom.x86_64() [0xe32446]
    /home/bonggyeong/catkin_ws/src/senseglove_noetic/src/hardware_interface/senseglove_hardware/SenseCom/Linux/SenseCom.x86_64() [0xe330f7]
    /home/bonggyeong/catkin_ws/src/senseglove_noetic/src/hardware_interface/senseglove_hardware/SenseCom/Linux/SenseCom.x86_64() [0xd90311]
    /home/bonggyeong/catkin_ws/src/senseglove_noetic/src/hardware_interface/senseglove_hardware/SenseCom/Linux/SenseCom.x86_64() [0xd98c0a]
    /home/bonggyeong/catkin_ws/src/senseglove_noetic/src/hardware_interface/senseglove_hardware/SenseCom/Linux/SenseCom.x86_64() [0xd9d9ec]
    /home/bonggyeong/catkin_ws/src/senseglove_noetic/src/hardware_interface/senseglove_hardware/SenseCom/Linux/SenseCom.x86_64() [0xd9db75]
    /home/bonggyeong/catkin_ws/src/senseglove_noetic/src/hardware_interface/senseglove_hardware/SenseCom/Linux/SenseCom.x86_64() [0xa2affe]
    /home/bonggyeong/catkin_ws/src/senseglove_noetic/src/hardware_interface/senseglove_hardware/SenseCom/Linux/SenseCom.x86_64() [0xc607bb]
    /home/bonggyeong/catkin_ws/src/senseglove_noetic/src/hardware_interface/senseglove_hardware/SenseCom/Linux/SenseCom.x86_64() [0x44dc67]
    /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7fa715f09083]
    /home/bonggyeong/catkin_ws/src/senseglove_noetic/src/hardware_interface/senseglove_hardware/SenseCom/Linux/SenseCom.x86_64() [0x45a841]

Debug info from gdb:

I refuse to debug myself!
No threads.

=================================================================
Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================

/home/bonggyeong/catkin_ws/src/senseglove_noetic/src/senseglove/senseglove_launch/scripts/startGlove.sh: line 8: 10997 Aborted                 (core dumped) $1/SenseCom/Linux/SenseCom.x86_64
... logging to /home/bonggyeong/.ros/log/fa7fb332-4ad4-11ed-9c8b-712b189aee21/roslaunch-hydra-11125.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://hydra:34649/

SUMMARY
========

PARAMETERS
 * /rosdistro: noetic
 * /rosversion: 1.15.14
 * /senseglove/0/rh/controller/hand_state/publish_rate: 30
 * /senseglove/0/rh/controller/hand_state/type: joint_state_contr...
 * /senseglove/0/rh/controller/joint_state/publish_rate: 30
 * /senseglove/0/rh/controller/joint_state/type: joint_state_contr...
 * /senseglove/0/rh/controller/trajectory/allow_partial_joints_goal: True
 * /senseglove/0/rh/controller/trajectory/joints: ['r_thumb_brake',...
 * /senseglove/0/rh/controller/trajectory/publish_rate: 30
 * /senseglove/0/rh/controller/trajectory/type: position_controll...
 * /senseglove/0/rh/robot_description: <?xml version="1....
 * /senseglove/0/rh/robot_state_publisher/publish_frequency: 20

NODES
  /senseglove/0/rh/
    controller_spawner (controller_manager/controller_manager)
    hardware_interface (senseglove_hardware_interface/senseglove_hardware_interface_node)
    robot_state_publisher (robot_state_publisher/robot_state_publisher)

ROS_MASTER_URI=http://localhost:11311

process[senseglove/0/rh/robot_state_publisher-1]: started with pid [11139]
process[senseglove/0/rh/controller_spawner-2]: started with pid [11140]
process[senseglove/0/rh/hardware_interface-3]: started with pid [11141]
[ INFO] [1665651427.273754426]: Selected robot: dk1_right
================================================================================REQUIRED process [senseglove/0/rh/hardware_interface-3] has died!
process has died [pid 11141, exit code -11, cmd /home/bonggyeong/catkin_ws/devel/lib/senseglove_hardware_interface/senseglove_hardware_interface_node dk1_right 0 true __name:=hardware_interface __log:=/home/bonggyeong/.ros/log/fa7fb332-4ad4-11ed-9c8b-712b189aee21/senseglove-0-rh-hardware_interface-3.log].
log file: /home/bonggyeong/.ros/log/fa7fb332-4ad4-11ed-9c8b-712b189aee21/senseglove-0-rh-hardware_interface-3*.log
Initiating shutdown!
================================================================================
[senseglove/0/rh/hardware_interface-3] killing on exit
[senseglove/0/rh/controller_spawner-2] killing on exit
[senseglove/0/rh/robot_state_publisher-1] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done
SenseCom.x86_64: no process found
[startGlove-2] process has died [pid 10995, exit code 1, cmd /home/bonggyeong/catkin_ws/src/senseglove_noetic/src/senseglove/senseglove_launch/scripts/startGlove.sh /home/bonggyeong/catkin_ws/src/senseglove_noetic/src/hardware_interface/senseglove_hardware false true __name:=startGlove __log:=/home/bonggyeong/.ros/log/fa7fb332-4ad4-11ed-9c8b-712b189aee21/startGlove-2.log].
log file: /home/bonggyeong/.ros/log/fa7fb332-4ad4-11ed-9c8b-712b189aee21/startGlove-2*.log
^C[senseglove_finger_distance_right-4] killing on exit
[senseglove_finger_distance_left-3] killing on exit
[rosout-1] killing on exit
[master] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done
MaxLammers commented 2 years ago

Hi PARKBONG,

As far as I am aware, you do not need to install additional dependencies to run SenseCom on Linux. Assuming you are using the SenseCom binaries from the ROS workspace (which it looks like you are), you should be able to run SenseCom with the following steps:

@Deakensbubbles - Do you know if this is caused by anything ROS related?

RPKrijnen commented 2 years ago

It could be the case that this is a permission issue and that indeed setting your correct user group and checking whether or not you allow to execute the provided sensecom application will fix the issue. I did notice that you are running the finger_distance_demo launch file, but in your parameters list I can only see one glove being initialized. This specific launch file does require 2 gloves to be connected as far as I remember. As a general rule of thumb you should use 2 sensegloves for your ros applications. If you would like to use a single glove, you need to specify this explicitly using launch arguments and you also need to use the corresponding left or right argument to denote which hand this glove fits.

PARKBONG commented 2 years ago

Hi. sorry for the late reply @MaxLammers , @Deakensbubbles

I already checked the prerequisite, furthermore, I used senseglove and checked that there was no problem before I change some dependencies. But I failed to restore it, I just reinstall the ubuntu since I don't want to spend much time on it...

Currently, I don't have any system details or related logs. If the same thing happens, I will provide it.

PARKBONG commented 2 years ago

The symptoms were a little different from permission denial (i.e. check on the properties-permissions-allow executing file as program).

And I connected two senseglove on my PC, I just turned off the setting use_left = false on the .launch file.

Thank you for considering my issue.