I have been studying in University of Edinburgh since 2018 and I focused on taking many machine learning courses and courses on robotics and reasoning. I am working on autonomous learning algorithms for robots. I am very passionate about the challenging topics in robotics and they inspire me to explore more into this promising field.
My research interests are reinforcement learning, self-organization and robot control.
In my Honours project, I studied and analysed the homeokinesis learning algorithms and did experiments in real robots. My work as an intern at IPAB last summer was important for developing my research interest. Self-organizing robot control was studied and implemented to optimise reliability, efficiency and energy consumption. We achieved behaviour generation for different kinds of real robots in efficient and systematic ways. And we tested the theory in practice to assess hybrid learning algorithms based on deep RL and to prepare also applications in other domains such as search and rescue, agriculture, mining, or mobility on demand. Last year, I contributed a paper and was invited for a talk in the NeuroMONSTER conference 2021, titled ‘self- organising deep recurrent neural networks’. I shared our group’s ideas on incorporating general principles from brain science in understanding and designing a plausible model of the brain. I got inspired and motivated. I found my passion for doing research in robotics and the satisfaction of researching ideas that can make a real difference for the society in the future.
In robotics, I take the approach to combine theory with practice, I first test my algorithms in simulations that I can easily design and modify and then I deploy my ideas to real robotic applications. I have built many robots including wheeled-cars, hexapods and robotic arms. Different types of robots are used in different scenarios in my project to simulate real life use cases. For example, when I was testing out the self-organizing behaviours on wheel-ed robots to find out maximum coverage of an area, I was also thinking about how this self-organizing behaviour could make vacuum cleaning robots more efficient in route planning. I have been following some of recent research projects such as TRADR, a disaster rescue robot. This robot would be more efficient with our algorithm if it can explore its environment in a systematic way and generate more exploratory behaviours.
The foundations for this neurorobotics are machine learning, control theory and brain theory. I like the fact that many ML theories are firstly proposed by inspiration of other fields and then tested, proved and challenged. The abstraction from the big data is so fascinating to me, they show us a logical world where your observation of it is shaped by your own perception. This is clear for robots; can you honestly say it’s entirely different for humans?
Computer Vision and NLP are also important in robotics. In the final-year system design project, I am responsible for the vision part of our group’s blackboard cleaning robot. I use bounding boxes to cluster the cleaning area for the robot to efficiently plan the desired cleaning pattern. I have also done software development projects with robot simulation using Unity ml-agents lib and Core ML in Swift.
I like participating in many hackathons, e.g. 2018 Oxford Hack, 2019 Hack the Burgh V and 2019 Great Uni Hack. In these hackathons, I built up teams and we worked on interesting industrial problems, e.g. the digital queueing system, speech-to-text recognition system. When we worked on an idea and after 24 hours we got excellent results, I felt motivated to acquire more and practice more.
In terms of relevant knowledge and training skills, I have been doing research in robotics over a year, thus I am very familiar with C++ and other robotic software packages, such as ROS and robotic simulators. Since I’ve taken many machine learning courses, I am very familiar with ML frameworks, such as Pytorch, TensorFlow. I am also familiar with C and MATLAB since I have done quite a lot of work in vision and control before. I love programming because I like the way how a concept is presented in different languages. When I have some ideas, I often try to test my skills in different languages.
I have huge interests in game development in Unity (with C#) and app development incorporating machine learning. I am an Apple iOS developer and I’ve developed iOS apps using my pre-trained Yolo-v3 to do image recognition with iPhone cameras. I have developed a cart pole self-played iOS game using Core ML in Swift to do Q-learning in RL. I have also developed a 2-D robot simulation iOS app where the robot can perform some self-organizing behaviours inspired by my summer research.
I take the approach to combine software with hardware. I have done many robotic projects with machine learning and computer vision, such as navigation with four-wheeled robots, autonomous behaviours on hexapods and reinforcement learning on stand-up tasks with humanoid robots. I did these projects with my self-made custom robots to test my ideas and seek out possibilities for applications with ML algorithms in real life.
I have been studying artificial intelligence in UoE for four years, the more I learn about deep learning, robotics, the more I want to learn. I hope to carry on my path in my adventure to the AI world.