Txaber Trevino's Notebook - cps-vip/cps-cosimulation-env GitHub Wiki

Fall 2026

Week 1

Entry 1

This week was the first week of classes, we discussed the objectives of each teams and got asked to join one. I plan on joining the ROS team and filled the form to get selected.

I tried to open the media gallery and the reading list to search for some materials and get familiar with the architecture of the project but I was unable to access anything as both links seem empty.

Despite this issue, I looked up the STM 32 as it was a controller I wasn't familiar with and it was one of the things that caught my attention.

https://en.wikipedia.org/wiki/STM32

As a little summary I saw that it is an ARM based processor that has low power, low voltage operation. There is a wide array of STM32 processors and plan on looking into the one we choose for the ROS (if chosen already) but I was curious to learn more about it.

Other links https://www.st.com/en/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus.html https://freecomputerbooks.com/Mastering-STM32.html

Week 2

Entry 1

During this week, I first looked at the final presentation the old ROS/HELICS team made last year. I read the documentation on nav2 and setup the environment described (Gazebo + nav2) on my RPi to see and play around with it.

I was mainly focused on understanding the architecture and the different components of the robot which made me delve into the Kalman Filtering "rabbit-hole" and spent quite a lot of time understanding and reading through this paper: https://eceweb1.rutgers.edu/~gajic/pdffiles/519KalmanFiltering/kalman1960.pdf

We did not hold a group meeting but we established times for the upcoming weeks to be Fridays at 3:15pm

Week 3

Entry 1

After the weekly meeting, we decided on reusing the presentation from last year while changing our focus on mainly mission 2. We split the Kickoff presentation and polished so everything is up to date to this new point of view. My main focus was the mission 2 slides including the Robot Design part as I will be working with Aditi and Rishika on the CAD models and PCB design. Decided that the robot needs an electronics unit and that a better cad model needs to be done. I checked out the model made on onshape last year and looked up some inpiration for future models.

2× QEI quadrature decode, 2× dual-channel PWM H-bridge, UART @115200, and ideally enough headroom for a PID loop + eventual ROS2/HELICS interfacing

Week 4

Entry 1

I finished going through the notebooks, mainly Elliots Notebook (https://github.com/cps-vip/cps-cosimulation-env/wiki/Elliot-Kantor%27s-Notebook) and Sabina's (https://github.com/cps-vip/cps-cosimulation-env/wiki/Sabina-Sokol%27s-Notebook) as it looks like they were the main.

Learned about on-shape as I only used solidworks. Maybe this is helpful for newcomers I found this linked in an old entry from Elliot. (https://www.youtube.com/watch?v=l_3k1qMq9AI&list=PLzMIhOgu1Y5dY8DD5vnOPJ0a3d8F2TWHe)

Elliots Idea interesting was to do To-Do list in notebooks

"- I really would love to make a PCB but that takes a lot of time. If we can find open-source PCB designs online to order from somewhere, that would be best, and maybe we could slap together a bunch of OTS components (though it will be less clean, sub-optimal, and harder to reproduce in the future)"

Entry 2

My main takes from the notebook read are the following:

The idea is making a Gannt Chart from this

Chassis Revamp We need a larger TPU tires as there was only one prototype done so we need another iteration for the wrap to be thinner onto the old cores

We need to confirm that the McMaster caster wheels were purchased and mounted.

Check if the 6mm shafts were shortened (if not shorten them)

Print motor bearing mounts and assemble

We need to cut a hole in the robot base

We need to validate power once we assemble

PCB Design I think Elliot was most of the way done but we need to reevaluate if we want a printed pcb or a pre designed one as we change to FPGA

FPGA Transition For the FPGA we need to set the requirements, after what I've seen from our STM32 we would probably need 4 timers w/ 2 channels each minimum.

I found this popping up from the STM32 end so maybe try to avoid reproducing the same edge-sampling approach on the FPGA 'encoder counts were jumping erratically (0→4000 in one 10ms tick, then 6000→30000), traced partly to a fried logic-level shifter from wiring A/B backward (5V/3.3V direction confusion) and a QEI implementation issue'

I looked into FPGAs and the ones that seem to fit best are the firmware requirements I outlined: 2× QEI quadrature decode, 2× dual-channel PWM H-bridge, UART @115200, and ideally enough headroom for a PID loop + eventual ROS2/HELICS interfacing

I think the one that fits the best is the Lattice iCE40UP5K as it has plenty of I/O and is fully opensource so it would be a good starting point to implement lean verilog motor controllers

Week 5

Entry 1

This week we did not have the physical pieces/equipment yet, so I basically created a copy of the onshape and made the wheels thinner to fit the tires. I tried to print it but the AE makerspace said the file was off so the print ended up being messed up. I will retest it and send the prints to be done with them by fall break. We are supposed to receive the physical robot today so hopefully I'll be able to check if anything else is missing. Other than that I've been reading about the new FPGA board, we have to choose a header for the PI so I'll show the options to the team.

Week 6

Entry 1

This was the week after fall break, sadly I got sick during the break and caught Covid so I wasn't able to attend the meeting, I coordinated a meeting for the week after so we can go to the makerspace and finish up the robot.

Week 7

Entry 1

The first half of this week I've been sick, I was able to attend the meeting tho and we had our meeting right after in order to work on the robot. I sent the shaft mount to print so we can have it, we saw that the wheels did not need a reprint. we will drill holes and cut the shaft today. As well as add the McMaster wheels.

⚠️ **GitHub.com Fallback** ⚠️