Turtlebot3 Lidar Package Failing when Arduino Plugged into Serial Port
-Hello, I have integrated an RFID reader assembly using an arduino into the hardware of a Turtlebot3. I come to the forum asking for help as my lidar process fails and I cannot figure out why. For reference, I have changed the parameters in all of the launch files to reflect the correct serial ports, and have noticed that when my usb connecting the arduino and the pi is connected the turtlebot_lds process dies due to a segmentation error (this being in contrast to simply unplugging the arduino and it runs no issue).
-The data being sent is either 00:0:0000000000 or the id of the specific rfid tag and this is sent to the pi via a simple Serial.println function on the arduino. This functionality is fine and I can visualize and use this data but cannot run the LDS-2 drivers at the same time.Any insight would be appreciated! -As of now the lidar is is dev/ttyUSB0, the opencr is in dev/ttyACM1 and my arduino is in dev/ttyACM0
-I have included the launch as well as the backtrace
SUMMARY
PARAMETERS * /rosdistro: noetic * /rosversion: 1.15.15 * /turtlebot3_lds/frame_id: laser * /turtlebot3_lds/port: /dev/ttyLIDAR
NODES / turtlebot3_lds (ld08_driver/ld08_driver)
ROS_MASTER_URI=http://192.168.0.22:11311
process[turtlebot3_lds-1]: started with pid [7385] GNU gdb (Ubuntu 9.2-0ubuntu1~20.04.1) 9.2 Copyright (C) 2020 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "aarch64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: http://www.gnu.org/software/gdb/bugs/. Find the GDB manual and other documentation resources online at: http://www.gnu.org/software/gdb/documentation/.
For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from /home/ubuntu/catkin_ws/devel/lib/ld08_driver/ld08_driver... (No debugging symbols found in /home/ubuntu/catkin_ws/devel/lib/ld08_driver/ld08_driver) Starting program: /home/ubuntu/catkin_ws/devel/lib/ld08_driver/ld08_driver __name:=turtlebot3_lds __log:=/home/ubuntu/.ros/log/62764958-735a-11ed-852c-d170fa04859d/turtlebot3_lds-1.log [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/aarch64-linux-gnu/libthread_db.so.1". [New Thread 0xfffff4bd8160 (LWP 7390)] [New Thread 0xffffeffff160 (LWP 7391)] [New Thread 0xffffef7fe160 (LWP 7392)] [New Thread 0xffffeeffd160 (LWP 7393)]
Thread 1 "ld08_driver" received signal SIGSEGV, Segmentation fault. __strlen_generic () at ../sysdeps/aarch64/multiarch/../strlen.S:98 98 ../sysdeps/aarch64/multiarch/../strlen.S: No such file or directory. (gdb) where
0 __strlen_generic () at ../sysdeps/aarch64/multiarch/../strlen.S:98 1 0x0000fffff7c3a03c in std::__cxx11::basic_string<char, std::char_traits<char="">, std::allocator<char> >::operator=(char const*) () from /lib/aarch64-linux-gnu/libstdc++.so.6 2 0x0000aaaaaaaddb18 in CmdInterfaceLinux::GetCmdDevices(std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char="">, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char="">, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std ...