Raymond Ngo’s Status Report for 2/26

For the deliverables I promised last week, I am not able to provide them because the schedule timing has been tighter than I anticipated, and as a result I was not able to properly tune the parameters for the blob detection. The most it could do was to detect the shadow in the corner. Ideally, a blob detector with better parameters is the deliverable by the deadline next week.

The main reason was the tight schedule between the presentation and the design report. During the past week (from last Saturday to 2/26), a lot of work was done on the design presentation, mainly having to communicate between the team members on the exact design requirements of the project. Questions involving the discovery of a temperature probe that could withstand 500F or higher popped up, as well as questions on the best type of object detection. Furthermore, as I was the one presenting the design slides, it was my responsibility and work to practice every point in the presentation, and to make sure everyone’s slides and information was aligned. In addition, as it was not I but Joseph who possessed robotics knowledge, I had to ask him and do my own research on what the specific design requirements are.

This week, I also conducted research on other classification systems after the feedback from our presentation. Our two main issues are the lack of enough images to form a coherent dataset, hence our lower classification accuracy metrics, and a selection of using a neural network to classify images ahead of other classification systems. One possible risk mitigation took I found was using a different system to identify objects, perhaps using SIFT. That, however, would require telling the user to leave food in a predetermined position (for example, specifically not having thicker slabs of meat rolled up).

We are on schedule for class assignments, but I am a bit behind in configuring the blob detection algorithm. I am personally not too worried about this development because blob detection algorithm is actually me working ahead of schedule anyways.

Joseph Jang’s Status Report for 2/25

The schedule has been tighter than expected for me, so the robotic arm development has been tough.  However, I have already 3D printed the 1st and 3rd links of the Robotic Arm.  It has some small size defects, so I have adjusted the CAD  model and will attempt to reprint them this Sunday.  Also, I have submitted the 3D printing of link 2 to FBS so that a larger printer can be used to 3D print the part.  I am hoping that the parts I have ordered will come in soon before spring break starts so that I could bring the robot parts on the plane back with me and assemble them at home.  Fabrication of the robotic arm should not take more than a total of 24 hours if no issues occur.

I have also started working on the design report, and hope to have it finished by the deadline.  I have planned a way for us to separate the work for the report.  We will each write parts of the report that we have made slides for in the presentation, plus some additional topics that need to go in the report, such as design studies.  We will include all the diagrams and a couple of additional tables and pictures in our design report as well as touch upon the fabrication and assembly process of our robotic system.  We will also discuss more on integration in our report, which we have all started planning.

As suggested during our design presentation, I have also looked more into how to use the available ROS libraries to implement inverse kinematics for a 4DOF complex robot such as the one I will be making.  I am reviewing the math for inverse kinematics, and have looked into ROS tutorials for IKFast Kinematic Solver.  My plan is to fully delve into developing the inverse kinematics software during spring break, where hopefully I will have most if not all of the robot arm assembled.

Team Status Report for 2/19

This week was our busiest week so far.  We had discussions to finalize our design choices for the overall system states and architecture.  We estimate that we are each about 70-80% finished with designing our own respective subsystems.  We will complete our designs in time to submit the design report.   We have not yet documented the fabrication and assembly process of our design, which we will do in our report.  We also have to meet again to discuss what the interfaces will be between each of the respective subsystems we are designing and also start thinking about how we will proceed with system integration.  We have updated the Gantt chart to show our progress in our design phase.  We added slack to our schedule to include more system integration and start our development phase when spring break starts.  We decided Raymond will present for our Design Presentation, which is mostly finished and ready to be submitted.  Although we are all still busy in the Design phase, it is worth noting that we should look ahead and start discussing the Development phase of this project next week.  We hope to continue this pace throughout our project.

Joseph Jang’s Status Report for 2/19

Most of this week was spent creating and finalizing our design decisions.  I spent my time creating the System Architecture, System States, and Electrical System Diagrams.  The CAD models of our 3 robotic links were also created by me.  I also created a parts list of everything that our team currently owns, borrowed, or needs to buy.  I will start submitting parts for order next week after our design is reviewed through our presentation.  I have also updated the Gantt Chart to show our progression and add more slack.  All these diagrams and documents are crucial for the design presentation, design report, and the next stage of development.  The creation of all these diagrams helped me consolidate design choices.  This was a particularly busy week for me as I had to complete most of the robotic arm design for the presentation.  I expect that next week will be more relaxed as I start creating the report and finalizing any design questions.   Here are the pics of what I have worked on this week.  Please look at our Design presentation slides for better quality pics.

Jasper Lessiohadi’s Status Report for 2/19

This week, I worked more with python in order to better familiarize myself with it and prepare myself for when I get to work with the touch screen hardware that we will be working with. I have also looked more into UI design to give the best user experience I can. The overall planning for the project and design of it is almost done and I am very happy with the direction it is going. We have decided to divide the grill into four sections with one piece of meat on each. The touch screen UI will then have an overhead camera feed of the grill which the user can then use to manually interact with the meat if they so choose. I am happy with what my rough draft of the UI for now, however I will definitely want to add colors that match the theme of the project. I am thinking they will be medium/dark browns and/or other similar colors. I will have to figure out what looks best once the UI is more developed.  For now, I am on track with our projected plan and I am excited to see how the project evolves over time.

Raymond Ngo’s Status Report for 2/19

This prior week I was getting myself acquainted with opencv and its libraries. I successfully made a function that captures webcam data both in a continuous stream and when a function is invoked. I successfully applied the cammy edge filter (for thickness detection) on a captured image and increased its threshold. (proof below) This is necessary for the computer vision part of the project because this will be the primary way to detect meat thickness for the cooking time estimation.

I am actually currently on schedule. Figuring out features of opencv and trying out some of the tools is important before starting on the real work of creating tools for the project. Furthermore, finding limitations of some computer vision methods is important before the design review.

Next week’s deliverables: some rudimentary form of blob detection. Uses opencv to capture and process an image. This is necessary because the action that kick starts the cooking process is a user placing meat in front of a camera, and this requires blob detection to see if an object exists or not.

Jasper Lessiohadi’s Status Report for 2/12

This week I have primarily been brushing up on Python so that when we really get going with the project, I will be ready as well. I have coded mostly in C and C++ for the last few semesters, so this preparation was necessary for me to be able to properly contribute. I am not as well-versed in robotics or computer vision as my partners, so I most of my work will probably end up being related to UI and the software controller, rather than the two previously stated aspects. I have also been familiarizing myself with front-end development to better accommodate how a user would most likely interact with our product. I hope that this research will allow for a smooth and satisfying experience for anyone who tries it.

Joseph Jang’s Status Report for 2/12

For this week, I looked into the design of robotic arms.  I looked into the different types of robotic joints that can be used.  I will use a stepper motor for the base joint of the robot, and then use 3 servo motors, which I am still deciding between the torque of two different motors – the MG996R servo (10 kg-cm) versus the Zoskay servo (35 kg-cm).  While the Zoskay is most definitely overkill and expensive, I am curious if the weight it can handle and I also have never used it.  However, there are probably MG996R servo motors that we can borrow as a team, so it would help us save our budget.  I also ordered parts from the ECE 500 Inventory and picked them up, which are the NEMA 17 Stepper Motor,  DM542T Stepper Driver, and 2 cameras for the Jetson AGX Xavier (ARDUCAM UC-698 REV. B and  e-CAM50_CUNX/NANO) I also requested a blue crate from Techspark.  I have read over the next Design assignment guidance to help assign tasks for the upcoming design presentation.  We hope to review the system architecture with a faculty member ASAP.  But by Friday of next week, I hope to have the basic design of each major subsystem down (the robotic arm, CV algorithm, UI, and software controller), and the necessary block diagrams completed and ready to be reviewed as a team.  We will have to solidify our use case quantitative requirements, implementation plan, risk factors, metrics and validation, and system architecture.  We will also have to configure all of our electronics (Jetson AGX Xavier and the 2 cameras) in the upcoming week.

Team status report for 2/12

One risk we have not considered to the extent we should have until feedback from the instructors for other proposals was slack and integration time. For one, our integration between the software controller and the computer vision algorithm and the integration between the software controller and the robotic arm happen almost simultaneously, which creates the issue of integrating 3 items at the same time, greatly complicating the process of integration. Developing the Computer Vision and software interface might take less time compared to the robotic arm, so one idea proposed is to reduce the development time of computer vision and software by a few days or a week and use that extra time to integrate. Furthermore, testing the robotic arm on an actual grill should take place before the integration step, in the case of a serious misunderstanding of the heat tolerances of the arm.  We also made a basic concept drawing of our robotic system.  Here is our updated schedule, mostly seen at the end of March and the month of April (I’m sorry for the image quality it cannot be improved for some reason, but we have made some dates for integration longer and software and CV implementation shorter). 

Raymond Ngo’s status report for 2/12

This past week I took a further look at the types of computer vision algorithms needed to complete the thickness estimation project. While initially we decided on using a neural network to determine the type of meat to help find the cooking time, we decided this would not be a good idea, owing to the different colors (from marinating) and the similarities of various types of meat. We would also have issues finding a proper data set to train on.

 

Instead, I looked through the different methods of finding thickness, and the best way seemed to be using the Cammy edge detector function in opencv. The challenge facing the upcoming week would be finding a way of making sure the thickness measurement (most likely in pixels) is accurate. The second issue would be making sure the meat measurement is correctly measured at a similar environment each time. This would most likely be done by having the robotic arm lift the meat to the same location each and every time, with the only variable being the position  the robotic arm grabs the meat at. However, this ignores the really thin cuts of meat. In the coming week, I will discuss the possibility of removing that type of meat from our testing metric completely, given how different it will be from every other type of meat we plan on testing. Included is the image of the outlier meat cut.

 

3 things to consider when you cook meat Korean BBQ Style - Korean BBQ  OnlineKorean BBQ Online