Package Summary
Tags | No category tags. |
Version | 1.12.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | autoware src learn and recode. |
Checkout URI | https://github.com/is-whale/autoware_learn.git |
VCS Type | git |
VCS Version | 1.14 |
Last Updated | 2025-03-14 |
Dev Status | UNKNOWN |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tokyo Opensource Robotics Kyokai (TORK) Developer Team
Authors
- Ryosuke Tajima
Autoware’s adi_driver Subtree
This directory is part of a subtree fetched from https://github.com/CPFL/adi_driver on the Autoware branch, a fork from the original https://github.com/ros-drivers/velodyne
This repo adds specific functions for Autoware. If you need to modify any file inside this folder structure, please use the following commands to either push or fetch changes from the subtree. All the commands written here will suppose you’re in the root of Autoware path.
Pulling in commits from the repository subtree
Bring latest commits from https://github.com/CPFL/adi_driver
git subtree pull --prefix ros/src/sensing/drivers/imu/packages/analog_devices https://github.com/CPFL/adi_driver Autoware --squash
Pushing changes to the repository subtree
If you made any modification to the subtree you are encouraged to commit and publish your changes to the fork. You can do with the following command.
git subtree push --prefix ros/src/sensing/drivers/imu/packages/analog_devices https://github.com/CPFL/adi_driver Autoware
Original README below
adi_driver
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
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
- Available at Akiduki
- J2: FCI Connector for 1.0mm pitch ribon cables
- Available at RS Components
- 1.0 mm pitch ribon cable
- Available at Aitendo
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.

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.
Changelog for package adi_driver
1.11.0 (2019-03-21)
1.10.0 (2019-01-17)
1.9.1 (2018-11-06)
1.9.0 (2018-10-31)
1.8.0 (2018-08-31)
- [Fix] Extend and Update interface.yaml (#1291)
- Contributors: Kenji Funaoka
1.7.0 (2018-05-18)
- update Version from 1.6.3 to 1.7.0 in package.xml and CHANGELOG.rst
- Modify package xml version other than 1.6.3
- [fix] Fixes for all packages and dependencies
(#1240)
- Initial Cleanup
- fixed also for indigo
- kf cjeck
- Fix road wizard
- Added travis ci
- Trigger CI
- Fixes to cv_tracker and lidar_tracker cmake
- Fix kitti player dependencies
- Removed unnecessary dependencies
- messages fixing for can
- Update build script travis
- Travis Path
- Travis Paths fix
- Travis test
- Eigen checks
- removed unnecessary dependencies
- Eigen Detection
- Job number reduced
- Eigen3 more fixes
- More Eigen3
- Even more Eigen
- find package cmake modules included
- More fixes to cmake modules
- Removed non ros dependency
- Enable industrial_ci for indidog and kinetic
- Wrong install command
- fix rviz_plugin install
- FastVirtualScan fix
- Fix Qt5 Fastvirtualscan
- Fixed qt5 system dependencies for rosdep
- NDT TKU Fix catkin not pacakged
- More in detail dependencies fixes for more packages
- GLEW library for ORB
- Ignore OrbLocalizer
- Ignore Version checker
- Fix for driveworks interface
- driveworks not catkinpackagedd
- Missing catkin for driveworks
- libdpm opencv not catkin packaged
- catkin lib gnss not included in obj_db
- Points2Polygon fix
- More missing dependencies
- image viewer not packaged
- Fixed SSH2 detection, added viewers for all distros
- Fix gnss localizer incorrect dependency config
- Fixes to multiple packages dependencies
- gnss plib and package
- More fixes to gnss
- gnss dependencies for gnss_loclaizer
- Missing gnss dependency for gnss on localizer
* More fixes for dependencies Replaced gnss for autoware_gnss_library
- gnss more fixes
- fixes to more dependencies
- header dependency
- Debug message
- more debug messages changed back to gnss
- debud messages
- gnss test
- gnss install command
- Several fixes for OpenPlanner and its lbiraries
- Fixes to ROSInterface
- More fixes to robotsdk and rosinterface
- robotsdk calibration fix
- Fixes to rosinterface robotsdk libraries and its nodes
- Fixes to Qt5 missing dependencies in robotsdk
- glviewer missing dependencies
- Missing qt specific config cmake for robotsdk
- disable cv_tracker
- Fix to open planner un needed dependendecies
- Fixes for libraries indecision maker
- Fixes to libraries decision_maker installation
- Gazebo on Kinetic
- Added Missing library
-
- Removed Gazebo and synchonization packages
- Renames vmap in lane_planner
- Added installation commands for missing pakcages
- Fixes to lane_planner
- Added NDT TKU Glut extra dependencies
* ndt localizer/lib fast pcl fixes re enable cv_tracker
- Fix kf_lib
- Keep industrial_ci
- Fixes for dpm library
- Fusion lib fixed
- dpm and fusion header should match exported project name
- Fixes to dpm_ocv ndt_localizer and pcl_omp
- no fast_pcl anymore
- fixes to libdpm and its package
- CI test
- test with native travis ci
- missing update for apt
- Fixes to pcl_omp installation and headers
- Final fixes for tests, modified README
-
- Fixes to README
- Enable industrial_ci
- re enable native travis tests
- Added README on how to use subtree
- adi_driver subtree added
- Contributors: Abraham Monrroy, Kosuke Murakami, amc-nu, yukikitsukawa
1.0.1 (2018-02-02)
- fix deb path (#8)
- workaround for run_tests on installed space (#7)
- 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
Package Dependencies
Deps | Name |
---|---|
roslint | |
autoware_build_flags | |
catkin | |
imu_filter_madgwick | |
imu_tools | |
rqt_plot | |
rviz | |
xacro | |
roslaunch | |
rostest | |
roscpp | |
sensor_msgs |
System Dependencies
Dependant Packages
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]
- rate [default: 100]
- publish_tf [default: true]
- launch/adxl345.launch
-
- device [default: /dev/ttyACM0]
- with_plot [default: false]
Messages
Services
Plugins
Recent questions tagged adi_driver at Robotics Stack Exchange
![]() |
adi_driver package from adi_driver repoadi_driver |
Package Summary
Tags | No category tags. |
Version | 1.0.3 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | ROS package for ADI(Analog Devices Inc.)'s IMU sensors |
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 | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tokyo Opensource Robotics Kyokai (TORK) Developer Team
Authors
- Ryosuke Tajima
adi_driver
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
- Available at Akiduki
- J2: FCI Connector for 1.0mm pitch ribon cables
- Available at RS Components
- 1.0 mm pitch ribon cable
- Available at Aitendo
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 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)
- 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
Package Dependencies
Deps | Name |
---|---|
roscpp | |
sensor_msgs | |
roslint | |
std_srvs | |
catkin | |
imu_filter_madgwick | |
rviz_imu_plugin | |
rqt_plot | |
rviz | |
xacro | |
roslaunch | |
rostest |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
roomblock_bringup |
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
Services
Plugins
Recent questions tagged adi_driver at Robotics Stack Exchange
![]() |
adi_driver package from adi_driver repoadi_driver |
Package Summary
Tags | No category tags. |
Version | 1.0.3 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | ROS package for ADI(Analog Devices Inc.)'s IMU sensors |
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 | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tokyo Opensource Robotics Kyokai (TORK) Developer Team
Authors
- Ryosuke Tajima
adi_driver
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
- Available at Akiduki
- J2: FCI Connector for 1.0mm pitch ribon cables
- Available at RS Components
- 1.0 mm pitch ribon cable
- Available at Aitendo
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 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)
- 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
Package Dependencies
Deps | Name |
---|---|
roscpp | |
sensor_msgs | |
roslint | |
std_srvs | |
catkin | |
imu_filter_madgwick | |
rviz_imu_plugin | |
rqt_plot | |
rviz | |
xacro | |
roslaunch | |
rostest |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
roomblock_bringup |
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
Services
Plugins
Recent questions tagged adi_driver at Robotics Stack Exchange
![]() |
adi_driver package from adi_driver repoadi_driver |
Package Summary
Tags | No category tags. |
Version | 1.0.3 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | ROS package for ADI(Analog Devices Inc.)'s IMU sensors |
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
Additional Links
Maintainers
- Tokyo Opensource Robotics Kyokai (TORK) Developer Team
Authors
- Ryosuke Tajima
adi_driver
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
- Available at Akiduki
- J2: FCI Connector for 1.0mm pitch ribon cables
- Available at RS Components
- 1.0 mm pitch ribon cable
- Available at Aitendo
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 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)
- 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
Package Dependencies
Deps | Name |
---|---|
roscpp | |
sensor_msgs | |
roslint | |
std_srvs | |
catkin | |
imu_filter_madgwick | |
rviz_imu_plugin | |
rqt_plot | |
rviz | |
xacro | |
roslaunch | |
rostest |
System Dependencies
Dependant Packages
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]