Week 3 saw the first real combat with the software and control problems, and broader computer lab remodeling work. Ten shiny new monitors arrived, and much fun was had playing with setting them up.
On the control theory front, Yuval Tassa’s implementation of iLQG
was chosen over several others for the sake of readability and modularity within the code. Implementation of the entire iLQG algorithm was judged to be a poor use of time, given the quality of existing code. The algorithm is sufficiently robust to accommodate a variety of non-linear control problems. Pendulum swing-up, the cart-pole problem
, and biomechanical control have been used as proofs-of-concept within simulation, while we hope to apply it to robotic control. Even in these relatively simple problems, Mike has found interesting challenges in defining appropriate cost functions and seemingly minor system dynamics details that have proven important.
In terms of simulation, progress has been made by Deniz in thoroughly understanding the interaction between the ROS, Gazebo and Rviz systems. Working through the tutorials on the respective software’s wiki pages, a more fundamental basis of knowledge was created. Along the way, a few problems arose including a lack of keyboard teleops for the quadcopter stack and broken packages. Originally the plan was to use the hector quadcopter stack
and its included teleop package to fly the craft. However, there was a distinct lack of keyboard controls for the ROS hydro distro which led to an in depth tutorial on how to create custom launch files to control the quadcopter. While attempting the demo simulations in gazebo, a broken/unmet dependency was found and hindered efforts to test out the progress made during the week. This was eventually fixed and progress continued on writing up a document to walk through the other members of the research team in setting up the simulator.
Subhash gave a presentation on System Identification
(SysID) during a lab meeting. In our conversation, we delved into topics such as the process behind modeling linear and nonlinear systems, using blackbox and greybox methods, various state-action model prediction (forward, inverse, mixed, and multi-step models) and applying learning architectures to developed models. With some more insight into SysID for autonomous robotic systems, Subhash believes ELLA can be extended to learn dynamical models with changing environments.
Gabrielle, another researcher Paul’s lab who is working on models of computational memory, joined us for our discussion of control theory. We decided to look at locally weighted projection regression as a next step in SysID. These should come together for our medium-term goal of integrating ROS, SysID, and non-linear control into a functioning robotic control simulation. We can now drive hard against this well-defined goal and limit the literature review to only what is necessary.