Research on Body Control System of Remote Robot Arm Based on Kinect
|School||Dalian University of Technology|
|Course||Motor and electrical|
|Keywords||Robot Arm Body Control FPGA Moving Average Filtering Algorithm|
Robots are very important in the field of civil, industry and military. In some dangerous areas, robots cannot be replaced by human. After the Microsoft Kinect sensor was launched, body control robots are becoming one of the popular research topics. Kinect will probably become extremely useful in the world.A remote robot arm monitoring and controlling system on FPGA is designed and implemented successfully. The robot arm can be controlled by a pair of human arms. A robot arm model is built with the help of MATLAB Robotics Toolbox. Its kinematics, inverse kinematics and trajectory planning are studied on the robot arm model.The EP2C8Q208FPGA from Altera Corporation is used as the main controller in the lower computer system. Verilog HDL is adopted to program the FPGA. The program consists of several parts:generating6PWM signals to control steering engines, sending and receiving serial commands, analyzing the commands sending to FPGA from the upper computer, reading and writing data to3three-axis acceleration sensors through I2C communication protocol, reading the data from the analog to digital converter connected to a gyroscope etc. The upper computer is programmed in LabVIEW. It can analyze and calculate the joint angles detected by the sensors installed on the robot arm. Then it shows the real time3D status of the robot arm model built with the help of3D picture control function of LabVIEW. Three methods can be used to control the remote robot arm on the upper computer. Basically, operator can directly input the joint angles of the robot arm to control it. Or he can input the three-dimensional coordinate of the destination. Then the robot arm will automatically go to the destination, because the joint angles needed to rotate are calculated automatically through the inverse kinematics program designed with MATLAB embedded in the LabVIEW. The third method is to control the robot by human’s two arms based on the Kinect RGBD sensor. A C#program is designed to calculate the joint angles of operator’s arms. The left arm is used to control the rotation of the shoulder joint, the elbow joint and the pitching of the wrist joint of the robot arm. The right ann is used to control the waist joint, the rotation of the wrist joint and the fingers. Finally, an.exe file is generated by LabVIEW, which can be easily run in a computer without LabVIEW software.Filtering algorithms are applied to the joint angles transmitted to LabVIEW from the C#program driving Kinect sensor. Weighted moving average filtering algorithm with limit is designed and applied on the joint angles. Comparison and analysis are made to three different algorithms:moving average filtering algorithm, weighted moving average filtering algorithm and weighted moving average filtering algorithm with limit.Finally, the system can run successfully. The FPGA can send and receive commands from the upper computer without data collision. The robot arm can move to the destination correctly and smoothly. The joint angles of the operator’s arms can be detected and calculated correctly in the C#program driving Kinect sensor. LabVIEW program can read the joint angles stored in a.txt file and filter the noise signals, getting6smooth curves of joint angles. The delay of the system is very small and the robot arm can pick up an object with regular shape.