Hello! I'm Pedro, an electrical engineer.

I have a passion for creating things and solving problems, particularly in the fields of robotics, space exploration, and embedded systems.

This page is under construction. Please check back soon!

Bus Schedule Search Tool
The first publicly available tool capable of searching all the different bus lines for a single trip (pair of bus stops), for the Carris Metropolitana bus routes.

Created to help regular bus users transition to the recently established Carris Metropolitana, a new public transport company that unified road operations replacing many smaller operators in the Lisbon district.

Built by scraping the official bus schedules, storing them in a relational database and using a custom algorithm to search for the best route.

The tool has since been deprecated but is available at https://horarios.pedrotaborda.me/

Built using Flask and SQLite. Raw html, css and js (with jquery) for the frontend. Hosted on a VPS, managed with nginx.

Bus Schedule Search Tool
Coalesce
A card game with simple rules built over a few days by four people, with the goal of creating a fun and engaging game that can be played anywhere.

Designed as a fun team activity for a group of friends, the game is a mix of strategy and luck, with a simple set of (not original) rules.

The game is played in the browser, with any device and number of players (up to 100).
Its development was mostly a social endeavor, but it was also a great opportunity to learn about multiplayer game development. I handled the backend and still maintain the game, having added a few features since its initial release. The backend mostly involved learning about websockets and concurrency in python, given that it's written in Flask. Hosting is done on a VPS, managed with nginx.
The game is available at https://coalesce.pedrotaborda.me/

Coalesce
Controller for Spacecraft Rendezvous
A project developed for my Master's thesis, involving the development of a controller capable of performing a rendezvous maneuver into an orbiting target.

A simplified spacecraft, with the knowledge of its own position and velocity, and the target orbit, along with knowledge of its own thrusters, equipped with the controller developed in this project, is capable of autonomously performing a rendezvous maneuver from over 100km away, to a few meters away from the target.
The science behind this is better explained in my Master's dissertation, to become available here, so I will not go into detail here. The code is fully available at https://github.com/PedroTaborda/mpc-for-rendezvous, and is written in Matlab, using the Gurobi Optimizer for the optimization heavy lifting, required the Model Predictive Control algorithm.
The project was developed with the help of my advisor, Prof. Daniel Silvestre, and the collaboration of Dr. Pedro Lourenço from GMV.

Controller for Spacecraft Rendezvous
Education
Master's in Electrical and Computer Engineering at Instituto Superior Técnico, Lisbon, Portugal. Thesis: 'Model Predictive Control and Allocation with Nonconvex Constraints for Space Rendezvous'.

I have recently completed my Master's degree in Electrical and Computer Engineering at Instituto Superior Técnico, after having completed my Bachelor's degree in the same institution.
This was a 5 year undertaking, from 2018 to 2023. I ended up specializing in Control Systems and Robotics, and my thesis was about using Model Predictive Control in Space Rendezvous, focusing on the problem of nonconvex constraints introduced by the physics of the thrusters.

Finished with a 18/20 grade. Received a few diplomas for academic performance.

  1. 2018/2019 Merit Diploma
  2. 2019/2020 Excellence Diploma
  3. 2020/2021 Merit Diploma
  4. 2021/2022 Merit Diploma

This is the foundation of my technical knowledge, and it has given me a strong background in mathematics, physics, and computer science.
The first three years made up the Bachelor's degree, with a strong focus on the fundamentals of electrical and computer engineering. This included courses on calculus, linear algebra, mechanics, electromagnetism, electronics, digital systems, programming, and algorithms. The last two years were much more specializing, with courses on control systems, robotics, machine learning, and optimization. The final project was a dissertation, which I chose to do in the field of control systems within the space industry.
I believe this course provided me with strong fundamentals, and the projects I have worked on both in and out of my academic path have given me some practical experience.

Education
This Website
The website you are currently visiting. Built using React (Typescript), Material-UI, Vanta.js. Hosted using Node.js on a VPS, managed with nginx.

This website was built as a way to learn about modern web development, and to have a place to showcase my work and interests.
I do not have a formal education in web development, having previously only built a few small projects and websites, mostly using Flask, which allowed me to learn about the basics of web development, server and domain management. All my websites are hosted on a VPS, on different ports. Whatever URL you use to access my websites all go to the same server. These requests are then routed to the correct port using nginx. 'Coalesce', for example, is hosted on port 8000, making it accessible at not only at https://coalesce.pedrotaborda.me/ but also at https://pedrotaborda.me:8000 (although I have not gone through the trouble of setting up SSL encryption for the latter). Only the websites where no sensitive data is exchanged have been kept open to direct access through the port.
Most of what I wanted to show here would fit on a wall of text, which this website mostly is, but I also wanted it not to feel outdated or dull. The animated background and the fading in of some elements are some of the ways I tried to make it more engaging. Web development is a field I have dabbled in to expose some of my ideas and make them more accessible, but it is not at all my main focus or area of expertise.