0
$\begingroup$

I installed ROS microstrain_mips using git clone in my workspace. Here is the Wiki page of the package. However, my current ROS version is Noetic, and the package supports Indigo. When I try to execute the launch file after installation, I encounter an error saying, Couldn't find executable named microstrain_mips_node.

  1. I'm curious if ROS microstrain_mips is compatible with Noetic.
  2. If microstrain_mips_node isn't running as it should, I'm wondering how to resolve this issue.

I've already executed catkin_make and source ./devel/setup.bash before running roslaunch.

My OS is Ubuntu 20.04.6 LTS. When I clone the package into the existed WS, the package is not installed in ./devel/lib folder, so I did't get any output of: find . -name microstrain_mips_node. However, when i clone the package into a new workspace, it worked in it. In the existed WS, there are a couple of python ROS packages. Do you think it is the problem?

$\endgroup$
5
  • $\begingroup$ Did you carefully check the catkin_make output for errors? When you build from src, you are required to install all dependencies that the ros package needs. $\endgroup$
    – Mike973
    Nov 10 at 14:13
  • $\begingroup$ Hi, Mike. I checked the catkin_make output but I did not get any error message. $\endgroup$ Nov 11 at 14:59
  • $\begingroup$ Please edit your question to show us the output of: find . -name microstrain_mips_node and run this from your catkin_ws directory. $\endgroup$
    – Mike973
    Nov 11 at 15:08
  • $\begingroup$ Also tell us what operating system and version you are using. $\endgroup$
    – Mike973
    Nov 11 at 15:11
  • $\begingroup$ I run the find command line but I did not receive any output, and then checked ./devel/lib but there is not the package name in the lib directory. $\endgroup$ Nov 11 at 15:26

1 Answer 1

1
$\begingroup$

Welcome to Robotics Stack Exchange!

I could successfully install microstrain_mips package on ROS Noetic in Ubuntu 20.04.6 LTS. Below are the steps, I followed:

$ mkdir -p ~/microstrain_ws/src/
$ cd ~/microstrain_ws/src/
$ git clone https://github.com/ros-drivers/microstrain_mips.git
$ rosdep install --from-paths . --ignore-src -r -y
$ cd cd ~/microstrain_ws/
$ source /opt/ros/noetic/setup.bash
$ catkin_make

Next, I was able to run the node. It showed some obvious error as I don't have the device connected. However, until here, it seems to be working well.

$ source /opt/ros/noetic/setup.bash
$ source devel/setup.bash 
$ roscore
$ rosrun microstrain_mips microstrain_mips_node
[ INFO] [1699613921.567464487]: Attempting to open serial port </dev/ttyACM1> at <115200> 

Unable to open com Port /dev/ttyACM1
 Errno = 2
[FATAL] [1699613921.568017008]: Couldn't open serial port!  Is it plugged in?
Segmentation fault (core dumped)

I can also run microstrain.launch as shown below:

$ roslaunch microstrain_mips microstrain.launch
... logging to /home/user/.ros/log/893a16fc-7fb9-11ee-a910-db79fbf4f264/roslaunch-dell-5876.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://dell:35581/

SUMMARY
========

PARAMETERS
 * /gx5/microstrain_mips_node/auto_init: True
 * /gx5/microstrain_mips_node/baudrate: 115200
 * /gx5/microstrain_mips_node/declination: 0.23
 * /gx5/microstrain_mips_node/declination_source: 2
 * /gx5/microstrain_mips_node/device_setup: True
 * /gx5/microstrain_mips_node/dynamics_mode: 1
 * /gx5/microstrain_mips_node/frame_based_enu: False
 * /gx5/microstrain_mips_node/gps_frame_id: navsat_link
 * /gx5/microstrain_mips_node/gps_rate: 4
 * /gx5/microstrain_mips_node/imu_angular_cov: [0.01, 0, 0, 0, 0...
 * /gx5/microstrain_mips_node/imu_frame_id: gx5_link
 * /gx5/microstrain_mips_node/imu_linear_cov: [0.01, 0, 0, 0, 0...
 * /gx5/microstrain_mips_node/imu_orientation_cov: [0.01, 0, 0, 0, 0...
 * /gx5/microstrain_mips_node/imu_rate: 100
 * /gx5/microstrain_mips_node/nav_rate: 10
 * /gx5/microstrain_mips_node/odom_child_frame_id: base_link
 * /gx5/microstrain_mips_node/odom_frame_id: wgs84_odom_link
 * /gx5/microstrain_mips_node/port: /dev/microstrain
 * /gx5/microstrain_mips_node/publish_filtered_imu: False
 * /gx5/microstrain_mips_node/publish_imu: True
 * /gx5/microstrain_mips_node/readback_settings: True
 * /gx5/microstrain_mips_node/remove_imu_gravity: True
 * /gx5/microstrain_mips_node/save_settings: True
 * /imu_diagnostic_aggregator/analyzers/microstrain_mips_node/analyzers/general/expected: ['microstrain_mip...
 * /imu_diagnostic_aggregator/analyzers/microstrain_mips_node/analyzers/general/imu/expected: ['microstrain_mip...
 * /imu_diagnostic_aggregator/analyzers/microstrain_mips_node/analyzers/general/imu/path: imu
 * /imu_diagnostic_aggregator/analyzers/microstrain_mips_node/analyzers/general/imu/remove_prefix: microstrain_mips_...
 * /imu_diagnostic_aggregator/analyzers/microstrain_mips_node/analyzers/general/imu/timeout: 5.0
 * /imu_diagnostic_aggregator/analyzers/microstrain_mips_node/analyzers/general/imu/type: diagnostic_aggreg...
 * /imu_diagnostic_aggregator/analyzers/microstrain_mips_node/analyzers/general/packet/expected: ['microstrain_mip...
 * /imu_diagnostic_aggregator/analyzers/microstrain_mips_node/analyzers/general/packet/path: packet
 * /imu_diagnostic_aggregator/analyzers/microstrain_mips_node/analyzers/general/packet/remove_prefix: microstrain_mips_...
 * /imu_diagnostic_aggregator/analyzers/microstrain_mips_node/analyzers/general/packet/timeout: 5.0
 * /imu_diagnostic_aggregator/analyzers/microstrain_mips_node/analyzers/general/packet/type: diagnostic_aggreg...
 * /imu_diagnostic_aggregator/analyzers/microstrain_mips_node/analyzers/general/path: general
 * /imu_diagnostic_aggregator/analyzers/microstrain_mips_node/analyzers/general/port/expected: ['microstrain_mip...
 * /imu_diagnostic_aggregator/analyzers/microstrain_mips_node/analyzers/general/port/path: port
 * /imu_diagnostic_aggregator/analyzers/microstrain_mips_node/analyzers/general/port/remove_prefix: microstrain_mips_...
 * /imu_diagnostic_aggregator/analyzers/microstrain_mips_node/analyzers/general/port/timeout: 5.0
 * /imu_diagnostic_aggregator/analyzers/microstrain_mips_node/analyzers/general/port/type: diagnostic_aggreg...
 * /imu_diagnostic_aggregator/analyzers/microstrain_mips_node/analyzers/general/remove_prefix: microstrain_mips_...
 * /imu_diagnostic_aggregator/analyzers/microstrain_mips_node/analyzers/general/timeout: 5.0
 * /imu_diagnostic_aggregator/analyzers/microstrain_mips_node/analyzers/general/type: diagnostic_aggreg...
 * /imu_diagnostic_aggregator/analyzers/microstrain_mips_node/path: microstrain_mips_...
 * /imu_diagnostic_aggregator/analyzers/microstrain_mips_node/type: diagnostic_aggreg...
 * /rosdistro: noetic
 * /rosversion: 1.16.0

NODES
  /
    imu_diagnostic_aggregator (diagnostic_aggregator/aggregator_node)
  /gx5/
    microstrain_mips_node (microstrain_mips/microstrain_mips_node)

auto-starting new master
process[master]: started with pid [5884]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to 893a16fc-7fb9-11ee-a910-db79fbf4f264
process[rosout-1]: started with pid [5894]
started core service [/rosout]
process[gx5/microstrain_mips_node-2]: started with pid [5901]
process[imu_diagnostic_aggregator-3]: started with pid [5902]
[ INFO] [1699614534.743373413]: Attempting to open serial port </dev/microstrain> at <115200> 

Unable to open com Port /dev/microstrain
 Errno = 2
[FATAL] [1699614534.743634974]: Couldn't open serial port!  Is it plugged in?
[gx5/microstrain_mips_node-2] process has died [pid 5901, exit code -11, cmd /home/user/microstrain_ws/devel/lib/microstrain_mips/microstrain_mips_node __name:=microstrain_mips_node __log:=/home/user/.ros/log/893a16fc-7fb9-11ee-a910-db79fbf4f264/gx5-microstrain_mips_node-2.log].
log file: /home/user/.ros/log/893a16fc-7fb9-11ee-a910-db79fbf4f264/gx5-microstrain_mips_node-2*.log
^C[imu_diagnostic_aggregator-3] killing on exit
[rosout-1] killing on exit
[master] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done

Hope it helps!

$\endgroup$
3
  • $\begingroup$ Hi, ravi. I really appreciate for your help! I have tried to clone the package into the existed work space, but it was not worked. However, now, it is working in the new ws. Thank you so much for your help again! $\endgroup$ Nov 11 at 15:16
  • $\begingroup$ If you add a new package to your catkin_ws/src directory, or you modify an existing CMakeLists.txt file, it is generally a good idea to rebuild everything (do a "clean build".) For catkin_make, you do this by deleting the top-level devel and build directories in the catkin_ws directory, then running catkin_make again. $\endgroup$
    – Mike973
    Nov 11 at 15:32
  • $\begingroup$ Hi Mike, sorry for the late response. It is working on my computer. I really appreciate for your help again. Have a great day! $\endgroup$ Nov 15 at 19:34

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.