diff --git a/.travis.yml b/.travis.yml index de605eaf..190287b0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,7 +19,10 @@ install: - wget http://packages.ros.org/ros.key -O - | sudo apt-key add - - wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add - - sudo apt-get update -qq - - sudo apt-get install -qq -y python-rosdep python-catkin-tools python3-vcstool wget + - sudo apt-get install -qq -y libqt4-dev python-catkin-tools python-rosdep python3-vcstool wget + # Install RTIMULib + - bash ${TRAVIS_BUILD_DIR}/sensors/ca_imu/scripts/install_rtimulib.sh + # Install dependencies - sudo rosdep init - rosdep update # Create workspace diff --git a/ca_bringup/launch/minimal.launch b/ca_bringup/launch/minimal.launch index f7d9538f..535aca35 100644 --- a/ca_bringup/launch/minimal.launch +++ b/ca_bringup/launch/minimal.launch @@ -2,21 +2,29 @@ - - + + + + + + + + + - + - - - - + + + + diff --git a/ca_description/urdf/sensors/imu_sensor.xacro b/ca_description/urdf/sensors/imu_sensor.xacro index 8cce7929..1cc305d8 100644 --- a/ca_description/urdf/sensors/imu_sensor.xacro +++ b/ca_description/urdf/sensors/imu_sensor.xacro @@ -23,6 +23,10 @@ + + Gazebo/BlueGlow + + true diff --git a/docker/create_ros_melodic/Dockerfile b/docker/create_ros_melodic/Dockerfile index 27f3d1fe..e78ec08e 100644 --- a/docker/create_ros_melodic/Dockerfile +++ b/docker/create_ros_melodic/Dockerfile @@ -45,7 +45,21 @@ RUN echo ". /opt/ros/${ROS1_DISTRO}/setup.bash" >> /home/${USER}/.bashrc ENV CATKIN_SETUP_BASH "${WS_DIR}/devel/setup.bash" RUN echo "[[ -f ${CATKIN_SETUP_BASH} ]] && . ${CATKIN_SETUP_BASH}" >> /home/${USER}/.bashrc +# Install RTIMULib +ENV RTIMULib_PATH="/home/${USER}/RTIMULib" +ENV RTIMULib_BUILD="${RTIMULib_PATH}/Linux/build" +# Clone repo in RTIMULib_PATH +RUN mkdir -p ${RTIMULib_PATH} +RUN git clone https://github.com/RoboticaUtnFrba/RTIMULib.git ${RTIMULib_PATH} +WORKDIR ${RTIMULib_PATH} +# Build and install RTIMULib +RUN mkdir -p ${RTIMULib_BUILD} +WORKDIR ${RTIMULib_BUILD} +RUN cmake -DBUILD_GL=OFF .. +RUN make -j4 USER root +RUN make install +RUN ldconfig # Workspace RUN mkdir -p ${WS_DIR}/src/ && \ diff --git a/docker/create_ros_melodic_gazebo9/packages.txt b/docker/create_ros_melodic_gazebo9/packages.txt index 75c18bf3..7caa0f52 100644 --- a/docker/create_ros_melodic_gazebo9/packages.txt +++ b/docker/create_ros_melodic_gazebo9/packages.txt @@ -2,6 +2,7 @@ gstreamer1.0-tools libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-dev +libqt4-dev libudev-dev python-catkin-lint @@ -20,6 +21,7 @@ ros-*-gazebo-ros-control ros-*-gazebo-ros-pkgs ros-*-hardware-interface ros-*-image-proc +ros-*-imu-tools ros-*-joint-limits-interface ros-*-joy ros-*-joy-teleop diff --git a/docker/create_ubuntu_bionic/Dockerfile b/docker/create_ubuntu_bionic/Dockerfile index 689de867..a33f47c1 100644 --- a/docker/create_ubuntu_bionic/Dockerfile +++ b/docker/create_ubuntu_bionic/Dockerfile @@ -19,6 +19,7 @@ RUN apt-get update && \ build-essential \ curl \ git \ + libqt4-dev \ mesa-utils \ pkg-config \ python-vcstools \ diff --git a/docs/INSTALLATION.md b/docs/INSTALLATION.md index c15bf2c4..62beebbc 100644 --- a/docs/INSTALLATION.md +++ b/docs/INSTALLATION.md @@ -2,7 +2,7 @@ ## Prerequisites -* [ROS](http://wiki.ros.org/ROS/Installation) _Kinetic_ or _Melodic_ +* [ROS](http://wiki.ros.org/ROS/Installation) _Melodic_ * [Gazebo 9](http://gazebosim.org/tutorials?cat=install&tut=install_ubuntu&ver=9.0#Alternativeinstallation:step-by-step) or higher * Ubuntu packages: `python-rosdep`, `python-catkin-tools` @@ -25,21 +25,18 @@ sudo apt-get install -y python-rosdep python-catkin-tools git clone https://github.com/RoboticaUtnFrba/create_autonomy.git ``` -3. Compile RTIMULib2 +3. Install dependencies + + I. Install RTIMULib ```bash - cd ~/create_ws/src/RTIMULib2/Linux && mkdir build && cd build - sudo apt-get install -y libqt4-dev - cmake .. - make -j4 - sudo make install - sudo ldconfig + cd ~/create_ws + ./src/create_autonomy/sensors/ca_imu/scripts/install_rtimulib.sh ``` -4. Install dependencies + II. Install other dependencies ``` bash - sudo apt-get install -y gstreamer1.0-tools libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-dev cd ~/create_ws sudo apt install -y python3-vcstool vcs import src < src/create_autonomy/.repos @@ -47,21 +44,7 @@ sudo apt-get install -y python-rosdep python-catkin-tools rosdep install --from-paths src -i ``` -5. Build - - 5.1. Build RTIMULib2 for Raspberry Pi - - ``` bash - cd ~/create_ws/src/RTIMULib2/Linux - mkdir build - cd build - cmake .. - make -j4 - sudo make install - sudo ldconfig - ``` - - 5.2. Build workspace +4. Build workspace ``` bash cd ~/create_ws diff --git a/rpi.repos b/rpi.repos index 584232a5..ec67c5f3 100644 --- a/rpi.repos +++ b/rpi.repos @@ -3,10 +3,10 @@ repositories: type: git url: https://github.com/RoboticaUtnFrba/gscam.git version: master - # i2c_imu: - # type: git - # url: https://github.com/RoboticaUtnFrba/i2c_imu.git - # version: master + i2c_imu: + type: git + url: https://github.com/RoboticaUtnFrba/i2c_imu.git + version: master libcreate: type: git url: https://github.com/RoboticaUtnFrba/libcreate.git @@ -19,10 +19,6 @@ repositories: type: git url: https://github.com/RoboticaUtnFrba/ros_astra_camera.git version: master - # RTIMULib2: - # type: git - # url: https://github.com/RoboticaUtnFrba/RTIMULib2.git - # version: master viso2: type: git url: https://github.com/RoboticaUtnFrba/viso2.git diff --git a/sensors/ca_imu/CMakeLists.txt b/sensors/ca_imu/CMakeLists.txt index 9fb1e4d1..e906a719 100644 --- a/sensors/ca_imu/CMakeLists.txt +++ b/sensors/ca_imu/CMakeLists.txt @@ -1,22 +1,31 @@ cmake_minimum_required(VERSION 2.8.3) project(ca_imu) -## Compile as C++11, supported in ROS Kinetic and newer + add_compile_options(-std=c++11) -## Find catkin macros and libraries +find_library(RTIMULib libRTIMULib.so REQUIRED) + +if(RTIMULib-NOTFOUND) + message(FATAL_ERROR + " + You must install RTIMULib: + + . ${PROJECT_SOURCE_DIR}/scripts/install_rtimulib.sh + " + ) +endif() + find_package(catkin REQUIRED COMPONENTS - geometry_msgs - roscpp + i2c_imu + imu_filter_madgwick + rospy sensor_msgs - std_msgs tf ) catkin_package(CATKIN_DEPENDS - geometry_msgs - roscpp + rospy sensor_msgs - std_msgs ) include_directories(${catkin_INCLUDE_DIRS}) @@ -24,5 +33,4 @@ include_directories(${catkin_INCLUDE_DIRS}) install(DIRECTORY scripts DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} USE_SOURCE_PERMISSIONS - PATTERN ".svn" EXCLUDE ) diff --git a/sensors/ca_imu/README.md b/sensors/ca_imu/README.md index 6781defe..49580faa 100644 --- a/sensors/ca_imu/README.md +++ b/sensors/ca_imu/README.md @@ -1,33 +1,35 @@ # IMU (MPU9255 9 DOF) -Interfacing Raspberry Pi with MPU9255: +Interfacing **Nvidia Jetson Nano** with **MPU9255**: -![Connection between RPi and MPU9255](media/wiring.png) +> VCC --> 5V +> GND --> GND +> SCL --> PIN 5 +> SDA --> PIN 3 -## Installation - -### [RTIMULib2](https://github.com/RoboticaUtnFrba/RTIMULib2) +## Setup -Go to the RTIMULib2 directory and compile it: +```bash +sudo usermod -aG i2c $USER +$ sudo i2cdetect -y -r 1 +0x68 ``` -$ cd Linux -$ mkdir build -$ cd build -$ cmake .. -$ make -j4 -$ sudo make install -$ sudo ldconfig -``` -## [Calibrate IMU](https://github.com/RoboticaUtnFrba/RTIMULib2/blob/master/Calibration.pdf) +## Installation + +### [RTIMULib](https://github.com/RoboticaUtnFrba/RTIMULib) + +RTIMULib is automatically installed when the repository is compiled using the script located in `ca_imu/scripts/install_rtimulib.sh`. + +## [Calibrate IMU](https://github.com/RoboticaUtnFrba/RTIMULib/blob/master/Calibration.pdf) The normal process is to run the magnetometer min/max option followed by the magnetometer ellipsoid fit option followed finally by the accelerometer min/max option. -The resulting RTIMULib.ini can then be used by any other RTIMULib application. +The resulting `RTIMULib.ini` can then be used by any other RTIMULib application. -```sh -$ RTIMULibCal +```bash +RTIMULibCal ``` ### Calibrating the magnetometer @@ -38,16 +40,8 @@ $ RTIMULibCal [This video](https://www.youtube.com/watch?v=CnLtzwCbVc4) shows how the calibration process of the accelerometer has to be made. -## [i2c_imu ROS package](https://github.com/RoboticaUtnFrba/i2c_imu) - -``` -$ cd catkin_ws/src -$ git clone git@github.com:RoboticaUtnFrba/i2c_imu.git -``` - ### Running +```bash +roslaunch ca_imu mpu9255.launch ``` -$ roslaunch ca_imu imu.launch -$ rviz -``` \ No newline at end of file diff --git a/sensors/ca_imu/config/imu.yaml b/sensors/ca_imu/config/imu.yaml deleted file mode 100644 index c7b6ea3f..00000000 --- a/sensors/ca_imu/config/imu.yaml +++ /dev/null @@ -1,117 +0,0 @@ -# https://github.com/RoboticaUtnFrba/RTIMULib2/blob/master/RTIMULib/IMUDrivers/RTIMUDefs.h -# AUTODISCOVER 0 // audodiscover the IMU -# NULL 1 // if no physical hardware -# MPU9150 2 // InvenSense MPU9150 -# GD20HM303D 3 // STM L3GD20H/LSM303D (Pololu Altimu) -# GD20M303DLHC 4 // STM L3GD20/LSM303DHLC (old Adafruit IMU) -# LSM9DS0 5 // STM LSM9DS0 (eg Sparkfun IMU) -# LSM9DS1 6 // STM LSM9DS1 -# MPU9250 7 // InvenSense MPU9250 -# GD20HM303DLHC 8 // STM L3GD20H/LSM303DHLC (new Adafruit IMU) -# BMX055 9 // Bosch BMX055 -# BNO055 10 // Bosch BNO055 -# MPU9255 11 // InvenSense MPU9255 - -imu_type: 11 -frame_id: imu_link - -# Usually 1 for Raspberry Pi -i2c_bus: 1 -# 0x68 = 104 (base 10) -i2c_slave_address: 104 - -# RTFUSION_TYPE_NULL 0 // just a dummy to keep things happy if not needed -# RTFUSION_TYPE_KALMANSTATE4 1 // kalman state is the quaternion pose -# RTFUSION_TYPE_RTQF 2 // RT quaternion fusion -fusion_type: 2 - -# RTIMU_XNORTH_YEAST 0 // this is the default identity matrix -# RTIMU_XEAST_YSOUTH 1 -# RTIMU_XSOUTH_YWEST 2 -# RTIMU_XWEST_YNORTH 3 -# RTIMU_XNORTH_YWEST 4 -# RTIMU_XEAST_YNORTH 5 -# RTIMU_XSOUTH_YEAST 6 -# RTIMU_XWEST_YSOUTH 7 -# RTIMU_XUP_YNORTH 8 -# RTIMU_XUP_YEAST 9 -# RTIMU_XUP_YSOUTH 10 -# RTIMU_XUP_YWEST 11 -# RTIMU_XDOWN_YNORTH 12 -# RTIMU_XDOWN_YEAST 13 -# RTIMU_XDOWN_YSOUTH 14 -# RTIMU_XDOWN_YWEST 15 -# RTIMU_XNORTH_YUP 16 -# RTIMU_XEAST_YUP 17 -# RTIMU_XSOUTH_YUP 18 -# RTIMU_XWEST_YUP 19 -# RTIMU_XNORTH_YDOWN 20 -# RTIMU_XEAST_YDOWN 21 -# RTIMU_XSOUTH_YDOWN 22 -# RTIMU_XWEST_YDOWN 23 -axis_rotation: 0 - -# TODO: PUT THE DEFAULT VALUES IN THE DATASHEET -mpu9255: - #Sample Rates - # Default: 40 - compass_sample_rate: 40 - # Default: 80 - gyro_accel_sample_rate: 80 - - # Accel - - # MPU9255_ACCEL_LPF_1130 0x08 // 1130Hz, 0.75mS delay - # MPU9255_ACCEL_LPF_460 0x00 // 460Hz, 1.94mS delay - # MPU9255_ACCEL_LPF_184 0x01 // 184Hz, 5.80mS delay - # MPU9255_ACCEL_LPF_92 0x02 // 92Hz, 7.80mS delay - # MPU9255_ACCEL_LPF_41 0x03 // 41Hz, 11.80mS delay - # MPU9255_ACCEL_LPF_20 0x04 // 20Hz, 19.80mS delay - # MPU9255_ACCEL_LPF_10 0x05 // 10Hz, 35.70mS delay - # MPU9255_ACCEL_LPF_5 0x06 // 5Hz, 66.96mS delay - - # Default: MPU9255_ACCEL_LPF_41 - accel_low_pass_filter: 3 - - # MPU9255_ACCELFSR_2 0 // +/- 2g - # MPU9255_ACCELFSR_4 8 // +/- 4g - # MPU9255_ACCELFSR_8 0x10 // +/- 8g - # MPU9255_ACCELFSR_16 0x18 // +/- 16g - - # Default: MPU9255_ACCELFSR_8 - accel_full_scale_range: 16 - - # Gyro - - # MPU9255_GYRO_LPF_8800 0x11 // 8800Hz, 0.64mS delay - # MPU9255_GYRO_LPF_3600 0x10 // 3600Hz, 0.11mS delay - # MPU9255_GYRO_LPF_250 0x00 // 250Hz, 0.97mS delay - # MPU9255_GYRO_LPF_184 0x01 // 184Hz, 2.9mS delay - # MPU9255_GYRO_LPF_92 0x02 // 92Hz, 3.9mS delay - # MPU9255_GYRO_LPF_41 0x03 // 41Hz, 5.9mS delay - # MPU9255_GYRO_LPF_20 0x04 // 20Hz, 9.9mS delay - # MPU9255_GYRO_LPF_10 0x05 // 10Hz, 17.85mS delay - # MPU9255_GYRO_LPF_5 0x06 // 5Hz, 33.48mS delay - - # Default: MPU9255_GYRO_LPF_41 - gyro_low_pass_filter: 3 - - # MPU9255_GYROFSR_250 0 // +/- 250 degrees per second - # MPU9255_GYROFSR_500 8 // +/- 500 degrees per second - # MPU9255_GYROFSR_1000 0x10 // +/- 1000 degrees per second - # MPU9255_GYROFSR_2000 0x18 // +/- 2000 degrees per second - - # Default: MPU9255_GYROFSR_1000 - gyro_full_scale_range: 16 - -# Calibration -calib: - compass_min: [-28.451460, -42.645390, -38.086895] - compass_max: [68.179794, 48.143326, 57.744003] - - accel_min: [ -1.004789, -1.014467, -1.015889 ] - accel_max: [ 0.995606, 1.002416, 0.996524 ] - -magnetic_declination: 0.0 -publish_magnetometer: false -publish_euler: false \ No newline at end of file diff --git a/sensors/ca_imu/config/madgwick_filter.yaml b/sensors/ca_imu/config/madgwick_filter.yaml new file mode 100644 index 00000000..3610d61f --- /dev/null +++ b/sensors/ca_imu/config/madgwick_filter.yaml @@ -0,0 +1,36 @@ +# Not Dynamically Reconfigurable Parameters + +# The world frame with respect to which the orientation is indicated (see REP-145). For historic reasons, the old default is "nwu" (North-West-Up). New deployments should use "enu". Valid values: "nwu", "enu", "ned". +world_frame: "enu" +# Whether to use the magnetic field data in the data fusion. +use_mag: true +# If set to true, subscribe to the /imu/mag topic as a sensor_msgs/MagneticField; if set to false (deprecated), use geometry_msgs/Vector3Stamped. +use_magnetic_field_msg: true + +# Whether to publish a TF transform that represents the orientation of the IMU, using the frame specified in fixed_frame as the parent frame and the frame given in the input imu message as the child frame. +publish_tf: false +# If set to true, publish transforms from imu_frame to fixed frame instead of the other way around. +reverse_tf: false +# The dt to use; if 0.0 (default), compute dt dynamically from message headers. +constant_dt: 0.0 +# If set to true, publish a couple of debug topics. +publish_debug_topics: true +# If set to true, don't publish a filtered orientation. Instead, publish the stateless estimate of the orientation based on the latest accelerometer (and optionally magnetometer) readings alone. Useful for debugging. +stateless: false +# If set to true, subtract the gravity vector from the acceleration field in the published IMU message. +remove_gravity_vector: false + +# Dynamically Reconfigurable Parameters + +# Gain of the filter. Higher values lead to faster convergence but more noise. Lower values lead to slower convergence but smoother signal. Range: 0.0 to 1.0 +gain: 0.1 +# Gyro drift gain (approx. rad/s). Range: -1.0 to 1.0 +zeta: 0.0 +# Magnetometer bias (hard iron correction), x component. Range: -10.0 to 10.0 +mag_bias_x: 0.0 +# Magnetometer bias (hard iron correction), y component. Range: -10.0 to 10.0 +mag_bias_y: 0.0 +# Magnetometer bias (hard iron correction), z component. Range: -10.0 to 10.0 +mag_bias_z: 0.0 +# Standard deviation of the orientation estimate. Range: 0.0 to 1.0 +orientation_stddev: 0.05 diff --git a/sensors/ca_imu/config/mpu9255.yaml b/sensors/ca_imu/config/mpu9255.yaml new file mode 100644 index 00000000..b5c5475e --- /dev/null +++ b/sensors/ca_imu/config/mpu9255.yaml @@ -0,0 +1,11 @@ +publish_magnetometer: true + +publish_euler: true + +magnetic_declination: 0.0 + +orientation_covariance: [2.89e-6, 0, 0, 0, 2.89e-6, 0, 0, 0, 2.89e-6] + +angular_velocity_covariance: [2.89e-6, 0, 0, 0, 2.89e-6, 0, 0, 0, 2.89e-6] + +linear_acceleration_covariance: [2.89e-6, 0, 0, 0, 2.89e-6, 0, 0, 0, 2.89e-6] diff --git a/sensors/ca_imu/launch/imu.launch b/sensors/ca_imu/launch/imu.launch deleted file mode 100644 index 4b237d2a..00000000 --- a/sensors/ca_imu/launch/imu.launch +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sensors/ca_imu/launch/mpu9255.launch b/sensors/ca_imu/launch/mpu9255.launch new file mode 100644 index 00000000..2580186e --- /dev/null +++ b/sensors/ca_imu/launch/mpu9255.launch @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sensors/ca_imu/media/wiring.png b/sensors/ca_imu/media/wiring.png deleted file mode 100644 index 5fd4e002..00000000 Binary files a/sensors/ca_imu/media/wiring.png and /dev/null differ diff --git a/sensors/ca_imu/package.xml b/sensors/ca_imu/package.xml index c8a01370..7edb875f 100644 --- a/sensors/ca_imu/package.xml +++ b/sensors/ca_imu/package.xml @@ -10,23 +10,19 @@ catkin - geometry_msgs - roscpp + i2c_imu + imu_filter_madgwick + rospy sensor_msgs - std_msgs tf - geometry_msgs - roscpp + rospy sensor_msgs - std_msgs tf - geometry_msgs - roscpp + i2c_imu + imu_filter_madgwick + rospy sensor_msgs - std_msgs tf - - diff --git a/sensors/ca_imu/rviz/imu.rviz b/sensors/ca_imu/rviz/imu.rviz deleted file mode 100644 index 7563760d..00000000 --- a/sensors/ca_imu/rviz/imu.rviz +++ /dev/null @@ -1,122 +0,0 @@ -Panels: - - Class: rviz/Displays - Help Height: 78 - Name: Displays - Property Tree Widget: - Expanded: - - /Global Options1 - - /Status1 - Splitter Ratio: 0.5 - Tree Height: 839 - - Class: rviz/Selection - Name: Selection - - Class: rviz/Tool Properties - Expanded: - - /2D Pose Estimate1 - - /2D Nav Goal1 - - /Publish Point1 - Name: Tool Properties - Splitter Ratio: 0.588679016 - - Class: rviz/Views - Expanded: - - /Current View1 - Name: Views - Splitter Ratio: 0.5 - - Class: rviz/Time - Experimental: false - Name: Time - SyncMode: 0 - SyncSource: "" -Visualization Manager: - Class: "" - Displays: - - Alpha: 0.5 - Cell Size: 1 - Class: rviz/Grid - Color: 160; 160; 164 - Enabled: true - Line Style: - Line Width: 0.0299999993 - Value: Lines - Name: Grid - Normal Cell Count: 0 - Offset: - X: 0 - Y: 0 - Z: 0 - Plane: XY - Plane Cell Count: 10 - Reference Frame: - Value: true - - Alpha: 1 - Class: rviz_plugin_tutorials/Imu - Color: 204; 51; 204 - Enabled: true - History Length: 1 - Name: Imu - Topic: /imu/data - Unreliable: false - Value: true - Enabled: true - Global Options: - Background Color: 48; 48; 48 - Default Light: true - Fixed Frame: base_link - Frame Rate: 30 - Name: root - Tools: - - Class: rviz/Interact - Hide Inactive Objects: true - - Class: rviz/MoveCamera - - Class: rviz/Select - - Class: rviz/FocusCamera - - Class: rviz/Measure - - Class: rviz/SetInitialPose - Topic: /initialpose - - Class: rviz/SetGoal - Topic: /move_base_simple/goal - - Class: rviz/PublishPoint - Single click: true - Topic: /clicked_point - Value: true - Views: - Current: - Class: rviz/Orbit - Distance: 10 - Enable Stereo Rendering: - Stereo Eye Separation: 0.0599999987 - Stereo Focal Distance: 1 - Swap Stereo Eyes: false - Value: false - Focal Point: - X: 0 - Y: 0 - Z: 0 - Focal Shape Fixed Size: true - Focal Shape Size: 0.0500000007 - Invert Z Axis: false - Name: Current View - Near Clip Distance: 0.00999999978 - Pitch: 0.785398006 - Target Frame: - Value: Orbit (rviz) - Yaw: 0.785398006 - Saved: ~ -Window Geometry: - Displays: - collapsed: false - Height: 1119 - Hide Left Dock: false - Hide Right Dock: false - QMainWindow State: 000000ff00000000fd00000004000000000000016a000003d5fc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005e00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c0061007900730100000028000003d5000000d000fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000010f000003d5fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a005600690065007700730100000028000003d5000000a900fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000006e70000003efc0100000002fb0000000800540069006d00650100000000000006e70000030000fffffffb0000000800540069006d0065010000000000000450000000000000000000000462000003d500000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 - Selection: - collapsed: false - Time: - collapsed: false - Tool Properties: - collapsed: false - Views: - collapsed: false - Width: 1767 - X: 65 - Y: 60 diff --git a/sensors/ca_imu/scripts/install_rtimulib.sh b/sensors/ca_imu/scripts/install_rtimulib.sh new file mode 100755 index 00000000..ded73727 --- /dev/null +++ b/sensors/ca_imu/scripts/install_rtimulib.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +# Set RTIMULib paths +RTIMULib_PATH="/home/${USER}/RTIMULib" +RTIMULib_BUILD="${RTIMULib_PATH}/Linux/build" + +# Clone repo in RTIMULib_PATH +mkdir -p ${RTIMULib_PATH} +git clone https://github.com/RoboticaUtnFrba/RTIMULib.git ${RTIMULib_PATH} +cd ${RTIMULib_PATH} +# Disable compilation with OpenGL in Travis +# https://docs.travis-ci.com/user/environment-variables/#default-environment-variables +BUILD_GL="" +[ "${CI}" == "true" ] && BUILD_GL="-DBUILD_GL=OFF" +# Build and install RTIMULib +mkdir -p ${RTIMULib_BUILD} +cd ${RTIMULib_BUILD} +cmake ${BUILD_GL} .. +make -j4 +sudo make install +sudo ldconfig