Marcus Status Report 4/26

This week I worked on dialing the Arduino robot feedback control software. I added servo tuning to only increment by max 10 degree per second, and also update to face downward based on actual position of the earlier links from averaged angle sensor values.

Working with the team to get the robot to have high accuracy at getting boxes every time, and speeding up overall movement.

Team Status Report 4/26

This week we worked on increasing our accuracy numbers by decreasing movement tolerances. We tested each box orientation on multiple iterations, tweaking our timing and move sequencing. We are working to make our overall move/reset time less so we can do more boxes per minute. Overall, we did not make any major design changes this week, and our schedule remains the same.

To minimize this risk, we have moved wires to the inside of the arm and improved the organization of our wiring containers.

Raunak’s Status Report for 4/26

This week, I helped tweak some of the delays and add a new servo in. I finished writing the report and added information about testing each subcomponent as well as the overall system. I also finalized the bill of materials and Gantt chart.

We are ready for our demo next week to demonstrate our working robotic arm box sorter. We will also try to get some initial feedback on our report.

We did extensive unit testing of our computer vision QR tracker and the robotic arm. Some of our unit tests include testing the reliability of QR code detection, the speed of the robotic arm, the reliability of placing the packages in the correct location,  and end-to-end testing with the entire system. We ran each test about 20 times to ensure that our system was reliable.

Matt’s Status Report for 4/26

This week, I continued testing for our final demo and made a lot of tweaks and minor improvements to the vision and main modules. For the vision code, I made the speed calculation even more accurate, shrinking its +/- range by about 30% by more accurately factorizing box height. I also made the main module’s initial pickup time-sequencing more accurate by adding more complexity and minor variables to the calculation process. Additionally, I standardized angle values by updating and using a forwards kinematics function. The main improvements I made were to the timing, pathing, and adjustments of the command sequencing sent to the Arduino, focusing on improving grab rate and speed.

Matt’s Status Report for 4/19

This week, I made a lot of improvements to the main file and how it uses the QR data and kinematics to send commands to the arm.  In particular, testing and improving the smoothness and time-efficiency of box pickups and box drops. I also implemented safeguards and handling for scenarios in which the box is out of reach (the arm can’t quite reach the entirety of the treadmill width). Additionally, I tweaked the bin dropoff locations to be much more accurate and fixed some bugs with the Arduino connection. Since we made some major changes to the arm last week, I also spent a lot of time finetuning the command sequences again. Finally, I experimented with changing how the arm picks up boxes and moving the arm in line with the treadmill during pickup instead of moving straight up and down to reduce wear on the gripper.

Marcus Status Report 4/19

This week I worked on the Arduino feedback control algorithm, and tested robot arm with the Qr detection system. I changed the servo on the 4th axis to have higher volts and refresh at a lower rate, that helped with the jitter and keeping it reliably downward. I also centralized the Arduino, vacuum, motor controllers and horizontal actuator to 3d platform that we connected to a steel plate under the treadmill.

We are working to make our synchronous box pickup more reliable and quick.

Team Status Report for 4/19

This week we continued testing and improving our end to end system (robot arm + vision/control modules). We improved the smoothness and time-efficiency of box pickups and drops via changes to the main control code. We also fixed some bugs with the PC-Arduino connection, coded handling for various edge cases, improved the accuracy of the control logic / commands sent, and finetuned the command sequences to match the new arm changes. We achieved an item sort rate of 7 per minute, such that were able to reliably sort a box and reset completely within 10s.

We plan to run our unit tests again and really finetune those accuracies, as well as continuing end-to-end testing and focusing very tightly on the command sequencing / PC-Arduino interfacing.

Raunak’s Status Report for 4/19

This week, I helped with the end-to-end testing to make sure that we are ready for the demo. With the rest of the team, I helped verify that the arm was able to pick up boxes off the treadmill at 0.5mph and place them in the correct bin. I helped time the runs, and we found that the arm was able to sort the bins at 10 boxes per minute, so we were happy with that. Other than that, I continued making progress on the final report by adding the system implementation, ethics, and summary sections.

Next week, we will focus on the presentation. We are planning to demo the robotic arm, so we need to make sure that it goes smoothly. Once that’s done, we will work on the final poster, video, and report for the following week. We are pretty much done in terms of implementation and are mostly looking to wrap things up well.

Matt’s Status Report for 4/12

This week, I fine tuned the vision module’s height and speed calculations to more accurately handle edge cases (box on the edge of the treadmill, tall box, etc.). I also finetuned the angles of the main file’s inverse kinematics outputs to align with the arm’s idiosyncracies (arm plane is slightly tilted). I was able to sync the main program’s axes/commands almost perfectly with the arm’s angle quirks to maximize accuracy. I also tweaked the timing/buffering of how the main file sends commands to the arm to ensure smoothness and reliability during pickup. In particular, it was previously having problems with moving the box up and to the bin after grabbing it. We were able to test the system on example boxes running on the treadmill and achieve 80% pickup success (8/10 runs).

Team status report 4/12

These past two weeks, we have been working on getting the robot to pick up a box every time. We integrated the vision/control algos with the robot kinematic algorithms and were able to reliably pick up multiple boxes in a row. Physically, we updated the arm to have both arm and electronic controllers on the same 3d printed structure/piece. We were able to sync the main PC program’s axes/commands almost perfectly with the arm’s angle quirks to maximize accuracy. We were able to test the system on example boxes running on the treadmill and achieve 80% pickup success (8/10 runs). We have already started experimenting with different pickup move paths / command sequencing, as well as experimenting with different refresh rates and power ramping for the servo. Next week we are going to work on dialing in arm movement and test our system with real drop-off bins.