English translation of the original Chinese essay.
From the problems in our match against RPS to the opening loss against Qingdao University’s Future team, RoboWalker faced growing questions about the gap between generations of team members.
There was truth in those concerns. When members who had competed for three or four years left, RoboWalker really did become a Ship of Theseus. Yet not entirely: we could still contact the former members, ask questions, and even receive their help in emergencies. That was moving, but it also raised a question: how could new members become capable of carrying the team through a competition?
For a team facing its first major handover, this was a real challenge. We had not prepared enough. Right up to the competition, we were still living in last year’s victory, carrying a hazy confidence and using the same strategy through eight months of preparation, even though the team itself had changed. The outcome was a decline in capability and a sharp rise in robot instability. Behind it lay testing delays and a serious lack of testing.
I will describe the problems chronologically, from my own perspective, beginning with May 17 and continuing through the competition period. This is my record of a regional event during which I may have slept for fewer than twenty-four hours in total.
May 17, 2026
The weather on our first day in Jinan was unexpectedly good. After an hour on the metro to the Olympic Sports Center, we spent another hour walking past an outdoor football field, a courthouse, the affiliated hospital, and a military office before reaching the hotel. We later discovered that one more metro stop would have saved nearly forty minutes on foot. The hotel occupied the twelfth floor of an apartment building. Its elevator shook as it moved. This foreshadowed a later breakdown requiring a call to 119, although I was not involved. The corridor smelled of cheap fragrance, but the rooms were large.
After checking in, I worked on the final adaptations of auto-aiming for the base armor plates. Last year’s CNN classified the base and outpost labels alike as outpost, distinguishing them by large and small armor-plate geometry. This year, the base used a small plate, so that logic no longer worked. We temporarily treated the base as an outpost and ignored the thirty-degree angular difference. Without base-plate stickers, we could not test the result.
Then we unloaded at the testing venue. It was much better than last year’s venue in Changsha, with air conditioning and even Wi-Fi, convenient for a little vibe coding, or so we joked. After a complicated rearrangement of supplies, we settled in. The venue was available from nine at night until nine in the morning. We shared it with Anhui Institute of Information Technology and Southern University of Science and Technology; dart teams from Xiakewan and East China University of Science and Technology were also testing there.
I remained with the supplies while the sentry team went out for a meal. There would be little time for such comforts afterward.
That night, I deployed an initial auto-aiming setup to each robot and worked through calibration and tests with four newer members of the algorithm group. I barely slept. Since the algorithm group was not involved in the next day’s inspection and team portraits, I expected to rest then.
May 18, 2026
After we packed up at seven in the morning, I returned to the hotel for the only proper sleep I had there during those nine days. In the afternoon, I summarized our deployment and testing status in the group chat. Progress still looked reasonable, and a former team member was exploring a new radar-assisted counter-drone approach.
That night we continued deployment and testing. I split auto-aiming into Base, Hero, and Drone branches. Drone was intended to use lower-controller PID throughout, Hero would send a pitch target, and Base would serve the infantry robots. Here I made my first Git mistake: repeated merges made the history extremely confusing. I felt that rebasing would have been more appropriate.
The new features we had implemented were still passing their tests. The main unresolved issue was that planning performance was noticeably worse than last year, for reasons we could not identify. It remained with us for the entire competition. We nevertheless concentrated mainly on tuning PID so it could follow the MPC trajectories more closely.
May 19, 2026
Another testing day. When we flew the drone, we found our first bug: armor-plate switching. With auto-aim enabled against the outpost, it followed one plate around the rotation instead of switching to the next plate.
We spent the night modifying and testing this behavior. We contacted Shao to help debug the long chain of if-else conditions and obtained an initial fix.
May 20, 2026
Our match against China University of Petroleum, East China, was full of problems. Auto-aiming failed across the fleet. One wheel-legged robot could not stand, another lost power, and all the darts hit the gate. Hero, drone, radar, and engineer were relatively normal. Emergency exposure adjustments between rounds were chaotic. We realized the arena lighting was an issue, but did not yet know how to tune for it. My first impression was that it was too dark, so I tried longer exposure times.
That evening, the team prioritized basic wheel-legged functions, but struggled to reproduce the failures from the match. Everything seemed normal away from the arena. Auto-aim testing continued afterward.
I left the infantry and Hero tests to the newer members and focused on the drone. The switching bug was not fully resolved: at the angular-speed threshold used by our switching logic, the planned values shook violently and made the gimbal vibrate. Shao helped adjust the logic again, with enough improvement for the drone to hit the outpost in our testing area.
For Hero, the reduced projectile speed made hit classification strict. A slight error could cause a shot to register as a small projectile. We added tighter firing conditions, but also saw what looked like a firing delay, making it aim at departing plates. Increasing our estimated delay helped. Later, we learned that the apparent delay was not a true firing delay at all: two bugs had happened to offset one another.
The new infantry robot’s gimbal also tended to vibrate; the older one needed little tuning. After a night of work, we thought auto-aiming was nearly ready. We were wrong.
May 21, 2026
The first group-stage match was against Qingdao University. Both infantry robots again struggled to stand and were only partially functional. The drone still had no outpost auto-aim and only a little ground-target capability. Hero could not hit targets, and the darts still did not work. In the silence, I slumped beside the railing behind the others, feeling a despair I had not experienced last year. I tried changing the drone’s exposure between rounds, which removed the remaining auto-aiming altogether.
Afterward, we compared the exposure settings with last year’s regional competition and adjusted them step by step. We discovered the distinguishing feature of this year’s arena: it was dark and lit only from above. Outpost targets were almost black, while ground targets were bright. Setting drone exposure to 1.1 ms brought the overall brightness close to last year’s conditions, but the outpost remained dark. We also changed the other robots to approximately 900 μs.
May 22, 2026
In the next group-stage rounds, the draw gave us some relief. Qingdao University faced Origin, while we faced another team with many problems of its own. The drone had some auto-aiming against both the outpost and ground targets, but not much. Hero performed better; the infantry robots still could not stand. We won, but nobody could smile.
That evening, we examined the detector separately and found frequent outpost misclassifications. We trained an augmented model using the data we had collected. In our testing area, both outpost and ground targeting then reached a reasonably normal level. Hero received routine calibration and some MPC tuning. The infantry group focused on chassis problems but still could not identify the cause, and eventually rushed through auto-aim tuning.
May 23, 2026
In the last group-stage round, the infantry robots improved enough for us to qualify. But the drone could now hit the outpost and not ground targets, even though both had worked in testing. The logs suggested it was losing track of the same target.
After a two-hour discussion with Tang from the former team, we changed a small part of the MPC state machine from an unusual counting mechanism to a queue. Testing showed little difference, and we stopped. By then I was too exhausted to continue, though parameter tuning might have helped. There was good news: the infantry group found two reasons for its failures, abnormal electrical signals on the programmer’s external cable and an unstable chassis Xsens connection.
May 24, 2026
In the first elimination round, the infantry robots finally worked normally. The engineer, however, lost the motor used for its video-transmission mechanism. We later found a burned three-phase wire. We unexpectedly won the first game. In the second, a change to the sentry strategy also seemed workable, but without the engineer’s economic support the other robots could not establish pressure in time. We lost two games in succession.
Morale was extremely low. We felt lost and helpless, and criticism over the engineer’s intentional collision made the situation more painful. Back in the testing area, we reverted the drone code and tried tuning it for ground targets. Hero and infantry received routine calibration and tests.
May 25, 2026
We secured the place we needed in the repechage. The infantry operators reported that auto-aiming would not fire, even though the firing-control logic did not apply to the infantry robots. That remained another mystery.
And so the regional competition ended, abruptly and untidily. It felt like a confused dream. On several days, I could not eat until some late-night barbecue and milk tea gave me a little energy. Before matches, I often felt close to fainting, perhaps from low blood sugar. Afterward, perhaps because of adrenaline, I felt neither sleepy nor hungry.
For the algorithm work, the main problem was the lack of incremental testing after merges. Too many changes were tested together, making root causes difficult to isolate. There were other problems, but they were secondary. RoboMaster really is a competition that proves how much work has been done. We will have to address the problems one at a time, slowly.