Crash when trying to connect to MoveIt

Hello,

we have a Franka Panda robot to which I am trying to connect. MoveIt is running, and I am visualizing it through RVIZ. Planning/execution in RVIZ works fine.

When I start ImFusion and try the same with the provided algorithm, ImFusion crashes:
image


[Core.Platform] ***** Encountered fatal exception: SIGSEGV - Segmentation violation signal, PID 9997 *****
	stack dump [1]  /lib/x86_64-linux-gnu/libc.so.6+0x43090 [0x7f4a80ab4090]

	stack dump [2]  /usr/lib/ImFusionLib/plugins/libImFusionRobotics.so : ImFusion::Robotics::RobotModel::RobotModel(ImFusion::Filesystem::Path const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ImFusion::Robotics::RobotModel::NotableFrames const&)+0x2272 [0x7f49fca1b672]

	stack dump [3]  /usr/lib/ImFusionLib/plugins/libImFusionRobotics.so : ImFusion::Robotics::RobotModel::loadFromBuffers(ImFusion::Filesystem::Path const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ImFusion::Robotics::RobotModel::NotableFrames const&)+0xe [0x7f49fca1c25e]

	stack dump [4]  /usr/lib/ImFusionLib/plugins/libImFusionROS.so : ImFusion::ROS::MoveItControlStream::loadFromParameterServer(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x312 [0x7f49fda425c2]

	stack dump [5]  /usr/lib/ImFusionLib/plugins/libImFusionROS.so : ImFusion::ROS::CreateMoveItControlStreamAlgorithm::compute()+0x37e [0x7f49fda5ba4e]

	stack dump [6]  /usr/lib/ImFusionLib/plugins/libImFusionROS.so : ImFusion::ROS::CreateMoveItControlStreamController::onCompute()+0xa8 [0x7f49fda5ea78]

	stack dump [7]  /lib/x86_64-linux-gnu/libQt5Core.so.5 : QMetaObject::activate(QObject*, int, int, void**)+0x7d0 [0x7f4a811121d0]

	stack dump [8]  /lib/x86_64-linux-gnu/libQt5Widgets.so.5 : QAbstractButton::clicked(bool)+0x46 [0x7f4a81bf3806]
	stack dump [9]  /lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x25fa2e [0x7f4a81bf3a2e]
	stack dump [10]  /lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x260e73 [0x7f4a81bf4e73]

	stack dump [11]  /lib/x86_64-linux-gnu/libQt5Widgets.so.5 : QAbstractButton::mouseReleaseEvent(QMouseEvent*)+0xe5 [0x7f4a81bf5035]

	stack dump [12]  /lib/x86_64-linux-gnu/libQt5Widgets.so.5 : QWidget::event(QEvent*)+0x286 [0x7f4a81b412b6]

	stack dump [13]  /lib/x86_64-linux-gnu/libQt5Widgets.so.5 : QApplicationPrivate::notify_helper(QObject*, QEvent*)+0x86 [0x7f4a81afea66]

	stack dump [14]  /lib/x86_64-linux-gnu/libQt5Widgets.so.5 : QApplication::notify(QObject*, QEvent*)+0x583 [0x7f4a81b08343]

	stack dump [15]  /lib/x86_64-linux-gnu/libQt5Core.so.5 : QCoreApplication::notifyInternal2(QObject*, QEvent*)+0x18a [0x7f4a810e680a]

	stack dump [16]  /lib/x86_64-linux-gnu/libQt5Widgets.so.5 : QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool)+0x1b7 [0x7f4a81b07457]
	stack dump [17]  /lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x1c935d [0x7f4a81b5d35d]
	stack dump [18]  /lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x1cc1ec [0x7f4a81b601ec]

	stack dump [19]  /lib/x86_64-linux-gnu/libQt5Widgets.so.5 : QApplicationPrivate::notify_helper(QObject*, QEvent*)+0x86 [0x7f4a81afea66]

	stack dump [20]  /lib/x86_64-linux-gnu/libQt5Widgets.so.5 : QApplication::notify(QObject*, QEvent*)+0x330 [0x7f4a81b080f0]

	stack dump [21]  /lib/x86_64-linux-gnu/libQt5Core.so.5 : QCoreApplication::notifyInternal2(QObject*, QEvent*)+0x18a [0x7f4a810e680a]

	stack dump [22]  /lib/x86_64-linux-gnu/libQt5Gui.so.5 : QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*)+0x6e3 [0x7f4a814cf7d3]

	stack dump [23]  /lib/x86_64-linux-gnu/libQt5Gui.so.5 : QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*)+0x25b [0x7f4a814d110b]

	stack dump [24]  /lib/x86_64-linux-gnu/libQt5Gui.so.5 : QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>)+0xbb [0x7f4a814ab35b]
	stack dump [25]  /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5+0x7932e [0x7f4a7305a32e]
	stack dump [26]  /lib/x86_64-linux-gnu/libglib-2.0.so.0g_main_context_dispatch+0x27d [0x7f4a7bd2517d]
	stack dump [27]  /lib/x86_64-linux-gnu/libglib-2.0.so.0+0x52400 [0x7f4a7bd25400]
	stack dump [28]  /lib/x86_64-linux-gnu/libglib-2.0.so.0g_main_context_iteration+0x33 [0x7f4a7bd254a3]

	stack dump [29]  /lib/x86_64-linux-gnu/libQt5Core.so.5 : QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)+0x65 [0x7f4a8113e435]

	stack dump [30]  /lib/x86_64-linux-gnu/libQt5Core.so.5 : QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)+0x12b [0x7f4a810e53ab]

	stack dump [31]  /lib/x86_64-linux-gnu/libQt5Core.so.5 : QCoreApplication::exec()+0x96 [0x7f4a810ed116]
	stack dump [32]  ImFusionSuite+0x1f671 [0x56507704d671]
	stack dump [33]  /lib/x86_64-linux-gnu/libc.so.6__libc_start_main+0xf3 [0x7f4a80a95083]
	stack dump [34]  ImFusionSuite+0x2001e [0x56507704e01e]

I am on Ubuntu 20 with Academic Installer Version 3.9.0 and ROS1.

I am starting the ROS core outside of ImFusion.

Please let me know whether more info is needed. I can provide the URDF if necessary.

Thank you!

Best,
Felix

Hi there!

I’ll assume that both the ImFusion Suite and MoveIt are running on the same host machine and that you’re not using Docker. If that’s not the case, please let me know in the comments.

It seems you might have missed adding the workspace that contains the meshes for your custom robot (e.g., the Franka arm with the probe). To fix this:

  1. Go to Settings in ImFusion.
  2. Navigate to ROS1.
  3. Add your workspace (Refer to the attached image for clarity).

When adding, make sure to provide a name for your workspace. This workspace should point to the Catkin workspace that contains the package with your robot’s definition (likely your MoveIt configuration package).

Let me know if this helps or if you encounter any further issues!

Hi Rafael,

thanks for your reply!

I do have both running on the same host machine. Unfortunately adding the WS to ImFusion settings does not help - I am still getting the same error.

Is there anything else I can try?

Best,
Felix

Hi Felix,

Great to hear that you’re not using Docker and that everything is running on the same host.

Now that you’ve added the workspace, the suite should have access to the necessary resources stored there. However, to better understand the issue, I’ll need a bit more information about your project.

Could you please share your MoveIt configuration package? This will help me get a clearer picture of your setup and assist you more effectively.

Looking forward to your response!

Best,
Rafael