Python example: hwdriver-tao-imu-usb.py
This example shows how to read a Taobotics USB IMU with the pymrpt hwdrivers module.
1#!/usr/bin/env python3
2
3# ---------------------------------------------------------------------
4# Install python3-pymrpt, ros-$ROS_DISTRO-mrpt2, or test with a local build with:
5# export PYTHONPATH=$HOME/code/mrpt/build-Release/:$PYTHONPATH
6# ---------------------------------------------------------------------
7
8from mrpt import pymrpt
9mrpt = pymrpt.mrpt # namespace shortcut
10
11imu = mrpt.hwdrivers.CTaoboticsIMU()
12
13imu.setSerialPort('/dev/ttyUSB0')
14
15# Opens the serial port and start listening
16imu.initialize()
17
18while True:
19 # Process serial port data queue:
20 imu.doProcess()
21
22 # Get observations:
23 obsList = imu.getObservations()
24
25 # Process them:
26 if not obsList.empty():
27 print('Read {} observations'.format(obsList.size()))
28 for t, obs in obsList:
29 timestamp = mrpt.Clock.toDouble(t)
30 print('Time={} obs={}'.format(timestamp, obs.asString()))
31
32 # You can access individual IMU readings with:
33 # angVel_z = o.get(mrpt.obs.TIMUDataIndex.IMU_WZ)
34 #
35 # See: https://docs.mrpt.org/reference/latest/enum_mrpt_obs_TIMUDataIndex.html