GithubHelp home page GithubHelp logo

tsukuyomih2 / adi_driver Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tork-a/adi_driver

0.0 1.0 0.0 6.28 MB

ROS package for ADI(Analog Devices Inc.)'s IMU sensors

Home Page: http://wiki.ros.org/adi_driver

License: BSD 3-Clause "New" or "Revised" License

CMake 5.49% C++ 74.84% Python 18.16% Shell 1.51%

adi_driver's Introduction

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.

adi_driver's People

Contributors

534o avatar 7675t avatar jonny214 avatar ktakao avatar moirai avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.