01 May

The ORCAS team has designed a parallel framework to improve training speeds for parameter optimization. So far, the parameter exploration algorithm used a single instance of Gazebo to run simulations. However, this proved to be a bottleneck since the simulation was computationally intensive and took...

05 Mar

The original design for the API that interfaced with Gazebo and the PGPE algorithm was in the form of multiple function calls. After looking into the way that gazebo and it's plugins functioned, we decided that creating individual functions would not be possible. Gazebo operates its plugins using a...

26 Feb

Jointly Learning to Construct and Control Agents using Deep Reinforcement Learning https://arxiv.org/pdf/1801.01432.pdf This paper optimizes parameters in a given robot’s structure and neural network based controller concurrently using policy gradients. The work presented in the paper applies this a...

15 Feb

This week, I worked on implementing an API that the PGPE algorithm can use to train the parameters for the neural network that controls the robot as well as the parameters that dictate the robot's structure. Gym is a framework that contains a collection of preset environments that machine learning m...

07 Feb

Over the past week, I've been working on measuring the state of the simulated segbot that we have built in Gazebo. Gazebo has 2 main kinds of state acquisition methods. First, we can attach sensors such as lidar or laser beams to the seg_bot model and use a plugin to read those sensor values, which...

30 Nov

RoCo's graphical interface can now be used to drive the four wheeled car created by Jack. In order to do this, the user must drag a NodeMCU, 4 Driven Servos, and 4 Constant Blocks into the workspace, and click export to generate a builder file. Then, you plug in the PWM pins into the Driven Servos...

09 Nov

Christian, Prathyush, and I came up with a rough plan on how to proceed with our new research and some goals/questions to address for this quarter. It can be found below: Parameterized robot specification What parameters are required to fully specify a robot? Create a composable that can export...

08 Nov

Last week, I identified that the source of many problems for the composite component interface was the manual serilization of the Blockly workspace. In an effor to rectify this, I spent this week designing and implementing a JSON framework to handle the serialization and deserialization for us. A...

02 Nov

Over the past week, I worked on getting RoCo's composite code interface working. To do this, I graphically constructed a component that would take input through a Serial port, convert that to a string, and output a signal to a motor based on the contents of that string. I would then try to export it...

26 Oct

This past week, while trying to make composite components using the RoCo interface, I discovered some issues. Before the Summer, Jack had started to work on integrating RoCo with Android devices. This works through an Android App that communicates with the Arduino using Serial. To achieve this, he h...