Team Status Report for 12/10

For our final week, our team spent all of our time robustifying our system as much as possible for our demo. Prithu worked on putting the finishing touches on the planner and addressed any remaining issues with collision checking and failure modes. Omkar and Saral worked on fixing some issues with pallet pick-up and drop-off reliability as well as a hardware bug caused by the power draw of the electromagnet. We spent a fair bit of time running tests to make sure everything would run smoothly for the demo. We also planned out a rough presentation that we can use to describe various parts of our project/system in detail and filmed demo videos.

Team’s status report 12/3/2022

The team worked on getting final things finished on the capstone project. More so, we shifted our focus from putting the final touches and cleanups on the project and shifting into documentation and presentation prep mode. Specifically, we worked on getting our final presentation, final report, and various videos taken. We also collected our various metrics for the project.

Team Status Report for 11/19

This week, we got multiple robots working and are working on robustifying the code to handle an arbitrary number of pallets and robots. We are working on testing the task planner heuristic and the backup controller once the robots drop off their pallets. We are on schedule and are hoping to start V&V testing soon. There are a few minor things to do, but we have made good progress on our project.

Team Status Report for 11/12

(Disclaimer: This was a quieter week for capstone progress due to our hands being tied with a lot of other classes that had major deadlines due around this time. )

As a team, we demoed a version of our project to the TAs and professors. In this version we had one robot driving from an arbitrary start point to a pallet, picking it up, and navigating to a goal point to drop off the pallet. Through getting ready for the demo we were able to discover some bugs related to the planner, and controller software which we are going to address tomorrow (Sunday).

Team status report 11/5

Last week our team was able to make 1 robot follow an arbitrary path in the field. This week our goal was to robust-ify that so we can put pallets on the field and have the robot pick them up!

 

We fell a little short of that goal but are able to pick up the pallets with a ~50% reliability. The issues we ran into were the planner not being able to find a path occasionally, and the robot doing hard corners around the path being planned.

 

The first problem with the planner is being actively addressed and the second problem with the hard corners has now been fixed with the updated cubic spline implementation!

 

We also upgraded the network/communication latency with the robots using multi-threading to give us much better performance with our PID error controller.

 

Our goal for next week is to continue to improve the pickup reliability via the approach angle and also add multiple robots into the loop!

Team Status Report for 10/29

This week, we started the integration of all the different systems. We switched to using fiducials on the robot because we could not account accurately for the differences in the ambient lighting causing the web camera to auto-correct in the color quantization. The most significant risk is that we need to figure out why the controller is not able to get the robot to follow a path. It could be the PID tuning or the small turning radius desired by the path planner. We are confident that we will be able to make the robot follow a path correctly.

Team Status Report for 10/8

This week, our team split off and worked on the various parts of the software for the robots. Saral worked on the CV bring-up: specifically the localizer for the robots and pallets. He was able to get the fiducial recognition working so that we can differentiate between pallet types. Omkar worked on getting the feedforward and feedback controller for the robot working so that it can follow a path given positions and timesteps. Prithu worked on the motion and task planner which takes in the robot, pallet, and goal positions, and returns position/time paths for the robots to follow.

We plan on meeting Monday to integrate the code together and run a test of the full system.

Team Status Report for 10/1

This week, the team primarily focused on getting the design presentation ready and ironing out all the software architecture. The computer vision and firmware side of the robot are well on their way and the motion-planning algorithm has been designed on paper and needs to be written up.

By the next status report, we hope to have at least one robot successfully accurately moving on the field and accurately able to pick up pallets using hard-coded goal-pose vectors. That target involves further work on the camera calibration, field construction, robot motion controller, and the robot-computer interface

Team Status Report for 9/24

In the near future, we envision the electromagnet not initially working and the camera lens being distorted at the edges being our most significant risks. We are planning on mitigating these risks by spending more time debugging the firmware and hardware on the MCU, the robot PCB, and the electromagnet and trying to understand why our electromagnet could not attract a paperclip. We found resources from manufacturers, namely Seeed and Keyestudio, about how to use their products with an Arduino, so we are confident that it should work soon. For the camera, we are going to have to calibrate the camera by moving a robot (with lit neopixel LEDs) in relation to a fixed camera and determining how the lengths between the centers of the LEDs change based on where the robot is. From there, we will have an idea of how the camera lens is curved at the edges compared to the center of view.

We are moving the robot field construction to the coming week, but everything else on the schedule should stay the same. As of now, we do not have any changes to the design or requirements, but we are reviewing and discussing the feedback that we got from the proposal presentation.

We got PCBs back this week and did an initial fit test: 

Then, we reflowed and assembled three robots:

We also got the screen working: