I'm a robotics software engineer and research scientist currently working at Ainstein on sensor fusion and sensor-based control; my work is highly multidisciplinary and involves using RADAR, LIDAR, cameras and other sensors for autonomous applications, including drones and self-driving vehicles. In 2018, I completed my PhD in Computer Science in the Computational Learning and Motor Control (CLMC) Lab at the University of Southern California, in collaboration with the Autonomous Motion Department at the Max Planck Institute for Intelligent Systems. My research focused on solving a broad range of problems in humanoid robotics; you can read about it in my thesis, Estimation-Based Control for Humanoid Robots.
Prior to defending my thesis, I earned a M.Sc. degree in Computer Science with a specialization in Intelligent Robotics from USC in 2014. My undergraduate studies earned me a B.Sc. degree in Mechanical Engineering with an emphasis on control systems from The Cooper Union for the Advancement of Science and Art in 2012. Having spent the summer of 2011 performing computational neuroscience research in the Joe Francis Lab at SUNY Downstate, I decided to pursue graduate studies in robotics as the field combined my interests in neuroscience and mechatronics.
I've worked with high-bandwith, torque-controlled humanoid robots to develop realtime-safe estimation, planning and control algorithms which were evaluated in simulation and tested on a 17 DOF humanoid. My work has involved everything from low-level embedded motor controller, device driver and networking programming to high-level optimization-based planning and whole body control; I strive to understand and interact with complex systems at every level.
PX4, along with others such as ArduPilot and the DJI SDK (which is only partially open-source), is one of the most popular full-stack solutions for UAV control. The goal of this post is to document some of the basic setup and use information, mostly for myself to refer to later on when digging deeper into the control architecture. Setting up P... Read more 15 Feb 2019 - 6 minute read
It’s quite a while since I last posted anything, so what better way to break the silence than by documenting one of my favorite Italian-American treats - struffoli, or as we southern Italians displaced a few thousand miles and several generations endearingly call them, honeyballs. It wasn’t my intent to use this blog for personal posts, however... Read more 19 Jan 2019 - 5 minute read
I’ve already fallen waaaaay behind what I was planning in terms of publishing posts on the python robot simulator I was working on, so instead I’m going to make a much easier post so that I actually get something out there. It feels like half the battle of having a blog is getting in the habit of posting regularly, especially on days like today... Read more 19 Jul 2018 - 3 minute read
In this tutorial, we’ll be writing a small python script which renders a cube in a GUI with a slider to control its rotation. This will be based on other tutorials, namely this one but with a bit more detail to explain the process and OpenGL concepts in general. You can download the full script here. Setup PyQt4 PyOpenGL ... Read more 29 Jun 2018 - 16 minute read
As you already know (since you’ve somehow reached this point), my name is Nick Rotella. I’m a roboticist with formal backgrounds in mechanical engineering and computer science (and informal backgrounds in just about everything else, as robotics is an incredibly interdisciplinary field in which I wear many hats and many don’t fit my head). Just... Read more 26 Jun 2018 - 1 minute read