-
 

adi_driver package from adi_driver repo

adi_driver

Package Summary

Tags No category tags.
Version 1.0.3
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/tork-a/adi_driver.git
VCS Type git
VCS Version master
Last Updated 2022-02-04
Dev Status DEVELOPED
CI status
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The adi_driver package

Additional Links

Maintainers

  • Tokyo Opensource Robotics Kyokai (TORK) Developer Team

Authors

  • Ryosuke Tajima

adi_driver Build Status CircleCI

This package contains ROS driver nodes for Analog Devices(ADI) sensor products mainly communicate by SPI(Serial Periferal Interface).

Currently supported devices are:

  • ADIS16470
    • Wide Dynamic Range Mini MEMS IMU
  • ADXL345:
    • 3-Axis, ±2 g/±4 g/±8 g/±16 g Digital Accelerometer
    • The support for this device is experimental
  • ADIS16495
    • Higher grade MEMS IMU
    • The support for this device is experimental

You need a SPI interface on your PC to communicate with device. This package supports Devantech’s USB-IIS as the USB-SPI converter.

USB-IIS

Overview

USB-IIS is a USB to Serial/I2C/SPI converter, simple, small and easy to use. You don’t need any extra library like libusb or libftdi. The device is available on /dev/ttyACM* as modem device.

Please consult the product information and SPI documentation for the detail.

Tips

You need to remove the jumper block on Power link pins to provide 3.3V for the device.

You need to add your user to dialout group to acces /dev/ttyACM* .

``` $ sudo adduser your_user_name dialout


If it takes several seconds until /dev/ttyACM* available, you need to
uninstall modemmanager as:


``` $ sudo apt remove modemmanager 

ADIS16470

Overview

ADIS16470 is a complete inertial system that includes a triaxis gyroscope and a triaxis accelerometer.

You can use Breakout board for easy use.

Connection

You need to build a flat cable to connect the USB-ISS and the ADIS16470 breakout board. The picture shows a implementation.

Very simple schematic is here. J1 is the USB-ISS pin and J2 is the 2mm pin headers on the ADIS16470 breakout board.

Note: you only need to connect one of the power-line(3.3V and GND). They are connected in the breakout board.

BOM

  • J1: 2550 Connector 6pin
  • J2: FCI Connector for 1.0mm pitch ribon cables
  • 1.0 mm pitch ribon cable

Quick start

Connect your sensor to USB port. Run the launch file as:

$ roslaunch adi_driver adis16470.launch

You can see the model of ADIS16470 breakout board in rviz panel.

Topics

  • /imu/data_raw (sensor_msgs/Imu)

    IMU raw output. It contains angular velocities and linear accelerations. The orientation is always unit quaternion.

  • /imu/data (sensor_msgs/Imu)

    IMU filtered output by imu_filter_madgwick. It contains angular velocities and linear accelerations. The orientation is always unit quaternion.

  • /imu/temperature (sensor_msgs/Temperature)

    Temperature of the IMU. To publish this message, you need to set true the parameter named ‘publish_temperature’. See sample launch file.

Service

  • /imu/bias_estimate

    This service activate ADIS16470’s internal bias estimation function. You should call this service after the IMU is placed steady for at least 40 seconds. The bias value of the gyro sensors are calcuarated as the average of the duration. The sensor value are obtained after it is substracted by the bias value. The bias value is stored on the chip and cleared when it powered up or reset.

ADXL345

Overview

The ADXL345 is a small, thin, low power, 3-axis accelerometer with high resolution (13-bit) measurement at up to ±16g. At this moment, support for this device is experimental.

ADIS16495

Overview

USB-ISS 3.3V output can supply up to 80mA. ADIS16495 supply current is 89mA(typical). External Linear Regulator(LDO) help power supply requirment for ADIS16495. The picture used ADP125(Evaluation board) which is 500mA LDO for 5V to 3.3V. The 5V is from USB-ISS 5V pin.

CHANGELOG

Changelog for package adi_driver

1.0.3 (2018-11-12)

  • Change to depend on imu_tools(#19)
    • Depend on imu_filter_madgwick and rviz_imu_plugin
  • Add bias estimation service document(#20)
    • Update README.md
    • Fix incorrect sentence.
  • Contributors: Ryosuke Tajima

1.0.2 (2018-08-17)

  • Add bias estimation service(#13)
    • Add function for bias estimation
    • Add bias estimation time function
    • Remove unnecessary depens on imu_tools
  • Add temperature topic(#17)
    • Add topic description to README.md
    • Add mutex lock for data queues in the test script
    • Add test for temperature publishing
  • Add circleci badge(#18)
  • Adaptation for Circleci 2.0(#16)
    • Add circleci v2.0 config file
  • Contributors: Kazuki Takao, Ryosuke Tajima

1.0.1 (2018-02-02)

  • fix deb path (#8)
  • workaround for run_tests on installed space (#7)
    • enable deb build
    • add rosdoc.yaml
    • add .github_release.sh
    • Change photo of the sensor
    • Add author to package.xml (#5)
    • Add urdf to install (#5)
    • add roslaunch-check with_rviz:=true with_plot:=true
    • install test directory
    • workaround for run_tests on installed space
  • Add adxl345 descrption into README.md (#4)
  • Contributors: Ryosuke Tajima, Tokyo Opensource Robotics Developer 534

1.0.0 (2018-01-21)

  • note that you need to restart after addgroup (#3)
  • Add publish_tf argument for launch file
  • Change to load model only if use rviz
  • Update index.rst
  • Fix schematics, add documents
    • Schematics of ADIS16470 cable was wrong
    • Add ADXL345 cable schematics
  • Add docbuild (#2)
    • add circle.yml
    • add docbuild command to CMakeLists.txt
    • Update index.rst contents
    • Put travis badge.
  • Contributors: Ryosuke Tajima, Tokyo Opensource Robotics Developer 534, Y. Suzuki

0.0.1 (2017-12-14)

  • Add doc/index.rst
  • Fix build errors
  • Remove all error of roslint
  • Add roslint settings
  • Adjust header inclusion
  • Add loop rate parameter
  • Refactor adis16470 code
  • Add and change copyrights
  • Change copyright representation
  • Change test more practical
  • add .travis.yml ([#1 <https://github.com/7675t/adi_driver/issues/1>]{.title-ref})
  • add xacro to pakcage.xml
  • add rviz, imu_filter_madgwick to pakcage.xml
  • fix layout in package.xml
  • add rqt_plot to package.xml
  • add .travis.yml, using generate_prerelease_script.py
  • Contributors: Ryosuke Tajima, Tokyo Opensource Robotics Developer 534

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

No known dependants.

Launch files

  • launch/adis16470.launch
      • with_filter [default: true]
      • with_rviz [default: false]
      • with_plot [default: false]
      • device [default: /dev/ttyACM0]
      • frame_id [default: imu]
      • burst_read [default: false]
      • publish_temperature [default: false]
      • rate [default: 100]
      • publish_tf [default: true]
      • publish_debug_topics [default: false]
  • launch/adxl345.launch
      • device [default: /dev/ttyACM0]
      • with_plot [default: false]
  • launch/adis16495.launch
      • with_filter [default: true]
      • with_rviz [default: false]
      • with_plot [default: false]
      • device [default: /dev/ttyACM0]
      • frame_id [default: imu]
      • burst_read [default: false]
      • rate [default: 100]
      • publish_tf [default: true]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged adi_driver at Robotics Stack Exchange