Nick’s Status Report for 12/06

Accomplishments

This week I worked extensively with Caitlyn and Enrique on performing user testing, and fine tuning our control scheme. I also re-soldered the Kontroller board a couple of times as weak joints broke during testing. Overall, I’ve strengthned many of the solder joints on our finger IMU which should allow for stringent use during our demo.

Schedule

We have completed our MVP.

Next Steps

We are refining our project experience as much as possible, tuning according to user feedback.

Team Status Report for 11/22

Progress
  • Finger IMU soldered to Glove PCB
  • Began implementation of the bluetooth latency test
  • Began integrating haptic motor controller on the glove, along with crash detection from the Kar IMU and speed from the glove IMU
Design Changes
  • The haptic motor controller will control haptic feedback from two types of input. The first input will be the IMU controlling speed on the glove controller, which will be mapped to a buzz vibration on the hand. Similar to how we translate IMU angle to PWM, we will also convert angle to a buzz intensity that the user will feel as they accelerate. The second input will be a crash detection from the IMU on the Kar. When the user crashes into something, they will feel it as a strong click or multiple clicks of vibration on the hand.  Previously, we considered taking in input from only the IMU on the Kar, but for simplicity, we decided to use the IMU on the Kontroller for speed haptic feedback.

Nick’s Status Report for 11/22

Accomplishments

This week I completed soldering of the Glove PCB. Specifically, I soldered the finger PCB to the connector coming from the Glove PCB. This now lets us perform tests with the completed glove controller. Below is an image of the fully-soldered IMU. We are still keeping the IMU on our breadboard for testing right now.

Progress/Schedule

We are on track given our updated schedule from our interim demo. We are making good progress towards streamlining our controller and solidifying our control scheme.

Next Steps

Next week I will be working collaboratively with the rest of the team to make improvements to our control scheme and to close the loop between Kar and Kontroller.

As you’ve designed, implemented and debugged your project, what new tools or new knowledge did you find it necessary to learn to be able to accomplish these tasks? What learning strategies did you use to acquire this new knowledge?

A new manufacturing technique that I had to learn was how to solder SMT components to a PCB without a stencil, and where the component pins were on the bottom of the IC. This required me to watch a YouTube video on the topic, which demonstrated a technique of mixing flux and solder paste together on the board before using a hot air gun to solder. I successfully used this technique to solder our buck converter to the Kar PCB. Additionally, I had to learn more PCB rework skills for this project, due to the manufacturing issues with our PCBs. This was mostly self-taught, as I messed around with techniques of sticking wires and components to the boards until they worked properly.

Team Status Report for 11/15

Progress
  • IMU for haptic feedback loop added to Kar.
  • Begun reading roll from the IMU on the Kar.
  • Finished prototyping the glove so the Kar successfully steers and drives from two IMUs connected to the ESP32.
  • Implemented logarithmic scaling for the IMU to steering PWM values.
verification/Validation

End-to-end latency measurement

  • Ensure that the latency of a command originating from the ESP32 to the receiving STM32 is less than our use-case requirement of 50ms.
  • This will be done by timing how long it takes to send a GPIO command to toggle an LED from the ESP32 to the STM32.
  • The metric being measured is how many milliseconds it takes between an LED lighting up on the glove and an LED being lit up on the Kar. May conduct 20 trials, success is quantified on end-to-end latency <50ms on 95% of the runs.

Control scheme viability

  • Verify intuitive control and real-world usability with users navigating an obstacle course.
  • Ten or more participants will navigate a classroom obstacle course, and we will log collisions and collect subjective Likert scores.
  • Average Likert score >4 for comfort and intuitiveness, and the collision rate needs to be below an acceptable threshold (<1 collision per run).

Entering the safety/reset state

  • Ensure the Kar enters the safe idle state within 50ms on communication loss or reset.
  • Forcefully disconnect Bluetooth communication or power to the Kontroller during operation and measure stop time using an oscilloscope or motor motion.
  • Success is quantified by the Kar successfully entering idle within 50ms in 95% of trials, may conduct 20 trials.

Nick’s Status Report for 11/15

Accomplishments

This week I supported the interim demo by maintaining the Kar’s electronic systems and ensured that the Kar was properly setup for demo. This involved ensuring that the batteries were properly charged between demo sessions, and that the PCB was properly mounted to the Kar chassis. Additionally, after our demos I added an IMU to our Kar so that we can complete our haptic feedback loop between the Kar and the Kontroller.

Progress/Schedule

We are on schedule for the most part. I was hoping to attach the finger IMU sensor to the Kontroller this week, but was not able to. However, the lack of progress on this goal was cancelled out by successfully adding the Kar IMU.

Next Steps

Next week I will be attaching the finger IMU sensor to the glove PCB so that we can begin the transition from our breadboard control system to our final control system.

Team Status Report for 11/08

Progress
  • Kontroller PCB assembly completed
  • Kar PCB assembly completed
  • Kar + Kar PCB integration completed and drivable with a prototype Glove Kontroller that can transmit steering and speed.
  • Haptic motor controller prototyped and ready to be integrated with Kar.
Design Changes
  • The Glove Kontroller will have 2 IMUs and the Kar PCB will have 1 IMU. The rotation/steering control on the glove will be done using the MPU6050, since it can measure pretty reliable and non-drifty roll/pitch values. The Kar’s forward/backward speed will be controlled using the ICM20948 breakout since we have a SPI connection for it. The Kar PCB will use the MPU6050 as well, and we might not need absolute yaw as long as we can figure out a good way to map relative yaw or rotational velocity to haptic feedback.
Risks and risk Management
  • Even though stopping the Kar via BLE is very responsive, the Kar can still accelerate quite rapdily. We will consider doing some more testing with the Kar on the ground to clamp the PWM max/min values so users have better control over acceleration.
  • Right now the Kar could continue moving/steering, even if it receives invalid BLE data or no data at all. We will consider adding a watchdog timer to trigger a system reset to decrease amount of undefined behavior.

Nick’s Status Report for 11/08

Accomplishments

This week I completed soldering of the Kar PCB, and the Glove PCB. I also integrated the Kar PCB with the Kar itself, and worked with the team to perform our first test where the Kar moved on the ground under its own power. There were a couple of integration issues to sort out, such as the electronic speed controller for our primary motor backdriving our power system on the Kar, but otherwise integration was a relatively smooth process. An image of the Kar PCB integrated with the Kar can be seen below:

Progress/Schedule

Everything PCB-wise is going to schedule. We have a working Kar PCB prepared for our interim demo, and will be using the time we have from now until the final demo to refine our control systems and product in general.

Next Steps

Next week I will be working on supporting the interim demo, and keeping track of electrical faults as they come up. Additionally, I will need to attach the finger sensor to the glove PCB at some point in the week.

Team Status Report for 11/01

Progress
  • The Kontroller/Glove PCB is 95% completed.
  • Successfully enabled and set the speed of the motors on the Kar through the STM32, both by hardcoding the speed in the program and through keyboard input over bluetooth from the ESP32.
  • Read ICM20948 IMU gyroscope and accelerometer measurements and converted to yaw, pitch, and roll, which was integrated with bluetooth to send servo PWM signal to the Kar.
  • Successfully controlled the servo on the Kar through the STM32 and by bluetooth, transmitting the IMU roll linearly mapped to PWM.
Risks and Risk Management
  • We can get pretty reliable and consistent roll and pitch values that are not too susceptible to drift on the ICM20948 IMU. However, we noticed that yaw has about a degree of drift every 5 seconds or so. While this does not pose a risk for the Kontroller, it could pose a risk for the IMU on the Kar which may require yaw when determining haptic feedback.

Nick’s Status Report for 11/1

Accomplishments

This week I practically completely finished assembly of the glove PCB. The only components which are missing are the haptic motor driver, which still needs to be acquired from Ideate; the LDO output capacitor, which ran out of stock on Digikey and will likely be acquired from Roboclub; and the LDO itself, as we identified a manufacturing issue that ensures we need to do extra work in order to attach the LDO to the PCB. A picture of the PCB soldering progress can be seen below. We also realized this week that due to an ordering error, we did not order all of the components needed for our Kar PCB, so these extra components have been ordered.

Progress/Schedule

PCB assembly is going according to schedule. The Kar PCB missing components would have led to a setback if it had been noticed later, but it was noticed promptly at the beginning of last week which means we will be able to smoothly transition between assembly of the glove PCB and assembly of the Kar PCB.

Next Steps

I will finish the assembly of the glove PCB tomorrow (11/1), and assuming the Kar PCB components arrive on Monday I will begin and complete the Kar PCB assembly leading up to the interim demo.

 

Team Status Report for 10/25

Progress
  • Half of the Kontroller PCB has been assembled, and general assembly of all PCBs is well underway.
  • Beginning to experiment with kar motor control development with the board that the DonkeyCar came with.
  • ICM20948 development is in progress on ESP32S3.