The underwater robot team of HEU (Harbin Engineering University) has been built for many years. In recent years, we have attended many robot competitions, and gained many experiences. We improved our robot constantly and hope our robot have a perfect performance.
This year, a new robot “Aoming II” was made by”HEU-AUV”, which has been developed in many way.
Our team consists of visual group, software group, hardware group, mechanical group, navigation group，sonar group, and this structure makes the team more efficient.
I. competition strategy
Firstly, we analysed the problems we met during the past competition with the final run video，several problems were aroused:
- The shake of image, which was caused by the sway of the robot when the distance between camera and object longer than 3 meters.
- The glaring sunlight influenced the image and created noise spots in the images. As shown in Figure 1, these noise spots can become the reason of the failure of algorithm.
- USBL’s signal influenced by running motor.
- The depth sensor had temperature drift.
USBL system was not precise and fast enough to guide the AUV arrive above the acoustic pinger.
Beyond these problems, we realized that to score more points, our robot must have ability to finish most of the tasks. But it’s hard to finish the work with the old robot, because the old robot was designed for reaching high speed with a fairshaped design, which means it will be hard to refit the mechanical structure. Therefore, our team decided to design a new robot.
We divided the tasks into two categories, one includes the tasks which we had a clear way of achieving so that we don’t have to spend much time on the technology, Others like mechanical and the acoustic strategy, the algorithm of vision servo, and the robust detection algorithm.
So on the one hand, some of us were concentrating on the basic mechanical frame, PID control algorithm, USBL system and so on, and the rest of us were trying to find an effective method from the paper to solve the challenge problem.
We had spent about three months discussing the method of solving these key technical goals:
- vision servo algorithm for object grasping.
- small object detection for golf ball .
- More fast and stable acoustic system .
And with these goals reached, we will have chance to finish most of the tasks.
Aoming II, our new robot can achieve 6 degrees of motions with eight brushless motors. And it was equipped with a more accurate ultra-short baseline hydrophone than the one on Aoming II which can help the robot achieve acoustic navigation. And it was also equipped with DVL and INS to get robot’s relative location. Besides, it was equipped with efficient and simple grasping system and shooting system.
NVIDIA platform Jetson TX2 is employed as core computer, the program runs under the ROS software framework. The front view stereo camera and the stereo camera below robot body to help obtain information like the location of the target to complete the visual servo task.
II. design creativity
A Auto Underwater image dataset generator for detection system based on stereo camera and physical model
An open source algorithm, Yolov3 based on CNN is used to complete detection work. To avoid overfitting , we adopted several tricks, such as data agumentation , dropout, etc.
As we know, there are many tiny particles in the water, they absorb and scatter the light of the scene, lead to the degration and color shift of image. Therefore, we improved an approach to generate underwater image and added the generated images to our detection training set to improve detection algorithm’s performance on underwater scene .
First, we tried to use the neural styleto generate the pictures with “underwater-style”, but pictures generated this way doesn’t look natural. Then, we tried to generate the images based on physical model with dense three-dimensional point cloud from the result of stereo matching , and it worked well.
B New Design of sonar system and related strategy
To improve performance, we choosed the DSP and FPGA platform instead of old stm32 platform. Though platform based on stm32 is easier to debug, same program will run much slower than on dsp platform.
There are four USBL units on the robot, each is used to measure each phase, as shown in Figure5. So the heading angle can be known from the phase difference.
Previous experience on acoustic task showed that it will take a lot of time to do that with only the heading information. To arrive above the pinger faster, we need to get the location of pinger.
At the beginning we attempt to use “fixing by cross bearings” just like GPS. By Calculate the heading of pinger on different location ,we get several straight line equation to calculate location of the intersection point .But it will get good result only when the robot run on special track .
By pre-setting a distance between the sensor with sonar,we can get location. Experiment show this approach can get high accuracy location when robot near to pinger.
So the acoustic task is divide into two stage, heading measure mode and locate mode.At the beginning,robots run into heading measure mode and run with location measure mode for the robot near to pinger.
To accelerate the debug stage of the acoustic program,we should know the ground truth of angle result and the location of pinger.With DVL and fiber gyro ,our navigation system can
get accuracy location and attitude,so if we start our navigation system above the acoustic pinger ,we will know the location of the pinger to the robot’s body framework.So we will know wether our algorithm is correct.
C Stereo slam to prevent DVL’s dead zoom error
This year we try to finish the grasp task. First problem we met is we cannot get accuracy location when the distance between the golf ball and robot less than 0.6m(dead zoom of DVL measurement). It seems complex and stupid to design a mechanical hand longer than 0.6m, so we choose open source slam algorithm ORB-slam2 to get the robot’s location.
D Mechanical system for grasp ball
Our team discuss many method to grasp the ball, finally we Improve an simple approach to pick the ball.
This “hand” consist of elastic wires can perform grasp and throws the golf ball effective and fast.
E New electric design for new robot
This year we design new electronic system for Aoming II,We use the way which is many PCBs splicing together. This way makes us reduce the number of wires. The core board through the serial port and CAN interface to collect all the sensor data, the collected data was send to the Jetson Tx2 though serial port, TX2 also send motor control command through the CAN drive module. This approach makes the two core modules relatively independent from each other. We use the electric power communication technology on the computer linking to the vehicle, and it is much more stable than fragile fiber.Electronic.
III. Experimental result
Our team will have a meet every week to discuss what should we do and how we do on next week.
Team leader often spend several hours to prepare for the meeting, team leader should always know what’s the most important thing ,and what’s the most difficult thing. Make a plan with detail, find suitable people to finish work.
To accelerate the tuning process of detection algorithm, we improved a small dev dataset for comparing the performance of different methods, as shown in Figure 8, it describes the error of cost functions, we usually have 1200 to 1400 iterations of training, but it can also achieve an effective regularization with less iterations.
Table 1 shows Detection algorithm performance on dev dataset.
As shown in Figure 9, GPU accelerate dehazing algorithm is adopt to our stereo matching’s pre-process to get better disparity map with more than 40fps on 320*480 resolution.