![]() |
razor_imu_9dof package from razor_imu_9dof reporazor_imu_9dof |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.3.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | A ROS driver and firmware to connect to Sparkfun OpenLog Artemis, 9DoF Razor IMU M0, 9DOF Razor IMU and 9DOF Sensor Stick. These boards consists of 3 sensors: magnetic, gyro and acceleration sensor. |
Checkout URI | https://github.com/ENSTABretagneRobotics/razor_imu_9dof.git |
VCS Type | git |
VCS Version | indigo-devel |
Last Updated | 2022-09-19 |
Dev Status | MAINTAINED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Fabrice LE BARS
Authors
- Tang Tiong Yew
- Kristof Robot
- Paul Bouchier
- Peter Bartz
Official ROS Documentation
A much more extensive and standard ROS-style version of this documentation can be found on the ROS wiki at:
http://wiki.ros.org/razor_imu_9dof
Install and Configure ROS Package
1) Install dependencies (for 3D visualization):
sudo apt-get install python-visual # For Ubuntu 16.04 and before
# For Ubuntu 18.04, install https://github.com/lebarsfa/visual/tree/bionic, or see https://github.com/ENSTABretagneRobotics/razor_imu_9dof/issues/47
sudo apt-get install python3-pip python3-wxgtk4.0 ; pip3 install vpython # From Ubuntu 20.04
2) Download code:
cd ~/catkin_workspace/src
git clone https://github.com/ENSTABretagneRobotics/razor_imu_9dof.git
cd ..
catkin_make
# For 3D visualization, from Ubuntu 20.04
cd src/razor_imu_9dof/nodes ; wget https://www.glowscript.org/docs/VPythonDocs/VPtoGS.py ; python3 VPtoGS.py ; cp -f Converted/display_3D_visualization.py display_3D_visualization.py ; cd ../../..
Install Arduino firmware
1) For SPX-15846 and DEV-16832 (OpenLog Artemis), you will need to follow the same instructions as for the OLA_IMU_Basics.ino
sample from https://github.com/sparkfun/OpenLog_Artemis (i.e. get the drivers from https://learn.sparkfun.com/tutorials/how-to-install-ch340-drivers, install SparkFun Apollo3 boards in Arduino IDE as in https://learn.sparkfun.com/tutorials/installing-board-definitions-in-the-arduino-ide (add https://raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json to File
→ Preferences
→ Additional Board Manager URLs
) and ensure you select SparkFun Apollo3
→ SparkFun RedBoard Artemis ATP
as the board and install SparkFun ICM 20948 IMU Arduino library as in https://learn.sparkfun.com/tutorials/installing-an-arduino-library). For SEN-14001 (9DoF Razor IMU M0), you will need to follow the same instructions as for the default firmware on https://learn.sparkfun.com/tutorials/9dof-razor-imu-m0-hookup-guide and use an updated version of SparkFun_MPU-9250-DMP_Arduino_Library from https://github.com/lebarsfa/SparkFun_MPU-9250-DMP_Arduino_Library (an updated version of the default firmware is also available on https://github.com/lebarsfa/9DOF_Razor_IMU).
2) Open src/Razor_AHRS/Razor_AHRS.ino
in Arduino IDE. Note: this is a modified version
of Peter Bartz’ original Arduino code (see https://github.com/ptrbrtz/razor-9dof-ahrs).
Use this version - it emits linear acceleration and angular velocity data required by the ROS Imu message
3) Select your hardware here by uncommenting the right line in src/Razor_AHRS/Razor_AHRS.ino
, e.g.
// HARDWARE OPTIONS
/*****************************************************************/
// Select your hardware here by uncommenting one line!
//#define HW__VERSION_CODE 10125 // SparkFun "9DOF Razor IMU" version "SEN-10125" (HMC5843 magnetometer)
//#define HW__VERSION_CODE 10736 // SparkFun "9DOF Razor IMU" version "SEN-10736" (HMC5883L magnetometer)
//#define HW__VERSION_CODE 14001 // SparkFun "9DoF Razor IMU M0" version "SEN-14001"
//#define HW__VERSION_CODE 15846 // SparkFun "OpenLog Artemis" version "SPX-15846"
#define HW__VERSION_CODE 16832 // SparkFun "OpenLog Artemis" version "DEV-16832"
//#define HW__VERSION_CODE 10183 // SparkFun "9DOF Sensor Stick" version "SEN-10183" (HMC5843 magnetometer)
//#define HW__VERSION_CODE 10321 // SparkFun "9DOF Sensor Stick" version "SEN-10321" (HMC5843 magnetometer)
//#define HW__VERSION_CODE 10724 // SparkFun "9DOF Sensor Stick" version "SEN-10724" (HMC5883L magnetometer)
4) Upload Arduino sketch to the board
Configure
In its default configuration, razor_imu_9dof
expects a yaml config file my_razor.yaml
with:
- USB port to use
- Calibration parameters
An examplerazor.yaml
file is provided.
Copy that file to my_razor.yaml
as follows:
roscd razor_imu_9dof/config
cp razor.yaml my_razor.yaml
Then, edit my_razor.yaml
as needed
Launch
Publisher only:
roslaunch razor_imu_9dof razor-pub.launch
Publisher and 3D visualization:
roslaunch razor_imu_9dof razor-pub-and-display.launch
Publisher only with diagnostics:
roslaunch razor_imu_9dof razor-pub-diags.launch
3D visualization only:
roslaunch razor_imu_9dof razor-display.launch
Calibrate
File truncated at 100 lines see the full file
Changelog for package razor_imu_9dof
1.3.0 (28-12-2020)
- Adding firmware support for SPX-15846 and DEV-16832 (OpenLog Artemis) (lebarsfa)
1.2.0 (20-12-2017)
- Adding firmware support for SEN-14001 (9DoF Razor IMU M0) (lebarsfa)
1.1.1 (02-07-2016)
- Passing razor_config_file as ros parameter in launch file (Daniel Koguciuk)
1.1.0 (08-03-2015)
-
Resolving bug in exiting display_3D_visualization (#15)
-
Adding dynamic reconfigure for yaw calibration (Paul Bouchier)
-
Moving calibration values from firmware to ROS yaml file (#13)
- Note: this is a BREAKING CHANGE - requires firmware update (updated firmware provided)
-
Refactoring code: moved scripts to nodes, renamed node.py to imu_node.py (Paul Bouchier)
-
Adding diagnostic status reporting (Paul Bouchier)
1.0.5 (15-11-2014)
- Moving scripts from nodes to scripts dir
- Installing files in
src
andmagnetometer_calibration
- Major cleanup of package.xml and CMakeLists.txt
1.0.4 (15-11-2014)
- Adding press 'a' to align feature
- Moving magnetometer calibration sketches under dedicated
magnetometer_calibration
directory - Adding magnetometer calibration sketches for Processing and Matlab (Paul Bouchier)
- Setting default USB port to /dev/ttyUSB0 in all files
- Adding graceful exit in case USB port not found
- Adding queue_size=1
- Fixing x linear accelerations sign
1.0.3 (02-11-2014)
- Moving all file one directory up
- Changing axis orientation in 3D visualization to be in line with REP 103
- Additional output of linear accelerationa and angular velocity in 3D visualization
- Adding units of measurement to 3D visualization
- Major graphical improvements to the 3D visualization
- Adding explanation on different launch files
1.0.2 (31-10-2014)
- Adding valid covariances (Paul Bouchier)
- Fixing incorrect direction of yaw & pitch orientation (Paul Bouchier)
- Fix Readme references & instructions (Paul Bouchier)
- Converting acceleration to m/s\^2 (Paul Bouchier)
- Adapting to new output message YPRAG instead of YPRAMG (Paul Bouchier)
- Updating package.xml links to ahrs site (Paul Bouchier)
- Upgrading Arduino package to 1.4.2 from Peter Bartz' site (Paul Bouchier)
- Fixing link to Peter Bartz' site (Paul Bouchier)
- Documenting #ox output mode (Paul Bouchier)
- Renaming new mode #define to better reflect what it does (Paul Bouchier)
- Adding #ox output mode back into Peter's code (Paul Bouchier)
1.0.1 (15-03-2014)
- Cleaning up code based on catkin_lint report
- Creating additional launch files for display/publishing
- Implementing flush of first IMU results
- Changing default port, and adding output showing which port was selected
- Removing obsolete
roslib
import androslib.load_manifest
1.0.0 (29-12-2013)
- First catkinized version
Dependant Packages
Launch files
- launch/razor-display.launch
- launch/razor-pub-and-display.launch
-
- razor_config_file [default: $(find razor_imu_9dof)/config/my_razor.yaml]
- launch/razor-pub-diags.launch
-
- razor_config_file [default: $(find razor_imu_9dof)/config/my_razor.yaml]
- launch/razor-pub.launch
-
- razor_config_file [default: $(find razor_imu_9dof)/config/my_razor.yaml]
Messages
Services
Plugins
Recent questions tagged razor_imu_9dof at Robotics Stack Exchange
![]() |
razor_imu_9dof package from razor_imu_9dof reporazor_imu_9dof |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.3.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | A ROS driver and firmware to connect to Sparkfun OpenLog Artemis, 9DoF Razor IMU M0, 9DOF Razor IMU and 9DOF Sensor Stick. These boards consists of 3 sensors: magnetic, gyro and acceleration sensor. |
Checkout URI | https://github.com/ENSTABretagneRobotics/razor_imu_9dof.git |
VCS Type | git |
VCS Version | indigo-devel |
Last Updated | 2022-09-19 |
Dev Status | MAINTAINED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Fabrice LE BARS
Authors
- Tang Tiong Yew
- Kristof Robot
- Paul Bouchier
- Peter Bartz
Official ROS Documentation
A much more extensive and standard ROS-style version of this documentation can be found on the ROS wiki at:
http://wiki.ros.org/razor_imu_9dof
Install and Configure ROS Package
1) Install dependencies (for 3D visualization):
sudo apt-get install python-visual # For Ubuntu 16.04 and before
# For Ubuntu 18.04, install https://github.com/lebarsfa/visual/tree/bionic, or see https://github.com/ENSTABretagneRobotics/razor_imu_9dof/issues/47
sudo apt-get install python3-pip python3-wxgtk4.0 ; pip3 install vpython # From Ubuntu 20.04
2) Download code:
cd ~/catkin_workspace/src
git clone https://github.com/ENSTABretagneRobotics/razor_imu_9dof.git
cd ..
catkin_make
# For 3D visualization, from Ubuntu 20.04
cd src/razor_imu_9dof/nodes ; wget https://www.glowscript.org/docs/VPythonDocs/VPtoGS.py ; python3 VPtoGS.py ; cp -f Converted/display_3D_visualization.py display_3D_visualization.py ; cd ../../..
Install Arduino firmware
1) For SPX-15846 and DEV-16832 (OpenLog Artemis), you will need to follow the same instructions as for the OLA_IMU_Basics.ino
sample from https://github.com/sparkfun/OpenLog_Artemis (i.e. get the drivers from https://learn.sparkfun.com/tutorials/how-to-install-ch340-drivers, install SparkFun Apollo3 boards in Arduino IDE as in https://learn.sparkfun.com/tutorials/installing-board-definitions-in-the-arduino-ide (add https://raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json to File
→ Preferences
→ Additional Board Manager URLs
) and ensure you select SparkFun Apollo3
→ SparkFun RedBoard Artemis ATP
as the board and install SparkFun ICM 20948 IMU Arduino library as in https://learn.sparkfun.com/tutorials/installing-an-arduino-library). For SEN-14001 (9DoF Razor IMU M0), you will need to follow the same instructions as for the default firmware on https://learn.sparkfun.com/tutorials/9dof-razor-imu-m0-hookup-guide and use an updated version of SparkFun_MPU-9250-DMP_Arduino_Library from https://github.com/lebarsfa/SparkFun_MPU-9250-DMP_Arduino_Library (an updated version of the default firmware is also available on https://github.com/lebarsfa/9DOF_Razor_IMU).
2) Open src/Razor_AHRS/Razor_AHRS.ino
in Arduino IDE. Note: this is a modified version
of Peter Bartz’ original Arduino code (see https://github.com/ptrbrtz/razor-9dof-ahrs).
Use this version - it emits linear acceleration and angular velocity data required by the ROS Imu message
3) Select your hardware here by uncommenting the right line in src/Razor_AHRS/Razor_AHRS.ino
, e.g.
// HARDWARE OPTIONS
/*****************************************************************/
// Select your hardware here by uncommenting one line!
//#define HW__VERSION_CODE 10125 // SparkFun "9DOF Razor IMU" version "SEN-10125" (HMC5843 magnetometer)
//#define HW__VERSION_CODE 10736 // SparkFun "9DOF Razor IMU" version "SEN-10736" (HMC5883L magnetometer)
//#define HW__VERSION_CODE 14001 // SparkFun "9DoF Razor IMU M0" version "SEN-14001"
//#define HW__VERSION_CODE 15846 // SparkFun "OpenLog Artemis" version "SPX-15846"
#define HW__VERSION_CODE 16832 // SparkFun "OpenLog Artemis" version "DEV-16832"
//#define HW__VERSION_CODE 10183 // SparkFun "9DOF Sensor Stick" version "SEN-10183" (HMC5843 magnetometer)
//#define HW__VERSION_CODE 10321 // SparkFun "9DOF Sensor Stick" version "SEN-10321" (HMC5843 magnetometer)
//#define HW__VERSION_CODE 10724 // SparkFun "9DOF Sensor Stick" version "SEN-10724" (HMC5883L magnetometer)
4) Upload Arduino sketch to the board
Configure
In its default configuration, razor_imu_9dof
expects a yaml config file my_razor.yaml
with:
- USB port to use
- Calibration parameters
An examplerazor.yaml
file is provided.
Copy that file to my_razor.yaml
as follows:
roscd razor_imu_9dof/config
cp razor.yaml my_razor.yaml
Then, edit my_razor.yaml
as needed
Launch
Publisher only:
roslaunch razor_imu_9dof razor-pub.launch
Publisher and 3D visualization:
roslaunch razor_imu_9dof razor-pub-and-display.launch
Publisher only with diagnostics:
roslaunch razor_imu_9dof razor-pub-diags.launch
3D visualization only:
roslaunch razor_imu_9dof razor-display.launch
Calibrate
File truncated at 100 lines see the full file
Changelog for package razor_imu_9dof
1.3.0 (28-12-2020)
- Adding firmware support for SPX-15846 and DEV-16832 (OpenLog Artemis) (lebarsfa)
1.2.0 (20-12-2017)
- Adding firmware support for SEN-14001 (9DoF Razor IMU M0) (lebarsfa)
1.1.1 (02-07-2016)
- Passing razor_config_file as ros parameter in launch file (Daniel Koguciuk)
1.1.0 (08-03-2015)
-
Resolving bug in exiting display_3D_visualization (#15)
-
Adding dynamic reconfigure for yaw calibration (Paul Bouchier)
-
Moving calibration values from firmware to ROS yaml file (#13)
- Note: this is a BREAKING CHANGE - requires firmware update (updated firmware provided)
-
Refactoring code: moved scripts to nodes, renamed node.py to imu_node.py (Paul Bouchier)
-
Adding diagnostic status reporting (Paul Bouchier)
1.0.5 (15-11-2014)
- Moving scripts from nodes to scripts dir
- Installing files in
src
andmagnetometer_calibration
- Major cleanup of package.xml and CMakeLists.txt
1.0.4 (15-11-2014)
- Adding press 'a' to align feature
- Moving magnetometer calibration sketches under dedicated
magnetometer_calibration
directory - Adding magnetometer calibration sketches for Processing and Matlab (Paul Bouchier)
- Setting default USB port to /dev/ttyUSB0 in all files
- Adding graceful exit in case USB port not found
- Adding queue_size=1
- Fixing x linear accelerations sign
1.0.3 (02-11-2014)
- Moving all file one directory up
- Changing axis orientation in 3D visualization to be in line with REP 103
- Additional output of linear accelerationa and angular velocity in 3D visualization
- Adding units of measurement to 3D visualization
- Major graphical improvements to the 3D visualization
- Adding explanation on different launch files
1.0.2 (31-10-2014)
- Adding valid covariances (Paul Bouchier)
- Fixing incorrect direction of yaw & pitch orientation (Paul Bouchier)
- Fix Readme references & instructions (Paul Bouchier)
- Converting acceleration to m/s\^2 (Paul Bouchier)
- Adapting to new output message YPRAG instead of YPRAMG (Paul Bouchier)
- Updating package.xml links to ahrs site (Paul Bouchier)
- Upgrading Arduino package to 1.4.2 from Peter Bartz' site (Paul Bouchier)
- Fixing link to Peter Bartz' site (Paul Bouchier)
- Documenting #ox output mode (Paul Bouchier)
- Renaming new mode #define to better reflect what it does (Paul Bouchier)
- Adding #ox output mode back into Peter's code (Paul Bouchier)
1.0.1 (15-03-2014)
- Cleaning up code based on catkin_lint report
- Creating additional launch files for display/publishing
- Implementing flush of first IMU results
- Changing default port, and adding output showing which port was selected
- Removing obsolete
roslib
import androslib.load_manifest
1.0.0 (29-12-2013)
- First catkinized version
Dependant Packages
Launch files
- launch/razor-display.launch
- launch/razor-pub-and-display.launch
-
- razor_config_file [default: $(find razor_imu_9dof)/config/my_razor.yaml]
- launch/razor-pub-diags.launch
-
- razor_config_file [default: $(find razor_imu_9dof)/config/my_razor.yaml]
- launch/razor-pub.launch
-
- razor_config_file [default: $(find razor_imu_9dof)/config/my_razor.yaml]
Messages
Services
Plugins
Recent questions tagged razor_imu_9dof at Robotics Stack Exchange
![]() |
razor_imu_9dof package from razor_imu_9dof reporazor_imu_9dof |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.3.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | A ROS driver and firmware to connect to Sparkfun OpenLog Artemis, 9DoF Razor IMU M0, 9DOF Razor IMU and 9DOF Sensor Stick. These boards consists of 3 sensors: magnetic, gyro and acceleration sensor. |
Checkout URI | https://github.com/ENSTABretagneRobotics/razor_imu_9dof.git |
VCS Type | git |
VCS Version | indigo-devel |
Last Updated | 2022-09-19 |
Dev Status | MAINTAINED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Fabrice LE BARS
Authors
- Tang Tiong Yew
- Kristof Robot
- Paul Bouchier
- Peter Bartz
Official ROS Documentation
A much more extensive and standard ROS-style version of this documentation can be found on the ROS wiki at:
http://wiki.ros.org/razor_imu_9dof
Install and Configure ROS Package
1) Install dependencies (for 3D visualization):
sudo apt-get install python-visual # For Ubuntu 16.04 and before
# For Ubuntu 18.04, install https://github.com/lebarsfa/visual/tree/bionic, or see https://github.com/ENSTABretagneRobotics/razor_imu_9dof/issues/47
sudo apt-get install python3-pip python3-wxgtk4.0 ; pip3 install vpython # From Ubuntu 20.04
2) Download code:
cd ~/catkin_workspace/src
git clone https://github.com/ENSTABretagneRobotics/razor_imu_9dof.git
cd ..
catkin_make
# For 3D visualization, from Ubuntu 20.04
cd src/razor_imu_9dof/nodes ; wget https://www.glowscript.org/docs/VPythonDocs/VPtoGS.py ; python3 VPtoGS.py ; cp -f Converted/display_3D_visualization.py display_3D_visualization.py ; cd ../../..
Install Arduino firmware
1) For SPX-15846 and DEV-16832 (OpenLog Artemis), you will need to follow the same instructions as for the OLA_IMU_Basics.ino
sample from https://github.com/sparkfun/OpenLog_Artemis (i.e. get the drivers from https://learn.sparkfun.com/tutorials/how-to-install-ch340-drivers, install SparkFun Apollo3 boards in Arduino IDE as in https://learn.sparkfun.com/tutorials/installing-board-definitions-in-the-arduino-ide (add https://raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json to File
→ Preferences
→ Additional Board Manager URLs
) and ensure you select SparkFun Apollo3
→ SparkFun RedBoard Artemis ATP
as the board and install SparkFun ICM 20948 IMU Arduino library as in https://learn.sparkfun.com/tutorials/installing-an-arduino-library). For SEN-14001 (9DoF Razor IMU M0), you will need to follow the same instructions as for the default firmware on https://learn.sparkfun.com/tutorials/9dof-razor-imu-m0-hookup-guide and use an updated version of SparkFun_MPU-9250-DMP_Arduino_Library from https://github.com/lebarsfa/SparkFun_MPU-9250-DMP_Arduino_Library (an updated version of the default firmware is also available on https://github.com/lebarsfa/9DOF_Razor_IMU).
2) Open src/Razor_AHRS/Razor_AHRS.ino
in Arduino IDE. Note: this is a modified version
of Peter Bartz’ original Arduino code (see https://github.com/ptrbrtz/razor-9dof-ahrs).
Use this version - it emits linear acceleration and angular velocity data required by the ROS Imu message
3) Select your hardware here by uncommenting the right line in src/Razor_AHRS/Razor_AHRS.ino
, e.g.
// HARDWARE OPTIONS
/*****************************************************************/
// Select your hardware here by uncommenting one line!
//#define HW__VERSION_CODE 10125 // SparkFun "9DOF Razor IMU" version "SEN-10125" (HMC5843 magnetometer)
//#define HW__VERSION_CODE 10736 // SparkFun "9DOF Razor IMU" version "SEN-10736" (HMC5883L magnetometer)
//#define HW__VERSION_CODE 14001 // SparkFun "9DoF Razor IMU M0" version "SEN-14001"
//#define HW__VERSION_CODE 15846 // SparkFun "OpenLog Artemis" version "SPX-15846"
#define HW__VERSION_CODE 16832 // SparkFun "OpenLog Artemis" version "DEV-16832"
//#define HW__VERSION_CODE 10183 // SparkFun "9DOF Sensor Stick" version "SEN-10183" (HMC5843 magnetometer)
//#define HW__VERSION_CODE 10321 // SparkFun "9DOF Sensor Stick" version "SEN-10321" (HMC5843 magnetometer)
//#define HW__VERSION_CODE 10724 // SparkFun "9DOF Sensor Stick" version "SEN-10724" (HMC5883L magnetometer)
4) Upload Arduino sketch to the board
Configure
In its default configuration, razor_imu_9dof
expects a yaml config file my_razor.yaml
with:
- USB port to use
- Calibration parameters
An examplerazor.yaml
file is provided.
Copy that file to my_razor.yaml
as follows:
roscd razor_imu_9dof/config
cp razor.yaml my_razor.yaml
Then, edit my_razor.yaml
as needed
Launch
Publisher only:
roslaunch razor_imu_9dof razor-pub.launch
Publisher and 3D visualization:
roslaunch razor_imu_9dof razor-pub-and-display.launch
Publisher only with diagnostics:
roslaunch razor_imu_9dof razor-pub-diags.launch
3D visualization only:
roslaunch razor_imu_9dof razor-display.launch
Calibrate
File truncated at 100 lines see the full file
Changelog for package razor_imu_9dof
1.3.0 (28-12-2020)
- Adding firmware support for SPX-15846 and DEV-16832 (OpenLog Artemis) (lebarsfa)
1.2.0 (20-12-2017)
- Adding firmware support for SEN-14001 (9DoF Razor IMU M0) (lebarsfa)
1.1.1 (02-07-2016)
- Passing razor_config_file as ros parameter in launch file (Daniel Koguciuk)
1.1.0 (08-03-2015)
-
Resolving bug in exiting display_3D_visualization (#15)
-
Adding dynamic reconfigure for yaw calibration (Paul Bouchier)
-
Moving calibration values from firmware to ROS yaml file (#13)
- Note: this is a BREAKING CHANGE - requires firmware update (updated firmware provided)
-
Refactoring code: moved scripts to nodes, renamed node.py to imu_node.py (Paul Bouchier)
-
Adding diagnostic status reporting (Paul Bouchier)
1.0.5 (15-11-2014)
- Moving scripts from nodes to scripts dir
- Installing files in
src
andmagnetometer_calibration
- Major cleanup of package.xml and CMakeLists.txt
1.0.4 (15-11-2014)
- Adding press 'a' to align feature
- Moving magnetometer calibration sketches under dedicated
magnetometer_calibration
directory - Adding magnetometer calibration sketches for Processing and Matlab (Paul Bouchier)
- Setting default USB port to /dev/ttyUSB0 in all files
- Adding graceful exit in case USB port not found
- Adding queue_size=1
- Fixing x linear accelerations sign
1.0.3 (02-11-2014)
- Moving all file one directory up
- Changing axis orientation in 3D visualization to be in line with REP 103
- Additional output of linear accelerationa and angular velocity in 3D visualization
- Adding units of measurement to 3D visualization
- Major graphical improvements to the 3D visualization
- Adding explanation on different launch files
1.0.2 (31-10-2014)
- Adding valid covariances (Paul Bouchier)
- Fixing incorrect direction of yaw & pitch orientation (Paul Bouchier)
- Fix Readme references & instructions (Paul Bouchier)
- Converting acceleration to m/s\^2 (Paul Bouchier)
- Adapting to new output message YPRAG instead of YPRAMG (Paul Bouchier)
- Updating package.xml links to ahrs site (Paul Bouchier)
- Upgrading Arduino package to 1.4.2 from Peter Bartz' site (Paul Bouchier)
- Fixing link to Peter Bartz' site (Paul Bouchier)
- Documenting #ox output mode (Paul Bouchier)
- Renaming new mode #define to better reflect what it does (Paul Bouchier)
- Adding #ox output mode back into Peter's code (Paul Bouchier)
1.0.1 (15-03-2014)
- Cleaning up code based on catkin_lint report
- Creating additional launch files for display/publishing
- Implementing flush of first IMU results
- Changing default port, and adding output showing which port was selected
- Removing obsolete
roslib
import androslib.load_manifest
1.0.0 (29-12-2013)
- First catkinized version
Dependant Packages
Launch files
- launch/razor-display.launch
- launch/razor-pub-and-display.launch
-
- razor_config_file [default: $(find razor_imu_9dof)/config/my_razor.yaml]
- launch/razor-pub-diags.launch
-
- razor_config_file [default: $(find razor_imu_9dof)/config/my_razor.yaml]
- launch/razor-pub.launch
-
- razor_config_file [default: $(find razor_imu_9dof)/config/my_razor.yaml]
Messages
Services
Plugins
Recent questions tagged razor_imu_9dof at Robotics Stack Exchange
![]() |
razor_imu_9dof package from razor_imu_9dof reporazor_imu_9dof |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.3.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | A ROS driver and firmware to connect to Sparkfun OpenLog Artemis, 9DoF Razor IMU M0, 9DOF Razor IMU and 9DOF Sensor Stick. These boards consists of 3 sensors: magnetic, gyro and acceleration sensor. |
Checkout URI | https://github.com/ENSTABretagneRobotics/razor_imu_9dof.git |
VCS Type | git |
VCS Version | indigo-devel |
Last Updated | 2022-09-19 |
Dev Status | MAINTAINED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Fabrice LE BARS
Authors
- Tang Tiong Yew
- Kristof Robot
- Paul Bouchier
- Peter Bartz
Official ROS Documentation
A much more extensive and standard ROS-style version of this documentation can be found on the ROS wiki at:
http://wiki.ros.org/razor_imu_9dof
Install and Configure ROS Package
1) Install dependencies (for 3D visualization):
sudo apt-get install python-visual # For Ubuntu 16.04 and before
# For Ubuntu 18.04, install https://github.com/lebarsfa/visual/tree/bionic, or see https://github.com/ENSTABretagneRobotics/razor_imu_9dof/issues/47
sudo apt-get install python3-pip python3-wxgtk4.0 ; pip3 install vpython # From Ubuntu 20.04
2) Download code:
cd ~/catkin_workspace/src
git clone https://github.com/ENSTABretagneRobotics/razor_imu_9dof.git
cd ..
catkin_make
# For 3D visualization, from Ubuntu 20.04
cd src/razor_imu_9dof/nodes ; wget https://www.glowscript.org/docs/VPythonDocs/VPtoGS.py ; python3 VPtoGS.py ; cp -f Converted/display_3D_visualization.py display_3D_visualization.py ; cd ../../..
Install Arduino firmware
1) For SPX-15846 and DEV-16832 (OpenLog Artemis), you will need to follow the same instructions as for the OLA_IMU_Basics.ino
sample from https://github.com/sparkfun/OpenLog_Artemis (i.e. get the drivers from https://learn.sparkfun.com/tutorials/how-to-install-ch340-drivers, install SparkFun Apollo3 boards in Arduino IDE as in https://learn.sparkfun.com/tutorials/installing-board-definitions-in-the-arduino-ide (add https://raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json to File
→ Preferences
→ Additional Board Manager URLs
) and ensure you select SparkFun Apollo3
→ SparkFun RedBoard Artemis ATP
as the board and install SparkFun ICM 20948 IMU Arduino library as in https://learn.sparkfun.com/tutorials/installing-an-arduino-library). For SEN-14001 (9DoF Razor IMU M0), you will need to follow the same instructions as for the default firmware on https://learn.sparkfun.com/tutorials/9dof-razor-imu-m0-hookup-guide and use an updated version of SparkFun_MPU-9250-DMP_Arduino_Library from https://github.com/lebarsfa/SparkFun_MPU-9250-DMP_Arduino_Library (an updated version of the default firmware is also available on https://github.com/lebarsfa/9DOF_Razor_IMU).
2) Open src/Razor_AHRS/Razor_AHRS.ino
in Arduino IDE. Note: this is a modified version
of Peter Bartz’ original Arduino code (see https://github.com/ptrbrtz/razor-9dof-ahrs).
Use this version - it emits linear acceleration and angular velocity data required by the ROS Imu message
3) Select your hardware here by uncommenting the right line in src/Razor_AHRS/Razor_AHRS.ino
, e.g.
// HARDWARE OPTIONS
/*****************************************************************/
// Select your hardware here by uncommenting one line!
//#define HW__VERSION_CODE 10125 // SparkFun "9DOF Razor IMU" version "SEN-10125" (HMC5843 magnetometer)
//#define HW__VERSION_CODE 10736 // SparkFun "9DOF Razor IMU" version "SEN-10736" (HMC5883L magnetometer)
//#define HW__VERSION_CODE 14001 // SparkFun "9DoF Razor IMU M0" version "SEN-14001"
//#define HW__VERSION_CODE 15846 // SparkFun "OpenLog Artemis" version "SPX-15846"
#define HW__VERSION_CODE 16832 // SparkFun "OpenLog Artemis" version "DEV-16832"
//#define HW__VERSION_CODE 10183 // SparkFun "9DOF Sensor Stick" version "SEN-10183" (HMC5843 magnetometer)
//#define HW__VERSION_CODE 10321 // SparkFun "9DOF Sensor Stick" version "SEN-10321" (HMC5843 magnetometer)
//#define HW__VERSION_CODE 10724 // SparkFun "9DOF Sensor Stick" version "SEN-10724" (HMC5883L magnetometer)
4) Upload Arduino sketch to the board
Configure
In its default configuration, razor_imu_9dof
expects a yaml config file my_razor.yaml
with:
- USB port to use
- Calibration parameters
An examplerazor.yaml
file is provided.
Copy that file to my_razor.yaml
as follows:
roscd razor_imu_9dof/config
cp razor.yaml my_razor.yaml
Then, edit my_razor.yaml
as needed
Launch
Publisher only:
roslaunch razor_imu_9dof razor-pub.launch
Publisher and 3D visualization:
roslaunch razor_imu_9dof razor-pub-and-display.launch
Publisher only with diagnostics:
roslaunch razor_imu_9dof razor-pub-diags.launch
3D visualization only:
roslaunch razor_imu_9dof razor-display.launch
Calibrate
File truncated at 100 lines see the full file
Changelog for package razor_imu_9dof
1.3.0 (28-12-2020)
- Adding firmware support for SPX-15846 and DEV-16832 (OpenLog Artemis) (lebarsfa)
1.2.0 (20-12-2017)
- Adding firmware support for SEN-14001 (9DoF Razor IMU M0) (lebarsfa)
1.1.1 (02-07-2016)
- Passing razor_config_file as ros parameter in launch file (Daniel Koguciuk)
1.1.0 (08-03-2015)
-
Resolving bug in exiting display_3D_visualization (#15)
-
Adding dynamic reconfigure for yaw calibration (Paul Bouchier)
-
Moving calibration values from firmware to ROS yaml file (#13)
- Note: this is a BREAKING CHANGE - requires firmware update (updated firmware provided)
-
Refactoring code: moved scripts to nodes, renamed node.py to imu_node.py (Paul Bouchier)
-
Adding diagnostic status reporting (Paul Bouchier)
1.0.5 (15-11-2014)
- Moving scripts from nodes to scripts dir
- Installing files in
src
andmagnetometer_calibration
- Major cleanup of package.xml and CMakeLists.txt
1.0.4 (15-11-2014)
- Adding press 'a' to align feature
- Moving magnetometer calibration sketches under dedicated
magnetometer_calibration
directory - Adding magnetometer calibration sketches for Processing and Matlab (Paul Bouchier)
- Setting default USB port to /dev/ttyUSB0 in all files
- Adding graceful exit in case USB port not found
- Adding queue_size=1
- Fixing x linear accelerations sign
1.0.3 (02-11-2014)
- Moving all file one directory up
- Changing axis orientation in 3D visualization to be in line with REP 103
- Additional output of linear accelerationa and angular velocity in 3D visualization
- Adding units of measurement to 3D visualization
- Major graphical improvements to the 3D visualization
- Adding explanation on different launch files
1.0.2 (31-10-2014)
- Adding valid covariances (Paul Bouchier)
- Fixing incorrect direction of yaw & pitch orientation (Paul Bouchier)
- Fix Readme references & instructions (Paul Bouchier)
- Converting acceleration to m/s\^2 (Paul Bouchier)
- Adapting to new output message YPRAG instead of YPRAMG (Paul Bouchier)
- Updating package.xml links to ahrs site (Paul Bouchier)
- Upgrading Arduino package to 1.4.2 from Peter Bartz' site (Paul Bouchier)
- Fixing link to Peter Bartz' site (Paul Bouchier)
- Documenting #ox output mode (Paul Bouchier)
- Renaming new mode #define to better reflect what it does (Paul Bouchier)
- Adding #ox output mode back into Peter's code (Paul Bouchier)
1.0.1 (15-03-2014)
- Cleaning up code based on catkin_lint report
- Creating additional launch files for display/publishing
- Implementing flush of first IMU results
- Changing default port, and adding output showing which port was selected
- Removing obsolete
roslib
import androslib.load_manifest
1.0.0 (29-12-2013)
- First catkinized version
Dependant Packages
Launch files
- launch/razor-display.launch
- launch/razor-pub-and-display.launch
-
- razor_config_file [default: $(find razor_imu_9dof)/config/my_razor.yaml]
- launch/razor-pub-diags.launch
-
- razor_config_file [default: $(find razor_imu_9dof)/config/my_razor.yaml]
- launch/razor-pub.launch
-
- razor_config_file [default: $(find razor_imu_9dof)/config/my_razor.yaml]
Messages
Services
Plugins
Recent questions tagged razor_imu_9dof at Robotics Stack Exchange
![]() |
razor_imu_9dof package from razor_imu_9dof reporazor_imu_9dof |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.3.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | A ROS driver and firmware to connect to Sparkfun OpenLog Artemis, 9DoF Razor IMU M0, 9DOF Razor IMU and 9DOF Sensor Stick. These boards consists of 3 sensors: magnetic, gyro and acceleration sensor. |
Checkout URI | https://github.com/ENSTABretagneRobotics/razor_imu_9dof.git |
VCS Type | git |
VCS Version | indigo-devel |
Last Updated | 2022-09-19 |
Dev Status | MAINTAINED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Fabrice LE BARS
Authors
- Tang Tiong Yew
- Kristof Robot
- Paul Bouchier
- Peter Bartz
Official ROS Documentation
A much more extensive and standard ROS-style version of this documentation can be found on the ROS wiki at:
http://wiki.ros.org/razor_imu_9dof
Install and Configure ROS Package
1) Install dependencies (for 3D visualization):
sudo apt-get install python-visual # For Ubuntu 16.04 and before
# For Ubuntu 18.04, install https://github.com/lebarsfa/visual/tree/bionic, or see https://github.com/ENSTABretagneRobotics/razor_imu_9dof/issues/47
sudo apt-get install python3-pip python3-wxgtk4.0 ; pip3 install vpython # From Ubuntu 20.04
2) Download code:
cd ~/catkin_workspace/src
git clone https://github.com/ENSTABretagneRobotics/razor_imu_9dof.git
cd ..
catkin_make
# For 3D visualization, from Ubuntu 20.04
cd src/razor_imu_9dof/nodes ; wget https://www.glowscript.org/docs/VPythonDocs/VPtoGS.py ; python3 VPtoGS.py ; cp -f Converted/display_3D_visualization.py display_3D_visualization.py ; cd ../../..
Install Arduino firmware
1) For SPX-15846 and DEV-16832 (OpenLog Artemis), you will need to follow the same instructions as for the OLA_IMU_Basics.ino
sample from https://github.com/sparkfun/OpenLog_Artemis (i.e. get the drivers from https://learn.sparkfun.com/tutorials/how-to-install-ch340-drivers, install SparkFun Apollo3 boards in Arduino IDE as in https://learn.sparkfun.com/tutorials/installing-board-definitions-in-the-arduino-ide (add https://raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json to File
→ Preferences
→ Additional Board Manager URLs
) and ensure you select SparkFun Apollo3
→ SparkFun RedBoard Artemis ATP
as the board and install SparkFun ICM 20948 IMU Arduino library as in https://learn.sparkfun.com/tutorials/installing-an-arduino-library). For SEN-14001 (9DoF Razor IMU M0), you will need to follow the same instructions as for the default firmware on https://learn.sparkfun.com/tutorials/9dof-razor-imu-m0-hookup-guide and use an updated version of SparkFun_MPU-9250-DMP_Arduino_Library from https://github.com/lebarsfa/SparkFun_MPU-9250-DMP_Arduino_Library (an updated version of the default firmware is also available on https://github.com/lebarsfa/9DOF_Razor_IMU).
2) Open src/Razor_AHRS/Razor_AHRS.ino
in Arduino IDE. Note: this is a modified version
of Peter Bartz’ original Arduino code (see https://github.com/ptrbrtz/razor-9dof-ahrs).
Use this version - it emits linear acceleration and angular velocity data required by the ROS Imu message
3) Select your hardware here by uncommenting the right line in src/Razor_AHRS/Razor_AHRS.ino
, e.g.
// HARDWARE OPTIONS
/*****************************************************************/
// Select your hardware here by uncommenting one line!
//#define HW__VERSION_CODE 10125 // SparkFun "9DOF Razor IMU" version "SEN-10125" (HMC5843 magnetometer)
//#define HW__VERSION_CODE 10736 // SparkFun "9DOF Razor IMU" version "SEN-10736" (HMC5883L magnetometer)
//#define HW__VERSION_CODE 14001 // SparkFun "9DoF Razor IMU M0" version "SEN-14001"
//#define HW__VERSION_CODE 15846 // SparkFun "OpenLog Artemis" version "SPX-15846"
#define HW__VERSION_CODE 16832 // SparkFun "OpenLog Artemis" version "DEV-16832"
//#define HW__VERSION_CODE 10183 // SparkFun "9DOF Sensor Stick" version "SEN-10183" (HMC5843 magnetometer)
//#define HW__VERSION_CODE 10321 // SparkFun "9DOF Sensor Stick" version "SEN-10321" (HMC5843 magnetometer)
//#define HW__VERSION_CODE 10724 // SparkFun "9DOF Sensor Stick" version "SEN-10724" (HMC5883L magnetometer)
4) Upload Arduino sketch to the board
Configure
In its default configuration, razor_imu_9dof
expects a yaml config file my_razor.yaml
with:
- USB port to use
- Calibration parameters
An examplerazor.yaml
file is provided.
Copy that file to my_razor.yaml
as follows:
roscd razor_imu_9dof/config
cp razor.yaml my_razor.yaml
Then, edit my_razor.yaml
as needed
Launch
Publisher only:
roslaunch razor_imu_9dof razor-pub.launch
Publisher and 3D visualization:
roslaunch razor_imu_9dof razor-pub-and-display.launch
Publisher only with diagnostics:
roslaunch razor_imu_9dof razor-pub-diags.launch
3D visualization only:
roslaunch razor_imu_9dof razor-display.launch
Calibrate
File truncated at 100 lines see the full file
Changelog for package razor_imu_9dof
1.3.0 (28-12-2020)
- Adding firmware support for SPX-15846 and DEV-16832 (OpenLog Artemis) (lebarsfa)
1.2.0 (20-12-2017)
- Adding firmware support for SEN-14001 (9DoF Razor IMU M0) (lebarsfa)
1.1.1 (02-07-2016)
- Passing razor_config_file as ros parameter in launch file (Daniel Koguciuk)
1.1.0 (08-03-2015)
-
Resolving bug in exiting display_3D_visualization (#15)
-
Adding dynamic reconfigure for yaw calibration (Paul Bouchier)
-
Moving calibration values from firmware to ROS yaml file (#13)
- Note: this is a BREAKING CHANGE - requires firmware update (updated firmware provided)
-
Refactoring code: moved scripts to nodes, renamed node.py to imu_node.py (Paul Bouchier)
-
Adding diagnostic status reporting (Paul Bouchier)
1.0.5 (15-11-2014)
- Moving scripts from nodes to scripts dir
- Installing files in
src
andmagnetometer_calibration
- Major cleanup of package.xml and CMakeLists.txt
1.0.4 (15-11-2014)
- Adding press 'a' to align feature
- Moving magnetometer calibration sketches under dedicated
magnetometer_calibration
directory - Adding magnetometer calibration sketches for Processing and Matlab (Paul Bouchier)
- Setting default USB port to /dev/ttyUSB0 in all files
- Adding graceful exit in case USB port not found
- Adding queue_size=1
- Fixing x linear accelerations sign
1.0.3 (02-11-2014)
- Moving all file one directory up
- Changing axis orientation in 3D visualization to be in line with REP 103
- Additional output of linear accelerationa and angular velocity in 3D visualization
- Adding units of measurement to 3D visualization
- Major graphical improvements to the 3D visualization
- Adding explanation on different launch files
1.0.2 (31-10-2014)
- Adding valid covariances (Paul Bouchier)
- Fixing incorrect direction of yaw & pitch orientation (Paul Bouchier)
- Fix Readme references & instructions (Paul Bouchier)
- Converting acceleration to m/s\^2 (Paul Bouchier)
- Adapting to new output message YPRAG instead of YPRAMG (Paul Bouchier)
- Updating package.xml links to ahrs site (Paul Bouchier)
- Upgrading Arduino package to 1.4.2 from Peter Bartz' site (Paul Bouchier)
- Fixing link to Peter Bartz' site (Paul Bouchier)
- Documenting #ox output mode (Paul Bouchier)
- Renaming new mode #define to better reflect what it does (Paul Bouchier)
- Adding #ox output mode back into Peter's code (Paul Bouchier)
1.0.1 (15-03-2014)
- Cleaning up code based on catkin_lint report
- Creating additional launch files for display/publishing
- Implementing flush of first IMU results
- Changing default port, and adding output showing which port was selected
- Removing obsolete
roslib
import androslib.load_manifest
1.0.0 (29-12-2013)
- First catkinized version
Dependant Packages
Launch files
- launch/razor-display.launch
- launch/razor-pub-and-display.launch
-
- razor_config_file [default: $(find razor_imu_9dof)/config/my_razor.yaml]
- launch/razor-pub-diags.launch
-
- razor_config_file [default: $(find razor_imu_9dof)/config/my_razor.yaml]
- launch/razor-pub.launch
-
- razor_config_file [default: $(find razor_imu_9dof)/config/my_razor.yaml]
Messages
Services
Plugins
Recent questions tagged razor_imu_9dof at Robotics Stack Exchange
![]() |
razor_imu_9dof package from razor_imu_9dof reporazor_imu_9dof |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.3.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | A ROS driver and firmware to connect to Sparkfun OpenLog Artemis, 9DoF Razor IMU M0, 9DOF Razor IMU and 9DOF Sensor Stick. These boards consists of 3 sensors: magnetic, gyro and acceleration sensor. |
Checkout URI | https://github.com/ENSTABretagneRobotics/razor_imu_9dof.git |
VCS Type | git |
VCS Version | indigo-devel |
Last Updated | 2022-09-19 |
Dev Status | MAINTAINED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Fabrice LE BARS
Authors
- Tang Tiong Yew
- Kristof Robot
- Paul Bouchier
- Peter Bartz
Official ROS Documentation
A much more extensive and standard ROS-style version of this documentation can be found on the ROS wiki at:
http://wiki.ros.org/razor_imu_9dof
Install and Configure ROS Package
1) Install dependencies (for 3D visualization):
sudo apt-get install python-visual # For Ubuntu 16.04 and before
# For Ubuntu 18.04, install https://github.com/lebarsfa/visual/tree/bionic, or see https://github.com/ENSTABretagneRobotics/razor_imu_9dof/issues/47
sudo apt-get install python3-pip python3-wxgtk4.0 ; pip3 install vpython # From Ubuntu 20.04
2) Download code:
cd ~/catkin_workspace/src
git clone https://github.com/ENSTABretagneRobotics/razor_imu_9dof.git
cd ..
catkin_make
# For 3D visualization, from Ubuntu 20.04
cd src/razor_imu_9dof/nodes ; wget https://www.glowscript.org/docs/VPythonDocs/VPtoGS.py ; python3 VPtoGS.py ; cp -f Converted/display_3D_visualization.py display_3D_visualization.py ; cd ../../..
Install Arduino firmware
1) For SPX-15846 and DEV-16832 (OpenLog Artemis), you will need to follow the same instructions as for the OLA_IMU_Basics.ino
sample from https://github.com/sparkfun/OpenLog_Artemis (i.e. get the drivers from https://learn.sparkfun.com/tutorials/how-to-install-ch340-drivers, install SparkFun Apollo3 boards in Arduino IDE as in https://learn.sparkfun.com/tutorials/installing-board-definitions-in-the-arduino-ide (add https://raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json to File
→ Preferences
→ Additional Board Manager URLs
) and ensure you select SparkFun Apollo3
→ SparkFun RedBoard Artemis ATP
as the board and install SparkFun ICM 20948 IMU Arduino library as in https://learn.sparkfun.com/tutorials/installing-an-arduino-library). For SEN-14001 (9DoF Razor IMU M0), you will need to follow the same instructions as for the default firmware on https://learn.sparkfun.com/tutorials/9dof-razor-imu-m0-hookup-guide and use an updated version of SparkFun_MPU-9250-DMP_Arduino_Library from https://github.com/lebarsfa/SparkFun_MPU-9250-DMP_Arduino_Library (an updated version of the default firmware is also available on https://github.com/lebarsfa/9DOF_Razor_IMU).
2) Open src/Razor_AHRS/Razor_AHRS.ino
in Arduino IDE. Note: this is a modified version
of Peter Bartz’ original Arduino code (see https://github.com/ptrbrtz/razor-9dof-ahrs).
Use this version - it emits linear acceleration and angular velocity data required by the ROS Imu message
3) Select your hardware here by uncommenting the right line in src/Razor_AHRS/Razor_AHRS.ino
, e.g.
// HARDWARE OPTIONS
/*****************************************************************/
// Select your hardware here by uncommenting one line!
//#define HW__VERSION_CODE 10125 // SparkFun "9DOF Razor IMU" version "SEN-10125" (HMC5843 magnetometer)
//#define HW__VERSION_CODE 10736 // SparkFun "9DOF Razor IMU" version "SEN-10736" (HMC5883L magnetometer)
//#define HW__VERSION_CODE 14001 // SparkFun "9DoF Razor IMU M0" version "SEN-14001"
//#define HW__VERSION_CODE 15846 // SparkFun "OpenLog Artemis" version "SPX-15846"
#define HW__VERSION_CODE 16832 // SparkFun "OpenLog Artemis" version "DEV-16832"
//#define HW__VERSION_CODE 10183 // SparkFun "9DOF Sensor Stick" version "SEN-10183" (HMC5843 magnetometer)
//#define HW__VERSION_CODE 10321 // SparkFun "9DOF Sensor Stick" version "SEN-10321" (HMC5843 magnetometer)
//#define HW__VERSION_CODE 10724 // SparkFun "9DOF Sensor Stick" version "SEN-10724" (HMC5883L magnetometer)
4) Upload Arduino sketch to the board
Configure
In its default configuration, razor_imu_9dof
expects a yaml config file my_razor.yaml
with:
- USB port to use
- Calibration parameters
An examplerazor.yaml
file is provided.
Copy that file to my_razor.yaml
as follows:
roscd razor_imu_9dof/config
cp razor.yaml my_razor.yaml
Then, edit my_razor.yaml
as needed
Launch
Publisher only:
roslaunch razor_imu_9dof razor-pub.launch
Publisher and 3D visualization:
roslaunch razor_imu_9dof razor-pub-and-display.launch
Publisher only with diagnostics:
roslaunch razor_imu_9dof razor-pub-diags.launch
3D visualization only:
roslaunch razor_imu_9dof razor-display.launch
Calibrate
File truncated at 100 lines see the full file
Changelog for package razor_imu_9dof
1.3.0 (28-12-2020)
- Adding firmware support for SPX-15846 and DEV-16832 (OpenLog Artemis) (lebarsfa)
1.2.0 (20-12-2017)
- Adding firmware support for SEN-14001 (9DoF Razor IMU M0) (lebarsfa)
1.1.1 (02-07-2016)
- Passing razor_config_file as ros parameter in launch file (Daniel Koguciuk)
1.1.0 (08-03-2015)
-
Resolving bug in exiting display_3D_visualization (#15)
-
Adding dynamic reconfigure for yaw calibration (Paul Bouchier)
-
Moving calibration values from firmware to ROS yaml file (#13)
- Note: this is a BREAKING CHANGE - requires firmware update (updated firmware provided)
-
Refactoring code: moved scripts to nodes, renamed node.py to imu_node.py (Paul Bouchier)
-
Adding diagnostic status reporting (Paul Bouchier)
1.0.5 (15-11-2014)
- Moving scripts from nodes to scripts dir
- Installing files in
src
andmagnetometer_calibration
- Major cleanup of package.xml and CMakeLists.txt
1.0.4 (15-11-2014)
- Adding press 'a' to align feature
- Moving magnetometer calibration sketches under dedicated
magnetometer_calibration
directory - Adding magnetometer calibration sketches for Processing and Matlab (Paul Bouchier)
- Setting default USB port to /dev/ttyUSB0 in all files
- Adding graceful exit in case USB port not found
- Adding queue_size=1
- Fixing x linear accelerations sign
1.0.3 (02-11-2014)
- Moving all file one directory up
- Changing axis orientation in 3D visualization to be in line with REP 103
- Additional output of linear accelerationa and angular velocity in 3D visualization
- Adding units of measurement to 3D visualization
- Major graphical improvements to the 3D visualization
- Adding explanation on different launch files
1.0.2 (31-10-2014)
- Adding valid covariances (Paul Bouchier)
- Fixing incorrect direction of yaw & pitch orientation (Paul Bouchier)
- Fix Readme references & instructions (Paul Bouchier)
- Converting acceleration to m/s\^2 (Paul Bouchier)
- Adapting to new output message YPRAG instead of YPRAMG (Paul Bouchier)
- Updating package.xml links to ahrs site (Paul Bouchier)
- Upgrading Arduino package to 1.4.2 from Peter Bartz' site (Paul Bouchier)
- Fixing link to Peter Bartz' site (Paul Bouchier)
- Documenting #ox output mode (Paul Bouchier)
- Renaming new mode #define to better reflect what it does (Paul Bouchier)
- Adding #ox output mode back into Peter's code (Paul Bouchier)
1.0.1 (15-03-2014)
- Cleaning up code based on catkin_lint report
- Creating additional launch files for display/publishing
- Implementing flush of first IMU results
- Changing default port, and adding output showing which port was selected
- Removing obsolete
roslib
import androslib.load_manifest
1.0.0 (29-12-2013)
- First catkinized version
Dependant Packages
Launch files
- launch/razor-display.launch
- launch/razor-pub-and-display.launch
-
- razor_config_file [default: $(find razor_imu_9dof)/config/my_razor.yaml]
- launch/razor-pub-diags.launch
-
- razor_config_file [default: $(find razor_imu_9dof)/config/my_razor.yaml]
- launch/razor-pub.launch
-
- razor_config_file [default: $(find razor_imu_9dof)/config/my_razor.yaml]
Messages
Services
Plugins
Recent questions tagged razor_imu_9dof at Robotics Stack Exchange
![]() |
razor_imu_9dof package from razor_imu_9dof reporazor_imu_9dof |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.3.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | A ROS driver and firmware to connect to Sparkfun OpenLog Artemis, 9DoF Razor IMU M0, 9DOF Razor IMU and 9DOF Sensor Stick. These boards consists of 3 sensors: magnetic, gyro and acceleration sensor. |
Checkout URI | https://github.com/ENSTABretagneRobotics/razor_imu_9dof.git |
VCS Type | git |
VCS Version | indigo-devel |
Last Updated | 2022-09-19 |
Dev Status | MAINTAINED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Fabrice LE BARS
Authors
- Tang Tiong Yew
- Kristof Robot
- Paul Bouchier
- Peter Bartz
Official ROS Documentation
A much more extensive and standard ROS-style version of this documentation can be found on the ROS wiki at:
http://wiki.ros.org/razor_imu_9dof
Install and Configure ROS Package
1) Install dependencies (for 3D visualization):
sudo apt-get install python-visual # For Ubuntu 16.04 and before
# For Ubuntu 18.04, install https://github.com/lebarsfa/visual/tree/bionic, or see https://github.com/ENSTABretagneRobotics/razor_imu_9dof/issues/47
sudo apt-get install python3-pip python3-wxgtk4.0 ; pip3 install vpython # From Ubuntu 20.04
2) Download code:
cd ~/catkin_workspace/src
git clone https://github.com/ENSTABretagneRobotics/razor_imu_9dof.git
cd ..
catkin_make
# For 3D visualization, from Ubuntu 20.04
cd src/razor_imu_9dof/nodes ; wget https://www.glowscript.org/docs/VPythonDocs/VPtoGS.py ; python3 VPtoGS.py ; cp -f Converted/display_3D_visualization.py display_3D_visualization.py ; cd ../../..
Install Arduino firmware
1) For SPX-15846 and DEV-16832 (OpenLog Artemis), you will need to follow the same instructions as for the OLA_IMU_Basics.ino
sample from https://github.com/sparkfun/OpenLog_Artemis (i.e. get the drivers from https://learn.sparkfun.com/tutorials/how-to-install-ch340-drivers, install SparkFun Apollo3 boards in Arduino IDE as in https://learn.sparkfun.com/tutorials/installing-board-definitions-in-the-arduino-ide (add https://raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json to File
→ Preferences
→ Additional Board Manager URLs
) and ensure you select SparkFun Apollo3
→ SparkFun RedBoard Artemis ATP
as the board and install SparkFun ICM 20948 IMU Arduino library as in https://learn.sparkfun.com/tutorials/installing-an-arduino-library). For SEN-14001 (9DoF Razor IMU M0), you will need to follow the same instructions as for the default firmware on https://learn.sparkfun.com/tutorials/9dof-razor-imu-m0-hookup-guide and use an updated version of SparkFun_MPU-9250-DMP_Arduino_Library from https://github.com/lebarsfa/SparkFun_MPU-9250-DMP_Arduino_Library (an updated version of the default firmware is also available on https://github.com/lebarsfa/9DOF_Razor_IMU).
2) Open src/Razor_AHRS/Razor_AHRS.ino
in Arduino IDE. Note: this is a modified version
of Peter Bartz’ original Arduino code (see https://github.com/ptrbrtz/razor-9dof-ahrs).
Use this version - it emits linear acceleration and angular velocity data required by the ROS Imu message
3) Select your hardware here by uncommenting the right line in src/Razor_AHRS/Razor_AHRS.ino
, e.g.
// HARDWARE OPTIONS
/*****************************************************************/
// Select your hardware here by uncommenting one line!
//#define HW__VERSION_CODE 10125 // SparkFun "9DOF Razor IMU" version "SEN-10125" (HMC5843 magnetometer)
//#define HW__VERSION_CODE 10736 // SparkFun "9DOF Razor IMU" version "SEN-10736" (HMC5883L magnetometer)
//#define HW__VERSION_CODE 14001 // SparkFun "9DoF Razor IMU M0" version "SEN-14001"
//#define HW__VERSION_CODE 15846 // SparkFun "OpenLog Artemis" version "SPX-15846"
#define HW__VERSION_CODE 16832 // SparkFun "OpenLog Artemis" version "DEV-16832"
//#define HW__VERSION_CODE 10183 // SparkFun "9DOF Sensor Stick" version "SEN-10183" (HMC5843 magnetometer)
//#define HW__VERSION_CODE 10321 // SparkFun "9DOF Sensor Stick" version "SEN-10321" (HMC5843 magnetometer)
//#define HW__VERSION_CODE 10724 // SparkFun "9DOF Sensor Stick" version "SEN-10724" (HMC5883L magnetometer)
4) Upload Arduino sketch to the board
Configure
In its default configuration, razor_imu_9dof
expects a yaml config file my_razor.yaml
with:
- USB port to use
- Calibration parameters
An examplerazor.yaml
file is provided.
Copy that file to my_razor.yaml
as follows:
roscd razor_imu_9dof/config
cp razor.yaml my_razor.yaml
Then, edit my_razor.yaml
as needed
Launch
Publisher only:
roslaunch razor_imu_9dof razor-pub.launch
Publisher and 3D visualization:
roslaunch razor_imu_9dof razor-pub-and-display.launch
Publisher only with diagnostics:
roslaunch razor_imu_9dof razor-pub-diags.launch
3D visualization only:
roslaunch razor_imu_9dof razor-display.launch
Calibrate
File truncated at 100 lines see the full file
Changelog for package razor_imu_9dof
1.3.0 (28-12-2020)
- Adding firmware support for SPX-15846 and DEV-16832 (OpenLog Artemis) (lebarsfa)
1.2.0 (20-12-2017)
- Adding firmware support for SEN-14001 (9DoF Razor IMU M0) (lebarsfa)
1.1.1 (02-07-2016)
- Passing razor_config_file as ros parameter in launch file (Daniel Koguciuk)
1.1.0 (08-03-2015)
-
Resolving bug in exiting display_3D_visualization (#15)
-
Adding dynamic reconfigure for yaw calibration (Paul Bouchier)
-
Moving calibration values from firmware to ROS yaml file (#13)
- Note: this is a BREAKING CHANGE - requires firmware update (updated firmware provided)
-
Refactoring code: moved scripts to nodes, renamed node.py to imu_node.py (Paul Bouchier)
-
Adding diagnostic status reporting (Paul Bouchier)
1.0.5 (15-11-2014)
- Moving scripts from nodes to scripts dir
- Installing files in
src
andmagnetometer_calibration
- Major cleanup of package.xml and CMakeLists.txt
1.0.4 (15-11-2014)
- Adding press 'a' to align feature
- Moving magnetometer calibration sketches under dedicated
magnetometer_calibration
directory - Adding magnetometer calibration sketches for Processing and Matlab (Paul Bouchier)
- Setting default USB port to /dev/ttyUSB0 in all files
- Adding graceful exit in case USB port not found
- Adding queue_size=1
- Fixing x linear accelerations sign
1.0.3 (02-11-2014)
- Moving all file one directory up
- Changing axis orientation in 3D visualization to be in line with REP 103
- Additional output of linear accelerationa and angular velocity in 3D visualization
- Adding units of measurement to 3D visualization
- Major graphical improvements to the 3D visualization
- Adding explanation on different launch files
1.0.2 (31-10-2014)
- Adding valid covariances (Paul Bouchier)
- Fixing incorrect direction of yaw & pitch orientation (Paul Bouchier)
- Fix Readme references & instructions (Paul Bouchier)
- Converting acceleration to m/s\^2 (Paul Bouchier)
- Adapting to new output message YPRAG instead of YPRAMG (Paul Bouchier)
- Updating package.xml links to ahrs site (Paul Bouchier)
- Upgrading Arduino package to 1.4.2 from Peter Bartz' site (Paul Bouchier)
- Fixing link to Peter Bartz' site (Paul Bouchier)
- Documenting #ox output mode (Paul Bouchier)
- Renaming new mode #define to better reflect what it does (Paul Bouchier)
- Adding #ox output mode back into Peter's code (Paul Bouchier)
1.0.1 (15-03-2014)
- Cleaning up code based on catkin_lint report
- Creating additional launch files for display/publishing
- Implementing flush of first IMU results
- Changing default port, and adding output showing which port was selected
- Removing obsolete
roslib
import androslib.load_manifest
1.0.0 (29-12-2013)
- First catkinized version
Dependant Packages
Launch files
- launch/razor-display.launch
- launch/razor-pub-and-display.launch
-
- razor_config_file [default: $(find razor_imu_9dof)/config/my_razor.yaml]
- launch/razor-pub-diags.launch
-
- razor_config_file [default: $(find razor_imu_9dof)/config/my_razor.yaml]
- launch/razor-pub.launch
-
- razor_config_file [default: $(find razor_imu_9dof)/config/my_razor.yaml]
Messages
Services
Plugins
Recent questions tagged razor_imu_9dof at Robotics Stack Exchange
![]() |
razor_imu_9dof package from razor_imu_9dof reporazor_imu_9dof |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.3.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | A ROS driver and firmware to connect to Sparkfun OpenLog Artemis, 9DoF Razor IMU M0, 9DOF Razor IMU and 9DOF Sensor Stick. These boards consists of 3 sensors: magnetic, gyro and acceleration sensor. |
Checkout URI | https://github.com/ENSTABretagneRobotics/razor_imu_9dof.git |
VCS Type | git |
VCS Version | indigo-devel |
Last Updated | 2022-09-19 |
Dev Status | MAINTAINED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Fabrice LE BARS
Authors
- Tang Tiong Yew
- Kristof Robot
- Paul Bouchier
- Peter Bartz
Official ROS Documentation
A much more extensive and standard ROS-style version of this documentation can be found on the ROS wiki at:
http://wiki.ros.org/razor_imu_9dof
Install and Configure ROS Package
1) Install dependencies (for 3D visualization):
sudo apt-get install python-visual # For Ubuntu 16.04 and before
# For Ubuntu 18.04, install https://github.com/lebarsfa/visual/tree/bionic, or see https://github.com/ENSTABretagneRobotics/razor_imu_9dof/issues/47
sudo apt-get install python3-pip python3-wxgtk4.0 ; pip3 install vpython # From Ubuntu 20.04
2) Download code:
cd ~/catkin_workspace/src
git clone https://github.com/ENSTABretagneRobotics/razor_imu_9dof.git
cd ..
catkin_make
# For 3D visualization, from Ubuntu 20.04
cd src/razor_imu_9dof/nodes ; wget https://www.glowscript.org/docs/VPythonDocs/VPtoGS.py ; python3 VPtoGS.py ; cp -f Converted/display_3D_visualization.py display_3D_visualization.py ; cd ../../..
Install Arduino firmware
1) For SPX-15846 and DEV-16832 (OpenLog Artemis), you will need to follow the same instructions as for the OLA_IMU_Basics.ino
sample from https://github.com/sparkfun/OpenLog_Artemis (i.e. get the drivers from https://learn.sparkfun.com/tutorials/how-to-install-ch340-drivers, install SparkFun Apollo3 boards in Arduino IDE as in https://learn.sparkfun.com/tutorials/installing-board-definitions-in-the-arduino-ide (add https://raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json to File
→ Preferences
→ Additional Board Manager URLs
) and ensure you select SparkFun Apollo3
→ SparkFun RedBoard Artemis ATP
as the board and install SparkFun ICM 20948 IMU Arduino library as in https://learn.sparkfun.com/tutorials/installing-an-arduino-library). For SEN-14001 (9DoF Razor IMU M0), you will need to follow the same instructions as for the default firmware on https://learn.sparkfun.com/tutorials/9dof-razor-imu-m0-hookup-guide and use an updated version of SparkFun_MPU-9250-DMP_Arduino_Library from https://github.com/lebarsfa/SparkFun_MPU-9250-DMP_Arduino_Library (an updated version of the default firmware is also available on https://github.com/lebarsfa/9DOF_Razor_IMU).
2) Open src/Razor_AHRS/Razor_AHRS.ino
in Arduino IDE. Note: this is a modified version
of Peter Bartz’ original Arduino code (see https://github.com/ptrbrtz/razor-9dof-ahrs).
Use this version - it emits linear acceleration and angular velocity data required by the ROS Imu message
3) Select your hardware here by uncommenting the right line in src/Razor_AHRS/Razor_AHRS.ino
, e.g.
// HARDWARE OPTIONS
/*****************************************************************/
// Select your hardware here by uncommenting one line!
//#define HW__VERSION_CODE 10125 // SparkFun "9DOF Razor IMU" version "SEN-10125" (HMC5843 magnetometer)
//#define HW__VERSION_CODE 10736 // SparkFun "9DOF Razor IMU" version "SEN-10736" (HMC5883L magnetometer)
//#define HW__VERSION_CODE 14001 // SparkFun "9DoF Razor IMU M0" version "SEN-14001"
//#define HW__VERSION_CODE 15846 // SparkFun "OpenLog Artemis" version "SPX-15846"
#define HW__VERSION_CODE 16832 // SparkFun "OpenLog Artemis" version "DEV-16832"
//#define HW__VERSION_CODE 10183 // SparkFun "9DOF Sensor Stick" version "SEN-10183" (HMC5843 magnetometer)
//#define HW__VERSION_CODE 10321 // SparkFun "9DOF Sensor Stick" version "SEN-10321" (HMC5843 magnetometer)
//#define HW__VERSION_CODE 10724 // SparkFun "9DOF Sensor Stick" version "SEN-10724" (HMC5883L magnetometer)
4) Upload Arduino sketch to the board
Configure
In its default configuration, razor_imu_9dof
expects a yaml config file my_razor.yaml
with:
- USB port to use
- Calibration parameters
An examplerazor.yaml
file is provided.
Copy that file to my_razor.yaml
as follows:
roscd razor_imu_9dof/config
cp razor.yaml my_razor.yaml
Then, edit my_razor.yaml
as needed
Launch
Publisher only:
roslaunch razor_imu_9dof razor-pub.launch
Publisher and 3D visualization:
roslaunch razor_imu_9dof razor-pub-and-display.launch
Publisher only with diagnostics:
roslaunch razor_imu_9dof razor-pub-diags.launch
3D visualization only:
roslaunch razor_imu_9dof razor-display.launch
Calibrate
File truncated at 100 lines see the full file
Changelog for package razor_imu_9dof
1.3.0 (28-12-2020)
- Adding firmware support for SPX-15846 and DEV-16832 (OpenLog Artemis) (lebarsfa)
1.2.0 (20-12-2017)
- Adding firmware support for SEN-14001 (9DoF Razor IMU M0) (lebarsfa)
1.1.1 (02-07-2016)
- Passing razor_config_file as ros parameter in launch file (Daniel Koguciuk)
1.1.0 (08-03-2015)
-
Resolving bug in exiting display_3D_visualization (#15)
-
Adding dynamic reconfigure for yaw calibration (Paul Bouchier)
-
Moving calibration values from firmware to ROS yaml file (#13)
- Note: this is a BREAKING CHANGE - requires firmware update (updated firmware provided)
-
Refactoring code: moved scripts to nodes, renamed node.py to imu_node.py (Paul Bouchier)
-
Adding diagnostic status reporting (Paul Bouchier)
1.0.5 (15-11-2014)
- Moving scripts from nodes to scripts dir
- Installing files in
src
andmagnetometer_calibration
- Major cleanup of package.xml and CMakeLists.txt
1.0.4 (15-11-2014)
- Adding press 'a' to align feature
- Moving magnetometer calibration sketches under dedicated
magnetometer_calibration
directory - Adding magnetometer calibration sketches for Processing and Matlab (Paul Bouchier)
- Setting default USB port to /dev/ttyUSB0 in all files
- Adding graceful exit in case USB port not found
- Adding queue_size=1
- Fixing x linear accelerations sign
1.0.3 (02-11-2014)
- Moving all file one directory up
- Changing axis orientation in 3D visualization to be in line with REP 103
- Additional output of linear accelerationa and angular velocity in 3D visualization
- Adding units of measurement to 3D visualization
- Major graphical improvements to the 3D visualization
- Adding explanation on different launch files
1.0.2 (31-10-2014)
- Adding valid covariances (Paul Bouchier)
- Fixing incorrect direction of yaw & pitch orientation (Paul Bouchier)
- Fix Readme references & instructions (Paul Bouchier)
- Converting acceleration to m/s\^2 (Paul Bouchier)
- Adapting to new output message YPRAG instead of YPRAMG (Paul Bouchier)
- Updating package.xml links to ahrs site (Paul Bouchier)
- Upgrading Arduino package to 1.4.2 from Peter Bartz' site (Paul Bouchier)
- Fixing link to Peter Bartz' site (Paul Bouchier)
- Documenting #ox output mode (Paul Bouchier)
- Renaming new mode #define to better reflect what it does (Paul Bouchier)
- Adding #ox output mode back into Peter's code (Paul Bouchier)
1.0.1 (15-03-2014)
- Cleaning up code based on catkin_lint report
- Creating additional launch files for display/publishing
- Implementing flush of first IMU results
- Changing default port, and adding output showing which port was selected
- Removing obsolete
roslib
import androslib.load_manifest
1.0.0 (29-12-2013)
- First catkinized version
Dependant Packages
Launch files
- launch/razor-display.launch
- launch/razor-pub-and-display.launch
-
- razor_config_file [default: $(find razor_imu_9dof)/config/my_razor.yaml]
- launch/razor-pub-diags.launch
-
- razor_config_file [default: $(find razor_imu_9dof)/config/my_razor.yaml]
- launch/razor-pub.launch
-
- razor_config_file [default: $(find razor_imu_9dof)/config/my_razor.yaml]
Messages
Services
Plugins
Recent questions tagged razor_imu_9dof at Robotics Stack Exchange
![]() |
razor_imu_9dof package from razor_imu_9dof reporazor_imu_9dof |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.3.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | A ROS driver and firmware to connect to Sparkfun OpenLog Artemis, 9DoF Razor IMU M0, 9DOF Razor IMU and 9DOF Sensor Stick. These boards consists of 3 sensors: magnetic, gyro and acceleration sensor. |
Checkout URI | https://github.com/ENSTABretagneRobotics/razor_imu_9dof.git |
VCS Type | git |
VCS Version | indigo-devel |
Last Updated | 2022-09-19 |
Dev Status | MAINTAINED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Fabrice LE BARS
Authors
- Tang Tiong Yew
- Kristof Robot
- Paul Bouchier
- Peter Bartz
Official ROS Documentation
A much more extensive and standard ROS-style version of this documentation can be found on the ROS wiki at:
http://wiki.ros.org/razor_imu_9dof
Install and Configure ROS Package
1) Install dependencies (for 3D visualization):
sudo apt-get install python-visual # For Ubuntu 16.04 and before
# For Ubuntu 18.04, install https://github.com/lebarsfa/visual/tree/bionic, or see https://github.com/ENSTABretagneRobotics/razor_imu_9dof/issues/47
sudo apt-get install python3-pip python3-wxgtk4.0 ; pip3 install vpython # From Ubuntu 20.04
2) Download code:
cd ~/catkin_workspace/src
git clone https://github.com/ENSTABretagneRobotics/razor_imu_9dof.git
cd ..
catkin_make
# For 3D visualization, from Ubuntu 20.04
cd src/razor_imu_9dof/nodes ; wget https://www.glowscript.org/docs/VPythonDocs/VPtoGS.py ; python3 VPtoGS.py ; cp -f Converted/display_3D_visualization.py display_3D_visualization.py ; cd ../../..
Install Arduino firmware
1) For SPX-15846 and DEV-16832 (OpenLog Artemis), you will need to follow the same instructions as for the OLA_IMU_Basics.ino
sample from https://github.com/sparkfun/OpenLog_Artemis (i.e. get the drivers from https://learn.sparkfun.com/tutorials/how-to-install-ch340-drivers, install SparkFun Apollo3 boards in Arduino IDE as in https://learn.sparkfun.com/tutorials/installing-board-definitions-in-the-arduino-ide (add https://raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json to File
→ Preferences
→ Additional Board Manager URLs
) and ensure you select SparkFun Apollo3
→ SparkFun RedBoard Artemis ATP
as the board and install SparkFun ICM 20948 IMU Arduino library as in https://learn.sparkfun.com/tutorials/installing-an-arduino-library). For SEN-14001 (9DoF Razor IMU M0), you will need to follow the same instructions as for the default firmware on https://learn.sparkfun.com/tutorials/9dof-razor-imu-m0-hookup-guide and use an updated version of SparkFun_MPU-9250-DMP_Arduino_Library from https://github.com/lebarsfa/SparkFun_MPU-9250-DMP_Arduino_Library (an updated version of the default firmware is also available on https://github.com/lebarsfa/9DOF_Razor_IMU).
2) Open src/Razor_AHRS/Razor_AHRS.ino
in Arduino IDE. Note: this is a modified version
of Peter Bartz’ original Arduino code (see https://github.com/ptrbrtz/razor-9dof-ahrs).
Use this version - it emits linear acceleration and angular velocity data required by the ROS Imu message
3) Select your hardware here by uncommenting the right line in src/Razor_AHRS/Razor_AHRS.ino
, e.g.
// HARDWARE OPTIONS
/*****************************************************************/
// Select your hardware here by uncommenting one line!
//#define HW__VERSION_CODE 10125 // SparkFun "9DOF Razor IMU" version "SEN-10125" (HMC5843 magnetometer)
//#define HW__VERSION_CODE 10736 // SparkFun "9DOF Razor IMU" version "SEN-10736" (HMC5883L magnetometer)
//#define HW__VERSION_CODE 14001 // SparkFun "9DoF Razor IMU M0" version "SEN-14001"
//#define HW__VERSION_CODE 15846 // SparkFun "OpenLog Artemis" version "SPX-15846"
#define HW__VERSION_CODE 16832 // SparkFun "OpenLog Artemis" version "DEV-16832"
//#define HW__VERSION_CODE 10183 // SparkFun "9DOF Sensor Stick" version "SEN-10183" (HMC5843 magnetometer)
//#define HW__VERSION_CODE 10321 // SparkFun "9DOF Sensor Stick" version "SEN-10321" (HMC5843 magnetometer)
//#define HW__VERSION_CODE 10724 // SparkFun "9DOF Sensor Stick" version "SEN-10724" (HMC5883L magnetometer)
4) Upload Arduino sketch to the board
Configure
In its default configuration, razor_imu_9dof
expects a yaml config file my_razor.yaml
with:
- USB port to use
- Calibration parameters
An examplerazor.yaml
file is provided.
Copy that file to my_razor.yaml
as follows:
roscd razor_imu_9dof/config
cp razor.yaml my_razor.yaml
Then, edit my_razor.yaml
as needed
Launch
Publisher only:
roslaunch razor_imu_9dof razor-pub.launch
Publisher and 3D visualization:
roslaunch razor_imu_9dof razor-pub-and-display.launch
Publisher only with diagnostics:
roslaunch razor_imu_9dof razor-pub-diags.launch
3D visualization only:
roslaunch razor_imu_9dof razor-display.launch
Calibrate
File truncated at 100 lines see the full file
Changelog for package razor_imu_9dof
1.3.0 (28-12-2020)
- Adding firmware support for SPX-15846 and DEV-16832 (OpenLog Artemis) (lebarsfa)
1.2.0 (20-12-2017)
- Adding firmware support for SEN-14001 (9DoF Razor IMU M0) (lebarsfa)
1.1.1 (02-07-2016)
- Passing razor_config_file as ros parameter in launch file (Daniel Koguciuk)
1.1.0 (08-03-2015)
-
Resolving bug in exiting display_3D_visualization (#15)
-
Adding dynamic reconfigure for yaw calibration (Paul Bouchier)
-
Moving calibration values from firmware to ROS yaml file (#13)
- Note: this is a BREAKING CHANGE - requires firmware update (updated firmware provided)
-
Refactoring code: moved scripts to nodes, renamed node.py to imu_node.py (Paul Bouchier)
-
Adding diagnostic status reporting (Paul Bouchier)
1.0.5 (15-11-2014)
- Moving scripts from nodes to scripts dir
- Installing files in
src
andmagnetometer_calibration
- Major cleanup of package.xml and CMakeLists.txt
1.0.4 (15-11-2014)
- Adding press 'a' to align feature
- Moving magnetometer calibration sketches under dedicated
magnetometer_calibration
directory - Adding magnetometer calibration sketches for Processing and Matlab (Paul Bouchier)
- Setting default USB port to /dev/ttyUSB0 in all files
- Adding graceful exit in case USB port not found
- Adding queue_size=1
- Fixing x linear accelerations sign
1.0.3 (02-11-2014)
- Moving all file one directory up
- Changing axis orientation in 3D visualization to be in line with REP 103
- Additional output of linear accelerationa and angular velocity in 3D visualization
- Adding units of measurement to 3D visualization
- Major graphical improvements to the 3D visualization
- Adding explanation on different launch files
1.0.2 (31-10-2014)
- Adding valid covariances (Paul Bouchier)
- Fixing incorrect direction of yaw & pitch orientation (Paul Bouchier)
- Fix Readme references & instructions (Paul Bouchier)
- Converting acceleration to m/s\^2 (Paul Bouchier)
- Adapting to new output message YPRAG instead of YPRAMG (Paul Bouchier)
- Updating package.xml links to ahrs site (Paul Bouchier)
- Upgrading Arduino package to 1.4.2 from Peter Bartz' site (Paul Bouchier)
- Fixing link to Peter Bartz' site (Paul Bouchier)
- Documenting #ox output mode (Paul Bouchier)
- Renaming new mode #define to better reflect what it does (Paul Bouchier)
- Adding #ox output mode back into Peter's code (Paul Bouchier)
1.0.1 (15-03-2014)
- Cleaning up code based on catkin_lint report
- Creating additional launch files for display/publishing
- Implementing flush of first IMU results
- Changing default port, and adding output showing which port was selected
- Removing obsolete
roslib
import androslib.load_manifest
1.0.0 (29-12-2013)
- First catkinized version
Dependant Packages
Launch files
- launch/razor-display.launch
- launch/razor-pub-and-display.launch
-
- razor_config_file [default: $(find razor_imu_9dof)/config/my_razor.yaml]
- launch/razor-pub-diags.launch
-
- razor_config_file [default: $(find razor_imu_9dof)/config/my_razor.yaml]
- launch/razor-pub.launch
-
- razor_config_file [default: $(find razor_imu_9dof)/config/my_razor.yaml]