All Projects → KumarRobotics → imu_vn_100

KumarRobotics / imu_vn_100

Licence: Apache-2.0 License
ROS driver for VN-100 of VectorNav Technologies

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to imu vn 100

Kimera Vio Ros
ROS wrapper for Kimera-VIO
Stars: ✭ 182 (+420%)
Mutual labels:  ros, imu
Venom
All Terrain Autonomous Quadruped
Stars: ✭ 145 (+314.29%)
Mutual labels:  ros, imu
Eskf
ROS Error-State Kalman Filter based on PX4/ecl. Performs GPS/Magnetometer/Vision Pose/Optical Flow/RangeFinder fusion with IMU
Stars: ✭ 63 (+80%)
Mutual labels:  ros, imu
katana driver
This stack contains hardware drivers, Gazebo plugins and other basic functionalities for the Neuronics Katana family of robot arms.
Stars: ✭ 16 (-54.29%)
Mutual labels:  ros, ros-driver
microstrain inertial
ROS driver for all of MicroStrain's current G and C series products. To learn more visit
Stars: ✭ 44 (+25.71%)
Mutual labels:  ros, imu
imu 3dm gx4
Driver for Lord Corporation Microstrain 3DM GX4 25
Stars: ✭ 31 (-11.43%)
Mutual labels:  imu, ros-driver
Lego Loam
LeGO-LOAM: Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain
Stars: ✭ 1,138 (+3151.43%)
Mutual labels:  ros, imu
lidar-sync-mimics-gps
Open-Source LiDAR Time Synchronization System by Mimicking GPS-clock
Stars: ✭ 52 (+48.57%)
Mutual labels:  ros, imu
vicon
Code for working with the Vicon tracking system
Stars: ✭ 20 (-42.86%)
Mutual labels:  ros, ros-driver
phidgets drivers
ROS drivers for various Phidgets devices
Stars: ✭ 30 (-14.29%)
Mutual labels:  ros, ros-driver
aruw-vision-platform-2019
ARUW's vision code from the 2019 season. Published here, read-only, for public reference.
Stars: ✭ 37 (+5.71%)
Mutual labels:  ros
ar-tu-do
ROS & Gazebo project for 1/10th scale self-driving race cars
Stars: ✭ 65 (+85.71%)
Mutual labels:  ros
RoboticsAcademy
Learn Robotics with JdeRobot
Stars: ✭ 160 (+357.14%)
Mutual labels:  ros
trac ik
ROS 2 port of `trac_ik`, an alternative Inverse Kinematics solver to the popular inverse Jacobian methods in KDL.
Stars: ✭ 14 (-60%)
Mutual labels:  ros
Virtual-Robot-Challenge
How-to on simulating a robot with V-REP and controlling it with ROS
Stars: ✭ 83 (+137.14%)
Mutual labels:  ros
urban road filter
Real-time LIDAR-based Urban Road and Sidewalk detection for Autonomous Vehicles 🚗
Stars: ✭ 134 (+282.86%)
Mutual labels:  ros
multicam calibration
No description or website provided.
Stars: ✭ 91 (+160%)
Mutual labels:  ros
rqt ez publisher
ROS topic publisher GUI for rqt
Stars: ✭ 32 (-8.57%)
Mutual labels:  ros
firmware
Firmware for the ROSflight autopilot
Stars: ✭ 115 (+228.57%)
Mutual labels:  ros
docker-ros-x11
A docker environment with ROS, Gazebo, X11 and Tensorflow
Stars: ✭ 29 (-17.14%)
Mutual labels:  ros

Build Status

imu_vn_100

Picture of IMU

The imu_vn_100 package is a linux ROS driver for VN-100 Rugged IMU of VECTORNAV. The package is developed based on the official SDK v0.3.2 for Linux. The user manual for the device can be found here.

The package is tested on Ubuntu 14.04 with ROS indigo.

Note that the official SDK is modified within this package due to some bugs or unsupported features. Please carefully update the SDK, since the new SDK may not work with the provided software.

License

  • The license for the official SDK is the MIT license which is included in the include/imu_vn_100/vncpplib
  • The license for the other codes is Apache 2.0 whenever not specified.

Compiling

This is a Catkin package. Make sure the package is on ROS_PACKAGE_PATH after cloning the package to your workspace. And the normal procedure for compiling a catkin package will work.

cd your_work_space
catkin_make --pkg imu_vn_100 --cmake-args -DCMAKE_BUILD_TYPE=Release

Example Usage

Parameters

port (string, default: \tty\USB0)

Port which the device connected to. This can be checked by command dmesg.

frame_id (string, default: imu)

The frame ID entry for the sent messages.

baudrate (int, 921600)

The baud rate of the serial port. The available baud rates can be checked on the user manual. It is suggested that the baud rate is kept at 921600 to ensure the high frequency transmission. The device will send permission denied error code if the baud rate cannot support the desired data package at the desired frequency.

imu_rate (int, 200)

The rate of the IMU data.

enable_magn  (bool, default: true)
enable_press (bool, default: true)
enable_temp  (bool, default: true)

Enable other possible messages that the driver is available to send. Note that the frequency of the data for each of these messages will be the same with the IMU data, if the topic is enabled.

sync_rate (int, 20)

The rate of the sync out trigger signal. Note that the actual rate may not exactly match the provided rate, unless the provided rate is a divisor of 800. When sync_rate <= 0, it is disabled.

Published Topics

imu/imu (sensor_msgs/Imu)

The message contains the uncompensated (for the definition of UNCOMPENSATED, please refer to the user manual) angular velocity and linear acceleration. Note that the orientation is not provided on this topic.

imu/magnetic_field (sensor_msgs/MagneticField)

Uncompensated magnetic field.

imu/pressure (sensor_msgs/FluidPressure)

Pressure.

imu/temperature (sensor_msgs/Temperature)

Temperature in degree Celsius

Node

With the provided launch file, do

roslaunch imu_vn_100 vn_100_cont.launch

FAQ

  1. The driver can't open my device? Make sure you have ownership of the device in /dev.

  2. Why I have permission error during the initialization process of the driver? Most often, this is because the baud rate you set does not match the package size to be received. Try increase the baud rate.

Bugs or Features Required of the Official SDK

  • [Solved] Define macros for options to set synchronization register and communication control register. (vndevice.h)

  • [Solved] Pressure entry is not properly parsed and overwrites temperature in vndevice_processAsyncData when the async data output type is set to VNASYNC_VNIMU. (vndevice.c)

  • [Solved] Synchronization time or count is not parsed in vndevice_processAsyncData. (vndevice.c)

  • Angular velocity and linear acceleration are flipped when the device is set to binary output using BG1_IMU

  • Orientation and uncompensated IMU measurements cannot be acquired within a single setting using async output.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].