Click the above“Beginner Learning Vision”, choose to add “Star” or “Top”
Essential Knowledge Delivered First Hand
First, machine learning and deep learning are two different fields from hardware, and I personally do not recommend learning them together, as it can lead to poor focus and results. Moreover, machine learning has a high mathematical requirement, and without sufficient math skills, it is hard to create anything innovative. It is best to first solidify your hardware foundation while learning software knowledge simultaneously; the hardware basics must be strong… I believe the learning path can be divided into several stages. Note: This answer only addresses the learning route for the embedded basics related to the robotics engineer.
Stage One: Mathematical Foundation
This stage is primarily about building a foundation. If the questioner is a high school student, they should start by solidifying their math foundation, such as advanced calculus, linear algebra, and complex analysis. This knowledge will be very useful when learning circuit analysis, analog electronics, signal and systems, and automatic control principles later on. All of these are merely the theoretical foundations for specific applications later… Therefore, this stage is very important and must be emphasized. I personally struggled a lot with math back in the day.
Stage Two: Professional Foundation
This stage has a lot of content, but if the first stage is learned well, this stage will be more comfortable. This stage can be divided into two main categories of learning content: computer fundamentals and electronics fundamentals.
Let’s start with electronics fundamentals.
Circuit Analysis. This is the first thing to learn; otherwise, you cannot proceed to learn analog electronics.
Analog electronics is a prerequisite for high-frequency circuits in later courses. If you don’t learn this well, high-frequency circuits will be challenging… The knowledge in analog electronics is still very important, especially when doing communication or power supply later on, for example, when you need to create a drive circuit to drive a motor.
Digital electronics should be the simplest content in this electronics stage; you will find its difficulty is not on the same level as others… Note that digital electronics is a prerequisite for understanding computer organization principles.
Next is computer fundamentals.
C Language. No need to say much, 0 gives birth to 1, 1 gives birth to assembly, assembly gives birth to C, and C gives birth to everything… Must be mastered thoroughly.
C++. Object-oriented programming may be a bit troublesome, but it is highly efficient… If time allows, it can do anything; it is very powerful and a must-have in your toolkit. For example, to write a host computer, you must use C++ with Qt.
Computer Organization Principles, the principles of program execution at the bottom level, assembly language, must be learned. It’s best to study this alongside microcontroller organization principles. One is based on x86 architecture, and the other is based on ARM architecture. The x86 does not need explanation, but for ARM, it is recommended to first learn STM32, which is relatively simple and easy to get started with. After getting familiar, you can move on to more complex systems; learning these two is enough for later projects.
Data Structures and Algorithms, pointers and algorithms must be learned. The prerequisite course is C language.
At this point, you can start drawing circuit boards and writing programs to create some small projects, but if you want to do high-end operations like robotics or wireless communication, further learning is still needed.
Operating Systems. Recently, Zhihui Jun released an episode about FOC, where the control chip runs on the FreeRTOS real-time embedded operating system. If you want to perform some complex operations, this is also essential. It’s best to wait until you finish learning computer organization before learning this; it will help you understand how to manipulate the underlying layers. If you have time, it’s best to build a small system by yourself; it doesn’t need to be very stable, just implement the functions.
Computer Networks. One of the four major subjects in computer science, must be learned. If you want to set up a blog network, you need to understand this.
Stage Three: Professional Advancement (Divided by Direction)
Control Direction: First, you need to learn signal and systems, then automatic control principles, etc. Not very familiar.
Communication Direction: Signal and systems, high-frequency electronic circuits, electromagnetic fields and waves, communication principles, RF circuits, antennas, wireless communication, many communication protocols…
Pure Computer Direction: Introduction to Algorithms, network programming, various web frameworks, etc.
I personally suggest that the first year should focus mainly on theoretical learning. You can go to the lab, but it should be moderate… Aim to solidify your mathematical foundation in the first year, and then when learning professional knowledge, appropriately combine it with practice. In fact, once you finish learning the professional knowledge foundation, you are nearly ready to design basic circuits.
Final Advice! Completing these courses only counts as an introduction. Personally, I believe that reaching Zhihui Jun’s level requires 3-4 years of continuous effort; many people may not achieve it even in 10 years. Therefore, you must solidify your foundation; being overly impatient early on can cause significant difficulties in later learning! A solid foundation is the prerequisite for achieving twice the result with half the effort!!!
Simply put, you essentially want to become a maker.
My understanding of the skill tree includes:
Since I don’t understand the structure and later stages very well, I am also learning this. As of 2020-07-19, I will temporarily add what I am familiar with. I will complete it later.
This person is not simple. You can view his four years in college as EE electronic engineering, participating in countless electronic competitions and winning numerous awards. His four years of electronic engineering also provided him with a solid mathematical foundation in machine learning, including calculus, linear algebra, and probability statistics.
Later, he pursued a master’s degree in computer science, naturally bringing his electronic knowledge into it, starting to work on embedded machine learning, and eventually going to the Oppo Research Institute. Those who have studied machine learning know that with a solid mathematical foundation, machine learning is not difficult.
I have seen his works; his hardware knowledge is quite rich. It is unlikely to reach his level without four years of solid learning.
If you want to reach his level, you must major in electronics in college, and your school needs to be strong in electronics.
Then you can follow his trajectory.
Software Fundamentals: C, C++, Python, and for hardware, you also need to understand some assembly language, and for Android studio, you need to write software (backend), Java SSM trio for blogging, and you should know a bit of frontend CSS.
Circuit Fundamentals: Digital electronics, analog electronics, PCB.
Machine Learning Fundamentals: At least, you need to get started with Andrew Ng’s videos and thoroughly understand Li Hang’s book, being able to proficiently use various algorithms to complete image recognition, speech recognition, and other program implementations.
Hardware Products: Arduino, S3C2440, Raspberry Pi (blog server) must be thoroughly understood, along with the characteristics of various chips.
Others: At least a level six reading proficiency in English, so you can understand some impressive English literature and continuously improve.
Using 3D printing software, being proficient with a soldering iron.
What I see from his videos is just that much. He is truly impressive; if I had even one of his skills, I could find a good job. I feel that even after graduating with a master’s degree, I would still find it hard to compare with him; he is just too amazing.
Let me put up a picture from Teacher Zhuo Qing to supplement some basic knowledge.
To reach Zhihui Jun’s level, you should major in electronic information engineering in college, learn advanced mathematics + linear algebra + probability theory (science and engineering foundation), assembly (used for STM32 startup code), C language (for writing low-level drivers), circuit (analog and digital fundamentals). Analog electronics + digital electronics (hardware is the top priority). Signal and systems (top priority). Microcontroller principles and applications, embedded systems. Mastering these makes you a qualified embedded engineer.
Mechanical Engineering: I am in electronic information, not very familiar…
Computer Science: Computer organization principles, C++ language, operating systems, data structures, computer networks, software engineering, databases.
Software usage: AD, PS, PR, CAD, 3D…
In fact, Zhihui Jun’s growth path is that of a full-stack embedded engineer, capable of drawing PCBs, porting U-Boot, and writing upper-level applications. The most challenging part here is PCB design. It’s not that it’s difficult, but rather that other content requires time and a little money. If you want to dive deep into PCB design, you will need to spend quite a bit of money.
This is not a foundational issue but rather a matter of learning methods and accumulation. These fundamental aspects prevent most people from reaching Zhihui Jun’s level.
For example, Zhihui Jun has a large number of projects involving LCD displays and wireless transmission, and such modular components can be continuously accumulated. However, most people start from scratch each time, completing one project and then moving on to the next without accumulating their tools for future use, wasting a lot of time.
Secondly, the application and accumulation of various libraries. Zhihui Jun uses many applications based on existing libraries, such as open-source vision libraries. This requires extensive learning and accumulation. A person’s capabilities are ultimately limited, so it is necessary to rely on external foundational tools and open-source tools.
Thirdly, from the videos, it can be seen that Zhihui Jun’s professional ability lies in motors and control systems, reaching the level of a senior engineer. His CAD modeling skills are also quite strong and continuously improving, indicating that he frequently uses new modeling features.
In fact, many PhD holders in China exceed Zhihui Jun’s professional abilities but lack the experience or interest to create complete robotic systems, which diminishes their immediate impact. Achieving truly innovative research in the same field is generally much more challenging than engineering projects (many engineering papers seem more like mathematical modeling in value, and their effectiveness is often inferior to many conventional methods; ideally, this should not be considered valuable innovation).
Moreover, drawing general circuit boards and embedded systems from scratch, focusing on it for a year is sufficient. CAD is not very difficult as long as you try and practice more. Control systems are not that hard either; find a few foreign textbooks, learn matrix analysis and calculus, and for master’s students, it shouldn’t be overwhelmingly difficult.
The key question is, think about it; aside from sleeping for 8 hours, what are others doing in the remaining 16 hours? How many hours are genuinely devoted to focused learning and research?
Aside from professional knowledge, I believe the most crucial point is to make your dreams and hobbies your work. Every time I see Zhihui Jun working on projects with such high intensity, I worry that such an investment will wear down his health. However, he seems to enjoy it immensely, and his time and energy management is quite systematic. As of now, his hair volume among programmers is still at the entry-level, yet his skills have surpassed most.
If we can learn any point of professional knowledge, time and energy management, or soft and hard engineering skills, it will benefit us throughout our careers!
The answer is affirmative, but it requires the following prerequisites:
1. The foundational knowledge in college must be solid, including advanced mathematics, analog electronic technology, digital circuit technology, computer architecture principles, compiler principles, microcontroller principles and architecture, and a programming language, with C language being essential; these must be learned thoroughly;
2. With a solid foundation, the second step is to practice, which requires strong hands-on skills. Start by soldering your circuit boards, familiarizing yourself with various electronic components, their usage rules, and their roles in circuits. Then learn to draw circuit boards, program, test, and continually practice. If you can complete more than ten projects, you will start to feel it! You will be able to solve some problems based on needs.
3. Once you have a good grasp of embedded software and hardware, you can start learning network programming, server-side programming, algorithm design, front-end, APP development, etc. For engineers who are good at embedded systems, these will not be too difficult, essentially being related knowledge that can be learned well if you are willing to invest time.
4. Learn to summarize projects; after completing each project, write down the problems encountered and the solutions, continuously accumulating knowledge and experience while reflecting deeply;
5. The most important point is to be driven by interest, learn to persist, and not give up easily when facing problems and difficulties. Believe that there are no unsolvable problems; everything is just a matter of time.
Zhihui Jun is a very capable person, but don’t deify him.
As a student majoring in robotics engineering, I often browse open-source solutions on GitHub. Zhihui Jun has borrowed many solutions and integrated them with his own ideas and designs in his spare time. This terrifying engineering management ability requires 3-5 years of competition experience to self-motivate. However, don’t overly deify him; while Zhihui Jun possesses skills in many fields, this DIY demand differs from professional needs. For instance, in PCB design, we often consider how to maximize efficiency, minimize area, and reduce the number of components. Simulation involves designing a simulation environment for a specific control algorithm. Of course, Zhihui Jun’s qualities in multiple fields allow him to enter professional domains much faster than those of us who are just starting, and he can quickly grasp new solutions and have more ideas for problem-solving, which I envy immensely. However, when it comes to research-oriented issues, he can still get stuck; most breakthroughs occur from innovative ideas and results from repeated trial and error. A deep understanding of a problem or field is required. Making a demo is simple, but achieving breakthroughs in existing technical solutions is challenging. Engineering concepts are generally similar; continuous expansion will enhance your recognition and ideas. Once you reach a certain technical accumulation point, transitioning into a new field will feel smooth. However, do not lose sight of the main goal; your learning is to explore new fields and enhance your understanding of old fields, not to replicate all the market’s technical solutions. Before the age of 35, you should learn from Zhihui Jun’s continuous attempts in new fields. If you wish to advance further after 35, you can only delve into a specific direction. Zhihui Jun’s ability stems from his willingness to keep trying rather than attending classes. Therefore, there is no need to change majors. Zhihui Jun’s undergraduate major was biomedical engineering.
Instead of changing majors, it is better to participate in more competitions and internships.
Let me add a few more points based on my experience as a robotics software intern at a robotics company during this time.
1. Do you need to build a robot platform from scratch?
No, you actually cannot build a robot platform from scratch. FOC drivers are easy to make. Planetary gears are also easy to make. What about the motor encoder? High-precision motors? Have you even considered how to reduce mechanical vibrations during the grasping process? Doing small workshop-style demos for a professional is merely for fun. Expecting to cultivate more specific capabilities only leads to project management and self-motivation. However, working and studying is already busy enough; unless you are genuinely interested, it is unnecessary. Learning a new field can be quite torturous.
2. Do you need to learn hardware knowledge?
First, you need to clarify what hardware knowledge means. Does analog circuitry count, and does digital circuitry? Does microcontroller principles count as hardware knowledge? These are already highly abstracted. In fact, even the microcontroller principles and computer organization principles at Tsinghua or Peking University will not delve too deeply. Modern SoCs start with hundreds of millions of transistors; do you need to write each transistor by hand? HDL (Hardware Description Language) is also highly abstracted. Even professionals use programming languages to describe hardware and then use EDA to make small adjustments. Do you really think you will start from digital or even analog circuits? If you want to work on the driver part of a robot, you must learn analog electronics, but you only need to learn about signal amplifiers and feedback signals. Professionally, you might even need to understand material mechanics, motor science, and engineering electromagnetic fields. These might not even be taught in robotics programs; if taught in automation, you might not be able to do them.
Moreover, even FPGA design, whether Intel’s oneAPI or others, follows the trend of using C-like languages. The development approach is similar to software engineering. Unless you switch to integrated circuit design, learning algorithms and software engineering, object-oriented programming, and understanding operating systems and networks is more than sufficient for robot software development. Understanding computer organization principles thoroughly and knowing how to design a floating-point calculation circuit or an ALU is unnecessary; leave professional matters to professionals. These are not things you will learn just by attending classes. For software engineering, getting started, learning to tweak memory, working with basic communication protocols and multithreading, and doing basic development is enough for an engineering undergraduate to learn in a year. Please allocate extra time to mathematics, studying complex functions, real functions, random processes, computational methods, and numerical analysis, returning to the essence of computation.
3. Do you want to become Zhihui Jun because you like technology or the joy of DIY? What Zhihui Jun does is essentially DIY. DIY is a fun activity that allows you to express your subjectivity, while learning technology is a process of constant practice, attempts, trial and error, and reflection. Please do not expect to achieve goals that require enduring pain through something enjoyable. This is putting the cart before the horse; Zhihui Jun is a technical master who can enjoy DIY due to his skills. To become a technical master, please patiently work on projects, write blogs, and create technical documents. First, be a happy coder before you can become a happy master.
Happy New Year! It’s already the end of the year; recently, business has not been busy, so let me add a few more points:
1. I don’t think Zhihui Jun’s abilities are inferior to those of PhD holders. My point is that expertise requires specialization. The flawed AP system in China has resulted in college education being able to cultivate your learning habits and research taste, which is already commendable. Being able to learn skills is something one can only dream of. College is a good time to clarify what you really want to do and be willing to continue researching it in your graduate studies and work.
2. Should robotics majors switch to computer science?
Do not switch! Do not switch! Do not switch! Nowadays, anyone in an electronics-related field must learn to code. As long as you are willing to work in engineering, writing code will become a daily task for you. During these college years, instead of blindly switching to computer science, it is better to work on several major projects or find a reliable internship and do well. I seriously suspect that those who advise you to switch to coding are primarily selling courses. The textbooks they recommend are often dissuasive.
Advising beginners to read “C++ Primer” to learn C++ is like advising foreigners to read a dictionary to learn Chinese. That book is essentially an operation manual for C++; what use is it? My first programming language was Java, and I learned C++ from “Data Structures: C++ Language Description.” This can only be learned through practice. It’s like a new hero in Honor of Kings; you will definitely learn while playing and looking at the skill introduction. Who would memorize the skill introduction before practicing the hero? Don’t listen to those information workers on Zhihu who say, “No one fully understands C++.” That’s nonsense. The flexibility of a high-level language depends on personal understanding, and there are many ways to handle practical situations. You can only strive for excellence.
3. What is the DIY spirit?
A common hobby for an engineering student is to do some DIY, just as a liberal arts student enjoys writing essays. Essentially, it is your mental sanctuary. If you want to learn knowledge through DIY, it’s like trying to grow cotton in your sanctuary. This is actively becoming a tool person.
Stop rolling; please love your life.
4. How is the robotics software industry?
This year’s autumn recruitment is quite absurd. Salaries are considerably higher than the internet industry. Xiaopeng Software starts at 450k+ including all benefits. YunJing Intelligent’s SLAM position can even reach 80k*16 months. Yushutech also offers over 40k per month. A classmate of mine who went to DJI without preparation for the interview got 450k+. I can only say that the pandemic has fueled the automation industry, and there are too few quality assets and companies that can thrive during the pandemic. The hype is a bit excessive. I estimate that once the pandemic ends, due to the significant distance between most technologies and their practical application, we will soon face a minor winter. I am speechless about the investment capacity of China’s financial industry talent. Their vision and taste are quite lacking.
In fact, the industries where robots can be applied are still few. Most are traditional high-profit enterprises seeking to boost their stock prices through transformation. It’s like real estate companies such as Country Garden and Evergrande now venturing into robotics. Alternatively, companies that are extremely sensitive to transport efficiency, like those in the delivery and food industries, may consider automation. Otherwise, in the Pearl River Delta, where a single village can produce toothpicks for the entire world with terrifying production efficiency and low profit margins, unless there comes a day when workers are genuinely hard to find, there will be no motivation to transform.
In terms of prospects, robotics is certainly not as promising as the Internet of Things and digital energy. This field really depends on interest.
5. What skills are needed to find a job, and which industries should I enter?
I strongly recommend all juniors and seniors learn to use internet platforms. Seriously, just post several different resumes on Boss Zhipin and see what skills the HRs of those companies are looking for. Fill in the skills you see are important on your resume, and then focus on learning those skills. As graduation approaches, it’s advisable to create an ideal resume for yourself, listing skills you hope to acquire, and then go learn them. For example, I am currently focusing on FPGA algorithm acceleration and digital image processing. Engineering graduates are still scarce talents, and as long as you have basic skills, it is relatively easy to live well in first- and second-tier cities. For technical positions, apart from a few companies, it’s not that competitive. If you can innovate and produce useful results, companies will be eager to support you. As long as you love technology and maintain a learning habit, you will be fine. The optimization after 35 is mostly a deception from those who switched careers midway. Just calculate who those 35-year-olds in internet companies are. They are all people who entered the field around 10 years ago. The development dividends of the mobile internet have been completely consumed. Those who do not switch careers have long achieved financial freedom. Your current high salary as a coder is merely a reflection of these people’s past efforts. Programmers in their 40s at Tencent are basically the backbones of various project departments.
Zhihu has exaggerated the art of coding too much. The main reason you can’t write code is that you can’t write code. This sounds like a cliché. But just like my example with Honor of Kings, coding is essentially a computer’s encoding language. You have to use it to learn it. Many people in China struggle with coding because the current software development methods are overly fancy. It is indeed challenging for ordinary people to get started, and the Windows environment, which is a terrible operating system, occupies the Chinese computer market, leading many people to lack a clear understanding of what computers really are and how to use them effectively. Moreover, the poor English education in China has left many unable to learn a new language. I was shocked to see someone memorizing the basics of C++ while working at a training institution! Language is meant to be used, not memorized. Doing projects is the best way to learn a language. Whether it’s English or programming, you have to express it regularly to learn.
I strongly recommend you buy a second-hand laptop with long battery life, install Ubuntu, and use a well-known shopping app to buy a port for a VPN. Use it as your main machine. Trust me, after a month of persistence, you will thank me.
Thank you for the invitation. I initially did not want to answer this question, as it mentioned the integration of software and hardware. What is there to say? Back in my school days, analog and digital electronics were required subjects, and many people learned both software and hardware. However, to be rigorous, I went to Bilibili to search for this person, and I was shocked after watching just two of his latest videos!
I have been coding for over 20 years, and I have seen many talented colleagues, including those from Tsinghua and the Youth Class of University of Science and Technology of China, but I have never seen someone as unorthodox as this video blogger!
I have only watched the mini display and FOC driver videos, and the capabilities demonstrated in these are already impressive. I hope there are no other abilities I missed!
From these two videos, at least the following different roles’ capabilities are displayed:
Designing layouts, drafting, operating CNC machines, and assembling—this is fully qualified structural engineering!
Drawing boards, contacting factories, preparing BOM lists, soldering, and debugging—completely qualified as a circuit engineer!
3. Embedded Software Engineer
Porting real-time operating systems, writing drivers, and debugging with hardware—another qualified role…
These two videos showcase a limited amount of algorithms, reaching an introductory level; perhaps other videos reveal more advanced algorithm skills, which I will check out later.
Again, not much is shown, at an introductory level, and the actual skill level remains to be seen through more videos.
6. Host Software Engineer
Although only briefly shown, it is evident that the level is qualified.
7. Software Testing Engineer, Hardware Testing Engineer
These roles are not demonstrated much in these videos, making it difficult to evaluate, but reaching an introductory level should be possible if they can produce a finished product.
This is not my expertise, so I can’t provide an accurate assessment, but I believe that with 640,000 followers on Bilibili, he must reach at least an entry-level marketing capability.
Again, this is not my area, but being able to write a PPT and clearly explain his products means he can manage as a sales assistant.
Did you see that? Did you notice? He alone can handle the work of at least a 10-person development team! As long as he has the venue, workers, and logistics, he could become a manufacturer himself! What more can I say? I worship him!
Of course, there is also the possibility that I do not know him, and allow me to speculate maliciously that there is a team behind the person in the video supporting him, and he is merely a presenter.
As for the question of wanting to learn from him, I suggest starting with a development board, researching software, and learning to draw boards and solder. These are generally easier to learn than software. Other abilities can be gradually acquired later; do not set the bar too high for yourself, as life is not easy, and don’t put too much pressure on yourself. Some people are naturally gifted; you cannot envy them.
Computer science students generally face several difficulties in hardware DIY:
1. Hardware experimental environments are relatively complex and space-consuming.
It is well-known that computers have the friendliest experimental environment among all engineering disciplines, which is why students who have not graduated can still produce work. For hardware experimental environments, first, you need a board, and secondly, you need physical space; otherwise, it will be impossible to store all the messy items.
2. Hardware reference materials are relatively hard to find.
From my experience, those who work with software are the ones who love writing articles and blogs without expecting anything in return; regardless of quality, the quantity is very high. Once you read enough, your discernment will improve. However, for hardware, I don’t know if it’s due to the fewer professionals in the field, but at least in the Chinese community, there is very little material, and it is often very old-fashioned, frequently shared on forums. This is very inconvenient.
If manufacturers have English materials, I suggest reading the original DataSheet directly instead of struggling with second-hand materials.
3. Hardware requires money.
Money is indeed an issue, especially for students. Thanks to the development of China’s electronics industry, hardware prices have significantly decreased, but basic equipment still often costs a hundred or two. Students in electronics-related fields benefit from having access to relevant laboratories, which saves them a lot of money on instruments. If you are doing it yourself, you might not use the instruments often enough to justify buying high-quality ones, which could lead to pitfalls.
4. Hardware debugging is relatively challenging.
Debugging hardware is indeed not as convenient as software. Debugging software in an operating system environment is significantly simpler than hardware debugging. Hardware is more of a black box compared to software. There are many internal states but they are not easy to expose. If you are serious about this field, you must pay attention to debugging tools and equipment. Debugging with MCUs that have debugging buses is relatively simple, but pure hardware faults require you to measure them yourself.
However, the thought process behind debugging is similar for engineers. If you can debug software bugs, you can debug hardware bugs as well; it just takes more time.
Download 1: OpenCV-Contrib Extension Module Chinese Tutorial
Reply with "Extension Module Chinese Tutorial" in the backend of the "Beginner Learning Vision" public account to download the first OpenCV extension module tutorial in Chinese, covering installation, SFM algorithms, stereo vision, target tracking, biological vision, super-resolution processing, and more than twenty chapters of content.
Download 2: Python Vision Practical Projects 52 Lectures
Reply with "Python Vision Practical Projects" in the backend of the "Beginner Learning Vision" public account to download 31 practical vision projects, including image segmentation, mask detection, lane line detection, vehicle counting, adding eyeliner, license plate recognition, character recognition, emotion detection, text content extraction, and face recognition, to help quickly learn computer vision.
Download 3: OpenCV Practical Projects 20 Lectures
Reply with "OpenCV Practical Projects 20 Lectures" in the backend of the "Beginner Learning Vision" public account to download 20 practical projects based on OpenCV to advance your OpenCV learning.
Group Chat
Welcome to join the reader group of the public account to communicate with peers. Currently, we have WeChat groups for SLAM, 3D vision, sensors, autonomous driving, computational photography, detection, segmentation, recognition, medical imaging, GAN, algorithm competitions, etc. (which will gradually be subdivided). Please scan the WeChat ID below to join the group, and note: "Nickname + School/Company + Research Direction," for example: "Zhang San + Shanghai Jiao Tong University + Vision SLAM." Please follow the format; otherwise, you will not be approved. Once added successfully, you will be invited into the relevant WeChat group based on your research direction. Please do not send advertisements in the group; otherwise, you will be removed. Thank you for your understanding~