Cary’s Status Report 11/16/2024

Accomplishments:
This week, I integrated my circuit with the new 3D-printed controller frame. The sensors are now aligned with the human hand-finger configuration, ensuring accurate mapping for control. Additionally, I updated the sensor reading code to operate at a 115200 baud rate. The improved code achieves faster response times, with force changes now distinguishable within approximately 0.1 seconds. Over the weekend, we finalized all the major components of our project. At this point, everything is ready for the demo presentation, marking a significant milestone in our progress.

Progress:
While the progress has not been rapid, it has been efficient, enabling us to meet all deadlines successfully. The project is in a stable state and fully prepared for the upcoming demonstration.

Next Steps:
Next week, we will focus on resolving any remaining issues to further enhance the system. These tasks include adding vibration feedback, redesigning the circuit for improved performance, and refining the controller for better usability. These final adjustments will solidify our system and ensure its success during the demo.

https://drive.google.com/file/d/1fppBDhRnjV0XzfIZ0QtJ-ta6uz8RMSbG/view?usp=drive_link

Team Status Report 11/16/24

Our team made significant strides toward system integration in preparation for the Interim Demo on November 18th:

  • Gantry Integration: Camera and gantry systems were integrated successfully. Jack implemented a solution to reduce latency in gantry movement by breaking commands into smaller steps, improving responsiveness.
  • Remote and Gripper Systems: The remote system was integrated with the ESP32, and the gripper control software was completed, enabling object manipulation. The gripper reliably handled a 500g water bottle during testing.
  • Hardware Improvements: Jack built a new controller housing for the ESP32 and a custom camera stand, enhancing system stability for testing.

These efforts have brought us to a serviceable MVP. Here is a video of testing the MVP this Saturday.

The compressed timeline for integration remains the primary risk. To address this:

  • The team plans to meet this Sunday to ensure the MVP is ready for the Interim Demo on Monday

No major design changes were made. Minor updates include a new 3D printed case for the remote and the construction of a custom camera stand to replace a delayed delivery.

Next Steps

  • Finalize testing and debugging to ensure a smooth Interim Demo.
  • Begin post-demo performance optimizations, including force sensing, latency improvements, z-axis integration, etc.

Overall, the team is excited to deliver a successful MVP.

Here is the validation plan for the user requirements of the overall project.

Leland’s Status Report 11/16/24

This week, I made significant progress by working collaboratively with team members to integrate various components of the system. Specifically:

  • Gantry System Integration: Successfully integrated the camera software with Jack’s gantry system.
  • Remote System Integration: Worked closely with Cary to integrate the remote system, enabling the remote to communicate effectively with the ESP32 for the gripper.
  • Gripper Control Software: Completed the gripper control software, allowing the gripper to respond quickly to remote inputs.
  • Camera Stand: Jack constructed a camera stand, which has greatly improved the stability and usability of the camera setup for testing and integration.

These contributions have allowed us to achieve a fully integrated system.

Currently, I am on track with the revised project timeline. The integration work completed this week ensures that we are well-positioned to achieve our MVP for the Interim Demo on 11/18.

My primary goals for the coming week are:

  1. Address the issues that are presented during the Interim Demo
  2. Start trials for the design and user requirement tests
  3. Start integration for depth measurement

Verification for the camera system

  • Measure the distance traveled in software and compare to the actual distance moved by the user
    • Record the  xy coordinates of the ArUco tag on the remote calculated by OpenCV and compare them with the actual dimensions of the visible workspace

Jack’s status report 11/16

  • Progress This Week:
    • Completed software integration for the gantry system. I spent a lot of time on this task due to an unforseen latency issue.
      • When a movement command is sent to the driver, there is no way to interrupt it.
      • As a result, if the user moves their hand quickly in one direction and moves their hand back, the robot will finish the first command and move all the way to one end of the axis before moving back.
      • This results in a lot of latency. Furthermore, when the user moves faster than the robot can keep up, the robot “remembers” the moves and executes each of them instead of going to where the user’s hand is currently located
      • I looked into ways to interrupt a command in progress. However, this was simply not supported by our driver board.
      • I devised a solution to break down a movement command into many tiny movements instead of one command to move a long distance.
      • The PC will only send a command when the previous one finishes.
      •  When the user moves their hand, the movement is decomposed into many small steps and queued.
      • A separated thread executes queued commands
      • When the user moves their hand again and the position updates, the queue is cleared.
      • This approach works. Currently, the latency is still noticeable but is much better.
    • We reassigned integration of the gripper to Leland
    • I built a new controller housing to accomodate the esp32 and the ARUCO tag.
    • Leland’s camera stand has not arrived so I built one from scratch.
    • during integration test, we found that the gripper could grip a 500g water bottle by the cap reliably.
    • Gantry movement was reasonably smooth. The speed is a bit slower than I expected so I designed a different pulley. It will be added after MVP demo.
  • Goal next week:
    • optimize gantry software to reduce latency
    • add force sensing resistors to the gripper to do force-sensitive control
    • assemble z-axis mechanism
  • Verification plan for gripper system:
    • use case requirement: be able to move 300g payload
      • This will be tested using a water bottle whose shape roughly matches a typical beaker. Performance of a gripper can vary a lot based on where the gripper makes contact. For the payload requirement, I think I will specify that the gripper engages with the middle of the bottle, as opposed to grabbing it by the lid.
    • design requirement: be able to output 6N force at the gripper
      • This will be verified using a kitchen scale. The gripper will grab a kitchen scale at full force.
  • Verification plan for gantry system:
    • design requirement: position repeatability of 2mm:
      • This will be tested using a testing script that commands a fixed set of movements on the gantry. At fixed intervals, the testing script will stop the gantry briefly to allow us to use a pen to mark its position on a piece of paper.
        • The dots on the paper will be measured against the commanded movements
    • design requirement: speed
      • speed requirements will be verified using a video recording. A testing script will command a movement along each axis for a fixed distance. Time to execute the movements will be used to calculate the average speed.

Cary’s Status Report 11/9/2024

Accomplishments: This week, I rebuilt the circuit after it came off the breadboard, taking the time to label each cluster of lines for clarity and testing the circuit thoroughly. I confirmed that the design is robust and ready for implementation on the controller pipe. Additionally, I collaborated with my team to develop Python code that periodically requests average sensor readings from the board, and the results have been consistently smooth and reliable.

Progress: Everything is progressing on schedule. We should be able to finish everything before demo.

Next Steps: Next week, we will focus on finalizing synchronized tasks and spend extensive time together to ensure that all components integrate seamlessly.

https://drive.google.com/file/d/1j0Mco7dezndgD23GYFGdaAI_qundf0kY/view?usp=sharing

Team Status Report for 11/9/2024

This week, our team has been working intensively to finalize each individual subsystem in preparation for the Interim Demo on November 18th. Our goal is to complete all subsystem development by the end of this weekend, allowing us to move into system integration next week. Each team member has been dedicated to ensuring their subsystem is functional and ready for this critical deadline.

While we’ve encountered some delays and are slightly behind on the Gantt chart, we expect to accelerate our progress and return to schedule this week. The updated Gantt chart continues to guide our team, and we’re adjusting our plans to accommodate the current timeline. Recognizing the tight schedule, we have prioritized all of all next week to prepare for the demo.

The primary risk at this stage remains the time constraint for integration. With each subsystem set to complete by this weekend, we have intentionally allocated next week for integration and testing. This provides us with focused time to ensure seamless functionality across all components. While this timeframe is compressed, we believe that our focused efforts and contingency plans will allow us to mitigate integration risks effectively.

No major changes were made to the overall system design this week. Some minor adjustments within the hardware for the gantry system were made, but these did not impact our core design or budget. Jack has added and is working on more additional 3-D printed parts for the gantry system, as he has been assembling it.

The team has maintained open communication, and all members have committed additional time to ensure readiness for the Interim Demo. Although it will be a rush to complete integration, we are optimistic that we can accomplish this by the demo date. By following our structured timeline and focusing on clear communication, we remain on track to meet our project goals.

Leland’s Status Report for 11/9/2024

This week, I completed the tasks related to outputting the XY location and roll orientation of ArUco tags, achieving one of my primary goals for this week. I also started cleaning up the camera code in preparation for the upcoming system integration phase, ensuring that it is optimized and ready to be implemented. I’ve been able to learn more about the camera software packages to understand it better such that I can configure it for an easier integration with the rest of the project. Here’s a link to my document detailing the updated camera code.

While I am still slightly behind the initial schedule, my recent progress has brought me closer to our revised timeline. I will be packaging the computer vision code for integration and initiating the software for PC and ESP32 communication and other important communication protocols over the weekend. This will ensure a strong foundation for the integration process that will take place all of next week.

Goals for Next Week

In the coming week (and Sunday) , I aim to:

  • Complete the software for PC and ESP32 communication to support reliable data transfer during integration.
  • Develop the control software for the gripper, allowing it to respond accurately to inputs from the remote
  • After these are completed, the main goal is completing MVP by 11/18

These deliverables are crucial for integration, and I am committed to meeting these objectives to ensure the project is on track for a successful Interim Demo.

Jack’s Status Report 11/9

  • Progress This Week:
    • Designed wrist coupler to connect wrist motor to gripper
      • currently 3D printing
    • Assembled exisiting parts. Ran into some issues so I spent significant effort on iterating the hardware.
      • The new linear slides I ordered arrived!
      • Assembled XY mechanism. However, some parts did not fit properly. Nonetheless, we were able to confirm that the gantry was smooth and had no perceptible sag or slack.
      • I used some hacks such as using fewer bolts than the designed number to make everything fit. However, I decided to redesign them so that they work properly.
        • Redesigned hardware are printing overnight.
      • The gantry+gripper hardware should be ready by Monday.
    • Force control on gripper
      • For the MVP, we decided to not incoporate it because binary open/close modes should suffice for rigid objects. However, we still want to pursue force control for the final product.
      • Researched using Dynamixel smart servos to achieve torque control for the gripper. Sifted through documentation on all the models and reallized the cheapest model that offered torque control was $300.
      • Pivot towards homebrew mechanisms
        • Idea 1: same as originally proposed. Use torsion springs to act as a compliant mechanism
        • Idea 2: modify gripper mechanism to incoportate springs into the gripper.
        • Idea 3: use FOC (Field Oriented Control), an algorithm that achieves torque control in steppers by modeling the electromechanical fields inside the motor and energizing the windings to control the torque output.
    • Goal next week:
      • complete software integration for the gantry/gripper. Currently, I have software that can control the gantry. However, I expect to put  a significant amount into integration. Now that Leland is able to get XY coordinates from the CV stack, and Zhenghao has solved the FSR reading problem, all indiviudal software subsystems are in place.
      • Design and build new handheld controller housing.
        • We decided to pivot away from the PVC pipe chassis, as the electronics are occupying more room than we originally expected.
        • This is not crucial to the MVP, but we would like the MVP to look as mature as possible.
    • Gantry assembly so far (x-axis belt not added due because I had to reprint a part in the x-axis mechanism)

Cary’s Status Report 11/2/2024

Accomplishments: This week, I addressed two crucial issues in the circuit design. First, I fixed the problem where the circuit would sometimes stop looping when the sensor went out of its working range by setting the board to reset every 5 seconds, ensuring that the loop never stalls for more than 5 seconds. Second, I resolved interference between sensors when one was pressed by implementing P-MOSFETs to make each sensor’s power source independent, preventing cross-voltage interference.

Progress: Fixing these two issues was faster than anticipated, which has significantly advanced the project. Additionally, I built a first draft of a more compact version of the circuit to fit neatly on the controller, transitioning from a breadboard setup. I am on track to complete this streamlined circuit by Sunday.

Next Steps: Next week, the team will gather to integrate all individual systems, so I’ll ensure my system is fully complete and ready for integration. I will finish assembling and testing the compact circuit on the controller, verifying its stability, and assisting my teammate in implementing the force sensor setup on the robotic arm to facilitate a smooth integration process.

https://drive.google.com/file/d/1fppBDhRnjV0XzfIZ0QtJ-ta6uz8RMSbG/view?usp=drive_link

Leland’s Status Report for 11/2/2024

This week I devised a new test plan for our project, and I got a demo for ArUco tag detection working. Here is a link to my work document.

According to our previous schedule, I’m about two weeks behind in work. Originally, our team was supposed to have at least two weeks of total system integration for the Interim demo. As of now, we will have one week to integrate. That being said, we have devised a new schedule that will lead us to a successful Interim demo. I have a lot of work to do, but I have made this plan and devoted more time next week to complete the necessary tasks.

My goals for next week are as follows:

  • Track Multiple ArUco Tags
  • Track ArUco Tag Orientation (roll)
  • Create software for PC and esp32 communication