Krishna Krothapalli's Portfolio

Ideas made tangible.

ProjectYearDomainKey factStack
AR-guided OEM parts inspectionRGB-only 6-DoF engine tracking on AR glasses guides a parts checkRead the story 20266D pose estimation3.45×LightSpeedGlue speedup
  • OpenCV
  • LightSpeedGlue
  • TensorRT
  • ZeroMQ
  • Unreal Engine
  • Jetson Thor
Lab of the FutureAn AMR and a UR5e run sample tubes through lab instrumentsRead the story 2026manipulation0 humansin the loop
  • UR5e
  • 6D pose estimation
  • RealSense
  • MQTT
  • Jetson Orin
Underbody unscrewingMobile robot unscrews car underbodies; YOLOv8 + one-shot calibrationRead the story 2026manipulation< 1 mmend-to-end error
  • YOLOv8
  • OpenCV
  • AprilTag
  • RealSense D405
  • SciPy
  • Jetson Orin Nano
LLM-powered cobot manipulationSpeak to it; it finds, poses and grasps any CAD-onboarded objectRead the story 2025manipulation3 armsone robot interface
  • GPT-4
  • FoundationPose
  • ZeroMQ
  • Franka FR3
  • PREEMPT_RT (RTOS)
  • Bambu Studio
  • Docker
Humanoid teleoperationGloves and trackers drive humanoid arms and hands. No headset.Read the story 2025teleoperation100 Hz+sensor stream
  • Isaac Lab
  • ROS 2
  • SenseGlove Nova2
  • HTC Vive
  • Docker
Hand-eye calibration, three waysBoard, fixed camera, or known geometry. Measured, not assumed.Read the story 2025manipulation0.03 mmown solver vs OpenCV
  • OpenCV
  • PyTorch
  • ChArUco
  • AprilTag
  • Franka FR3
  • Bambu Studio
  • RealSense
Sim-to-real RL ball pushing on a FrankaMy RL policy, trained only in Isaac Lab (Orbit), ran on the real robotOpen link 2024reinforcement learning0real-robot training
  • Isaac Lab (Orbit)
  • Isaac Sim
  • TensorRT
  • Franka FR3
FoundationPose, measuredRobot scans, a ChArUco world frame and HouseCat6D. When to trust it.Read the story 20246D pose estimation2.31 mmmean pose error, Zivid
  • FoundationPose
  • Franka FR3
  • Zivid
  • RealSense
  • SAM
  • ChArUco
Training-free 6D pose (OnePose++)Scan on an ArUco board, pose from dense matches. Then fix rotation.Read the story 20236D pose estimation45°LoFTR rotation limit
  • OnePose++
  • LoFTR
  • se2-LoFTR
  • COLMAP
  • ZeroMQ
6D pose from synthetic-only dataKeypoints + PnP for a cube and a gripper, trained on Blender rendersRead the story 20226D pose estimationGroupNormreplaced BatchNorm
  • PyTorch
  • Blender
  • OpenCV PnP
Perception trilogy: one encoder, 3 tasksShared ResNet-18 encoder, losses balanced by bounded learned weightsRead the story 2022automotive perception3 → 1networks, better depth
  • PyTorch
  • Lightning
  • TorchScript
  • TensorRT
  • A2D2
  • Mapillary
  • Drive AGX Pegasus
Panoptic segmentation on embedded hardwareMask R-CNN, SOLO, Panoptic FCN: INT8 encoder + TorchScript headRead the story 2021automotive perception15 MBINT8 encoder on AGX
  • TensorFlow
  • PyTorch
  • TensorRT
  • LibTorch
  • A2D2
  • Mapillary
  • Drive AGX Pegasus
Real-time depth completionMono depth + a sparse depth channel: metric, cheap, ran in the carRead the story 2021automotive perception1 layerends mono uncertainty
  • PyTorch Lightning
  • ResNet-18
  • A2D2
  • Mapillary
  • TorchScript
  • Drive AGX Pegasus
Rain detection for camera blindnessSimulated rain masks, one net, a sequence rule that beats the wiperRead the story 2019automotive perception22,000synthetic rain images
  • TensorFlow
  • OpenCV
  • NumPy
  • DenseNet
Real-time segmentation for carsOwn fast nets to INT8 TensorRT engines on Drive PX and AGX, 2017–2021Read the story 2018automotive perception0.0 mIoUlost to quantisation
  • TensorFlow
  • PyTorch
  • TensorRT
  • C++
  • Drive PX2
  • Drive AGX Pegasus
Video object detection and trackingFlow-guided detection and a Deep SORT tracker for road usersRead the story 2018automotive perception0.796 mAP3 road-user types
  • TensorFlow
  • SSD
  • Faster R-CNN
  • FlowNet
  • Kalman
Camera localisation on Drive PXA debugger traced a corner miss to car tilt; the IMU fixed itRead the story 2018automotive perception1 weekto build the debugger
  • C++
  • CUDA
  • TensorFlow
  • Drive PX2
  • Eigen

My repo

LightSpeedGlue

LightGlue on TensorRT for matching a fixed template against live video. I split it into a template engine that runs once and a per-frame matcher, and got FP16 engines that stay correct by pinning the sensitive ops to FP32.

5.2× faster
LATENCY PER FRAME · MSFused · FP32Fused · FP32: 60.5 ms60.5Fused · FP16Fused · FP16: 23.3 ms23.3Split · FP32Split · FP32: 37.1 ms37.1Split · FP16Split · FP16: 11.7 ms11.7
NVIDIA GB10, TensorRT 10, 640×640, 1024 keypoints. Split = template already cached. Lower is better.
  • Pull request to NVIDIAisaac_ros_object_detection

    Change the RT-DETR confidence threshold at runtime, without restarting the node.

  • My repotao-rtdetr-isaacros

    Fine-tune RT-DETR with NVIDIA TAO on your own data and export a TensorRT engine with the outputs Isaac ROS expects.

  • Forkcnos

    MobileSAM and SAM2 as segmenters for CAD-based novel object detection, plus a mesh-diameter fix.

  • Forkse2-LoFTR

    A rotation-equivariant ResNet backbone and 8-rotation training configs, behind the rotation fix in my OnePose++ work.