Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Astro

Astro is a custom-built quadruped robot designed and programmed by Matthew Cerniglia and Jack Ford as their senior project at The Haverford School. Built from the ground up, Astro can stand, trot, turn, and tilt freely in three dimensions on a variety of different surfaces.

Astro standing

This repository holds the full ROS 2 software stack behind Astro, covering gait planning, inverse and forward kinematics, leg control, tilting, dynamic stabilization, and low-level motor communication.

Overview

Astro was built during a three-week period during May with the goal of agile motion and exploration. The project touches nearly every layer of robotics: mechanical design, motor control, kinematics, and dynamic stabilization, all built and tuned by two high school seniors. We have now open-sourced the project with the hope that other students can learn how to build and program their own quadrupeds.

Project Goals

  • Design and build a custom quadruped robot from scratch
  • Simultaneously control 12 ODrive-driven motors over a single CAN bus
  • Achieve a stable trot using real-time gait scheduling
  • Implement full inverse and forward kinematics for leg control
  • Enable tilting and orientation control in three dimensions
  • Maintain dynamic stabilization using onboard IMU feedback

Presentation

This project was presented to a panel of faculty, students, and parents on the last day of school. You can view our presentation slides here

Hardware

Astro is powered by an onboard Jetson Orin Nano, mounted inside a 3D-printed frame. Nearly every structural component (legs, body, and feet) is 3D-printed, with two exceptions: four carbon fiber tubes run the length of the body for added structural support, and the feet are fitted with squash balls for grip and shock absorption.

We use 12 SteadyWin GIM8108-8 motors connected over a shared CAN bus for synchronized control. Power is supplied by two 24V LiPo batteries routed through a custom power-management PCB, and an onboard camera provides real-time video for monitoring and future vision-based work.

Astro Body Diagram

Repository structure

Astro/
├── quadruped_base/      # Core robot control, gait scheduling, IK, and leg logic
├── quadruped_control/   # Teleop and controller input utilities
├── ros_odrive/          # ODrive ROS 2 integration package
└── media/               # Images and visual assets for the project

Dependencies

  • ROS 2
  • ODrive ROS 2 CAN package
  • Hardware drivers and package manifests defined in the workspace

Contributing

Contributions are welcome. If you would like to report issues, suggest improvements, or help expand the robot platform, please open a GitHub issue or submit a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Acknowledgments

This work would not be possible without the unceasing help and support from Jacob Raeder, Jameson Maley, and Matt Ator. We also like to acknowledge that we drew inspiration from numerous previous quadrupeds, including but not limited to Boston Dynamic Spot, Unitree Go2, MIT Mini Cheetah, Stanford Pupper, and the Dingo.

About

Astro is a custom-built quadruped robot designed to stand, trot, turn, and tilt freely on a variety of different surfaces.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages