Electronics and Control
Sub controller
Circuit
The sub controller circuit is based on the ARM CORTEX-M4 32-bit Processor. Basically the circuit acts as the link between the robot’s brain (The INTEL ATOM processor) and the different actuators, sensors and the camera. It as various extensions such as the i/o ports for the Xbee wireless communication with external peripherals, the amplifier circuit for sound output. Other factors that have been kept in mind are the protection circuits for the LIPO Battery, the switching circuit, EMI protection and the ESD protection circuits.
The circuit components and the design focus upon the overall requirements. Dynamixel Power control circuit, Data Transmission circuit, Voltage regulators form the key components of this circuit. The Dynamixel control circuit involves the half duplex uart circuit for the TTL control of the data. The Lipo control circuit uses the ADC pins of the Tiva board and the subsequent power switching is done using a P-channel mosfet. The following Block Diagram describes the layout of the circuit and control:
The sub controller circuit is based on the ARM CORTEX-M4 32-bit Processor. Basically the circuit acts as the link between the robot’s brain (The INTEL ATOM processor) and the different actuators, sensors and the camera. It as various extensions such as the i/o ports for the Xbee wireless communication with external peripherals, the amplifier circuit for sound output. Other factors that have been kept in mind are the protection circuits for the LIPO Battery, the switching circuit, EMI protection and the ESD protection circuits.
The circuit components and the design focus upon the overall requirements. Dynamixel Power control circuit, Data Transmission circuit, Voltage regulators form the key components of this circuit. The Dynamixel control circuit involves the half duplex uart circuit for the TTL control of the data. The Lipo control circuit uses the ADC pins of the Tiva board and the subsequent power switching is done using a P-channel mosfet. The following Block Diagram describes the layout of the circuit and control:
Vision
Detection :Our robot uses a 640x480 resolution color webcam. The camera is used to identify objects of interest in the field of play (spherical ball in our case) and to find fixed points used for localization (e.g. goal posts, color markers). In order to maximize robustness our vision-processing algorithm uses Hough circle detection algorithm to find area of region of interest. Once a circle is found, the minimum and maximum values of hue, saturation and value is stored. In case if the circle is not detected in any frame, stored values of hue, saturation and value is used for finding the object.
Localization:The robot calculates the distance of the object in the scene using simple trigonometry; the camera’s height above the ground, and camera’s downward angle with respect to vertical line (theta_head). The camera’s field of view is known ( 45◦ vertically). Using this we can estimate the angular position of an object horizontally and vertically. Given the object’s center (x, y) in the frame we can calculate the horizontal distance between robot and object using the following equations: Distance of the object = |tan((y − 240) ∗ 45◦/480 + theta_head) ∗ height of camera| And the horizontal angular deviation of the object is found by the object’s center(x,y)
Home Other Projects
GAIT ANALYSIS
A humanoid robot, through its complexity necessitates many new fields for its proper control. The complete control implies the finding the solutions of the forward and inverse kinematics problems, forward and inverse dynamics and trajectory planning for all the required motions, amongst other sub-tasks. The major work for all these tasks was done using a blend of MATLAB and Simulink, for generation of trajectories and testing purposes.
The requirement of controls is to initially compute the solutions for forward and inverse kinematics, which was done by frame assignment and transformations. The solutions for inverse kinematics were obtained in many different ways to try and test their accuracy. A closed form solution, optimization algorithm for minimization of distances and finally a neural network based approach was also tested out for finding a closed form solution for subsets of the robot.
The actual generation and optimization of the gait trajectories was the next aim, wherein splines were fit according to the constraints required by the particular gait characteristics. A custom gripper using a novel design of springs was designed to reduce the space required for a gripper motor. This gripper was used to move, throw and manipulate objects. The various gaits generated by the same were used for making the humanoid arm write letters and words, perform manipulations of objects like a ball by the use of its gripper. This task required the use of the arm in a single plane for now, but the arm possesses the capability to write on walls and corners in 3D along with the planar motion demonstrated in the video below.
Torso test Walking trial
