Rosanswers logo

Hi everyone,

I am currently trying to run ROS kinetic with Moveit! on my Raspberry Pi 3 board.

I successfully installed Ubuntu Mate 16.04 (https://ubuntu-mate.org/raspberry-pi/), ROS kinetic (http://wiki.ros.org/kinetic/Installation/Ubuntu) and Moveit! packages on the Raspberry.

I also successfully built all the packages for my custom robot with catkin. And I can launch my nodes, set robot_description param, etc... The problems comes when I launch move_group (with move_group.launch from my moveit config folder)

Note that everything is working fine on my Ubuntu 16.04 desktop installation, I created and tested all my packages. Here is what is happening on my laptop, while running "roslaunch my_robot_package_moveit_config move_group.launch" :

[ INFO] [1482395047.420033154]: Loading robot model 'my_robot'...
[ INFO] [1482395047.511544563]: Publishing maintained planning scene on 'monitored_planning_scene'
[New Thread 0x7fffcbdf8700 (LWP 5206)]

However, on the Raspberry Pi 3 with Ubuntu Mate, with the exact same installation, config and files :

    move_group (moveit_ros_move_group/move_group)


core service [/rosout] found
process[move_group-1]: started with pid [17610]
[ INFO] [1482398385.724625628]: Loading robot model 'my_robot'...
[ INFO] [1482398386.383339632]: Loading robot model 'my_robot'...
[move_group-1] process has died [pid 17610, exit code -11, cmd /opt/ros/kinetic/lib/moveit_ros_move_group/move_group __name:=move_group __log:=/home/niryo/.ros/log/d73c13fc-c826-11e6-b1b9-b827eb50f10b/move_group-1.log].
log file: /home/my_robot/.ros/log/d73c13fc-c826-11e6-b1b9-b827eb50f10b/move_group-1*.log

I also launched move_group.launch with debug:=true :

[ INFO] [1482398405.376777619]: Loading robot model 'my_robot'...

Thread 1 "move_group" received signal SIGSEGV, Segmentation fault.
0x76f73f96 in std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> > std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> >, std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) ()
   from /opt/ros/kinetic/lib/libmoveit_planning_scene_monitor.so.0.9.3

I also tried with Ubuntu ARM (https://wiki.ubuntu.com/ARM/RaspberryPi) and I got the same error.

Does anyone know how to fix that ? Is it a Raspberry Pi relative problem ? Or Ubuntu version problem ? Or a Moveit! problem ?


Originally posted by renarded on ROS Answers with karma: 161 on 2016-12-22

Post score: 1

Original comments

Comment by tommytwoeyes on 2017-01-11:
Apologies for a question unrelated to yours, but I'm a ROS beginner. Based on your ROS/Pi experience: For a new project, I can get a Pi 3, or wait until Feb 29, when the Pi 4 may (or may not) come out. Some speculate there will be no update this year. Is a Pi 3 sufficient for ROS, or should I wait?

Comment by renarded on 2017-01-11:
@tommytwoeyes I've heard that there will be no Pi 4 for 2017, but many improvement on OSes around RPI3. RPI3 is powerful enough for most ROS applications, so I think you'd better start with Pi3 now.

Comment by roser on 2017-04-26:
Hey, I'm facing the same issue. Did you manage to solve this?


1 Answer 1


Rosanswers logo

I finally solved my problem :

I had to remove all geometry stuff from my URDF file : visual and collision, including box, cylinder and meshes. That way move_group is not having this segfault and everything is running.

So I'm guessing I am missing some dependencies or packages on my Raspberry Pi 3 with armhf (reminder : everything works well on my 64 bit laptop and on my 32 bit laptop).

Note : this is only a partial answer, as now I have another problem : collisions will not be detected because I removed them from the URDF.

Originally posted by renarded with karma: 161 on 2017-01-10

This answer was ACCEPTED on the original site

Post score: 1

Original comments

Comment by v4hn on 2017-01-12:
This is not an answer at all.. As you stated collision testing doesn't work if you remove the collision bodies. :)

I know there have been problems with the binary package of FCL on non-x86 platforms in the past. Maybe this is still a problem? You could try to build FCL from source.

Comment by renarded on 2017-01-17:
@v4hn thanks for your advice, I will try that when I have time and will let you know about the result


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.