Ask Your Question
1

Moveit! move_group segmentation fault on Ubuntu Mate 16.04 with Raspberry Pi 3 (ROS kinetic)

asked 2016-12-22 05:08:26 -0500

renarded gravatar image

updated 2016-12-22 05:59:53 -0500

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/Installat... ) 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 :

NODES
  /
    move_group (moveit_ros_move_group/move_group)

ROS_MASTER_URI=http://localhost:11311

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 ?

Thanks

edit retag flag offensive close merge delete

Comments

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?

tommytwoeyes gravatar imagetommytwoeyes ( 2017-01-11 07:22:47 -0500 )edit

@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.

renarded gravatar imagerenarded ( 2017-01-11 10:28:40 -0500 )edit

Hey, I'm facing the same issue. Did you manage to solve this?

roser gravatar imageroser ( 2017-04-26 04:26:15 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
1

answered 2017-01-10 14:26:35 -0500

renarded gravatar image

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.

edit flag offensive delete link more

Comments

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.

v4hn gravatar imagev4hn ( 2017-01-12 07:01:34 -0500 )edit

@v4hn thanks for your advice, I will try that when I have time and will let you know about the result

renarded gravatar imagerenarded ( 2017-01-17 04:30:30 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

3 followers

Stats

Asked: 2016-12-22 05:08:26 -0500

Seen: 518 times

Last updated: Jan 10 '17