# bosch\_imu\_driver

Пакет bosch\_imu\_driver служит в качестве драйвера для IMU Bosch BNO055. Взаимодействует с IMU по UART. Может выдавать показания датчика, как через ROS-топик, так и через LCM-канал.

### Публикуемые ROS-топики

* /imu/data [(sensor\_msgs/Imu)](http://docs.ros.org/api/sensor_msgs/html/msg/Imu.html)
* /imu/raw [(sensor\_msgs/Imu)](http://docs.ros.org/api/sensor_msgs/html/msg/Imu.html)
* /imu/mag [(sensor\_msgs/MagneticField)](http://docs.ros.org/api/sensor_msgs/html/msg/MagneticField.html)
* /imu/temp [(sensor\_msgs/Temperature)](http://docs.ros.org/api/sensor_msgs/html/msg/Temperature.html)

### LCM API

Публикуемый LCM-канал: IMU\_DATA

Формат LCM-сообщения:

```
struct imu_lcm_data
{
    float orientation_quaternion[4];

    float orientation_euler[3];
    float orientation_covariance[9];

    float angular_velocity[3];
    float angular_velocity_covariance[9];

    float linear_acceleration[3]; 
    float linear_acceleration_covariance[9];

    float magnetic_field[3];
    float magnetic_field_covariance[9];

    float temperature;
    float temperature_variance;
}
```

Все поля сообщения повторяют соответствующие им в ROS.

### Параметры пакета

Файл параметров располагается в папке config

* port (по умолчанию: '/dev/ttyUSB0') - путь к USB-порту, к которому подключен датчик
* frame\_id (по умолчанию: 'imu\_link') - то, чем заполняется поле frame\_id в sensor\_msgs. Необходим для построения ROS TF Tree.
* frequency (по умолчанию: 100) - частота чтения и публикации данных с датчика в герцах.&#x20;
