Getting IMU data

We are working on a project where we need to get realtime IMU data from the reach RTK to use it to control a vessel.
The data is to be recieved by a laptop located on the vessel running UBUNTU and Ros indigo, and the reach runs v 2.2.7.
For that we are sending data form the reach through a tcp socket.
We have set the reach up to be a server streaming a NMEA messege on port 5500.
The NMEA messege only contains the GPS data (which makes sense), but we are unsure how to get the reach to also send the IMU data.

The Reach RTK is located on the vessel, and the tcp socket is only a temporary solution as it was the fastest to get working.
We would like to make it a wired connection, but haven’t been able to find a turturial on how to set up the reach to do that.
We have tried USB-to-PC, but wasn’t able to read any data on any of the devices, and suspect that our procidure might be wrong.


We are also looking for ways to extract the IMU data from Reach. Is it possible to get a log out with this data? One of the reasons we decided to go with the Reach system is because of the RTK + IMU availability. Thanks very much.

I am also very interested for ways to get the IMU data from the reach rtk?
I hope there is a possibility.
Thank you.

No answers???

I also need to use the IMU as a logger and found this to work:

  • Download that zip, scp it over to your reach with “scp root@YOUR.REACH.IP.HERE:/home/root”
  • SSH to the reach as user root with password emlidreach
  • Unzip the file and cd into the directory
  • make
  • sudo ./MPUtest

That will just spew the data out. At this point I was happy enough with that and just redirected it to a file. Or one could pipe it somewhere else. Or write better and optimized c++ code. Mine’s still a work in progress, so that’s as far as I’ve gone so far. I did add a printout of the time to my version.

I did notice that I didn’t get any magnetometer data until I upgraded the reach firmware from 1.2 to 2.3, so you may need to update. That’s the firmware, not reachview. My units are firmware 2.3 with reachview version 2.2.7.


nice work. Any thoughts about the optimal way to direct it out of the reach to the base computer ?

We use something like that: IMU data from Reach Kit

But if you have found a better way, let us know.

Thanks for these very clear instructions. I can now get the acceleration, gyro and magnetic values. Has anyone written a program that turn these into a filtered attitude for the unit?

1 Like

I need attitude data as well if anyone wants to chime in on their successful effort.

I’ve used rtimulib2. It installs straight out the box on the reach. I then wrote a little server similar to the display example in rtimulib2 that sends data to a socket when a client connects to it.

I’ve been struggling with the calibration though, and have to come back to that to get to the bottom of it.