[ros-users] Microstrain GX2 on arm
Steven Martin
s34.martin at connect.qut.edu.au
Mon Nov 22 04:32:52 UTC 2010
I have been trying to get the Microstrain Imu driver working on the Gumstix. The driver compiles and appears to connect to the imu successfully however as soon as I try to subscribe or echo the data from the /imu/data topic the driver crashes.
I have attached the backtrace from gdb. Any ideas?
[ INFO] [1290400017.209869037]: Connected to IMU [ 3DM-GX2] model [ 4200] s/n [ 4040] options [ 5g 300d/s]
[ INFO] [1290400017.214690983]: Calibrating IMU gyros.
[ INFO] [1290400029.371214575]: Imu: calibration check succeeded: angular drift 0.285323 deg/msec < 5.729578 deg/msec
[ INFO] [1290400029.376402745]: IMU gyro calibration completed.
[ INFO] [1290400030.381717452]: Initializing IMU time with offset 0.000000.
[ INFO] [1290400030.398319596]: IMU sensor initialized.
Program received signal SIGILL, Illegal instruction.
allInOne<ros::serialization::OStream, geometry_msgs::Quaternion_<std::allocator<void> > const&> (message=...)
at /stacks/common_msgs/geometry_msgs/msg_gen/cpp/include/geometry_msgs/Quaternion.h:182
182 stream.next(m.y);
(gdb) bt
#0 allInOne<ros::serialization::OStream, geometry_msgs::Quaternion_<std::allocator<void> > const&> (message=...)
at /stacks/common_msgs/geometry_msgs/msg_gen/cpp/include/geometry_msgs/Quaternion.h:182
#1 write<ros::serialization::OStream, geometry_msgs::Quaternion_<std::allocator<void> > > (message=...)
at /stacks/common_msgs/geometry_msgs/msg_gen/cpp/include/geometry_msgs/Quaternion.h:187
#2 serialize<geometry_msgs::Quaternion_<std::allocator<void> >, ros::serialization::OStream> (message=...)
at /opt/ros/cturtle/ros/core/roslib/include/ros/serialization.h:149
#3 next<geometry_msgs::Quaternion_<std::allocator<void> > > (message=...)
at /opt/ros/cturtle/ros/core/roslib/include/ros/serialization.h:741
#4 allInOne<ros::serialization::OStream, sensor_msgs::Imu_<std::allocator<void> > const&> (message=...)
at /stacks/common_msgs/sensor_msgs/msg_gen/cpp/include/sensor_msgs/Imu.h:315
#5 write<ros::serialization::OStream, sensor_msgs::Imu_<std::allocator<void> > > (message=...)
at /stacks/common_msgs/sensor_msgs/msg_gen/cpp/include/sensor_msgs/Imu.h:323
#6 serialize<sensor_msgs::Imu_<std::allocator<void> >, ros::serialization::OStream> (message=...)
at /opt/ros/cturtle/ros/core/roslib/include/ros/serialization.h:149
#7 ros::serialization::serializeMessage<sensor_msgs::Imu_<std::allocator<void> > > (message=...)
at /opt/ros/cturtle/ros/core/roslib/include/ros/serialization.h:809
#8 0x0002157c in operator()<ros::SerializedMessage, ros::SerializedMessage (*)(const sensor_msgs::Imu_<std::allocator<void> >&), boost::_bi::list0> (
function_obj_ptr=<value optimized out>)
at /usr/include/boost/bind/bind.hpp:236
#9 boost::_bi::bind_t<ros::SerializedMessage, ros::SerializedMessage (*)(sensor_msgs::Imu_<std::allocator<void> > const&), boost::_bi::list1<boost::reference_wrapper<sensor_msgs::Imu_<std::allocator<void> > const> > >::operator() (
function_obj_ptr=<value optimized out>)
at /usr/include/boost/bind/bind_template.hpp:20
#10 boost::detail::function::function_obj_invoker0<boost::_bi::bind_t<ros::SerializedMessage, ros::SerializedMessage (*)(sensor_msgs::Imu_<std::allocator<void> > const&), boost::_bi::list1<boost::reference_wrapper<sensor_msgs::Imu_<std::allocator<void> > const> > >, ros::SerializedMessage>::invoke (
function_obj_ptr=<value optimized out>)
at /usr/include/boost/function/function_template.hpp:132
#11 0x40366998 in boost::function0<ros::SerializedMessage>::operator() (
this=0x65930, topic=<value optimized out>, serfunc=..., m=...)
at /usr/include/boost/function/function_template.hpp:1013
#12 ros::TopicManager::publish(std::string const&, boost::function<ros::SerializedMessage ()()> const&, ros::SerializedMessage&) (this=0x65930,
topic=<value optimized out>, serfunc=..., m=...)
at /opt/ros/cturtle/ros/core/roscpp/src/libros/topic_manager.cpp:726
#13 0x403a7690 in ros::Publisher::publish(boost::function<ros::SerializedMessage ()()> const&, ros::SerializedMessage&) const (this=0xbed52fc8, serfunc=...,
m=...) at /opt/ros/cturtle/ros/core/roscpp/src/libros/publisher.cpp:93
#14 0x00028828 in ros::Publisher::publish<sensor_msgs::Imu_<std::allocator<void> > > (this=0xbed52fc8, message=<value optimized out>)
at /opt/ros/cturtle/ros/core/roscpp/include/ros/publisher.h:108
#15 0x0002aa14 in ImuNode::publish_datum (this=0xbed52b28)
at /stacks/imu_drivers/microstrain_3dmgx2_imu/imu_node.cc:331
#16 0x00020edc in ImuNode::spin (argc=Cannot access memory at address 0xdddd5
)
at /stacks/imu_drivers/microstrain_3dmgx2_imu/imu_node.cc:360
#17 main (argc=Cannot access memory at address 0xdddd5
) at /stacks/imu_drivers/microstrain_3dmgx2_imu/imu_node.cc:685
Steve
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osuosl.org/pipermail/ros-users/attachments/20101122/c2cfeda8/attachment-0002.html>
More information about the ros-users
mailing list