ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

jluan's profile - activity

2012-08-23 06:16:53 -0500 received badge  Popular Question (source)
2012-08-23 06:16:53 -0500 received badge  Notable Question (source)
2012-08-23 06:16:53 -0500 received badge  Famous Question (source)
2012-08-12 21:27:04 -0500 received badge  Student (source)
2011-11-28 18:13:46 -0500 received badge  Editor (source)
2011-11-28 18:13:02 -0500 asked a question trajectory_filter_server crash using <robotname>_arm_navigation autogenerated by wizard

Hi all,

Using the Planning Description Configuration Wizard, I autogenerated a robotname_arm_navigation package for my robot. However, when I go to test it in the visualizer, the "Filter Trajectory" command always causes the trajectory_filter_server to crash:

[ERROR] [1322552297.034016315]: Service call to filter trajectory failed.`

Alternately,

[ INFO] [1322549920.624581727, 1322549920.620624065]: Problem with trajectory filter
[trajectory_filter_server-7] process has died [pid 26444, exit code -11].

Digging deeper in gdb,

trajectory_filter_server: /usr/include/boost/smart_ptr/shared_ptr.hpp:418: T* boost::shared_ptr<T>::operator->() const [with T = urdf::JointLimits]: Assertion `px != 0' failed.

A backtrace yields:

#0  0x00007ffff5f0d3a5 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007ffff5f10b0b in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x00007ffff5f05d4d in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
#3  0x000000000041c924 in boost::shared_ptr<urdf::JointLimits>::operator-> (this=<optimized out>) at /usr/include/boost/smart_ptr/shared_ptr.hpp:418
#4  0x000000000041f35d in operator-> (this=<optimized out>) at /usr/include/boost/smart_ptr/shared_ptr.hpp:418
#5  trajectory_filter_server::TrajectoryFilterServer::getLimits (this=0x7fffffffd100, trajectory=..., limits_out=...)
    at /tmp/buildd/ros-electric-arm-navigation-1.0.7/debian/ros-electric-arm-navigation/opt/ros/electric/stacks/arm_navigation/trajectory_filter_server/src/trajectory_filter_server.cpp:151
#6  0x0000000000420f9e in trajectory_filter_server::TrajectoryFilterServer::filterConstraints (this=0x7fffffffd100, req=..., resp=...)
    at /tmp/buildd/ros-electric-arm-navigation-1.0.7/debian/ros-electric-arm-navigation/opt/ros/electric/stacks/arm_navigation/trajectory_filter_server/src/trajectory_filter_server.cpp:109

Going to line 151 of arm_navigation/trajectory_filter_server/src/trajectory_filter_server.cpp,

limits.max_velocity = urdf_joint->limits->velocity;
limits.has_velocity_limits = true;

It seems like urdf_joint->limits is a boost::shared_ptr that has not been initialized. Does anyone know why this is happening even for the autogenerated arm_navigation package?

For more background, I've also tested it in my system with the robotname_arm_navigation.launch launchfile. Passing in a desired pose, it once again crashes at line 151. Furthermore, I autogenerated an arm_navigation package for the PR2 using the wizard as well, and it has the exact same problem. That should rule out my URDF file as a potential cause.

Thanks in advance!