Skip to content

About

Barbi and Moscatelli homeworks for ORC course

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

51 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

ORC Homework Repository

This repository contains homework assignments and the final project for the Optimal Robot Control (ORC) course. AUTHORS: Alejandro Enrique Barbi & Alessandro Moscatelli

The repository is structured into three main assignments, each focusing on a different aspect of robot control.


📂 Repository Structure

Directory: A1_TSID/

This assignment focuses on Task Space Inverse Dynamics for bipedal robots (e.g., Romeo, Talos).

  • Goal: Simulate bipedal locomotion, maintain balance, and track Center of Mass (CoM) trajectories.
  • Key Scripts:
    • ex_1_biped.py: Basic standing and CoM tracking.
    • ex_2_biped_walking.py: Advanced walking simulation using pre-computed trajectories.
  • Dependencies: pinocchio, tsid, example-robot-data.

Directory: A2_MPC/

This assignment implements Model Predictive Control (MPC) problems for a UR5 robot arm using CasADi.

  • Goal: Compute optimal trajectories for the UR5 end-effector to follow geometric paths (e.g., infinity shape) while minimizing costs (velocity, torque, etc.).
  • Key Scripts:
    • A2_Q1.py: Basic path following OCP.
    • A2_Q2.py: Cyclic motion constraints.
    • A2_Q3.py: Trajectory tracking with time constraints.
    • A2_Q4_*.py: Time optimization strategies.
  • Dependencies: casadi, adam-robotics, pinocchio.

Directory: A3_RL/

This constitutes the Final Project. It implements a pipeline to approximate the Value Function of an Optimal Control Problem (OCP) using Deep Learning.

  • Goal: Train a Neural Network to regress the optimal cost from an initial state, allowing it to be used as a terminal cost in an MPC formulation.
  • Workflow:
    1. Data Generation: Solving OCPs for a dense grid of initial states using CasADi/IPOPT.
    2. Training: Supervised learning with a PyTorch Neural Network.
    3. Simulation: Verifying performance on Single and Double Pendulum systems.
  • Key Scripts: main.py (entry point for data gen, training, and sim).
  • Dependencies: pytorch, casadi.

🚀 Getting Started

Each directory contains its own README.md with detailed instructions on how to install dependencies and run the specific scripts.

  1. Navigate directly to the assignment folder:

  2. Follow the specific instructions in that folder's README.md.

About

Barbi and Moscatelli homeworks for ORC course

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages