Problem
In swimming an efficient technique is more important than fitness. There are few low-cost methods to retrieve real time data from swimmers.
Our solution
Our Approach to Design
Design
There were several sketches and models until we had 2D and 3D representations of the final prototype. Next, the computer-aided design and model was created for all the components of the device. Then, all the components were 3D printed and we checked tolerances and adjustment to then reprint them again if necessary. Finally, we post-processed the parts, sanding and painting.
Primary research
We interviewed a class instructor, a lab manager, and a student to understand how the current inventory management system works in the University of Washington laboratories. Then we created surveys for students and lab staff, to understand the manual process to manage the laboratory equipment and items. Also, we sent surveys to potential users, including users of labs, warehouse employees, and libraries administrators to obtain information related to potential features and concerns about interacting with robots.
User Testing
First, we did 1:1 User Evaluation to test the Hardware/Software and the check-in/check-out process. Participants performed a series of tasks under instruction by one of our team members. Notes and video recording were taken, six participants are involved in each round of the 1:1 evaluation. Then, we ran a Fly On The Wall session to observe the Human-Robot Interaction. We took notes of people’s behaviors when the mobile robot was navigating through the environment, without and with sound alerts. The robot received a series of navigation goals sent by the operator and it was up to the navigation stack to do the routing and planning. We observed users for 20 mins in the GIX laboratory.
Functional Testing
First, we defined metrics for each part of the system. For the navigation, we sent a navigation goal to the Fetch and then we measured the success rate, time, distance from the nav goal, and the number of collisions. Next, for the Fetch and Kinova grasping, we also measured the pick and place time and success rate.
Secondary Research
We started talking with the coach of the swimming team, to understand how they are actually measuring and the importance of the hand position in swimming. After defining the features, we started looking for sensors and algorithms that could help us to provide coaches useful information related to the athlete.
Implementation
The STM32f3 Discovery Microcontroller reads the inputs, process the input, and finally sends the output to a PC. This microcontroller have tri-axis gyroscopes, accelerometers, a MARG sensor array, and a tri-axis magnetometers. The roll, pitch and yaw is calculated using the microcontroller’s gyroscope and accelerometer and employing the Madgwick’s Inertial Measurement Unit (IMU) and IHRS sensor fusion algorithm. This algorithm is developed in C language using the IDE MicroVision to then interface it with the STM32f3. We based in an IMU project that was already wrote in C language. Also we ensure that the program can run in the architecture of the microcontroller. The Microcontroller used didn’t have a Bluetooth module, we used a Bluetooth Chip BC04 that will be works as Slave. The module received the output from the STM32f3 and then sent it to the PC as a string. Through the PC Bluetooth COM the computer will received the output of the microcontroller. Then it will displayed in a LabVIEW dashboard in real time. We decided to have two different ways of sending the data. When the paddle is outside the water (for tests) and we sent the data in real time. And when the paddle is inside the water, we saved the data obtained and after the swimmer ends its routine the data is sent to the PC to avoid interference.