Joseph Jang’s Status Report for 4/30

For this week and last week, I have worked on the three main behaviors for the robotic arm and tuning them.  The three main behaviors are handling raw meats, flipping half-cooked meats, and handling done meats.  Since those three functions can work for one piece of meat, I have created the part of the software controller and integration where these events can be put into a queue system.  We will soon test on a real grill and meats.  I will also have to take videos of each action for the video.  I also ordered a DC power supply that can turn an AC input into a DC input of 12 V and a maximum of 20 A.  This will help to provide the robot with a consistent current draw and avoid electronics from browning out.  I have also presented the final presentation, which I think went pretty smoothly.

Team Status Report for 4/16

For this week, we have begun to start planning our overall system integration and the specifics of the KBBQ environment.  Joseph has been working on improving the inverse kinematics of the robotic arm.  He is also working on fixing some electrical and mechanical issues the arm had.  Raymond has continued to add images for the CV algorithm but has yet to connect all cameras to the Jetson AGX Xavier.  Jasper has also continued to work on the UI of the system.  They have also bought a wifi router to get the wifi working on the Jetson AGX Xavier.

Joseph Jang’s Status Report for 4/16

I have fixed the mechanical issues with the robotic arm by tightening the screws and filling the spaces between the servo motor arm and the plastic metal arm, but have run into some software and electrical issues.  Sometimes the current draw of the servo motors spikes when the motors are under stall torque, causing the current to spike and voltage to drop.  This leads the motors to stutter or sometimes not even move.  While I don’t think this is a problem with the servo motor controller board (PCA9685),  it could be an issue with the current draw that the lead-acid battery is capable of.  I am holding off buying a lithium-ion battery that has a high current draw to power the servo motor controller board, because this voltage drop and current spike occurred after multiple hours and uses of the lead-acid battery, so the issue might be because the battery is not charged enough.

However, for the inverse kinematics, the accuracy of the system is still sometimes off by a couple of inches when the bounds of the robot’s range of motion are reached.  The Matlab library seems to be more complicated than I need, so I have also tried to use a Python library for inverse kinematics called IKPy.  This requires me to make a URDF file that is commonly used in ROS applications.  In both applications, I am getting the angles I desire, but I have yet to test the IKPy library on the robotic arm.  I am hoping the use of ROS and the URDF file, which is very standardized, can help me achieve some accuracy and precision.  I also think I might have to simulate the entire  KBBQ robot environment (dishes, grill, etc.), which will be easier with ROS.

In other minor updates, I have measured, planned out, and set the locations of the dishes, grill, robot, etc.  This way, the robot will have an easier time being more precise within its range of motions.

Joseph Jang’s Status Report 4/10

This week I continued to work on the inverse kinematics of the robot.  To help debug the issue, I disassembled parts of the robot to make sure each joint is being turned to the proper angle.  I found several electrical and embedded software bugs.  I do not think the issue with the inverse kinematics is caused by MATLAB’s implementation of the IK solver.  However,  I will also be making use of the ROS IK libraries to code in python.  Another issue I found was the stepper motor is heating up rather quickly even when it is not in action.  Because it is turned on even though no commands are being sent to it, it heats up quickly.  Therefore, I made use of the enable pin, so that the base of the robot will be in place but not turn on when it is unnecessary.  That way the stepper motor will not be overloaded and burned out.  On several occasions, the motor had become very hot, so this was a proper risk mitigation fix.

Jasper Lessiohadi’s Status Report for 2/26

This week, I finalized designing the UI and all of its components, as was shown in our design presentation. We all agreed on a way to integrate the camera into the screen space and how we could best interact with it. We decided to try to borrow an iPad from either the inventory or from Sorrells to use the screen. However, we have not yet gotten it, so I have not been able to produce any kind of deliverable. An additional issue that I have is that while I have experience using Swift for app development, I do not currently own a computer running iOS. This can simply be overcome by using some of the ones that are available in the computer labs on campus. I will just have to be careful budgeting my time so that I am able to use them when I need to.

If we find that using an iPad is unfeasible, though, we may end up using another touch screen. This will mostly be if we cannot find a way to integrate it with the rest of the parts of our design, but that I do not think that will be to much of a problem.

 

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.