Á. Odry, “An Open-Source Test Environment for Effective Development of MARG-Based Algorithms,” Sensors 21(4), 2021, pp. 1183, doi: 10.3390/s21041183,
Á. Odry, I. Kecskes, P. Sarcevic, Z. Vizvari, A. Toth, and P. Odry, “A Novel Fuzzy-adaptive Extended Kalman Filter for Real-time Attitude Estimation of Mobile Robots,” Sensors 20(3), 2020, pp. 803, doi: 10.3390/s20030803,
The public GitHub repository can be downloaded here:
The experimental data (which was used for both filter evaluation and parameter tuning in the manuscript) can be downloaded for verification as well:
About the package
It contains a 6 DOF test platform that enables both the execution of various dynamic (vibrating and accelerating) behaviors in the three-dimensional space and measurement of true attitude angles along with the raw MARG data.
How to use my package in ROS?
1. Install ROS
2. Setup the environment
3. Setup Gazebo
sudo apt-get install ros-kinetic-gazebo-ros-pkgs ros-kinetic-gazebo-ros-control
4. Install additional packages
sudo apt-get install ros-kinetic-ros-control
sudo apt-get install ros-kinetic-ros-controllers
sudo apt-get install ros-kinetic-diagnostics
sudo apt-get install ros-kinetic-moveit-ros
sudo apt-get install ros-kinetic-moveit
sudo apt-get install ros-kinetic-moveit-visual-tools
5. Download additional packages into the catkin workspace
hector_gazebo from https://github.com/tu-darmstadt-ros-pkg/hector_gazebo
hector_quadrotor from https://github.com/tu-darmstadt-ros-pkg/hector_quadrotor
6. Download my package (testbench6dof) into the catkin workspace
7. Start the ROS+Gazebo environment with
roslaunch testbench6dof spawn_testenv.launch
8. Start the execute_trajectory node with
rosrun testbench6dof exec_traj
9. Real-time plot the results with rqt or save the results with rosbag
How to use my package in MATLAB?
- Open the start.m file and hit F5.
2. In the Simulink environment select the desired pose values. Start the simulation.
3. In gMeas, aMeas and mMeas variables the RAW sensor data can be inspected, while the real system states are stored in the posXYZ and angleXYZ variables.