SMB IMU interface is a stripped down version of VersaVIS that allows receiving data from an IMU and publishing the sensor data in ROS. Currently, only the ADIS16448 (both AMLZ and BMLZ versions) is supported. Data is published using a slightly modified version of rosserial.
cd ~/catkin_ws/src/
git clone [email protected]:ETHZ-RobotX/smb_imu_interface.git --recursive
catkin build versavis_adis16448_receiver
cd smb_imu_interface/firmware
./setup.sh
Add yourself to dialout
group
sudo adduser <username> dialout
Copy udev rule file to your system:
sudo cp firmware/98-versa-vis.rules /etc/udev/rules.d/98-versa-vis.rules
Afterwards, use the following commands to reload the rules
sudo udevadm control --reload-rules
sudo udevadm trigger
sudo ldconfig
Note: You might have to reboot your computer for this to take effect. You can check by see whether a /dev/versavis
is available and pointing to the correct device.
Adapt the configuration file to your setup needs.
- Install the arduino IDE from here. Use version 1.8.2!
- Note that a small modification of the install script (
install.sh
) might be required. In particular you may need to change the lineRESOURCE_NAME=cc.arduino.arduinoide
toRESOURCE_NAME=arduino-arduinoide
as per the issue here.
- Note that a small modification of the install script (
- Open
firmware/versavis/versavis.ino
in the IDE - Go to
File -> Preferences
- Change Sketchbook location to
versavis/firmware/
- Install board support:
- For VersaVIS 1.0 (the black one): Check here
- Set
Tools -> Port -> tty/ACM0 (Arduino Zero)
, andTools -> Board -> VersaVIS
. - Compile using the Verify menu option
- Flash using the Upload menu option
- Adapt
versavis_adis16448_receiver/launch/run_versavis_adis16448.launch
to your needs. - Run with
roslaunch versavis_adis16448_receiver run_versavis_adis16448.launch
- Wait for successfull initialization.