
Though we think the ball wheel will give the robot a better motion ability, the ball wheel does not meet the robot's requirements. We choose an electric motor with conventional wheels instead of a ball wheel. Square shape robot looks more like a real Robot in a specific situation. The robot is designed as a Standard square Car Type Robot.the reason why we choose this shape is because we think it will simplify our further design. So it can reduce the training waiting time caused by TCP reconnection. Therefore after every time of training, the port number will add one, and the port number will up to 10120 because the training episode we set is 100. But the wait time required for TCP reconnection is too long. However, during the training process, the TCP connection between the internal controller and the external controller will be reconnected due to the reset of the environment. So we choose the port 5174 as the communication interface between the external controller and neural network, and we select port 10020 as the initial communication interface between the external controller and Webots controller. To use TCP communication, we also need to select a port as the communication interface.
#Webots login simulator
The final defined external controller is the server of the TCP communication the Webot simulator and backend are the clients. To use TCP communication, we need to select a server and a client. The schematic diagram of the TCP connection is shown in the figure above. For the backend, we build and run it in Spyder(a python compiler), and besides the common library, we use a library called Keras, we use it to build the network.īased on TCP's security and versatility, we finally choose to use TCP communication to exchange information on each part of the framework.
#Webots login software
We use Webots software to simulate the robot's movement and use the controller to control the movement of the robot, and collect the information and communicate with the external controller. There are three parts of it the first is the Webots and its controller, the second is the external controller, and the third is the neural network. The framework of our software is shown in the following picture. The RL algorithm's basic principle is to return positive or negative feedback by evaluating the robot state to train the robot to accomplish the goal.įirstly, the overall structure of the system, as shown: The robot control is written in python on the backend, and we use the Tensorflow framework and Keras API to implement deep reinforcement learning algorithms.Through infrared sensors, Obstacles can be detected. Through the GPS sensor, the position coordinates can be obtained. Through the compass, the angle of the robot can be obtained. Through four motors, the robot can move and rotate. Our robot has a GPS sensor, compass, four motors, and 12 infrared sensors.At the same time, we built multiple environments to meet the diversity of the environment. By building models and obstacles in Webots, the requirements for building a simulation environment are finally reached.The connection between each part is with TCP.

And the backend is written in python, which contains deep reinforcement learning algorithms. Then we wrote an external controller also in C as frontend.

Cooperative operation of multiple robots.The robot uses sensors and algorithms to complete emergency obstacle avoidance to ensure the absolute safety of the robot.The robot uses sensors and algorithms to avoid obstacles.

