Adapting the trajectory of an industrial robot in a dynamic environment is currently a challenge in robotics. FANUC, a leading company in industrial automation, has developed a demonstrator with which a human can challenge a robot in a table football game. This demonstrator has been enhanced with vision and software components to enable highly-dynamic robot trajectories for an appealing and fun experience.
Industrial robots are often used to perform repetitive tasks in an isolated and static environment. However, being able operate in a dynamic environment and adapt the robot's behaviour is an opportunity to expand the application's field. A requirement for working in dynamic workspaces is to be able to adapt the robot trajectory in real time. This is particularly interesting for obstacle avoidance or human-robot collaboration.
The main challenge is to allow the robot to react quickly to the unpredictable actions of the human during the game. The key elements thereof are accurate and fast ball tracking, trajectory generation to intercept the ball and a robust communication to control the robot.
A high-speed camera is used to track the ball on the playing field. An image processing algorithm determines the position and speed of the ball. This are transformed into the robot's reference system. A dynamic ball model predicts its trajectory and the locations where the robot may intercept the ball. A dynamic system based on differential equations generates the robot's trajectory to reach the point of interception. The generated trajectory is smooth and suitable to be executed by the robot. The communication with the robot via TCP/IP protocol allows to transfer sequences of coordinates that are executed and updated continuously using spline interpolation.
The system has been implemented in C++. It includes image processing at up to 80 frames per second, a robust 20ms communication cycle, adaptive trajectory generation and the model to predict the movement of the ball. The integration of a game strategy into a single system is the expected final result. The algorithms developed can be used to generate real-time, dynamic trajectories for industrial and collaborative robots. These can be used for example to avoid collisions or to interact with humans.