Skip to content

Latest commit

Β 

History

312 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Orion β€” ROS2 Quadruped Robot

A custom-built 12-DOF quadruped robot designed, built, and programmed from scratch over 8 months. Uses an NVIDIA Jetson Orin Nano for high-level AI and perception, and a custom STM32 PCB for real-time low-level control.

Check out the Demo Video!

Orion

Orion Pose

Key Features

  • ROS2 / AI β€” Isaac ROS Docker on Jetson Orin Nano, TensorRT for accelerated inference
  • Perception β€” Stereo depth (MIDAS, SGBM) via dual CSI cameras + MediaPipe hand-pose recognition
  • SLAM & Autonomy β€” RPLIDAR A1M8 with slam_toolbox and nav2 for mapping and point-and-click pure-pursuit navigation
  • Embedded Control β€” Custom STM32 FreeRTOS firmware: IK, walking gaits, IMU-based stabilization
  • Custom PCBs β€” Multi-layer SMD boards for power distribution, servo actuation, and sensor interfacing
  • RL / Sim β€” PPO training (RSL RL) in NVIDIA Isaac Lab, flat and rough terrain environments
  • Robot Eyes β€” Expressive OLED eye animations via a custom Python/OpenCV node

Software Architecture

Jetson β€” Isaac ROS Workspace

Package Description
orion_base STM32 UART bridge, joystick parser, command mux, robot eyes, joint state republisher
orion_camera Dual CSI GStreamer node, MIDAS/SGBM depth, MediaPipe hand pose
orion_lidar RPLIDAR A1M8 driver, slam_toolbox
orion_navigation nav2, Pure-Pursuit path following
orion_bringup Launch files, Docker config, systemd auto-start
orion_msgs Custom messages: motion cmd, eye cmd, battery voltage, IMU, leg info
orion_urdf URDF model with SolidWorks meshes, RViz launch

STM32 Β· Orion Firmware

  • 5 FreeRTOS tasks: Real-time IK & gait control (Realtime) with 3-DOF per leg and 6-DOF body posture control, UART RX/TX with Jetson via DMA (High/Normal), IMU reading, Battery monitoring.

Reinforcement Learning

  • PPO training in Isaac Lab with flat and rough terrain environments.
  • SolidWorks β†’ URDF β†’ USD pipeline.

Software Gallery

LiDAR SLAM Autonomous Navigation
SLAM Autonomy
Original Camera Feed TensorRT Depth Map
Original Image Depth Map
Hand Pose Detection Reinforcement Learning in Isaac Lab
Hand Pose Recognition Reinforcement Learning

Foxglove Dashboard

Foxglove Dashboard


Electrical & Electronics

Custom multi-layer KiCad PCBs, fully SMD-assembled. Multiple I2C buses with LTC4311 active termination, extensive test pads and debug headers.

  • Control Board β€” STM32F401, BNO055 IMU, PCA9685 servo driver
  • Power Board β€” Battery distribution, INA3221 voltage monitoring (3 rails), high-current servo lines, battery alarm

Electrical Gallery

Control Board Power Board
Control board Power board
Control Board Control Board Compute Power Board
Control board schematic Compute schematic Power Board schematic

Mechanical Design

Chassis iteratively modelled in SolidWorks. 3D printed with 2-part silicone injection-molded feet. Bearings in all 12 joints. Magnetic mounts for tool-free access to internal electronics. Single-leg linear-rail test jig used to validate IK and gait before full integration.

Main body parts Leg Assembly & Silicone Feet
Body Parts Leg Assembly
Inside Orion (Jetson + PCBs + Display only) Inside Orion (including Batteries + Lidar + Cameras)
Orion_Inside Orion_Inside_with_Shelves

Repository Structure

Important directories:

Quadruped/
β”œβ”€β”€ Software/
β”‚   β”œβ”€β”€ Jetson/workspace/isaac_ros-dev/   # Isaac ROS Docker workspace (ROS2 packages)
β”‚   β”œβ”€β”€ STM32Firmware/
β”‚   β”‚   β”œβ”€β”€ Orion/                        # Main FreeRTOS firmware (CMake + STM32CubeIDE)
β”‚   β”‚   └── Orion-Controls/               # Legacy PlatformIO firmware
β”‚   β”œβ”€β”€ reinforcement-learning/           # Isaac Lab PPO training
β”‚   β”œβ”€β”€ TestScripts/                      # Servo calibration, camera, depth mapping tests
β”œβ”€β”€ models/                               # SolidWorks parts & assemblies, STL, 3MF exports β†’ README
β”œβ”€β”€ urdf/                                 # URDF iterations (ROS2, RL variants) β†’ README
β”œβ”€β”€ pcb/                                  # KiCad projects (Control Board, Power Board) β†’ README

About

πŸ• Orion is a ROS2-driven, 12-DOF quadruped robot dog that I designed, built, and programmed from scratch.

Topics

Resources

Stars

80 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages