Ziyu Li’s Status Report for April 6th, 2024

What did you personally accomplish this week on the project?

Two major things is done this week: 1. using hand to hold the motor to actuate the slider from last week, I identified that the best place to mount the motor is actually above the slider, not underneath like I expected. This is likely due to when motor is underneath, it also provides an upward force to the slider, causing it to jam with the pins more easily. Mounting the motor on the top can eliminate this non-horizontal force since the support for the slider is underneath. 2. Given this, I redesigned the whole actuator by allocating more space between the cover and the slider, I also designed and tested the motor mount, which at the moment does not work perfectly since their are some tolerance differences from the 3D printer, but I am confident that I can solve this tomorrow.

Is your progress on schedule or behind?

If compared to the original plan, which is to build 10x of these actuators and having with coordinate with each other, I am definitely behind. However, since the interim demo, we acknowledged that having one braille cell work perfectly is more important than building a ~70% working whole, and given the difficulties in this process is much bigger than we expected, we have scale down to that. And in this regard we are on schedule.

What deliverables do you hope to complete in the next week?

A single braille cell working, shifting to different braille patterns.

Test that I am planning to run

After I get the braille cell working next week, I’ll focus on three major tests to make sure our product is meeting the original design requirement:

  1. activation speed: the slider should be able to move from one end to the other  under 200ms.
  2. Jam frequency: the slider should not be jam in between at least 15 actuations (switching from one position to the next under the speed outlined in 1)
  3. Jam recovery: the actuator should automatically detect jam situation and recover from it using the back-and-forth motion in under 500ms.

Yujun’s Status Report for April 6th, 2024

What did you personally accomplish this week on the project?

I researched on various web application making tools and decided to stick with flask for its usability and compatibility with python which is the language the translation algorithm is made on. So far, I’ve created a simple web page with a text box which can take inputs from the user and store the input data within the web page domain. Next week, I plan to create a fully function web page that is able to generate a prompt for the user to type in the input or upload a txt file, and is able to generate a braille encoding file from the input.

In particular, how will you analyze the anticipated measured results to verify your contribution to the project meets the engineering design requirements or the use case requirements?

The anticipated results for testing of the web application and braille translation algorithm is as following:

– Translation Reliability : close to 100%

– Data transfer reliability: 95%

Right now, I have already tested the translation algorithm on 5 iteration of testing, each on varying types (braille-contractable, non-braille-contractible, prefixed words, short words, long words.) For each type 20 random words were chosen from a word generator online. On every iteration of testing, the translation algorithm yielded a 100% accuracy which was verified through pre-existing verified braille translation websites. The comparison was possible through a temporary display function made for testing which translated the encoding to the computer terminal. Thus, it can be said that the accuracy of the translation met the translation reliability use case requirement, and we do not have to consider the ethical concerns for the project that pertains to translation inaccuracy and unreliabilty.

In the future, I will be testing the reliability of the data transfer between the web application and the braille pad. To be reliable we decided that if we input 100 words, at least 95 words should be able to be transferred successfully to the pad as based on a normal person’s learning curve, around 70 words and braille patterns can be fully memorized within a full school day at most. Thus, our 95% is sufficient for reliability. To test this we will iterate the transfer of 100 word inputs to the braille pad 10 times via wifi transfer to find the average. If the wifi transfer fails the test, then we will resort to serial bus transfer (higher accuracy) as a back up plan.

 

Samay Sahoo’s Status Report for March 30th, 2024

This week, I continued to work on the Arduino code to process data and accordingly spin the motors a specific number of steps. First, Yujun and I worked to find a .txt file reader library for Arduino to import the encoding outputs from the Python translation program. However, I later found it was buggy as these libraries were not very sophisticated. So, I researched and updated our Python program, translation.py, with pyserial for serial communication directly with Arduino. I also built onto our Arduino code (stepper motor control and I/O) to also interface with the translation.py code. With this new mode of communication and processing, translation.py sends the binary encodings one cell at a time to the Arduino, which then processes the encodings, moves the two motors for a cell to actuate the pattern, and then sends a signal to translation.py when “next word” button is clicked. The reason for one cell at a time is that we are first finalizing functionality for only one cell before manufacturing and assembling the other nine cells for our final device. The code will meanwhile be updated to process and display one word at a time instead of one cell, as desired. My progress is now on schedule. For next week, I aim to:

– Move the serial communication between the web app Python programs and Arduino to wifi with our ESP32 board. Will work with Yujun on this step.

– I also aim to finalize fitting the motors and linear gear to our pending 3D printed housing parts. This step is crucial to then properly advance to manufacturing and assembling the physical hardware of the device.

Team Status Report for March 30st, 2024

What are the most significant risks that could jeopardize the success of the project? How are these risks being managed? What contingency plans are ready?

The most significant risk is on the integration between our slider actuator and Arduino controlled motors. Currently we do not know whether they will coordinate well, so test will be done next week. We already have a fall back plan, that is another type of off the shelf motor that comes with with linear gear. The motor is relatively slow compared to other solutions, but we know it can be easily used.

Were any changes made to the existing design of the system

Depending on the result of the hardware-software integration, we will decide whether to scale down the project or not next week.

No Schedule update at this time

Ziyu’s Status Report for March 30th, 2024

What did you personally accomplish this week on the project?

After some tweaking with the 3D printer settings, I’m able to reduce the size from 3x to 2x the American braille standard, leading to significant miniaturization. I also designed and 3D printed a scalable base, which is used to hold a single braille cell and its corresponding two sliders now, but can linearly expand to hold more in the future.

Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?

The progress is on schedule in terms of building a robust slider actuator. The progress is behind schedule in terms of building out a fully specced product. Importantly, because the actuator fabrication process is so intricate, we should communicate internally about reasonably scaling down the project.

What deliverables do you hope to complete in the next week?

I will work with Samay to integrate his motor into my based braille cell. Right now the slider can be moved by hand, but next week to need to fully automate this process, and conduct testing on slider’s move speed, location detection, etc.

Yujun’s Status Report for March 30th, 2024

What did you personally accomplish this week on the project?

This week, I helped Samay in implementing my braille translation code to the motor code to enable a successful integration between software and the hardware. To effectively map out the motors to the translation output encoding, I designed my code to output a txt file in binary format which could be easily read by Samay’s Arduino code and explained what each bit signifies within the encoding:

4 bits per motor:

1st bit: bottom motor

2nd bit: middle motor

3rd bit: top motor

4th bit: end of word marker

Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?

In terms of the software part, the project is on schedule, yet there is a potential for the hardware to miss the demo deadline due to the fact that the 3D printing output requires extreme precision to carry out the motions required by the sliders and actuator pins. To prevent any delays, I plan to communicate with Ziyu to provide assistance towards testing the casing for the braille actuators.

What deliverables do you hope to complete in the next week?

Next week we are planning to purchase a mini speaker to attach to our microcontroller and I’m planning to implement the code for the speaker so that it can successfully read out the braille translation outputs to the user. Furthermore, I am planning to research on wifi file transmission libraries for the microcontroller since our microcontroller is compatible with wifi.

 

Ziyu Li’s Status Report for March 23rd, 2024

This week I focused on iterating on the fabrication method for for braille slider actuator, and have the following results:

Size:

Chapter 7: Signs

The ideal size requirement is shown above, which reflects the standards published by braille authority of north America. After several attempts to 3D print my CAD design in this dimension, I found that this miniature scale is nearly impossible to achieve, and the few actuator parts that did got successfully printed are all too fragile to meet our rigidity requirement. This is a problem that cannot be easily solved without major changes in our fabrication method and material, which we deemed outside of scope of this project and our open source requirement.

After much more testing and iteration, I have found that three times the standard sides provides easy fabrication while retaining a reasonably small size. The size of our tested module is still within limits because we have seen much bigger braille texts in use in public settings such as those in museums and elevators.

Deliverable for next week:

Next week, we should start integrating our electronic parts with the fabricated and tested actuator, in preparation of our interim demo. The end result should be a standalone 3×2 braille cell, that can be actuated by the Arduino nano controller automatically according to some set patterns in code.

Yujun Lee’s Status Report for March 23rd, 2024

This week I was able to finish up the translation for grade 2 braille and finish the testing stage of the algorithm. The input can now be translated and outputted in a arduino readable encoding, and outputted out in the form of bin file for reduced memory.

I am on schedule for my tasks, but for next week where we need to integrate the software into the hardware, it could be delayed as we were only able to obtain the materials this week., By next week, I’m planning to have the code fully integrated into the hardware n components, but that is not possible until we have gotten the stepper motor pair and the aruduino set up.

Samay Sahoo’s Status Report for March 23rd, 2024

This week, I continued to work on our stepper motors and all of the corresponding motor code. However upon testing with a load, the motor torque was not high enough, which I was anticipating from this testing. In order to achieve the load and precision of our sliding actuator, I decided to consider options for a reduction gearbox and a corresponding linear screw. I was able to find a few new parts that includes these modifications of this and thus purchased for delivery next week.

My progress is on schedule for this week, but since our order has not yet been placed last week, they will only arrive Wednesday/Thursday of this week, which might affect my progress of the following week. I hope to accelerate work once they arrive and have a final working setup of our entire motor subsystem. I will finish up Arduino code accordingly this week, upon receiving the final dimensions of 3D printed parts from Ziyu.

Team Status Report for March 23rd, 2024

What are the most significant risks that could jeopardize the success of theproject? How are these risks being managed? What contingency plans are ready?

One of the biggest risks as we get close to finalize the 3D printing is ways to prevent jams and smooth transition between different braille patterns. To mitigate these possibilities, we are experimenting with different sizes of braille fonts as Ziyu is testing with different dimensions of the braille caps and sliders on his 3D printer and to complement that, Samay is looking into more motors and ordered a variety of them with different stepping levels and ranges. In terms of the software, the testing has reached 100% with grade 2 braille and is ready to be implemented to the whole as soon as the hardware is finalized.

Were any changes made to the existing design of the system (requirements,block diagram, system spec, etc)? Why was this change necessary, what costsdoes the change incur, and how will these costs be mitigated going forward?

Even though we are switching through motors, the price changes were minimal and not causing any changes to our planned budget. The schedule remains the same from last week where we had made changes to expedite software testing and 3D printing process. We are sticking to this schedule and it is our current priority to have the braille actuators and 3D design run smoothly by the start of the next week  so we can put it together with the software.