Create Your First Project
Start adding your projects to your portfolio. Click on "Manage Projects" to get started
Predator Biomimetic Robot
Project type
Biomimetic Robotics / ROS 2
Location
Medford, MA
Summary:
Developed a Predator-inspired autonomous robot system that detects humans via ArUco markers using a mounted camera, herds them toward a stationary UR3e robotic arm using a Turtlebot 2 Kobuki, and performs expressive threat gestures when the target enters the interaction zone.
Role and Responsibilities:
Led the full system design and software development across 6 ROS 2 packages
Designed and implemented a 7-state finite state machine for autonomous behavior management
Developed the perception pipeline including ArUco detection and camera-to-map coordinate transform
Calibrated the UR3e arm pointing system using physical measurements and trigonometric offset computation
Integrated Nav2, MoveIt, and a custom Rosbridge interface for cross-platform robot communication
Skills and Tools Used:
Programming: Python, ROS 2 Kilted
Frameworks: Nav2, MoveIt, AMCL, ROS Bridge
Sensors: USB camera (ArUco detection), Kinect depth camera (laser scan)
Hardware: Turtlebot 2 Kobuki, Universal Robots UR3e
Tools: RViz2, SLAM Toolbox, OpenCV (ArUco), ROS 2 lifecycle management
Problem Statement:
The challenge was to create a biomimetic robot system inspired by Predators in the wild. two robots that could collaborate to autonomously detect, track, and respond to human presence using a combination of perception, navigation, and manipulation, all coordinated through a coherent behavior architecture.
Solution Approach:
Perception: Mounted a USB camera. Developed a custom ArUco marker detection pipeline and a camera-to-map coordinate transform node to localize the target in the robot's map frame in real time.
Behavior: Designed a 7-state FSM (SEARCH → ACQUIRE → PURSUIT → HERD → ARM_ALERT → SAFETY_STOP → REACQUIRE) , coordinating all subsystems through ROS 2 topics.
Navigation: Integrated Nav2 with AMCL localization and a custom pursuit planner that computes intercept and herding positions relative to the UR3e arm. The Turtlebot successfully navigated short-range goals in controlled conditions but struggled with localization in the open lab environment.
Manipulation: Controlled the UR3e arm via MoveIt with four gestures (HOME, READY, POINT, FREEZE). The POINT gesture dynamically computes joint angles to point toward the target's map frame position using a calibrated pan offset
Integration. Bridged ROS 2 Kilted (lab computer) and ROS 2 Foxy (Turtlebot laptop) using Rosbridge WebSocket, with a custom turtle_bridge.py node handling velocity command translation.
Results and Impact:
Successfully achieved full perception-to-manipulation pipeline: camera detects person → FSM transitions through all 7 states → UR3e arm performs READY, POINT, and FREEZE gestures tracking the target in real time
Nav2 integration was implemented and partially functional. the Turtlebot responded to navigation goals in short-range corridor tests but reliable herding behavior was not achieved due to AMCL localization drift in the wall-free arena
Reflection:
This project pushed me to integrate multiple complex robotics subsystems simultaneously: perception, behavior, navigation, and manipulation. The biggest challenge was the arena environment and the turtlebot scanner. Because the lab had a lot of chairs and tables, it was not possible to map the space using the wall. moreover, the turtlebot 2 laser scanner was not really reliable. This created a major problem where the partial SLAM maps were too noisy to clean up. I fell back to a hand-drawn PGM map. Second, this hand-drawn map caused AMCL to struggle with localization near arena boundaries, since the laser scan saw chairs and table legs rather than clean walls, leading to navigation goal rejections.
I learned that in real-world robotics, environmental assumptions that seem minor during design like "the arena has walls" can have significant downstream effects on every subsystem. The project also deepened my understanding of ROS 2 lifecycle management, cross-platform robot communication across different ROS versions, and the practical challenges of robot coordination.







