Author: Mai Bui ([email protected])
Data Analysis Motion Replication is a graphing tool designed to analyze and visualize differences between dynamic arrays of CSV files, ideally capturing the same motions or trajectories from two different robots: the physical Raven-II and AMBF (simulator robot). It features eight modes: two for modifying the CSVs (adding offsets and filtering) and six for graphing and quitting. This tool complements the Raven-II Standardized Controller - the source of the data input.
With this tool, you can easily identify which joints have the most differences, what the offsets are, how the joints move, and whether the ROS messages are lagging. This helps determine whether the differences are due to the ROS, robot, or controller and what adjustments should be made.
Developed and tested on macOS Sonoma 14.4.1 and Ubuntu 20.04.6.
Install key libraries like pandas, numpy, matplotlib, and PIL. Versions used: Python 3.10.2, pandas 1.5.3, numpy 1.24.2, matplotlib 3.5.2, and PIL 9.1.1 on MacOS and Python 3.8.10, Pandas: 0.25.3, Numpy: 1.17.4, Matplotlib: 3.1.2, PIL: 7.0.0 on Ubuntu.
Simply git clone the repo:
cd ~
git clone https://github.com/MHC-RobotSimulators-Research/Data_Analysis_MotionReplication.git
To access the tool, navigate to the mai_plotter
folder and run main
. All graphs are saved inside data_analysis
folder.
- View all available CSVs.
- Select the number of CSVs to analyze.
- Choose specific CSVs for analysis.
- Use the modes to modify and graph the data as needed.
Add an offset to a joint and modify the corresponding columns in the currently analyzed CSV.
Choose which types of joints to analyze: sliding joints, both arms' rotational joints, left arm rotational joints, or right arm rotational joints.
Plot the movement over time of one specified joint in the selected CSV.
Plot the movement over time of all joints in the selected CSV.
Overlay two specified joints from the selected CSVs or the joints with the smallest and largest gaps between the CSVs.
View the averaged differences between all joints (excluding joints 3 and 11, which are zeros).
Visualize the overall differences between the physical Raven-II and AMBF across different experiments, independent of the chosen CSVs, with options to add offsets and filters again.