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
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]