Electronics: IMU - olinrobotics/gravl GitHub Wiki
PhidgetsSpatial Precision 3/3/3 High Resolution IMU
- Phidgets Product Page (link)
- Phidgets Getting Started with Linux Page (link)
- Phidgets Python Language Page (link)\
- Phidget22 Python API Manual (link)
- Phidget Code Samples (link)
- Phidget "What is a Phidget?" Page (link)
- Phidget ROS Package Page (link)
- phidget_imu ROS Package Page (link)
- imu_filter_madgwick ROS Package Page (link)
- Follow the instructions on the Phidgets Getting Started with Linux page (link)
- Note: When running example program with current IMU unit, I found that the program registered four separate devices for each plug & unplug. Maybe one for each accel, gyro, etc? - Connor
- Read about the basics of Phidgets on the "What is a Phidget" page (link)
- Check out some example code written in Python for the IMU on the Phidgets Python Language Page (link)
- Install libphidget21 by following these instructions. (link) ROS uses libphidget 21, not 22.
OPTION 1: Follow install instructions for phidgets package install on ROS wiki (link)
- The nodes resulting from this install return Phidget-specific data types.
- If your
rosmake --pre-clean phidgets
command fails due to missing opencv2, edit the dependencies file inside the phidgets package and comment out the line regarding opencv as a dependency. - If your
rosmake --pre-clean phidgets
command fails due to missing other packages, run the commandsudo apt-get install ros-indigo-navigation
to install the ROS navigational stack, which has the packages you need.
OPTION 2: Follow install instructions for phidgets_imu package install on ROS wiki (link)
- Run command `sudo apt-get install ros-indigo-phidgets-imu
- Setting up ROS library for Phidget
T1: Followed instructions for install on ROS wiki (link)
R1: When trying to add /usr/local/lib to the system-wide library path using the following link, received error (link):
bash: /etc/ld.so.conf: Permission denied
T2: Check /etc/ld.so.conf.d/lib.conf
file
R2: /usr/local/lib
is the default configuration for this file
T3: To bypass the error, temporarily added path to local shell using cmd: export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
R3: When trying to copy udev rules with cmd sudo cp udev/99-phidgets.rules /etc/udev/rules.d
, got error:
cp: cannot stat ‘udev/99-phidgets.rules’: No such file or directory
T4: Looked in /udev for phidgets rules
R4: Couldn't find the file.
T5: Ignored error, moved onto rosmake --pre-clean phidgets
R5: Threw error: [rospack] Error: package 'phidgets' depends on non-existent package 'move_base_msgs' and rosdep claims that it is not a system dependency. Check the ROS_PACKAGE_PATH or try calling 'rosdep update
T6: Cloned navigation msgs package to catkin_ws src folder (link); this package contains move_base_msgs. Then ran command catkin_make -pkg navigation_msgs
R6: Got error:
checking for module 'orocos-bfl'
-- package 'orocos-bfl' not found
CMake Error at /usr/share/cmake-2.8/Modules/FindPkgConfig.cmake:283 (message):
A required package was not found
T7: Removed catkin_packages for navigation_msgs, ran cmd sudo apt-get install ros-indigo-navigation
R7: Install completed successfully
T8: Ran catkin_make
in catkin_ws file
R8: catkin_make completed successfully
T9: Re-ran cmd rosmake --pre-clean phidgets
R9: Got different error:
/home/cnovak/catkin_ws/src/phidgets/src/high_speed_encoder.cpp:37:23: fatal error: phidget21.h: No such file
or directory
#include <phidget21.h>
^
compilation terminated.
T10: Installed phidget21 instead of phidget22 following these instructions (link)
R10: rosmake --pre-clean phidgets
Worked, everything is good.
If you got the error during 'rosmake --pre-clean phidgets' that is complaining about opencv2 being a required dependency,open 'manifest.xml' and comment out line 18 '' by changing it to '' and rerun 'rosmake --pre-clean phidgets'
I got an error that said a bunch of stuff. So I didn't install phidgets but the ros package ros-kinetic-phidgets-drivers. This is not available for Indigo. Run sudo apt-install ros-kinetic-phidgets-drivers to install.
Connor Novak last edited on 18/02/15