Team 4 Spring 2025
Table of Contents
Testing in WSL (Windows Admin)
usbipd bind --busid <bus id>
usbipd attach --busid <bus id> --wsl
usbipd list # verify attachment
Launch Perception & Planner
ros2 launch ros2_aruco_perception perception_and_planner.launch.py
Final Presentation (Slides & Video of Hardware):
https://docs.google.com/presentation/d/1APFi1BjdTKXVH6-0_UxK7G_MsOrpkmDJQneW7MeSyVo/edit?slide=id.g365cdf15545_0_0

Alex Corrow, Mathew Pope, Andy Cao, Nakul Nandhakumar
- Alex Corrow - Mechanical and Aerospace Engineering (MAE) - Class of 2025
- Mathew Pope - Mechanical and Aerospace Engineering (MAE) - Class of 2025
- Andy Cao - Mathematics & Computer Science - Class of 2027
- Nakul Nandhakumar - Electrical & Computer Engineering (ECE) - Class of 2025
ARMAR (Autonomous Retrieval Machine and Arm Robot) is a small-scale autonomous vehicle equipped with a servo-driven robotic arm, capable of seeking, localizing, and grasping colored objects using ROS2, AprilTag localization, and serial-controlled servos via an Arduino microcontroller.
- Autonomous Navigation: Drive autonomously to a target object using ROS2 line-following and color-based detection.
- Object Detection: Detect and classify objects via color thresholding and AprilTag localization.
- Robotic Arm Grasping: Compute inverse kinematics and control five servos (claw + four joints) to grasp and lift the object.
- Integrated Control: Seamless communication between Jetson Nano, ROS2 nodes, and Arduino over serial.
- Autonomous Navigation: Completed color-based seeking and line-following integration.
- AprilTag Localization: Implemented pose estimation for precise arm alignment.
- IK & Servo Control: Developed task planner for joint angle computation and serial commands.
- Grasp & Lift: Successfully closed claw and lifted objects to home position.
- Object Delivery: Plan and carry objects to a designated drop-off location.
- Return-To-Home: Autonomous return after task completion.
- Circuit diagram and wiring handled via USB serial; Jetson Nano interfaces with Arduino.
- Embedded Systems: Jetson Nano runs a Docker container with UCSD Robocar modules; communicates with Arduino via USB serial.
- ROS2: Custom perception and planner launch file (
perception_and_planner.launch.py
) coordinating Aruco detection, task planning, and VESC control. - Arduino Firmware: PWM-based servo driver using the Adafruit ServoKit library on an Arduino Uno.

Thank you to Professor Jack Silberman and our TAs Winston and Alexander for guidance, and to Kiersten and Alexander for the README template.
- Alex Corrow - MAE
- Mathew Pope - MAE
- Andy Cao - MATH
- Nakul Nandhakumar - ECE
- Alex Corrow | acorrow@ucsd.edu
- Mathew Pope | mpope@ucsd.edu
- Andy Cao | s8cao@ucsd.edu
- Nakul Nandhakumar | nnandhakumar@ucsd.edu