[ros-users] Microstrain GX2 on arm

Josh Faust jfaust at willowgarage.com
Mon Nov 22 19:48:23 UTC 2010


Try the patch from: https://code.ros.org/trac/ros/ticket/2883

<https://code.ros.org/trac/ros/ticket/2883>Josh

On Sun, Nov 21, 2010 at 8:32 PM, Steven Martin <
s34.martin at connect.qut.edu.au> wrote:

>   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
>
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ros.org/pipermail/ros-users/attachments/20101122/53fefa0b/attachment-0003.html>


More information about the ros-users mailing list