PODO is the software architecture used to communicate with the HUBO robots. It was made in house by students at the HUBO KAIST lab in South Korea. There are 4 main components to PODO, the GUI (Graphical User Interface), the shared memory, the Daemon, and the AL.
The GUI is where the user interacts with the various codes written for the robot. This is also where you will be able to see feedback from motor and FT sensor encoders.
This is similar to RAM in a computer. This is where different programs can store data until it is needed by another program. The various programs are sharing memory so that they can all access the same data.
This converts the C++ program into an output that the motor boards can understand. Please do not try to mess with this part of PODO as there is little to no documentation on it.
These are the different user made programs. PODO means bushel of grapes in korean, while al is a single grape. So within the PODO there are many al.
The shared memory is what connects the other 3 components. Once the use interacts with the GUI and sends some data into the shared memory one of two things can happen. Depending on the code the data can go directly to Daemon and to the boards, or it can be taken by an Al. If an Al takes the data it is processed through the Al code and then an output is put back into the shared memory. Which then finally taken by the Daemon to the boards. It is also possible to call for data from Daemon through shared memory. This is how you are able to get data on the current situation of various motors and sensors. Thus data is able to move freely back and forth between all of the components with shared memory at the center. It is not possible to go directly from the GUI to Daemon or Al, you will always have to go through shared memory.
Next Tutorial Installing Xenomai3 and PODO3