Robotics & Autonomous Systems

Jorge Ramirez

Engineering student building autonomous vehicle stacks, robotic manipulation systems, and the controls, perception, and planning that hold them together. This is a working log of that build — approach, tradeoffs, and results, not just finished demos.

Focus
Controls · Planning · CV
Platforms
QCar · CARLA · OM-X Arm
Status
Open to opportunities
Contact
01

Projects

SYS‑01 · AUTONOMOUS GROUND VEHICLE

Planning & Control for Autonomous Vehicles

A complete autonomous ground vehicle software/hardware stack covering controls, planning, and perception.

Controls EKFs CV Planning Occupancy Grid Mapping Jetson Orin Nano Quanser QCar Quanser Sim Intel RealSense LiDAR IMU AVs OpenCV
Approach
  • State estimation & modeling — modeled vehicle kinematics with a bicycle model and fused GPS/IMU data through a dead-reckoning and heading-corrected EKF for robust pose estimates.
  • Control — closed the loop with longitudinal speed control and Stanley-based geometric steering for trajectory tracking.
  • Perception (vision) — calibrated cameras for undistorted imagery, then layered lane detection, object detection (YOLOv8), and bird's-eye-view lane-keeping with pure-pursuit control.
  • Perception (LiDAR) & planning — built occupancy grid maps from LiDAR for environment interpretation, and planned global paths with A*.
Results

[Add results summary here — e.g. tracking accuracy, detection performance, or a link to the demo run.]

Labs completed (9)
Vehicle architecture & safety procedures Sensor interfacing & noise characterization Bicycle model verification Dead-reckoning & EKF state estimation Longitudinal & steering control Camera calibration & undistortion LiDAR occupancy mapping Object detection & YOLOv8 segmentation Vision-based lane keeping
SYS‑02 · PLANNING & CONTROL STUDY

A* vs. Hybrid A* — CARLA Demo

Simulator demo comparing Hybrid A* and A* for autonomous vehicle applications.

CARLA Simulator Python AVs Path Planning
Approach

Compared A* and Hybrid A* path planning for autonomous parking in CARLA (Town05). Both planners were sourced from an open-source motion planning library (zhm‑real) — my contribution was the system integration: building the CARLA obstacle pipeline from vehicle bounding boxes, a custom path follower with crash detection (CARLA's built-in manager doesn't support custom path tracking), Stanley controller tuning to match the Audi e-tron model, and the trial evaluation framework. This closed-loop setup — planning → tracking → crash detection — is what caught A*'s Trial 1 collision, directly demonstrating the kinematic-feasibility gap the project set out to test.

Code Summary

Hybrid A* discretizes heading into 15° bins and samples 39 steering angles per expansion, propagating a bicycle kinematic model and using Reeds‑Shepp shortcuts to terminate search early once a direct connection to the goal is feasible.

Sim Experience

Five trials with varying obstacle layouts in a 57×34m parking lot, isolating the planner as the only variable between runs to attribute outcome differences directly to the algorithm.

Results
Hybrid A* produced smoother, collision-free paths across all five trials (max turning angle ≤0.09 rad in 4/5 trials vs. A*'s consistent 1.571 rad), at the cost of longer planning time on complex routes (0.61s vs 0.16s in Trial 4) — while A* caused one collision from its sharp, kinematically-infeasible turns. Five trials in a single layout demonstrate the failure mode clearly, but aren't a statistically powered comparison.

Co-developed with Vanessa Guzman — my contributions: simulation setup, obstacle pipeline, CARLA integration, path follower, controller tuning.

SYS‑03 · ROBOTIC MANIPULATION

Vision-Based Robotic Manipulation

Implemented a vision-guided robotic manipulator pick-and-place sorting system.

CV Planning Controls Manipulators Intel RealSense OOP OpenCV Open Manipulator-X
Approach

Built a vision-guided pick-and-place system on an Open Manipulator‑X arm, using an Intel RealSense camera to detect colored spheres via Hough Transform circle detection and HSV-based color classification. Ball positions were localized by repurposing an AprilTag PnP pipeline to get camera-frame coordinates, then transformed to robot frame using a calibration matrix from an earlier lab. Each pick used four chained cubic trajectories (approach → descend → retract → deliver to bin), with the gripper timed to close and open at the grasp and drop points.

Design Decisions
  • Hough Transform over contour analysis — justified by known, well-defined circle geometry, despite the higher memory cost.
  • Cubic trajectories over PID control — ball positions were static, so smooth open-loop trajectories were sufficient; PID would only have been necessary for a dynamic environment.
Code Summary

Image pipeline: HSV conversion → grayscale + CLAHE contrast enhancement → Gaussian blur → Hough circle detection → HSV-hue color classification, with workspace-bounds filtering to reject false-positive detections outside the robot's reachable area.

Results
Reliably detected and sorted red, blue, orange, and yellow balls into correct bins, with measured vs. detected ball coordinates typically agreeing within a few millimeters — well inside the 15mm gripper tolerance — though lighting inconsistency occasionally caused orange/red misclassification.

Collaborative lab with Anthony Man — shared design and implementation across CV, kinematics, and control.

02

About

[Short bio placeholder — a few sentences on your background, what you're studying, and what kind of engineering roles or problems you're looking for. Mention the platforms and tools you work in most: ROS2, Python, OpenCV, PyTorch, embedded/RTOS work, etc.]