Design of a Digital Joint Controller for a Dexterous Climbing Robot
1st Supervisor: Prof. Dr. Hubertus von Amelunxen (ISNM)
2nd Supervisor: Prof. Dr.-Ing. Erik Maehle (University of Lübeck)
The aim of this thesis is to design a digital joint controller for a dexterous climbing robot. Primarily kinematics analysis of the robot has been performed. Kinematics analysis generally involves the process whereby a relationship between the joints variables and the tool frame or end effector is established. This relationship could be finding the end effector location in terms of joints variables or vice versa. The first one is known as forward kinematics, and the reverse one is known as inverse or reverse kinematics. In both cases, the aim is to be able to have one as a function of the other. After creating the link between the joints and the end effector one could think of how to make the robot alive. This means how the robot is going to move in order to reach a desired posture. The answer to this question was to generate a trajectory that it could follow without any inconveniency. A parabolic function was designed for the motion profile. The function has been created by connecting two parabolas. The purpose of doing that is to have the ability to dynamically select the switching point between the two parabolas, so that all the joints of the robot reach their final positions simultaneously. Moreover a combination of kinetics and the switching point choice that has been named as knot point could also help in preventing the occurance of some singularities. The robot will move according to desired joint trajectories. These will be in the form of position and velocity commands sent by the main controller every 5 milliseconds. This means that the position and velocity commands from the main controller will be updated every 5 milliseconds. The joint feedback will depend on the corresponding controller board that its motor is connected to. The actual position of the joint is fed back to its controller and then it is compared to the most recent command from the main controller. After having separately compensated loads and frictions, a PID (Proportional-Integral-Derivative) controller was designed. The design was made both through direct controller synthesis and by trial and error from the simulink model. A PI controller was implemented in C++.