Week 1 report What I completed this week: I evaluated the status of my original aviation/IMU project direction. The project was dependent on receiving a defined aviation problem and flight-test dataset from Voltitude, but I had not received a response. Rather than continue waiting indefinitely, I began investigating alternative datasets and ways to move the project back toward my original interest in robotics and inertial sensing. What I learned: I learned that choosing a research project depends not only on the research question but also on whether the required data are realistically available. I also learned that IMU signals such as acceleration and angular velocity can potentially be used to detect disturbances or slip in robotic systems, which gives me a way to retain the sensor-analysis part of my original project while changing the application. Paper, figure, dataset, tool, script, or output shared: I began searching for publicly available robotics datasets containing IMU measurements and information related to wheel slip. I also began refining possible research questions involving accelerometer and gyroscope data. Question or blocker: The main blocker was that the aviation project depended on an outside organization providing a specific problem and dataset, and that information had not arrived. What I tried: I waited for the proposed aviation collaboration and discussed possible ways the IMU project could be adapted to aviation. When the response continued to be delayed, I began searching for publicly available data that would allow me to make progress independently. Next step: Select a suitable robotics dataset, determine what measurements and ground-truth variables it contains, and define a focused data-analysis question that can be completed during the Data Skills Pathway.
Week 2 What I completed this week: I selected the UMich-CURLY wheel-slip dataset as the basis for my project. My initial project question was to determine which measurements from an IMU, including individual accelerometer and gyroscope axes, are most useful for detecting wheel slip. I then conducted an initial literature search to determine whether this question had already been studied. Based on that research, I refined the project toward investigating how IMU sensor quality and configuration affect slip-detection performance. What I learned: I learned that previous research has already demonstrated that IMU measurements can be useful for wheel-slip estimation, so simply showing that acceleration or angular velocity relates to slip would not be very novel. I also learned about sensor-ablation experiments and IMU error sources such as measurement noise, bias, reduced sampling rate, and quantization. These suggest a stronger project question: how much can IMU measurements be degraded before wheel-slip detection becomes unreliable? Paper, figure, dataset, tool, script, or output shared: Dataset: UMich-CURLY Slip Detection dataset. Initial literature reviewed/found: the original UMich-CURLY slip-estimation work and related research on IMU/proprioceptive wheel-slip estimation. I also identified literature on IMU error modeling that can help determine how to simulate lower-quality sensors realistically. Question or blocker: I still need to inspect the dataset structure closely enough to identify the exact IMU variables, sampling frequency, slip ground truth, experiment/run organization, and any preprocessing needed before analysis. What I tried: I searched the existing literature to distinguish my proposed work from previous slip-detection studies. I considered several project variants and narrowed the project toward sensor degradation because it provides a more useful hardware-design question than simply ranking individual IMU channels. Next step: Download and inspect the CURLY dataset; document its variables, units, sampling rates, run structure, and slip labels/ground truth; then create an initial visualization of the raw IMU and slip data from one run.
Week 3 report — Data acquisition and project setup What I completed this week: I finalized the direction of my robotics project around evaluating how IMU sensor quality and configuration affect wheel-slip detection. I initially planned to use the UMich-CURLY wheel-slip dataset, but when I accessed the public Google Drive linked by the project, the ROS bag folders for both available environments were empty. I contacted the authors to ask whether the original data could be restored or shared. Rather than let the project stall, I identified and downloaded the Wheel-Mounted Inertial Dataset as an alternative. This dataset contains multiple wheel-mounted IMUs, a body-mounted IMU, motor feedback, and GNSS ground-truth measurements. I downloaded the mobile-robot portion and selected a preprocessed synchronized CSV file for initial analysis. I then uploaded the file into my Jupyter workspace and successfully loaded it using Pandas. What I learned: I learned that publicly listed datasets are not always actually accessible in their original form, so a research project sometimes requires finding an alternative source while preserving the same research question. I also learned that the replacement dataset may support an additional configuration question because it includes both wheel-mounted and chassis-mounted IMUs. Dataset/tool/output: Dataset: Wheel-Mounted Inertial Dataset, mobile-robot portion. Tool: Jupyter Notebook with Python/Pandas. Initial file: preprocessed.csv. The file loaded successfully and contains 20,411 rows and 98 columns. Question or blocker: The original UMich-CURLY ROS bag files appear to be missing from the public Google Drive repository, so I was unable to begin analysis with that dataset. What I tried: I checked both the “Mars field” and “Slippery ground” ROS bag folders, searched for another usable copy, contacted the CURLY authors, and selected a newer public dataset rather than continuing to wait. Next step: Identify the sensor groups and variables in the replacement dataset, verify timing and units, and create initial plots of the IMU and ground-truth motion data.
Week 4 report — Initial exploration and data validation What I completed this week: I began exploring the mobile-robot dataset in Jupyter. I organized the 98 columns into four wheel-mounted IMU groups, one body-mounted sensor group, and a GNSS ground-truth group. I also identified motor-speed and motor-torque feedback that may later be useful for calculating wheel slip. I investigated the timing structure of the synchronized dataset. The file spans approximately 95.65 seconds. The combined table contains about 213 rows per second, but the individual sensor streams have different effective sampling rates. The wheel IMUs update at approximately 200–213 Hz, while the body and GNSS data update at approximately 99 Hz. I found that about 54% of the BODY and GNSS timestamps are repeated because the slower streams were synchronized with the faster wheel-IMU data. I then created plots of Wheel 1 accelerometer and gyroscope measurements, the body gyroscope, GNSS-derived robot speed, and the robot’s GNSS ground-truth trajectory. What I learned: The wheel-mounted and body-mounted IMUs behave very differently because the wheel sensors rotate with the wheels while the body IMU remains fixed to the robot chassis. For example, the Wheel 1 Z-axis gyroscope shows sustained wheel rotation, while the body Z-axis gyroscope shows the robot’s turning motion. The GNSS trajectory also confirmed that the robot followed a curved path with several changes in direction rather than moving only in a straight line. I also discovered a possible unit inconsistency in the dataset. During a stationary portion of the recording, the Wheel 1 accelerometer magnitude was approximately 0.993, which suggests that the wheel accelerometer may be expressed in units of g. The body accelerometer magnitude was approximately 10.55, which is close to gravitational acceleration in m/s². This suggests that the wheel and body accelerometers may use different units even though the documentation appears to describe them similarly. The gyroscope values may also require unit verification. Dataset/tool/output: Jupyter Notebook using Pandas, NumPy, and Matplotlib. Outputs created include: - Wheel 1 accelerometer time-series plot - Wheel 1 gyroscope time-series plot - Body gyroscope time-series plot - GNSS-derived ground-truth speed plot - GNSS ground-truth XY trajectory - Sensor sampling-rate and timestamp-repeat analysis - Stationary accelerometer-magnitude check Question or blocker: Before calculating wheel slip quantitatively, I need to confirm the actual units and scaling of the IMU measurements. I also need to determine the best way to derive slip from the available wheel/motor measurements and GNSS ground-truth motion. What I tried: I checked acceleration magnitude during a stationary period to compare the numerical data against expected gravity. This suggested that the wheel accelerometers may be expressed in g while the body accelerometer appears to be expressed in m/s². I also inspected gyroscope ranges to identify another possible unit discrepancy. Next step: Verify the gyroscope units by comparing GyroZ_BODY with the rate of change of the body yaw measurement. After the units are confirmed, determine how to calculate wheel-indicated velocity and compare it with GNSS ground-truth velocity to construct a slip measure.