Cary’s Status Report 12/7/24

Accomplishments:
This week, our primary focus was on preparing and delivering the final presentation. We successfully showcased our project’s progress, highlighting the system’s functionality and its key features. Additionally, we made significant strides in planning and organizing the necessary documentation to finalize all reports and records for the project. These efforts were crucial in wrapping up the development phase and transitioning towards a polished final submission.

Progress:
The project is now in its final stages, with most technical work completed. Our primary focus has shifted to documentation and presentation. With the Techspark exhibition coming up next Wednesday, we have begun preparations to ensure our demonstration is smooth and impactful. The system is stable, and we are confident in its ability to perform effectively during the exhibition.

Next Steps:
Next week, we will attend the Techspark exhibition, where we will present our project to a broader audience. Our immediate priorities include preparing the exhibit materials and refining the presentation for this event. Concurrently, we will complete and submit all required documentation, ensuring that the project is thoroughly documented and ready for evaluation. With the semester coming to a close, our focus will remain on wrapping up all deliverables to a high standard.

Jack’s Status Report 12/7

I was pretty busy due to finals and other projects. However, I still got most of the items on the Gantt chart done. The main issue we encountered was a lost part.

This week, I printed out the parts for the Z-axis assembly and got some assembly done. However, We are not able to find the lead screw that we stored in HH 1307 to continue. I am planning on using a lead screw mechanism I had from a previous project to fill in the gap.

I also helped the team reconfigure the camera to get lower latency. While we are still not able to hit 100ms latency, we lowered it from above 300ms to just below 200ms. This is all achieved by switching the codec to compress frames individually, so that the camera does not have to wait for multiple frames to be buffered before streaming the video. This required quite a lot of research to find the best streaming codec for latency. We ended up deciding on trying to switch the camera to MJPEG, a format commonly supported by webcams. We were also not sure how to change the streaming codec of the camera. The documentations on this topic from the vendor were very sparse. The pdf version of the document did not match the output we were seeing from the debug messages. Finally, we were able to find out how to do this by consulting a SQL database embedded in the vendor SDK.

Leland’s Status Report 12/7/24

This week, I focused on making some optimizations to the camera settings to reduce latency. Specifically, I worked on the following:

Improved Camera Latency

  • Collaborated with the team to measure latency from user input to system output by switching to MJPEG compression for the stereo camera 
  • Reduced latency to a range of 200 – 250 ms which is about a 200 ms improvement from the previous camera configuration

 

Project Status
I am currently a little behind with the project timeline. The team was busy this week because of the semester coming to a close, and we we’re not able to get an early start to our last additions such as the z-axis. However, we met over the weekend and made a plan for success next week. We have allotted sufficient time next week to finish course assignments and add the final touches.

Goals for Next Week

  1. Integrate Z-axis into the gantry system and implement depth calculation in OpenCV
  2. Conduct final use case tests to include in the final report (water pouring and more object manipulation

Cary’s Status Report 11/30/24

Accomplishments:

This week, our primary focus was on testing and verification of the system. We conducted detailed measurements of time latency and accuracy, ensuring the system performs as intended under various conditions. My main contribution in this phase was assisting with testing on the controller side, ensuring its functionality and reliability. Additionally, I took on the role of presenter for our final presentation, where I showcased our progress and demonstrated the nearly completed system. These efforts were critical in validating our design and highlighting its capabilities.

Progress:

The project is in a good state, with the system almost fully functional. While there are still minor upgrades to be implemented, the core components have been successfully integrated and are operating effectively. The steady progress has positioned us well for the upcoming final presentation.

Next Steps:

Next week, we will deliver our final presentation and evaluate potential enhancements based on available time. With final exams approaching and everyone’s schedules packed, we aim to prioritize refinements that can provide the greatest value with minimal effort. Our focus will remain on polishing the system to ensure it is ready for the demonstration.

Team Status Report 11/30/24

Summary of Progress:

This week, the team focused on testing and verification as well as making final adjustments to the product. Our primary tasks included:

  • Performance Testing:
    • Measured system latency, moving speed, and force accuracy.
    • Verified that all results meet the user case requirements, ensuring the system performs as intended.
  • Controller Adjustments:
    • Developed a new controller frame designed to enclose all cables neatly.
    • Improved ergonomics, making the controller easier to grasp and operate.

The final results of these tests and adjustments will be presented during next week’s presentation.

Key Achievements:

  • Verified system performance, confirming that all metrics align with the user case requirements.
  • Successfully redesigned the controller frame for improved usability and organization.

Next Steps:

  • Finalize the presentation, including detailed testing results.
  • Prepare for the upcoming demo, ensuring all components are fully operational and presentation materials are ready.

Risks and Mitigations:

  • Risk: Limited time for final presentation preparation.
    • Mitigation: All testing and adjustments have been completed, allowing us to dedicate the remaining time to finalizing the presentation and polishing the product.

Jack’s Status Report 11/30

  • Testing & Validation
    • In order to test the gripper force output against the design requirement of 6N, I borrowed a spring scale and grabbed the scale with the gripper. The gripper is able to output 8.5N, exceeding the design requirement.
    • In order to investigate the latency of the system, I came up with the idea to record the camera output along with the user moving their hand. From this, we were able to determine that most of the latency came from the depth camera. This led to us deciding to switch to a regular webcam, which does not need to process the frames to get depth, reducing latency. Depth can instead be obtained from the ARUCO tag detection algorithm.
    • I worked with the team to also test quantiative metrics including precision, payload and speed.
      • For precision, we fixed a pen to the robot and drew lines on a piece of paper. The dimension of the lines were compared against commanded movements. We were able to reach +-1mm precision, exceeding our original requirement of 2mm.
      • For speed, we commanded a fixed distance and recoreded the robot’s moves with a stopwatch in the frame. Speed could then be found from dividing the distance travelled with the time taken. While we were able to reach the design requirement of 100mm/s by tuning the software parameters, we found this speed to be too fast for the use case: jittery inputs are amplified due to the high speed.
    • Some pictures from testing:
  • I designed the new Z-axis mechanism, and printed the parts for them. I plan on adding these parts and finishing up the Z-axis mechanism next week.
  • I also came up with a new way to control the force output of the gripper beyond binary open/close. This involves adding a foam pad to the grippers and measuring the relationship between compression of the foam and the force at the gripper. This relationship is most likely a linear function, if we model foam as an ideal spring. A limit switch will be used to detect an object making contact with the gripper. This way, when contact is made initially, the postion of the gripper is recorded. Force can then be controlled by advancing the gripper position past the initial contact point. How much to advance the gripper position is known from the force-position relationship measured.

Leland’s Status Report 11/30/24

This week, I focused on finalizing and testing key system components in preparation for our final presentation. Specifically, I worked on the following:

  1. System Testing and Validation
    • Collaborated with the team to conduct tests on the project, gathering critical information on use-case and design requirements for the final presentation
  2. Made a New Gantt Chart
    • This outlines the final tasks we have planned and when we plan to do them
  3. Researching Camera Latency
    • During testing this week, we measured a lot of latency from the camera capturing frames and performing OpenCV calculations. We measured latency through video taping which had some human error. I did some research online to measure CV latency directly in software

https://www.dlology.com/blog/how-to-measure-the-latency-of-a-webcam-with-opencv/

  • I also found official OpenCV documentation for measuring performance and possible optimizations I could use to reduce latency

https://docs.opencv.org/4.x/dc/d71/tutorial_py_optimization.html

Project Status
I am currently on track to meet the project timeline. I have high expectations for how our final presentation will go. I’m also confident in the team completing the rest of our tasks, as we planned in the Gantt chart. 

Goals for Next Week

  1. Update the current main project script to include Z-axis computations and send Z-axis commands to the Gantry system
  2. Create the force lookup table. I will create the table by squeezing objects with the gripper and measuring the distance of compression of the foam on the gripper and the force the gripper is exuding on the object
  3. Update the gripper control software such that the gripper will squeeze with variable force instead of binary open or close

New Knowledge and Learning Strategies

The most important knowledge I learned for the part of the project I worked on was the OpenCV library, as this is the crux of the camera system. The hardest part was working with the software that was available for the camera I picked out. The majority of time I spent on the project was with my teammates because system integration was a big challenge. I learned a lot from my teammates, as I had to understand their parts of the project to debug our system implementation.

I primarily searched online to find forums or documentation on problems I ran into or questions I had. However, I would say I learned the most through my teammates.