Projects

  • KinodynamicFabrics.jl
    • A Julia implementation of the Kinodynamic Fabrics whole-body control framework.
    • [Code]

 

  •  PyBullet.jl
    • A Julia wrapper for the PyBullet Physics Engine
    • [Code]

 

  •  MuJoCo.jl
    • A Julia wrapper for the MuJoCo Physics Engine
    • [Code]

 

  • Fabrics.jl 
    • A Julia implementation of Geometric Fabrics
    • [Code]

 

  • HPD.jl
    • A Julia package for parsing Hybrid PDDL Description language(HPD) files.
    • [Code


  • contact_sim.jl
    • A Julia package for 2D contact physics simulation by solving Linear Complementarity Problems.
    • [Code]

 

  • filters.jl
    • A Julia package with implementations of the various kinds of Bayesian Filters. i.e. Kalman Filter, Extended Kalman Filter, Unscented Kalman Filter, Particle Filter, etc.
    • [Code]


  • mujoco_sim.jl
    • A Julia package for MuJoCo physics simulation and visualization
    • [Code]

 

  • lipm.jl
      • A Julia package for Bipedal locomotion with the Linear Inverted Pendulum reduced-order model
      • [Code]

     

 

  • miplanner.jl
    • Formulates symbolic planning as a mixed integer optimization problem and solves it using an off-the-shelf MIP solver.
    • [Code]

 

  • pybullet_kitchen
    • A simple pybullet-based kitchen with articulated drawers
    • [Code]

 

 

  • digit_sim
    • A pybullet-based simulation of the Digit robot which has custom 6-DOF arms, IKFast inverse kinematics solver, motion planner and rides a sleek hoverboard for navigation.
    • [Code]

 

 

  • Map-agnostic Global Planner
    • During my time at Near Earth Autonomy, I developed a map-agnostic global planner which has comparable performance to state-of-the-art map-dependent global planners.
    • [Video]

 

 

  • Map-independent Online Generation of Alternate Paths for fast local planning
    • In this work, I develop a local planning algorithm based on VFH+ for fast local planning.
    • [Code]          [Blog Post]               [Video]

 

  • Object picker module for Cartbot
    • Andrew Sack, Jonathan Chang, James Liao and myself built an object-picker mechanism to be attached to  Cartbot. The purpose of this attachment is to enable Cartbot to pick arbitrary objects from the ground and put them on a higher platform like a table or to transfer objects between surfaces of different heights.
    • [Video]

 

  • CVoice-Controlled Fridge for Assistive Robotics Applications
    • In this work by Chenlu Wu and I, we develop actuation mechanism and voice-control module for opening and closing a fridge. The goal for this work is to enable people with physical disabilities to use the fridge. Future work would focus on enabling such people to take food from the fridge
    • [Video]

 

  • Creating Cartbot: The 3 DOF mobile-manipulator robot
    • In this work, Prof. William Messner (PI), Kentaro Barhydt (PhD Candidate) and I work on converting a shopping cart into a mobile robot base for the RASCAPP robot.
    • [Blog Post]             [Video]                [Code]

 

  • Building RASCAPP: A mobile-manipulator Domestic Assistant robot
    • In this work, we build a mobile manipulator robot whose main purpose is to provide domestic assistance in homes.
    • [Paper]                 [Video]                 [Code]

 

  • Robot ‘learns’ drink pouring skills
    • In this post, I describe how I got RASCAPP, our mobile manipulator robot (basically Baxter on an electric wheelchair) to perform drink-pouring tasks. I also deliberate on the bigger picture; how to balance learning vs planning in domestic assistant mobile manipulator robots.
    • [Blog Post]         [Video]

C

  • Implementing the classic bug algorithms in simulation and on real-life robot
    • In this post, I describe the bug algorithms, my implementation details of this algorithm in a gazebo simulator and on Cartbot, a real-life robot.
    • [Blog Post]

 

  • Self-adaptive whole-body manipulation for correcting failed robot grasps
    • In this work, I deliberate, propose and implement a novel approach by which mobile manipulator robots can re-adjust their entire bodies to increase the chances of successfully grasping an object after a failed grasp attempt.
    • [Blog Post]

 

  • Setting up SLAM on RASCAPP robot
    • In this work, I set up both the hardware and software systems necessary to get our mobile manipulator robot, RASCAPP, perform Simultaneous Localization and Mapping (SLAM) in the lab.
    • [Blog Post]