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.

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

This week, I ordered, received, and began testing all the parts for our actuating subsystem. First, the ordering process was a little tricky since despite having finalized the motor model and type, there were various unknown vendors and distributors with wildly varying pricing and delivery times. As a result, this process took longer than expected. Upon receiving the parts, I have been able to get the micro stepper motors to function and control using Arduino and the motor driver. I still need to program the precise positions along the linear output. My progress is still a little behind, but compared to the previous week’s state, I have been able to make significant process this week.

I also decided to significantly adjust our team’s schedule since the whole team has been behind schedule. The consequence in that the upcoming two weeks now requires parallel progress on various subsystems + testing.

At the end of this week, I hope to have a fully working motor and sliding mechanism, ready to attach to our 3D printed actuating components. Additionally, if this is accomplished, I will assemble all motors and drivers. However, I need to purchase a different motor driver IC in order to properly support our software-controlled motor control for actuating.

Team Status Report for March 16th, 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?

Currently, the most significant risk is the mechanical functionality and reliability of our sliding actuator system. Specifically, as we finalize our CAD design this week and last, we need to add components to mitigate the slider slipping when users physically run their fingers over the braille pins. We are also ready to mitigate issues with the motor in incorrect positions with a homing sequence. We plan on having a physical button/sensor at the end of the linear gear such that our code will be able to simply direct the motor to spin in that direction until the sensor is activate, which can then a reference “home.” Finally, there were not many changes to the system except for a decision between two different motor models that were ordered.

Here is an updated schedule for our team, given that our progress was behind the previous iteration: