Category: Seung Yun’s Status Reports

Seung Yun’s Status Report for 4/27/24

This week I’ve spent most of the time making minor adjustments to the aiming system to get it ready for the final demo, and working on the final presentation & poster & paper. I’ve also printed the camera pole for the LIDAR camera. As we’re integrating the pressure system with the aiming system, the weight of the pressure system put a lot of stress on the aiming system, so I had to make some adjustments such as slowing down the servo motor movement and increasing the speed of the stepper motor movement so that the whole thing moves more smoothly. Below is the final image of the finally assembled robot.

I’ve also worked with Alex and Mike to software-control the pressure system, and ensuring frontend calls the right endpoint on the pi.

I have finished all my task and is on schedule.

I will be ensuring everything works as expected and work more on final deliverables next week.

Seung Yun’s Status Report for 4/20/24

For the past two weeks, I’ve focused on cleaning up the aiming system and preparing for the overall integration. I’ve refactored the code to remove the unnecessary ipc communication between the networking module and the motor control modules.

As the pressure system by Alex is working properly, I’ve redesigned the robot for full integration. Given that the pressure system’s pipe is rather thick and will need some spacing to bend properly, I’ve moved the balancing bridge on the lazy susan plate to the front and elevated the whole thing. I’ve also printed out a pole for the camera so it will be elevated by 50cm from the surface, and the whole base for the robot. The new physical robot looks like below:

I’ve also performed testing on the aiming system. I’ve set the angle of the vertical aiming and radial aiming system to various degrees, then took a picture of it to analyze the angle using an online tool like below. I’m still compiling the results of this to be included in the presentation next week.

I am on schedule according to our Gantt chart.

Next week, I will work on writing software on the pi to control the pressure system and put everything together, and work with Alex to run the vision algorithm on the pi, and work with Mike to connect the frontend to the pi properly. We’re at the integration mode and the lines between our responsibilities are rather blurry.

Throughout this project, I had to get out of my comfort zone and work with different tools – the biggest probably is CADing and physical design. I’ve only taken CAD class last semester and was new to laser cutting. I’ve had to read up on lots of other reference designs to design our robot. I’ve also asked for advice from Techspark and IDeate staff to make sure our design is feasible.

I’ve also had to learn how to work with microcontrollers, such as writing modules for motor controls and networking. I’ve followed lots of online tutorials to get the initial setup, then relied on documentation of specific libraries I was using to tune the code to our purposes.

Seung Yun’s Status Report for 4/6/24

This week was a strong push for our mid-demo. I finished up writing the backend code on the RPi, so that the robot’s aiming system can be controlled both using the ssh’d terminal, and the frontend. While I was working on it, the RPi we were using suddenly got bricked, so I had to scramble to find another RPi last minute to finish this up before the demo on Wednesday. I suspect that this is due to high current drawn by the motor as when I was working on it on the new pi, the previous motor driver seemed to be damaged. Here is a video of the working demo in which I control both aiming using the frontend.

I am pretty much done with the aiming system and ahead of schedule – we updated our Gantt chart this week to align with our actual progress more closely.

Next week, I aim to tidy up the code so that it doesn’t run on three processes, and make the system more robust by ordering some backup parts. Since I am done with the aiming system, I am shifting my attention to help the shooting system. I am exploring alternative shooting mechanism that involves a more mechanical approach such as a spring. By next week I aim to have the alternative shooting mechanism designed and have the parts ordered, along with the robust aiming system.

Moreover, for the verification, I am planning on setting the aiming system at a certain angle, and measuring the physical angle. For example, I will send a series of angle settings for the vertical system, and use a protractor to verify. For the radial aiming, I will mark the “front” with a paper below the robot, move it a certain degrees, mark the new front, then measure the angle moved using a protractor to verify it matches the angle it was supposed to move.

Seung Yun’s Status Report for 3/30

This week, I’ve finished up integrating the vertical aiming and radial aiming system, wired up all the circuitry, and wrote preliminary modules for controlling both axes. The servo motor only requires 5V of power, so it can be directly powered by the Pi. I’ve wrote a simple script that can translate angle input to PWM signals so change the servo’s position. I initially tried working with RPi.GPIO library, but observed some jitter. Turns out this library generates PWM signals through software but doesn’t utilize the PWM hardware in Pi, so I experimented with pigpio library which does interface with the native PWM hardware – this proved to be very stable.

Utilizing the stepper motor was tricky as well – the block connector on the stepper motor expansion board was faulty (the screw was too tight), so I’ve de-soldered the original block connector with a new one. I’ve observed that the circuitry was drawing too much current (2A) when I was playing around with it even when the motor was at rest, but that was due to not calling the cleanup code from the software side. After some experimentation, I was able to reliably control the direction and movement of the stepper. Here is a video of both system working together. I am controlling the servo and stepper by ssh-ing into the pi.

I’ve also printed out a new spinning top and servo base that can be mechanically connected together so the whole system connects seamlessly. Here are some pictures of the aiming system and the circuitry below:

I am back on track with the schedule. I am on pace to finishing up the aiming system next week.

There are some more fine tuning that has to be done – both the servo and stepper movements are too abrupt and needs some slowing down from the software side. This is especially problematic with the stepper since I observed that it is very powerful and can move the entire base (the current version’s base is not mechanically stable). By next week, I aim to fine tune the control so it is stable, and start CADing the entire robot that can encapsulate circuitry and a pole for the camera as well. I will also implement a simple server that can take in HTTP request from the frontend and communicate with the motor control modules.

Seung Yun’s Status Report for 3/23

This week I’ve worked on implementing the software modules to control the radial and vertical aiming systems. I’ve ran into some roadblocks as I had a hard time connecting the Pi to the internet. We suspected that the issue is with the CMU Wifi as when I tried to connect using home wifi things worked out fine – we realized recently that we have to register the Pi’s MAC address to CMU-DEVICE, so we will try that in the future.

Another roadblock was that the Pi5’s ecosystem is too unstable. When Pi5 was released last October, the architecture changed significantly from Pi4, which made most of the stable packages that can interface with GPIO incompatible. Although we were able to find some libraries that work (like gpiozero), when tested on the servo the jitter was too much. We could implement the entire interface from scratch, but given the time constraints and the possibilities of more unanticipated issues, we’ve decided to use Pi4 instead for motor control – we’ve placed an order for this from the inventory.

I am slightly behind schedule as I was anticipating to finish writing all the software control modules by this week, but I hope to get back on track next week once I have the Pi4.

By next week, I plan to not only finish writing the software modules, but also to physically integrate both aiming system so we can demo the week following.

Seung Yun’s Status Report for 3/16

This week, I worked on the ethics assignment and finishing up the aiming system prototype.

I’ve adjusted the mounting point for the vertical aiming system’s arm, which was further away from the previous version, making it more stable and easier to screw in. The servo motor house’s mounting point has also been re-printed and everything was assembled nicely.

As I was about to work on the electrical connections, I’ve realized that I don’t have the appropriate wires. For the servo motor, the three wires coming out of it are all lumped in a female dupont connector, and the stepper motor has bare cables coming out of it. I’ve ordered dupont cables and block connectors so I can make all the wired connections come together.

I am still on schedule according to the Gantt chart.

For next week, I will be making a final push so that the aiming systems all come together. While I wait for the new parts to come in, I will be working on enhancing the prototype so the vertical and radial aiming systems are connected, as well as the base for the robot. Once I have the parts, I will be writing control modules for each system so I can demo that in the following week.

 

Seung Yun’s Status Report for 3/9

The past two weeks (but mostly week before this), I’ve continued on iterating on the vertical aiming system and the radial aiming system. I’ve also worked on writing the design review report that was due last week.

For the radial aiming system, I’ve laser cut a new plate that is compatible with the flange coupler, and attached them all together. There are few more details to flesh out such as finding the right screws (I’ve been using the spare ones in TechSpark so far) and not messing up the actual cutting so it’s round, but the prototype feels stable.

For the vertical aiming system, I’ve made some mistake in CADing it so the house for the servo motor didn’t come out well, but the arm in which the barrel will sit came out nicely. Similar to the radial aiming I still need to find the right screws to attach the arm to the servo motor in a correctly aligned manner.

I am still on schedule according to the Gantt chart.

For next week, I will start connecting the radial aiming systems’ electronics, and write some primitive control module on the Pi. For the vertical aiming, I will re-print the servo house, and finalize the physical structure. I will also slowly start thinking about how to integrate both systems.

P.S. I went to a museum during spring break and found something that could be an alternative vertical aiming system design.

Seung Yun’s Status Report for 2/24

This week, I worked on practicing for Design Presentation (and actually delivering), and working on the construction of the radial aiming system. The stepper motor was delivered early this week, so I took some time to iterate on the prototype to think about the actual connections of the individual laser-cut components, and how to attach the base to the shaft of the motor.

The stepper motor house came out nicely – I am a little worried about the flatness of the motor, so I will probably end up adding a bottom plate for the motor house. The lazy susan plate poses a bigger mechanical challenge as it doesn’t fit very tightly to the shaft. To mitigate this, I’ve ordered a Flange Coupler, which will be fastened onto the shaft, and the next version of the plate will have holes cut into it so that it can attach with the flat part of the coupler.

While trying to test driving the motor, I’ve realized I need a stepper motor driver (DRV8825) on top of the motor to actually interface with it, and also to protect the hardware from current surge – I’ve ordered stepper motor driver this week so I can start trying to control it on the Pi.

My schedule is still on track as this week and next week is building the first version of the vertical and radial aiming system and finding out what problems I might encounter, as I have done this week.

Next week should be relatively busy with the Design Report, along with additional parts such as the ones I’ve ordered this week and the servo motor should be delivered. I aim to deliver vertical aiming system’s prototype and finalize the radial aiming system’s mechanical portions.

Seung Yun’s Status Report for 2/17

This week, I finalized prototyping the vertical and radial aiming system in SolidWorks. Attached are the rendered images of the prototype.

In addition to prototyping, I’ve placed the order for the motors needed for each system. For the radial aiming, we’re using this motor, and for the vertical aiming, we’re using this servo motor. Both motors were selected based on high torque it provides. The radial aiming system is the same as the design that we originally had, but the vertical aiming was completely redesigned after our meeting with Prof. Fedder – the design that uses servo aligns with our design goals or precise angular control more closely, while also achieving it at a much lower cost (the linear actuator with long range was around $100, while this servo motor is only $15).

Moreover, I will be presenting for our team for next week’s design presentation, so I’ve been working on absorbing the design details of the other subsystems of our project, and have been practicing my presentation as well.

I am still on schedule. The goal was to finish prototyping this week and start construction of both systems next week, so once all the parts are delivered, I will start laser cutting individual parts and assembling them to see if they work as intended.

For next week, I plan on constructing at least one of the subsystem’s prototype and see if they work as intended. If it doesn’t I will have to iterate on different design.

Seung Yun’s Status Report for 2/10

This week, I focused on prototyping the vertical aiming system and the radial aiming system. The feedback we got from the proposal presentation didn’t have major concerns with the mechanical portion of the design, so I started designing on Solidworks. We plan to build the robot’s scaffold to be laser cut from a 3/16″ thickness hardboard.

During the design, I’ve noticed that I would need the dimensions of the motors as a baseline, so I’ve also done some research on the parts we will use. For the radial aiming system, we’d need a stepper motor. The parameters that’s relevant for the purpose of radial aiming is low step angle for precise control, and high torque as lots of weight will be on the lazy susan base. The price has to be reasonable, and the speed of the motor is not relevant for our purpose. We came across this motor that meets the requirements, so we plan on placing the order for this part soon.

The the vertical aiming, we are still debating between using a linear actuator or using another stepper motor and using a string to coil to control the PVC pipe. We plan on fleshing out this design sometime next week as we prepare for the design proposal presentation, and order the necessary parts.

We are ahead of the schedule according to the Gantt chart, and by next week I plan to have a fully fleshed-out Solidworks design and have all the necessary parts ordered.