ElettraSciComp / witmotion_IMU_ros

ROS wrapper for the family of IMU sensor devices manufactured by Witmotion Ltd.
MIT License
27 stars 31 forks source link

Trouble interfacing with Raspberry Pi #19

Closed adarshrs closed 1 year ago

adarshrs commented 1 year ago

I am running ROS Noetic on a Raspberry Pi and am trying to interface WT901 with this node. I have the IMU connected to the serial ports on the Raspberry Pi (tx, rx -> rx, tx) but the node cannot communicate with the IMU on the correct serial port and baud rate. I communicated with the IMU over I2C on the Raspberry Pi using a custom driver and UART on Arduino using sample code on the witmotion website. Is there something I am missing with respect to getting this ROS driver to work on a Raspberry Pi?

twdragon commented 1 year ago

@adarshrs at first, check if your user is added to dialout group. Then try to see the symbols coming from the sensor in minicom or screen emulator. If you can see the symbols, then it is a library fault, and we will be in need of logs here to investigate.

adarshrs commented 1 year ago

@twdragon I have verified that the user is added. I am also able to communicate with the raspberry pi over the serial port from an arduino, so it looks like serial communication is working. However, I see no output from the sensor in Picocom on the raspberry pi. I am still able to see output from the sensor using an arduino

twdragon commented 1 year ago

@adarshrs as you described that you can see the Raspberry console from Arduino, here is the problem: the UART transceiver of Raspberry could be monopolized for being used as a serial console port. You should run the Raspberry Pi configuration utility and change the port setting not to redirect the system console TTY to it.

If you confirm this test successfully, I will close this issue as not connected to the project itself but to the 3rd party software settings.

adarshrs commented 1 year ago

@twdragon I have done this configuration already, enabling the serial hardware but disabling the console. To clarify, I could not see the raspberry pi console on the arduino. I was able to send string messages from the arduino to the raspberry pi and see them on picocom

twdragon commented 1 year ago

@adarshrs did you test duplex data transfer? On which baudrate and mode does your port work? Did you try to play with the controller applications of the underlying library to determine the exact baudrate and mode? Also, did you try to listen on picocom using different baudrates? Maybe, there is still a mismatch?

adarshrs commented 1 year ago

@twdragon Update: I was able to see symbols on picocom with the IMU connected. Not sure what changed, but it looks like the IMU is sending data. The ROS driver doesn't still work, though. Here are the logs when I try to launch:

Rosout:

$ roslaunch witmotion_ros wt901.launch
... logging to /home/pi/.ros/log/7c0a9c82-6a9c-11ed-96a2-b827eb3cf8c3/roslaunch-raspberrypi-2059.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://raspberrypi:38309/

SUMMARY
========

PARAMETERS
 * /rosdistro: noetic
 * /rosversion: 1.15.14
 * /witmotion_imu/altimeter_publisher/addition: 0.0
 * /witmotion_imu/altimeter_publisher/coefficient: 1.0
 * /witmotion_imu/altimeter_publisher/enabled: False
 * /witmotion_imu/altimeter_publisher/topic_name: /altitude
 * /witmotion_imu/barometer_publisher/addition: 0.0
 * /witmotion_imu/barometer_publisher/coefficient: 1.0
 * /witmotion_imu/barometer_publisher/enabled: False
 * /witmotion_imu/barometer_publisher/frame_id: base_link
 * /witmotion_imu/barometer_publisher/topic_name: /barometer
 * /witmotion_imu/barometer_publisher/variance: 0.001
 * /witmotion_imu/baud_rate: 9600
 * /witmotion_imu/gps_publisher/enabled: False
 * /witmotion_imu/gps_publisher/ground_speed_topic_name: /gps_ground_speed
 * /witmotion_imu/gps_publisher/navsat_altitude_topic_name: /gps_altitude
 * /witmotion_imu/gps_publisher/navsat_fix_frame_id: world
 * /witmotion_imu/gps_publisher/navsat_fix_topic_name: /gps
 * /witmotion_imu/gps_publisher/navsat_satellites_topic_name: /gps_satellites
 * /witmotion_imu/gps_publisher/navsat_variance_topic_name: /gps_variance
 * /witmotion_imu/imu_publisher/frame_id: imu
 * /witmotion_imu/imu_publisher/measurements/acceleration/covariance: [0.0364, 0, 0, 0,...
 * /witmotion_imu/imu_publisher/measurements/acceleration/enabled: True
 * /witmotion_imu/imu_publisher/measurements/angular_velocity/covariance: [0.0663, 0, 0, 0,...
 * /witmotion_imu/imu_publisher/measurements/angular_velocity/enabled: True
 * /witmotion_imu/imu_publisher/measurements/orientation/covariance: [0.0479, 0, 0, 0,...
 * /witmotion_imu/imu_publisher/measurements/orientation/enabled: True
 * /witmotion_imu/imu_publisher/topic_name: /imu
 * /witmotion_imu/imu_publisher/use_native_orientation: True
 * /witmotion_imu/magnetometer_publisher/addition: 0.0
 * /witmotion_imu/magnetometer_publisher/coefficient: 1e-08
 * /witmotion_imu/magnetometer_publisher/covariance: [1.87123e-07, 0, ...
 * /witmotion_imu/magnetometer_publisher/enabled: True
 * /witmotion_imu/magnetometer_publisher/frame_id: compass
 * /witmotion_imu/magnetometer_publisher/topic_name: /magnetometer
 * /witmotion_imu/orientation_publisher/enabled: True
 * /witmotion_imu/orientation_publisher/topic_name: /orientation
 * /witmotion_imu/polling_interval: 10
 * /witmotion_imu/port: /dev/ttyS0
 * /witmotion_imu/restart_service_name: /restart_imu
 * /witmotion_imu/rtc_publisher/enabled: False
 * /witmotion_imu/rtc_publisher/topic_name: /witmotion_clock
 * /witmotion_imu/temperature_publisher/addition: 0.0
 * /witmotion_imu/temperature_publisher/coefficient: 1.0
 * /witmotion_imu/temperature_publisher/enabled: True
 * /witmotion_imu/temperature_publisher/frame_id: base_link
 * /witmotion_imu/temperature_publisher/from_message: magnetometer
 * /witmotion_imu/temperature_publisher/topic_name: /temperature
 * /witmotion_imu/temperature_publisher/variance: 0.01829

NODES
  /
    witmotion_imu (witmotion_ros/witmotion_ros_node)

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

setting /run_id to 7c0a9c82-6a9c-11ed-96a2-b827eb3cf8c3
process[rosout-1]: started with pid [2079]
started core service [/rosout]
process[witmotion_imu-2]: started with pid [2086]
Opening device "ttyS0" at 9600 baud
Instantiating timer at 10 ms
[ERROR] [1669145590.937285603]: Sensor error: No data acquired during last 3 iterations, please check the baudrate!
[ INFO] [1669145590.943398563]: Entering SUSPENDED state
QObject::killTimer: Timers cannot be stopped from another thread
QObject::~QObject: Timers cannot be stopped from another thread
QSocketNotifier: Socket notifiers cannot be enabled or disabled from another thread
QSocketNotifier: Invalid socket 14 and type 'Read', disabling...
[witmotion_imu-2] process has died [pid 2086, exit code -11, cmd /home/pi/aerobat_ws/devel/lib/witmotion_ros/witmotion_ros_node __name:=witmotion_imu __log:=/home/pi/.ros/log/7c0a9c82-6a9c-11ed-96a2-b827eb3cf8c3/witmotion_imu-2.log].
log file: /home/pi/.ros/log/7c0a9c82-6a9c-11ed-96a2-b827eb3cf8c3/witmotion_imu-2*.log

Log:

/home/pi/.ros/log/7c0a9c82-6a9c-11ed-96a2-b827eb3cf8c3/roslaunch-raspb
errypi-2059.log
[roslaunch][INFO] 2022-11-22 14:33:04,884: Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
[roslaunch][INFO] 2022-11-22 14:33:04,927: Done checking log file disk usage. Usage is <1GB.
[roslaunch][INFO] 2022-11-22 14:33:04,928: roslaunch starting with args ['/home/pi/ros_catkin_ws/devel/bin/roslaunch', 'witmotion_ros', 'wt901.launch']
[roslaunch][INFO] 2022-11-22 14:33:04,929: roslaunch env is environ({'SHELL': '/bin/bash', 'ROS_VERSION': '1', 'PKG_CONFIG_PATH': '/home/pi/aerobat_ws/devel/lib/pkgconfig:/home/pi/ros_catkin_ws/devel/lib/pkgconfig', 'ROS_PYTHON_VERSION': '3', 'ROS_PACKAGE_PATH': '/home/pi/aerobat_ws/src/Aerobat-ROS/aerobat_drivers:/home/pi/aerobat_ws/src/Aerobat-ROS/aerobat_utils:/home/pi/aerobat_ws/src/witmotion_IMU_ros:/home/pi/ros_catkin_ws/src/catkin:/home/pi/ros_catkin_ws/src/genmsg:/home/pi/ros_catkin_ws/src/gencpp:/home/pi/ros_catkin_ws/src/geneus:/home/pi/ros_catkin_ws/src/genlisp:/home/pi/ros_catkin_ws/src/gennodejs:/home/pi/ros_catkin_ws/src/genpy:/home/pi/ros_catkin_ws/src/bond_core/bond_core:/home/pi/ros_catkin_ws/src/cmake_modules:/home/pi/ros_catkin_ws/src/class_loader:/home/pi/ros_catkin_ws/src/common_msgs/common_msgs:/home/pi/ros_catkin_ws/src/roscpp_core/cpp_common:/home/pi/ros_catkin_ws/src/image_common/image_common:/home/pi/ros_catkin_ws/src/image_pipeline/image_pipeline:/home/pi/ros_catkin_ws/src/image_transport_plugins/image_transport_plugins:/home/pi/ros_catkin_ws/src/message_generation:/home/pi/ros_catkin_ws/src/message_runtime:/home/pi/ros_catkin_ws/src/ros/mk:/home/pi/ros_catkin_ws/src/nodelet_core/nodelet_core:/home/pi/ros_catkin_ws/src/metapackages/perception:/home/pi/ros_catkin_ws/src/ros/ros:/home/pi/ros_catkin_ws/src/metapackages/ros_base:/home/pi/ros_catkin_ws/src/ros_comm/ros_comm:/home/pi/ros_catkin_ws/src/metapackages/ros_core:/home/pi/ros_catkin_ws/src/ros_environment:/home/pi/ros_catkin_ws/src/rosbag_migration_rule:/home/pi/ros_catkin_ws/src/ros/rosbash:/home/pi/ros_catkin_ws/src/ros/rosboost_cfg:/home/pi/ros_catkin_ws/src/ros/rosbuild:/home/pi/ros_catkin_ws/src/ros/rosclean:/home/pi/ros_catkin_ws/src/roscpp_core/roscpp_core:/home/pi/ros_catkin_ws/src/roscpp_core/roscpp_traits:/home/pi/ros_catkin_ws/src/ros/roscreate:/home/pi/ros_catkin_ws/src/ros_comm/rosgraph:/home/pi/ros_catkin_ws/src/ros/roslang:/home/pi/ros_catkin_ws/src/roslisp:/home/pi/ros_catkin_ws/src/ros/rosmake:/home/pi/ros_catkin_ws/src/ros_comm/rosmaster:/home/pi/ros_catkin_ws/src/rospack:/home/pi/ros_catkin_ws/src/ros/roslib:/home/pi/ros_catkin_ws/src/ros_comm/rosparam:/home/pi/ros_catkin_ws/src/ros_comm/rospy:/home/pi/ros_catkin_ws/src/ros_comm/rosservice:/home/pi/ros_catkin_ws/src/roscpp_core/rostime:/home/pi/ros_catkin_ws/src/roscpp_core/roscpp_serialization:/home/pi/ros_catkin_ws/src/ros_comm/roslaunch:/home/pi/ros_catkin_ws/src/ros/rosunit:/home/pi/ros_catkin_ws/src/angles:/home/pi/ros_catkin_ws/src/rosconsole:/home/pi/ros_catkin_ws/src/pluginlib:/home/pi/ros_catkin_ws/src/rosconsole_bridge:/home/pi/ros_catkin_ws/src/ros_comm/roslz4:/home/pi/ros_catkin_ws/src/ros_comm/rostest:/home/pi/ros_catkin_ws/src/bond_core/smclib:/home/pi/ros_catkin_ws/src/std_msgs:/home/pi/ros_catkin_ws/src/common_msgs/actionlib_msgs:/home/pi/ros_catkin_ws/src/bond_core/bond:/home/pi/ros_catkin_ws/src/common_msgs/diagnostic_msgs:/home/pi/ros_catkin_ws/src/common_msgs/geometry_msgs:/home/pi/ros_catkin_ws/src/geometry/eigen_conversions:/home/pi/ros_catkin_ws/src/common_msgs/nav_msgs:/home/pi/ros_catkin_ws/src/ros_comm_msgs/rosgraph_msgs:/home/pi/ros_catkin_ws/src/common_msgs/shape_msgs:/home/pi/ros_catkin_ws/src/ros_comm_msgs/std_srvs:/home/pi/ros_catkin_ws/src/geometry2/tf2_msgs:/home/pi/ros_catkin_ws/src/geometry2/tf2:/home/pi/ros_catkin_ws/src/geometry2/tf2_eigen:/home/pi/ros_catkin_ws/src/common_msgs/trajectory_msgs:/home/pi/ros_catkin_ws/src/vision_opencv/vision_opencv:/home/pi/ros_catkin_ws/src/common_msgs/visualization_msgs:/home/pi/ros_catkin_ws/src/ros_comm/xmlrpcpp:/home/pi/ros_catkin_ws/src/ros_comm/roscpp:/home/pi/ros_catkin_ws/src/bond_core/bondcpp:/home/pi/ros_catkin_ws/src/bond_core/bondpy:/home/pi/ros_catkin_ws/src/nodelet_core/nodelet:/home/pi/ros_catkin_ws/src/ros_comm/rosout:/home/pi/ros_catkin_ws/src/image_pipeline/camera_calibration:/home/pi/ros_catkin_ws/src/dynamic_reconfigure:/home/pi/ros_catkin_ws/src/filters:/home/pi/ros_catkin_ws/src/ros_comm/message_filters:/home/pi/ros_catkin_ws/src/ros_comm/rosbag_storage:/home/pi/ros_catkin_ws/src/ros_comm/rosmsg:/home/pi/ros_catkin_ws/src/ros_comm/rosnode:/home/pi/ros_catkin_ws/src/ros_comm/rostopic:/home/pi/ros_catkin_ws/src/geometry2/tf2_py:/home/pi/ros_catkin_ws/src/ros_comm/topic_tools:/home/pi/ros_catkin_ws/src/ros_comm/rosbag:/home/pi/ros_catkin_ws/src/actionlib/actionlib:/home/pi/ros_catkin_ws/src/nodelet_core/nodelet_topic_tools:/home/pi/ros_catkin_ws/src/ros_comm/roswtf:/home/pi/ros_catkin_ws/src/common_msgs/sensor_msgs:/home/pi/ros_catkin_ws/src/image_common/camera_calibration_parsers:/home/pi/ros_catkin_ws/src/vision_opencv/cv_bridge:/home/pi/ros_catkin_ws/src/vision_opencv/image_geometry:/home/pi/ros_catkin_ws/src/image_common/image_transport:/home/pi/ros_catkin_ws/src/image_common/camera_info_manager:/home/pi/ros_catkin_ws/src/image_transport_plugins/compressed_depth_image_transport:/home/pi/ros_catkin_ws/src/image_transport_plugins/compressed_image_transport:/home/pi/ros_catkin_ws/src/image_pipeline/image_proc:/home/pi/ros_catkin_ws/src/image_pipeline/image_publisher:/home/pi/ros_catkin_ws/src/image_common/polled_camera:/home/pi/ros_catkin_ws/src/common_msgs/stereo_msgs:/home/pi/ros_catkin_ws/src/image_pipeline/image_view:/home/pi/ros_catkin_ws/src/image_pipeline/stereo_image_proc:/home/pi/ros_catkin_ws/src/geometry2/tf2_ros:/home/pi/ros_catkin_ws/src/image_pipeline/depth_image_proc:/home/pi/ros_catkin_ws/src/geometry/tf:/home/pi/ros_catkin_ws/src/geometry2/tf2_geometry_msgs:/home/pi/ros_catkin_ws/src/image_pipeline/image_rotate:/home/pi/ros_catkin_ws/src/image_transport_plugins/theora_image_transport:/home/pi/ros_catkin_ws/src/witmotion_ros', 'ROSLISP_PACKAGE_DIRECTORIES': '/home/pi/aerobat_ws/devel/share/common-lisp:/home/pi/ros_catkin_ws/devel/share/common-lisp', 'PWD': '/home/pi/aerobat_ws/src/witmotion_IMU_ros/config', 'LOGNAME': 'pi', 'XDG_SESSION_TYPE': 'tty', 'HOME': '/home/pi', 'LANG': 'en_GB.UTF-8', 'ROS_ETC_DIR': '/home/pi/ros_catkin_ws/devel/.private/ros_environment/etc/ros', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:', 'CMAKE_PREFIX_PATH': '/home/pi/aerobat_ws/devel:/home/pi/ros_catkin_ws/devel', 'AEROBAT_LIBRARY_PATH': '/home/pi', 'SSH_CONNECTION': 'fe80::954e:e850:282a:1db5%wlan0 52392 fe80::2d11:d132:b648:99a4%wlan0 22', 'XDG_SESSION_CLASS': 'user', 'PYTHONPATH': '/home/pi/aerobat_ws/devel/lib/python3/dist-packages:/home/pi/ros_catkin_ws/devel/lib/python3/dist-packages', 'TERM': 'xterm-256color', 'USER': 'pi', 'ROSCONSOLE_CONFIG_FILE': '/home/pi/ros_catkin_ws/src/rosconsole/config/rosconsole.config', 'SHLVL': '1', 'ROS_MASTER_URI': 'http://localhost:11311', 'XDG_SESSION_ID': '3', 'LD_LIBRARY_PATH': '/home/pi/aerobat_ws/devel/lib:/home/pi/ros_catkin_ws/devel/lib', 'XDG_RUNTIME_DIR': '/run/user/1000', 'SSH_CLIENT': 'fe80::954e:e850:282a:1db5%wlan0 52392 22', 'PATH': '/home/pi/aerobat_ws/devel/bin:/home/pi/ros_catkin_ws/devel/bin:/home/pi/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1000/bus', 'MAIL': '/var/mail/pi', 'SSH_TTY': '/dev/pts/0', 'ROS_ROOT': '/home/pi/ros_catkin_ws/src/ros/rosbuild', 'ROS_DISTRO': 'noetic', 'OLDPWD': '/home/pi/aerobat_ws/src/witmotion_IMU_ros', 'TEXTDOMAIN': 'Linux-PAM', '_': '/home/pi/ros_catkin_ws/devel/bin/roslaunch', 'ROS_LOG_FILENAME': '/home/pi/.ros/log/7c0a9c82-6a9c-11ed-96a2-b827eb3cf8c3/roslaunch-raspberrypi-2059.log'})
[roslaunch][INFO] 2022-11-22 14:33:04,930: starting in server mode
[roslaunch.parent][INFO] 2022-11-22 14:33:04,931: starting roslaunch parent run
[roslaunch][INFO] 2022-11-22 14:33:05,001: loading roscore config file /home/pi/ros_catkin_ws/src/ros_comm/roslaunch/resources/roscore.xml
[roslaunch][INFO] 2022-11-22 14:33:07,273: Added core node of type [rosout/rosout] in namespace [/]
[roslaunch.config][INFO] 2022-11-22 14:33:07,274: loading config file /home/pi/aerobat_ws/src/witmotion_IMU_ros/launch/wt901.launch
[roslaunch][INFO] 2022-11-22 14:33:07,480: Added node of type [witmotion_ros/witmotion_ros_node] in namespace [/]
[roslaunch][INFO] 2022-11-22 14:33:07,480: ... selected machine [] for node of type [witmotion_ros/witmotion_ros_node]
[roslaunch.pmon][INFO] 2022-11-22 14:33:07,486: start_process_monitor: creating ProcessMonitor
[roslaunch.pmon][INFO] 2022-11-22 14:33:07,486: created process monitor <ProcessMonitor(ProcessMonitor-1, initial daemon)>
[roslaunch.pmon][INFO] 2022-11-22 14:33:07,487: start_process_monitor: ProcessMonitor started
[roslaunch.parent][INFO] 2022-11-22 14:33:07,488: starting parent XML-RPC server
[roslaunch.server][INFO] 2022-11-22 14:33:07,489: starting roslaunch XML-RPC server
[roslaunch.server][INFO] 2022-11-22 14:33:07,489: waiting for roslaunch XML-RPC server to initialize
[xmlrpc][INFO] 2022-11-22 14:33:07,490: XML-RPC server binding to 0.0.0.0:0
[xmlrpc][INFO] 2022-11-22 14:33:07,491: Started XML-RPC server [http://raspberrypi:38309/]
[xmlrpc][INFO] 2022-11-22 14:33:07,492: xml rpc node: starting XML-RPC server
[roslaunch][INFO] 2022-11-22 14:33:07,506: started roslaunch server http://raspberrypi:38309/
[roslaunch.parent][INFO] 2022-11-22 14:33:07,507: ... parent XML-RPC server started
[roslaunch][INFO] 2022-11-22 14:33:07,511: master.is_running[http://localhost:11311]
[roslaunch][INFO] 2022-11-22 14:33:07,514: auto-starting new master
[roslaunch][INFO] 2022-11-22 14:33:07,515: create_master_process: rosmaster, /home/pi/ros_catkin_ws/src/ros/rosbuild, 11311, 3, None, False
[roslaunch][INFO] 2022-11-22 14:33:07,516: process[master]: launching with args [['rosmaster', '--core', '-p', '11311', '-w', '3']]
[roslaunch.pmon][INFO] 2022-11-22 14:33:07,516: ProcessMonitor.register[master]
[roslaunch.pmon][INFO] 2022-11-22 14:33:07,517: ProcessMonitor.register[master] complete
[roslaunch][INFO] 2022-11-22 14:33:07,517: process[master]: starting os process
[roslaunch][INFO] 2022-11-22 14:33:07,518: process[master]: start w/ args [['rosmaster', '--core', '-p', '11311', '-w', '3', '__log:=/home/pi/.ros/log/7c0a9c82-6a9c-11ed-96a2-b827eb3cf8c3/master.log']]
[roslaunch][INFO] 2022-11-22 14:33:07,518: process[master]: cwd will be [/home/pi/.ros]
[roslaunch][INFO] 2022-11-22 14:33:07,533: process[master]: started with pid [2068]
[roslaunch][INFO] 2022-11-22 14:33:07,534: master.is_running[http://localhost:11311]
[roslaunch][INFO] 2022-11-22 14:33:07,638: master.is_running[http://localhost:11311]
[roslaunch][INFO] 2022-11-22 14:33:07,740: master.is_running[http://localhost:11311]
[roslaunch][INFO] 2022-11-22 14:33:07,843: master.is_running[http://localhost:11311]
[roslaunch][INFO] 2022-11-22 14:33:07,946: master.is_running[http://localhost:11311]
[roslaunch][INFO] 2022-11-22 14:33:08,048: master.is_running[http://localhost:11311]
[roslaunch][INFO] 2022-11-22 14:33:08,151: master.is_running[http://localhost:11311]
[roslaunch][INFO] 2022-11-22 14:33:08,253: master.is_running[http://localhost:11311]
[roslaunch][INFO] 2022-11-22 14:33:08,356: master.is_running[http://localhost:11311]
[roslaunch][INFO] 2022-11-22 14:33:08,459: master.is_running[http://localhost:11311]
[roslaunch][INFO] 2022-11-22 14:33:08,561: master.is_running[http://localhost:11311]
[roslaunch][INFO] 2022-11-22 14:33:08,664: master.is_running[http://localhost:11311]
[roslaunch][INFO] 2022-11-22 14:33:08,767: master.is_running[http://localhost:11311]
[roslaunch][INFO] 2022-11-22 14:33:08,869: master.is_running[http://localhost:11311]
[roslaunch][INFO] 2022-11-22 14:33:08,972: master.is_running[http://localhost:11311]
[roslaunch][INFO] 2022-11-22 14:33:09,076: master.is_running[http://localhost:11311]
[roslaunch][INFO] 2022-11-22 14:33:09,178: master.is_running[http://localhost:11311]
[roslaunch][INFO] 2022-11-22 14:33:09,281: master.is_running[http://localhost:11311]
[roslaunch][INFO] 2022-11-22 14:33:09,288: master.is_running[http://localhost:11311]
[roslaunch][INFO] 2022-11-22 14:33:09,295: ROS_MASTER_URI=http://localhost:11311
[roslaunch][INFO] 2022-11-22 14:33:09,301: setting /run_id to 7c0a9c82-6a9c-11ed-96a2-b827eb3cf8c3
[roslaunch][INFO] 2022-11-22 14:33:09,307: setting /roslaunch/uris/host_raspberrypi__38309' to http://raspberrypi:38309/
[roslaunch][INFO] 2022-11-22 14:33:09,318: ... preparing to launch node of type [rosout/rosout]
[roslaunch][INFO] 2022-11-22 14:33:09,319: create_node_process: package[rosout] type[rosout] machine[Machine(name[] env_loader[None] address[localhost] ssh_port[22] user[None] assignable[True] timeout[10.0])] master_uri[http://localhost:11311]
[roslaunch][INFO] 2022-11-22 14:33:09,320: process[rosout-1]: env[{'SHELL': '/bin/bash', 'ROS_VERSION': '1', 'PKG_CONFIG_PATH': '/home/pi/aerobat_ws/devel/lib/pkgconfig:/home/pi/ros_catkin_ws/devel/lib/pkgconfig', 'ROS_PYTHON_VERSION': '3', 'ROS_PACKAGE_PATH': '/home/pi/aerobat_ws/src/Aerobat-ROS/aerobat_drivers:/home/pi/aerobat_ws/src/Aerobat-ROS/aerobat_utils:/home/pi/aerobat_ws/src/witmotion_IMU_ros:/home/pi/ros_catkin_ws/src/catkin:/home/pi/ros_catkin_ws/src/genmsg:/home/pi/ros_catkin_ws/src/gencpp:/home/pi/ros_catkin_ws/src/geneus:/home/pi/ros_catkin_ws/src/genlisp:/home/pi/ros_catkin_ws/src/gennodejs:/home/pi/ros_catkin_ws/src/genpy:/home/pi/ros_catkin_ws/src/bond_core/bond_core:/home/pi/ros_catkin_ws/src/cmake_modules:/home/pi/ros_catkin_ws/src/class_loader:/home/pi/ros_catkin_ws/src/common_msgs/common_msgs:/home/pi/ros_catkin_ws/src/roscpp_core/cpp_common:/home/pi/ros_catkin_ws/src/image_common/image_common:/home/pi/ros_catkin_ws/src/image_pipeline/image_pipeline:/home/pi/ros_catkin_ws/src/image_transport_plugins/image_transport_plugins:/home/pi/ros_catkin_ws/src/message_generation:/home/pi/ros_catkin_ws/src/message_runtime:/home/pi/ros_catkin_ws/src/ros/mk:/home/pi/ros_catkin_ws/src/nodelet_core/nodelet_core:/home/pi/ros_catkin_ws/src/metapackages/perception:/home/pi/ros_catkin_ws/src/ros/ros:/home/pi/ros_catkin_ws/src/metapackages/ros_base:/home/pi/ros_catkin_ws/src/ros_comm/ros_comm:/home/pi/ros_catkin_ws/src/metapackages/ros_core:/home/pi/ros_catkin_ws/src/ros_environment:/home/pi/ros_catkin_ws/src/rosbag_migration_rule:/home/pi/ros_catkin_ws/src/ros/rosbash:/home/pi/ros_catkin_ws/src/ros/rosboost_cfg:/home/pi/ros_catkin_ws/src/ros/rosbuild:/home/pi/ros_catkin_ws/src/ros/rosclean:/home/pi/ros_catkin_ws/src/roscpp_core/roscpp_core:/home/pi/ros_catkin_ws/src/roscpp_core/roscpp_traits:/home/pi/ros_catkin_ws/src/ros/roscreate:/home/pi/ros_catkin_ws/src/ros_comm/rosgraph:/home/pi/ros_catkin_ws/src/ros/roslang:/home/pi/ros_catkin_ws/src/roslisp:/home/pi/ros_catkin_ws/src/ros/rosmake:/home/pi/ros_catkin_ws/src/ros_comm/rosmaster:/home/pi/ros_catkin_ws/src/rospack:/home/pi/ros_catkin_ws/src/ros/roslib:/home/pi/ros_catkin_ws/src/ros_comm/rosparam:/home/pi/ros_catkin_ws/src/ros_comm/rospy:/home/pi/ros_catkin_ws/src/ros_comm/rosservice:/home/pi/ros_catkin_ws/src/roscpp_core/rostime:/home/pi/ros_catkin_ws/src/roscpp_core/roscpp_serialization:/home/pi/ros_catkin_ws/src/ros_comm/roslaunch:/home/pi/ros_catkin_ws/src/ros/rosunit:/home/pi/ros_catkin_ws/src/angles:/home/pi/ros_catkin_ws/src/rosconsole:/home/pi/ros_catkin_ws/src/pluginlib:/home/pi/ros_catkin_ws/src/rosconsole_bridge:/home/pi/ros_catkin_ws/src/ros_comm/roslz4:/home/pi/ros_catkin_ws/src/ros_comm/rostest:/home/pi/ros_catkin_ws/src/bond_core/smclib:/home/pi/ros_catkin_ws/src/std_msgs:/home/pi/ros_catkin_ws/src/common_msgs/actionlib_msgs:/home/pi/ros_catkin_ws/src/bond_core/bond:/home/pi/ros_catkin_ws/src/common_msgs/diagnostic_msgs:/home/pi/ros_catkin_ws/src/common_msgs/geometry_msgs:/home/pi/ros_catkin_ws/src/geometry/eigen_conversions:/home/pi/ros_catkin_ws/src/common_msgs/nav_msgs:/home/pi/ros_catkin_ws/src/ros_comm_msgs/rosgraph_msgs:/home/pi/ros_catkin_ws/src/common_msgs/shape_msgs:/home/pi/ros_catkin_ws/src/ros_comm_msgs/std_srvs:/home/pi/ros_catkin_ws/src/geometry2/tf2_msgs:/home/pi/ros_catkin_ws/src/geometry2/tf2:/home/pi/ros_catkin_ws/src/geometry2/tf2_eigen:/home/pi/ros_catkin_ws/src/common_msgs/trajectory_msgs:/home/pi/ros_catkin_ws/src/vision_opencv/vision_opencv:/home/pi/ros_catkin_ws/src/common_msgs/visualization_msgs:/home/pi/ros_catkin_ws/src/ros_comm/xmlrpcpp:/home/pi/ros_catkin_ws/src/ros_comm/roscpp:/home/pi/ros_catkin_ws/src/bond_core/bondcpp:/home/pi/ros_catkin_ws/src/bond_core/bondpy:/home/pi/ros_catkin_ws/src/nodelet_core/nodelet:/home/pi/ros_catkin_ws/src/ros_comm/rosout:/home/pi/ros_catkin_ws/src/image_pipeline/camera_calibration:/home/pi/ros_catkin_ws/src/dynamic_reconfigure:/home/pi/ros_catkin_ws/src/filters:/home/pi/ros_catkin_ws/src/ros_comm/message_filters:/home/pi/ros_catkin_ws/src/ros_comm/rosbag_storage:/home/pi/ros_catkin_ws/src/ros_comm/rosmsg:/home/pi/ros_catkin_ws/src/ros_comm/rosnode:/home/pi/ros_catkin_ws/src/ros_comm/rostopic:/home/pi/ros_catkin_ws/src/geometry2/tf2_py:/home/pi/ros_catkin_ws/src/ros_comm/topic_tools:/home/pi/ros_catkin_ws/src/ros_comm/rosbag:/home/pi/ros_catkin_ws/src/actionlib/actionlib:/home/pi/ros_catkin_ws/src/nodelet_core/nodelet_topic_tools:/home/pi/ros_catkin_ws/src/ros_comm/roswtf:/home/pi/ros_catkin_ws/src/common_msgs/sensor_msgs:/home/pi/ros_catkin_ws/src/image_common/camera_calibration_parsers:/home/pi/ros_catkin_ws/src/vision_opencv/cv_bridge:/home/pi/ros_catkin_ws/src/vision_opencv/image_geometry:/home/pi/ros_catkin_ws/src/image_common/image_transport:/home/pi/ros_catkin_ws/src/image_common/camera_info_manager:/home/pi/ros_catkin_ws/src/image_transport_plugins/compressed_depth_image_transport:/home/pi/ros_catkin_ws/src/image_transport_plugins/compressed_image_transport:/home/pi/ros_catkin_ws/src/image_pipeline/image_proc:/home/pi/ros_catkin_ws/src/image_pipeline/image_publisher:/home/pi/ros_catkin_ws/src/image_common/polled_camera:/home/pi/ros_catkin_ws/src/common_msgs/stereo_msgs:/home/pi/ros_catkin_ws/src/image_pipeline/image_view:/home/pi/ros_catkin_ws/src/image_pipeline/stereo_image_proc:/home/pi/ros_catkin_ws/src/geometry2/tf2_ros:/home/pi/ros_catkin_ws/src/image_pipeline/depth_image_proc:/home/pi/ros_catkin_ws/src/geometry/tf:/home/pi/ros_catkin_ws/src/geometry2/tf2_geometry_msgs:/home/pi/ros_catkin_ws/src/image_pipeline/image_rotate:/home/pi/ros_catkin_ws/src/image_transport_plugins/theora_image_transport:/home/pi/ros_catkin_ws/src/witmotion_ros', 'ROSLISP_PACKAGE_DIRECTORIES': '/home/pi/aerobat_ws/devel/share/common-lisp:/home/pi/ros_catkin_ws/devel/share/common-lisp', 'PWD': '/home/pi/aerobat_ws/src/witmotion_IMU_ros/config', 'LOGNAME': 'pi', 'XDG_SESSION_TYPE': 'tty', 'HOME': '/home/pi', 'LANG': 'en_GB.UTF-8', 'ROS_ETC_DIR': '/home/pi/ros_catkin_ws/devel/.private/ros_environment/etc/ros', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:', 'CMAKE_PREFIX_PATH': '/home/pi/aerobat_ws/devel:/home/pi/ros_catkin_ws/devel', 'AEROBAT_LIBRARY_PATH': '/home/pi', 'SSH_CONNECTION': 'fe80::954e:e850:282a:1db5%wlan0 52392 fe80::2d11:d132:b648:99a4%wlan0 22', 'XDG_SESSION_CLASS': 'user', 'PYTHONPATH': '/home/pi/aerobat_ws/devel/lib/python3/dist-packages:/home/pi/ros_catkin_ws/devel/lib/python3/dist-packages', 'TERM': 'xterm-256color', 'USER': 'pi', 'ROSCONSOLE_CONFIG_FILE': '/home/pi/ros_catkin_ws/src/rosconsole/config/rosconsole.config', 'SHLVL': '1', 'ROS_MASTER_URI': 'http://localhost:11311', 'XDG_SESSION_ID': '3', 'LD_LIBRARY_PATH': '/home/pi/aerobat_ws/devel/lib:/home/pi/ros_catkin_ws/devel/lib', 'XDG_RUNTIME_DIR': '/run/user/1000', 'SSH_CLIENT': 'fe80::954e:e850:282a:1db5%wlan0 52392 22', 'PATH': '/home/pi/aerobat_ws/devel/bin:/home/pi/ros_catkin_ws/devel/bin:/home/pi/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1000/bus', 'MAIL': '/var/mail/pi', 'SSH_TTY': '/dev/pts/0', 'ROS_ROOT': '/home/pi/ros_catkin_ws/src/ros/rosbuild', 'ROS_DISTRO': 'noetic', 'OLDPWD': '/home/pi/aerobat_ws/src/witmotion_IMU_ros', 'TEXTDOMAIN': 'Linux-PAM', '_': '/home/pi/ros_catkin_ws/devel/bin/roslaunch', 'ROS_LOG_FILENAME': '/home/pi/.ros/log/7c0a9c82-6a9c-11ed-96a2-b827eb3cf8c3/roslaunch-raspberrypi-2059.log'}]
[roslaunch][INFO] 2022-11-22 14:33:10,348: process[rosout-1]: args[['/home/pi/ros_catkin_ws/devel/lib/rosout/rosout', '__name:=rosout']]
[roslaunch][INFO] 2022-11-22 14:33:10,348: ... created process [rosout-1]
[roslaunch.pmon][INFO] 2022-11-22 14:33:10,353: ProcessMonitor.register[rosout-1]
[roslaunch.pmon][INFO] 2022-11-22 14:33:10,353: ProcessMonitor.register[rosout-1] complete
[roslaunch][INFO] 2022-11-22 14:33:10,353: ... registered process [rosout-1]
[roslaunch][INFO] 2022-11-22 14:33:10,354: process[rosout-1]: starting os process
[roslaunch][INFO] 2022-11-22 14:33:10,355: process[rosout-1]: start w/ args [['/home/pi/ros_catkin_ws/devel/lib/rosout/rosout', '__name:=rosout', '__log:=/home/pi/.ros/log/7c0a9c82-6a9c-11ed-96a2-b827eb3cf8c3/rosout-1.log']]
[roslaunch][INFO] 2022-11-22 14:33:10,356: process[rosout-1]: cwd will be [/home/pi/.ros]
[roslaunch][INFO] 2022-11-22 14:33:10,369: process[rosout-1]: started with pid [2079]
[roslaunch][INFO] 2022-11-22 14:33:10,371: ... successfully launched [rosout-1]
[roslaunch][INFO] 2022-11-22 14:33:10,372: load_parameters starting ...
[roslaunch][INFO] 2022-11-22 14:33:10,529: ... load_parameters complete
[roslaunch][INFO] 2022-11-22 14:33:10,530: launch_nodes: launching local nodes ...
[roslaunch][INFO] 2022-11-22 14:33:10,532: ... preparing to launch node of type [witmotion_ros/witmotion_ros_node]
[roslaunch][INFO] 2022-11-22 14:33:10,532: create_node_process: package[witmotion_ros] type[witmotion_ros_node] machine[Machine(name[] env_loader[None] address[localhost] ssh_port[22] user[None] assignable[True] timeout[10.0])] master_uri[http://localhost:11311]
[roslaunch][INFO] 2022-11-22 14:33:10,533: process[witmotion_imu-2]: env[{'SHELL': '/bin/bash', 'ROS_VERSION': '1', 'PKG_CONFIG_PATH': '/home/pi/aerobat_ws/devel/lib/pkgconfig:/home/pi/ros_catkin_ws/devel/lib/pkgconfig', 'ROS_PYTHON_VERSION': '3', 'ROS_PACKAGE_PATH': '/home/pi/aerobat_ws/src/Aerobat-ROS/aerobat_drivers:/home/pi/aerobat_ws/src/Aerobat-ROS/aerobat_utils:/home/pi/aerobat_ws/src/witmotion_IMU_ros:/home/pi/ros_catkin_ws/src/catkin:/home/pi/ros_catkin_ws/src/genmsg:/home/pi/ros_catkin_ws/src/gencpp:/home/pi/ros_catkin_ws/src/geneus:/home/pi/ros_catkin_ws/src/genlisp:/home/pi/ros_catkin_ws/src/gennodejs:/home/pi/ros_catkin_ws/src/genpy:/home/pi/ros_catkin_ws/src/bond_core/bond_core:/home/pi/ros_catkin_ws/src/cmake_modules:/home/pi/ros_catkin_ws/src/class_loader:/home/pi/ros_catkin_ws/src/common_msgs/common_msgs:/home/pi/ros_catkin_ws/src/roscpp_core/cpp_common:/home/pi/ros_catkin_ws/src/image_common/image_common:/home/pi/ros_catkin_ws/src/image_pipeline/image_pipeline:/home/pi/ros_catkin_ws/src/image_transport_plugins/image_transport_plugins:/home/pi/ros_catkin_ws/src/message_generation:/home/pi/ros_catkin_ws/src/message_runtime:/home/pi/ros_catkin_ws/src/ros/mk:/home/pi/ros_catkin_ws/src/nodelet_core/nodelet_core:/home/pi/ros_catkin_ws/src/metapackages/perception:/home/pi/ros_catkin_ws/src/ros/ros:/home/pi/ros_catkin_ws/src/metapackages/ros_base:/home/pi/ros_catkin_ws/src/ros_comm/ros_comm:/home/pi/ros_catkin_ws/src/metapackages/ros_core:/home/pi/ros_catkin_ws/src/ros_environment:/home/pi/ros_catkin_ws/src/rosbag_migration_rule:/home/pi/ros_catkin_ws/src/ros/rosbash:/home/pi/ros_catkin_ws/src/ros/rosboost_cfg:/home/pi/ros_catkin_ws/src/ros/rosbuild:/home/pi/ros_catkin_ws/src/ros/rosclean:/home/pi/ros_catkin_ws/src/roscpp_core/roscpp_core:/home/pi/ros_catkin_ws/src/roscpp_core/roscpp_traits:/home/pi/ros_catkin_ws/src/ros/roscreate:/home/pi/ros_catkin_ws/src/ros_comm/rosgraph:/home/pi/ros_catkin_ws/src/ros/roslang:/home/pi/ros_catkin_ws/src/roslisp:/home/pi/ros_catkin_ws/src/ros/rosmake:/home/pi/ros_catkin_ws/src/ros_comm/rosmaster:/home/pi/ros_catkin_ws/src/rospack:/home/pi/ros_catkin_ws/src/ros/roslib:/home/pi/ros_catkin_ws/src/ros_comm/rosparam:/home/pi/ros_catkin_ws/src/ros_comm/rospy:/home/pi/ros_catkin_ws/src/ros_comm/rosservice:/home/pi/ros_catkin_ws/src/roscpp_core/rostime:/home/pi/ros_catkin_ws/src/roscpp_core/roscpp_serialization:/home/pi/ros_catkin_ws/src/ros_comm/roslaunch:/home/pi/ros_catkin_ws/src/ros/rosunit:/home/pi/ros_catkin_ws/src/angles:/home/pi/ros_catkin_ws/src/rosconsole:/home/pi/ros_catkin_ws/src/pluginlib:/home/pi/ros_catkin_ws/src/rosconsole_bridge:/home/pi/ros_catkin_ws/src/ros_comm/roslz4:/home/pi/ros_catkin_ws/src/ros_comm/rostest:/home/pi/ros_catkin_ws/src/bond_core/smclib:/home/pi/ros_catkin_ws/src/std_msgs:/home/pi/ros_catkin_ws/src/common_msgs/actionlib_msgs:/home/pi/ros_catkin_ws/src/bond_core/bond:/home/pi/ros_catkin_ws/src/common_msgs/diagnostic_msgs:/home/pi/ros_catkin_ws/src/common_msgs/geometry_msgs:/home/pi/ros_catkin_ws/src/geometry/eigen_conversions:/home/pi/ros_catkin_ws/src/common_msgs/nav_msgs:/home/pi/ros_catkin_ws/src/ros_comm_msgs/rosgraph_msgs:/home/pi/ros_catkin_ws/src/common_msgs/shape_msgs:/home/pi/ros_catkin_ws/src/ros_comm_msgs/std_srvs:/home/pi/ros_catkin_ws/src/geometry2/tf2_msgs:/home/pi/ros_catkin_ws/src/geometry2/tf2:/home/pi/ros_catkin_ws/src/geometry2/tf2_eigen:/home/pi/ros_catkin_ws/src/common_msgs/trajectory_msgs:/home/pi/ros_catkin_ws/src/vision_opencv/vision_opencv:/home/pi/ros_catkin_ws/src/common_msgs/visualization_msgs:/home/pi/ros_catkin_ws/src/ros_comm/xmlrpcpp:/home/pi/ros_catkin_ws/src/ros_comm/roscpp:/home/pi/ros_catkin_ws/src/bond_core/bondcpp:/home/pi/ros_catkin_ws/src/bond_core/bondpy:/home/pi/ros_catkin_ws/src/nodelet_core/nodelet:/home/pi/ros_catkin_ws/src/ros_comm/rosout:/home/pi/ros_catkin_ws/src/image_pipeline/camera_calibration:/home/pi/ros_catkin_ws/src/dynamic_reconfigure:/home/pi/ros_catkin_ws/src/filters:/home/pi/ros_catkin_ws/src/ros_comm/message_filters:/home/pi/ros_catkin_ws/src/ros_comm/rosbag_storage:/home/pi/ros_catkin_ws/src/ros_comm/rosmsg:/home/pi/ros_catkin_ws/src/ros_comm/rosnode:/home/pi/ros_catkin_ws/src/ros_comm/rostopic:/home/pi/ros_catkin_ws/src/geometry2/tf2_py:/home/pi/ros_catkin_ws/src/ros_comm/topic_tools:/home/pi/ros_catkin_ws/src/ros_comm/rosbag:/home/pi/ros_catkin_ws/src/actionlib/actionlib:/home/pi/ros_catkin_ws/src/nodelet_core/nodelet_topic_tools:/home/pi/ros_catkin_ws/src/ros_comm/roswtf:/home/pi/ros_catkin_ws/src/common_msgs/sensor_msgs:/home/pi/ros_catkin_ws/src/image_common/camera_calibration_parsers:/home/pi/ros_catkin_ws/src/vision_opencv/cv_bridge:/home/pi/ros_catkin_ws/src/vision_opencv/image_geometry:/home/pi/ros_catkin_ws/src/image_common/image_transport:/home/pi/ros_catkin_ws/src/image_common/camera_info_manager:/home/pi/ros_catkin_ws/src/image_transport_plugins/compressed_depth_image_transport:/home/pi/ros_catkin_ws/src/image_transport_plugins/compressed_image_transport:/home/pi/ros_catkin_ws/src/image_pipeline/image_proc:/home/pi/ros_catkin_ws/src/image_pipeline/image_publisher:/home/pi/ros_catkin_ws/src/image_common/polled_camera:/home/pi/ros_catkin_ws/src/common_msgs/stereo_msgs:/home/pi/ros_catkin_ws/src/image_pipeline/image_view:/home/pi/ros_catkin_ws/src/image_pipeline/stereo_image_proc:/home/pi/ros_catkin_ws/src/geometry2/tf2_ros:/home/pi/ros_catkin_ws/src/image_pipeline/depth_image_proc:/home/pi/ros_catkin_ws/src/geometry/tf:/home/pi/ros_catkin_ws/src/geometry2/tf2_geometry_msgs:/home/pi/ros_catkin_ws/src/image_pipeline/image_rotate:/home/pi/ros_catkin_ws/src/image_transport_plugins/theora_image_transport:/home/pi/ros_catkin_ws/src/witmotion_ros', 'ROSLISP_PACKAGE_DIRECTORIES': '/home/pi/aerobat_ws/devel/share/common-lisp:/home/pi/ros_catkin_ws/devel/share/common-lisp', 'PWD': '/home/pi/aerobat_ws/src/witmotion_IMU_ros/config', 'LOGNAME': 'pi', 'XDG_SESSION_TYPE': 'tty', 'HOME': '/home/pi', 'LANG': 'en_GB.UTF-8', 'ROS_ETC_DIR': '/home/pi/ros_catkin_ws/devel/.private/ros_environment/etc/ros', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:', 'CMAKE_PREFIX_PATH': '/home/pi/aerobat_ws/devel:/home/pi/ros_catkin_ws/devel', 'AEROBAT_LIBRARY_PATH': '/home/pi', 'SSH_CONNECTION': 'fe80::954e:e850:282a:1db5%wlan0 52392 fe80::2d11:d132:b648:99a4%wlan0 22', 'XDG_SESSION_CLASS': 'user', 'PYTHONPATH': '/home/pi/aerobat_ws/devel/lib/python3/dist-packages:/home/pi/ros_catkin_ws/devel/lib/python3/dist-packages', 'TERM': 'xterm-256color', 'USER': 'pi', 'ROSCONSOLE_CONFIG_FILE': '/home/pi/ros_catkin_ws/src/rosconsole/config/rosconsole.config', 'SHLVL': '1', 'ROS_MASTER_URI': 'http://localhost:11311', 'XDG_SESSION_ID': '3', 'LD_LIBRARY_PATH': '/home/pi/aerobat_ws/devel/lib:/home/pi/ros_catkin_ws/devel/lib', 'XDG_RUNTIME_DIR': '/run/user/1000', 'SSH_CLIENT': 'fe80::954e:e850:282a:1db5%wlan0 52392 22', 'PATH': '/home/pi/aerobat_ws/devel/bin:/home/pi/ros_catkin_ws/devel/bin:/home/pi/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1000/bus', 'MAIL': '/var/mail/pi', 'SSH_TTY': '/dev/pts/0', 'ROS_ROOT': '/home/pi/ros_catkin_ws/src/ros/rosbuild', 'ROS_DISTRO': 'noetic', 'OLDPWD': '/home/pi/aerobat_ws/src/witmotion_IMU_ros', 'TEXTDOMAIN': 'Linux-PAM', '_': '/home/pi/ros_catkin_ws/devel/bin/roslaunch', 'ROS_LOG_FILENAME': '/home/pi/.ros/log/7c0a9c82-6a9c-11ed-96a2-b827eb3cf8c3/roslaunch-raspberrypi-2059.log'}]
[roslaunch][INFO] 2022-11-22 14:33:10,541: process[witmotion_imu-2]: args[['/home/pi/aerobat_ws/devel/lib/witmotion_ros/witmotion_ros_node', '__name:=witmotion_imu']]
[roslaunch][INFO] 2022-11-22 14:33:10,542: ... created process [witmotion_imu-2]
[roslaunch.pmon][INFO] 2022-11-22 14:33:10,542: ProcessMonitor.register[witmotion_imu-2]
[roslaunch.pmon][INFO] 2022-11-22 14:33:10,542: ProcessMonitor.register[witmotion_imu-2] complete
[roslaunch][INFO] 2022-11-22 14:33:10,543: ... registered process [witmotion_imu-2]
[roslaunch][INFO] 2022-11-22 14:33:10,543: process[witmotion_imu-2]: starting os process
[roslaunch][INFO] 2022-11-22 14:33:10,544: process[witmotion_imu-2]: start w/ args [['/home/pi/aerobat_ws/devel/lib/witmotion_ros/witmotion_ros_node', '__name:=witmotion_imu', '__log:=/home/pi/.ros/log/7c0a9c82-6a9c-11ed-96a2-b827eb3cf8c3/witmotion_imu-2.log']]
[roslaunch][INFO] 2022-11-22 14:33:10,544: process[witmotion_imu-2]: cwd will be [/home/pi/.ros]
[roslaunch][INFO] 2022-11-22 14:33:10,557: process[witmotion_imu-2]: started with pid [2086]
[roslaunch][INFO] 2022-11-22 14:33:10,558: ... successfully launched [witmotion_imu-2]
[roslaunch][INFO] 2022-11-22 14:33:10,559: ... launch_nodes complete
[roslaunch.pmon][INFO] 2022-11-22 14:33:10,559: registrations completed <ProcessMonitor(ProcessMonitor-1, started daemon 1950889024)>
[roslaunch.parent][INFO] 2022-11-22 14:33:10,560: ... roslaunch parent running, waiting for process exit
[roslaunch][INFO] 2022-11-22 14:33:10,560: spin
[roslaunch][ERROR] 2022-11-22 14:33:11,028: [witmotion_imu-2] process has died [pid 2086, exit code -11, cmd /home/pi/aerobat_ws/devel/lib/witmotion_ros/witmotion_ros_node __name:=witmotion_imu __log:=/home/pi/.ros/log/7c0a9c82-6a9c-11ed-96a2-b827eb3cf8c3/witmotion_imu-2.log].
log file: /home/pi/.ros/log/7c0a9c82-6a9c-11ed-96a2-b827eb3cf8c3/witmotion_imu-2*.log
[roslaunch.pmon][INFO] 2022-11-22 14:33:11,029: ProcessMonitor.unregister[witmotion_imu-2] starting
[roslaunch.pmon][INFO] 2022-11-22 14:33:11,030: ProcessMonitor.unregister[witmotion_imu-2] complete
[roslaunch.pmon][INFO] 2022-11-22 14:33:14,778: ProcessMonitor.shutdown <ProcessMonitor(ProcessMonitor-1, started daemon 1950889024)>
[roslaunch.pmon][INFO] 2022-11-22 14:33:14,859: ProcessMonitor._post_run <ProcessMonitor(ProcessMonitor-1, started daemon 1950889024)>
[roslaunch.pmon][INFO] 2022-11-22 14:33:14,860: ProcessMonitor._post_run <ProcessMonitor(ProcessMonitor-1, started daemon 1950889024)>: remaining procs are [<roslaunch.nodeprocess.LocalProcess object at 0x7449e510>, <roslaunch.nodeprocess.LocalProcess object at 0x7449ea30>]
[roslaunch.pmon][INFO] 2022-11-22 14:33:14,866: ProcessMonitor exit: killing rosout-1
[roslaunch][INFO] 2022-11-22 14:33:14,867: [rosout-1] killing on exit
[roslaunch][INFO] 2022-11-22 14:33:14,868: process[rosout-1]: killing os process with pid[2079] pgid[2079]
[roslaunch][INFO] 2022-11-22 14:33:14,869: [rosout-1] sending SIGINT to pgid [2079]
[roslaunch][INFO] 2022-11-22 14:33:14,869: [rosout-1] sent SIGINT to pgid [2079]
[roslaunch][INFO] 2022-11-22 14:33:15,271: process[rosout-1]: SIGINT killed with return value 0
[roslaunch.pmon][INFO] 2022-11-22 14:33:15,272: ProcessMonitor exit: killing master
[roslaunch][INFO] 2022-11-22 14:33:15,272: [master] killing on exit
[roslaunch][INFO] 2022-11-22 14:33:15,272: process[master]: killing os process with pid[2068] pgid[2068]
[roslaunch][INFO] 2022-11-22 14:33:15,273: [master] sending SIGINT to pgid [2068]
[roslaunch][INFO] 2022-11-22 14:33:15,273: [master] sent SIGINT to pgid [2068]
[roslaunch][INFO] 2022-11-22 14:33:15,574: process[master]: SIGINT killed with return value 0
[roslaunch.pmon][INFO] 2022-11-22 14:33:15,579: ProcessMonitor exit: cleaning up data structures and signals
[roslaunch.pmon][INFO] 2022-11-22 14:33:15,579: ProcessMonitor exit: pmon has shutdown
[roslaunch][INFO] 2022-11-22 14:33:15,579: process monitor is done spinning, initiating full shutdown
[roslaunch][INFO] 2022-11-22 14:33:15,580: runner.stop()
[roslaunch][INFO] 2022-11-22 14:33:15,580: shutting down processing monitor...
[roslaunch][INFO] 2022-11-22 14:33:15,581: shutting down processing monitor <ProcessMonitor(ProcessMonitor-1, stopped daemon 1950889024)>
[roslaunch.pmon][INFO] 2022-11-22 14:33:15,581: ProcessMonitor.shutdown <ProcessMonitor(ProcessMonitor-1, stopped daemon 1950889024)>
[roslaunch][INFO] 2022-11-22 14:33:15,581: ... shutting down processing monitor complete
[roslaunch][INFO] 2022-11-22 14:33:15,582: done
[roslaunch.pmon][INFO] 2022-11-22 14:33:15,582: ProcessMonitor.shutdown <ProcessMonitor(ProcessMonitor-1, stopped daemon 1950889024)>
[rospy.core][INFO] 2022-11-22 14:33:15,583: signal_shutdown [atexit]
twdragon commented 1 year ago

@adarshrs the log says:

Instantiating timer at 10 ms
[ERROR] [1669145590.937285603]: Sensor error: No data acquired during last 3 iterations, please check the baudrate!
[ INFO] [1669145590.943398563]: Entering SUSPENDED state
QObject::killTimer: Timers cannot be stopped from another thread
QObject::~QObject: Timers cannot be stopped from another thread
QSocketNotifier: Socket notifiers cannot be enabled or disabled from another thread
QSocketNotifier: Invalid socket 14 and type 'Read', disabling...
[witmotion_imu-2] process has died [pid 2086, exit code -11, cmd /home/pi/aerobat_ws/devel/lib/witmotion_ros/witmotion_ros_node __name:=witmotion_imu __log:=/home/pi/.ros/log/7c0a9c82-6a9c-11ed-96a2-b827eb3cf8c3/witmotion_imu-2.log].
log file: /home/pi/.ros/log/7c0a9c82-6a9c-11ed-96a2-b827eb3cf8c3/witmotion_imu-2*.log

It means that the data are not really already thrown to the port while the node tries to call read() to acquire it. Please check also the measurement rate of your sensor and try to change the polling_interval parameter to 50 or 100 ms to see if the data are really written to the port by the sensor. If the sensor's measurement rate is too low, you should use the controller application from the underlying library to tune it. Also please try to determine which exact types of messages your sensor generates with the message_enumerator application from the underlying library.

adarshrs commented 1 year ago

@twdragon I tried out different baud rates and polling frequencies. According to the data sheet, the default baud rate is 9600. I changed the polling rate to 50ms and 100ms and get the same timeout error in each case. I don't get the error when running at 20ms, however. I ran message enumeration and this is the output:


Press Ctrl+C to stop enumeration and see the report
Opening device
'ttyS0" at 9600 baud
Instantiating timer at 20 ms
^C
Closing TTL connection
WITMOTION UART MESSAGE ENUMERATOR BY TWDRAGON
Acquired at Wednesday, 23 November 2022 14:57:30 EST

ID | Qty | Description
0x51 | 958 | Accelerations
0x52 | 958 | Angular velocities
0x53 | 958 | Spatial orientation (Euler angles)
0x54 | 958 | Magnetometer/Magnetic orientation

Unknown IDs: 0 [ ]
Total messages: 3832

This does not produce the error, but no messages are published either. This is the output of the roslaunch:

auto-starting new master
process[master]: started with pid [1917]
ROS_MASTER_URI=http://Localhost:11311
setting /run_id to 2b8487f0-6b69-11ed-bad5-b827eb3cf8c3
process[rosout-1]: started with pid [1928]
started core service [/rosout]
process[witmotion_imu-2]: started with pid [1935]
Opening device "ttySO" at 9600 baud
Instantiating timer at 20 mS

There is no output after this and no messages published.

twdragon commented 1 year ago

@adarshrs I did not see before: your sensor does not provide Quaternion orientation packet whilst imu_publisher/use_native_orientation parameter is set to true. In this case, the orientation section of the IMU message is never considered completed and the message is never published. Set this parameter to false and the node will start working.

 * /witmotion_imu/imu_publisher/use_native_orientation: True

This situation is explained here in the node documentation.

If you want to utilize native quaternion orientation, you must enable it on your hardware using the controller application from the underlying library.

I also will be very appreciated if you will be able to provide a test report in the Issues section.

twdragon commented 1 year ago

@adarshrs if you will present here the positive result of your test, I will close this issue as solved.

adarshrs commented 1 year ago

@twdragon Thank you for your suggestion. Turning off native orientation worked and I am able to get /imu messages at 10Hz. I tried using the underlying library to increase the polling rate using the following command:

rosrun witmotion_ros witmotionctl-wt901 -d /dev/ttyS0 --set-frequency 100

The output suggests that this works, however, I get a segmentation fault when trying to read at a polling interval of 5 ms (100 Hz). At lower frequency 50 Hz, I am seeing messages published at a rate of 16 Hz.

Is this a hardware limitation or is there some way of getting higher publish rates? I am looking for rates of at least 100 Hz, ideally 200 Hz.

twdragon commented 1 year ago

@adarshrs as it is described here there is a limitation due to the sensor may throw the packets on the given frequency, but the ROS IMU message is built from at least 2 Witmotion packets. There is also a synchronization limitation due to the ratio between the selected baudrate and measurement frequency. The highest measurement frequencies, obviously, are accessible only on the highest baudrates. I heard some use cases (e.a @tohax) with actual publishing frequencies up to 160 Hz, so the limitation exists.

In your case I can advice you to use the commands:

witmotionctl-wt901 -d /dev/ttyS0 --set-baudrate 115200
witmotionctl-wt901 -d /dev/ttyS0 -b 115200 --set-frequency 200
witmotionctl-wt901 -d /dev/ttyS0 -b 115200 -i 7

to set the packet throw interval to 5ms, as it is described here, and to check if the 7ms polling interval works, otherwise, try to increase it. Do not forget that the default controller application baudrate is 9600 baud. Then try to play with the actual port polling interval using the polling_interval parameter to determine the polling frequency feasible for your hardware setup. There is also a kernel polling rate limitation that depends on the architecture and may vary between builds. You should select the value on which your setup would be stable.

As the device is now working, I will close this issue as completed. I will be very appreciated if you would write a test report for Raspberry setup in the dedicated issue. To discuss the limitations, I encourage you to open a different issue, if needed.