Projects

Selected engineering work. More at github.com/PieroJF.

01Core robotics

Laser Triangulation Metrology Machine (OD/ID)

2026

MSc Thesis · Individual project · University of Birmingham

Non-contact optical inspection machine measuring OD, ID, roundness and wall thickness of machined steel cylinders (bores from 127 mm, OD to 203 mm, length 610 mm) with automated pass/fail QC reporting.

  • GUM/NIST uncertainty budget targeting expanded uncertainty U(k=2) ≤ 25 µm against a 254 µm tolerance (U/T ≤ 10%), validated with Gage R&R
  • 160-item engineering BOM and 43-part CAD assembly with collision resolution; vendor engagement with RIFTEK, Renishaw and Tecnotion
  • Architecture aligned to a ~US$25,000 BOM for affordable deployment in machine shops

PythonSolidWorksLaser profilersGUM/NISTGage R&RDetails withheld pending IP review.

Applied Robotics · Team of 4 · University of Birmingham

End-to-end pick-and-place on a 4-DOF QArm with an RGB-D camera, sorting 14 fruits into 3 baskets in autonomous and teleoperated modes.

  • Analytical inverse kinematics with Newton-Raphson refinement: 0.0002 mm max round-trip error across four solution branches
  • 13-state finite-state-machine controller with cubic rest-to-rest spline trajectories and Z-height collision safeguards
  • Hand-eye calibration via closed-form Umeyama SVD; HSV + circularity classifier with pixel-to-world back-projection

Python 3.13NumPyOpenCVQuanser SDK (HIL)MATLAB/Simulink

3D mapping & perception module · Team of 4 · University of Birmingham

Mapping and perception for a Clearpath Moose 8-wheel grass-cutting robot on hilly terrain with slope hazard avoidance (>20°).

  • Wrote the Extended Kalman Filter fusing wheel odometry and compass heading — drift-free localization on slopes
  • OctoMap probabilistic occupancy (depth 12) with dynamic recentring, plus a 200×200 elevation grid with slope/roughness traversability costs
  • LiDAR pipeline: range filtering (0.3–50 m), voxel downsampling (0.1 m), ICP scan matching; integrated with the team's A* planner and GPS/IMU fusion

C (2,600 lines)WebotsEKFOctoMapICP

Team of 4 · Tecnológico de Monterrey in partnership with MIT

Semi-autonomous assembly station for MIT’s FrED device: cobot pick-and-place, PLC coordination, machine vision QC and a digital twin.

  • Siemens PLC (7 Ladder Logic networks): conveyor control, photoelectric sensors, robot–PLC bidirectional signaling, HMI status
  • Datalogic vision over TCP/IP (192.168.1.130:20000) for real-time coordinate transfer and camera-to-gripper offset compensation
  • Digital twin in Siemens Plant Simulation: 245 units, 41 TPH, 81.45% value-added; meets the ≤2 min/station target

PythonxArm SDKSiemens TIA PortalDatalogic visionPlant Simulation

02More work

Individual project

State-lattice A* vs RRT vs PRM path planning with time-optimal trapezoidal trajectory generation for a TurtleBot3-class diff-drive robot.

PythonROS 2A*RRTPRM

Individual project

4× ABB GoFa cobot cell assembling a custom XY stage — simulation-as-code with the RoboDK Python API.

PythonRoboDK APIABB GoFa

Hotel PMS/CRM in Production

2025–present

Sole engineer · Bora Hotel Iquitos, Peru

Custom PMS/CRM running the hotel’s daily operation: reservations, multi-currency billing, finance, payroll and guest messaging. ~160k lines of code, 75 domain models, 60+ versioned migrations with zero data loss.

  • Integrations: WhatsApp Cloud API two-way inbox, OpenPay payments with automatic reconciliation, receipt OCR, regulatory reports
  • 28 scheduled automations; TOTP 2FA, Cloudflare Zero Trust, full audit logging, role-based access control

PHP 8.3MySQLJavaScriptWhatsApp Cloud APICloudflareLinuxPrivate production system.