📜 ⬆️ ⬇️

The path from the camp robotics to the creator of cyborgs

image

It is unlikely that anyone will dispute that a team is important in any joint undertaking. People with different expertise and experience have gathered in Motorika , we have programmers, electronics engineers, production workers and designers. Nevertheless, we are always glad to new comrades who appear in our laboratory. Sometimes these “fresh brains” manage to solve problems over which we fought not one day, or even one night. Today is the time of such a story about Tanya.

At the end of the article is important information for those who want to become a camp programmer.

Camp where projects come true


In July 2015, our team was invited to give a lecture at the children's camp, which is organized by our friends GoTo Camp . But this is not a typical camp, here children are immersed in the magical world of data analysis and machine learning, robotics and the Internet of things, bioinformatics, virtual reality, information security, and more. In two weeks at GoTo Camp, children have time to get new knowledge from practitioners from various companies: Yandex, ABBYY, Microsoft, Biocad, Rambler & Co, Deloitte, Intel, Google, etc., to work on their own projects, and someone even gets for an internship or job. In general, a dream, not a camp, even for an adult).
')
image

image

They apply the knowledge that the guys at lectures and practical classes get right there: each of them consists of a team that is working on the implementation of an idea.

image

Tanya was in the camp twice and participated in two projects that were successfully completed and worked.

image

“For the first time I was working in a team on a trolley on which the phone was attached, and the operator controlled the trolley itself, the tilt and turn angles of the phone and the lighting with the help of joysticks. This can be useful for those who shoot the video, we even managed to try to shoot for yourself. The second time I did a robot, remembering its trajectory. First, you show him the route that he will travel back and forth in the future (you can always rewrite it), for example, it may be some specific necessary route in a factory, or a route for cleaning at home. The robot remembers it even after turning off the power, so it does not need to be re-configured each time. I liked both projects, and during the shifts I learned a lot of new things. ”

Let us return to the acquaintance "Motoriki" and Tanya. One of the visiting lecturers were Ilya Chekh and Vasily Khlebnikov. They told about what the company “Motorika” is doing, what they are working on, showed a video and samples of prosthetic hands “KIBI” .

image

At the end of the lecture, the guys invited everyone who is interested to come to our Skolkovo headquarters and solve interesting problems. One of the respondents was Tanya. So she became part of our team.

Our new comrade Tanya


Tanya is 19 years old and she is studying in the second year of MSU at the Faculty of Mechanics and Mathematics.

image

The first programming language she mastered was Python: “The first programming language was Python, we studied it at school. I like to write on it, you can quickly make a working program, in addition, for it there are many different libraries. Some of them, for example, I use for my scientific calculations at the university. But at school I was engaged in Olympiad programming, and Python is not always suitable for it - it works rather slowly, so I started programming in C ++. For some time, then I wrote on RobotC, and now I’m programming for Arduino to work at Motorika. ”

I feel the power of the algorithm in you


In our laboratory, there is always an interesting case for people whose hands grow from where they should. Tanya helped us with the assembly of prostheses, testing the sensors for the myoelectric prosthesis, designed some details.

But the coolest task she decided was to read and process the myosignals from her hand: remove the values ​​from the emg sensors and, processing them, control the hand as needed. In other words, it is necessary that if the muscles are tense strongly, the motor spins quickly, and the direction of rotation depends on the direction of flexion.

image

Reading from the sensors was carried out, but now and then there were various errors that interfered with the proper operation of the prosthesis. The greatest difficulty in this was to find exactly where the error occurred. And there are plenty of options for the occurrence of this error: due to the sensors, their poor adherence to the arm, muscle tone, static stress around, one bad contact, an error in the program, it came to the point that sometimes you just had to restart the computer to make an error disappeared, or change electronics. Interesting moment: recently noticed that the jumps of values ​​also come from whether a person’s feet are on the laboratory floor or raised.

image

Because of the abundance of possible errors during development, problems arose: “For example, we achieved perfect work on a particular day, picked up all the necessary constants, but did not take into account possible changes in some parameters in the room around. If the next day we find errors in our work, it will not always be easy to understand exactly what has changed since the last time. ”Because of this, every time you had to adjust everything again, therefore, the calibration of the prosthesis was added to the beginning of the launch.


It is this calibration algorithm that Tanya wrote and thus significantly reduced the error search range: “To control the hand, you need to understand the approximate range of values ​​during movements, and this calibration is approximately determined. But there are “outliers” in the sensor's operation - so, for example, to search for the level of rest of the hand, it’s difficult to take just the minimum of all values ​​(it may happen to be 0), various averaging in the algorithm counteract this. ”

image

Calibration allows you to get three key values ​​(minimum or dormancy level, maximum level and level when you need to start moving the motor at minimum speed), with which the newcomers are then compared. Such a comparison allows you to more accurately track the signal and translate it into action.

Another problem that still occurs is to choose the optimal time for processing values ​​that are already read in the hand control process. The better and more accurate we process it, the more time is needed for it. And therefore, there is more delay from the user performing a certain action until the moment it is implemented on the arm. Now the processing time is a fraction of a second. If in the future it is necessary to complicate the calibration algorithm, then it will be possible to think about including the signal processing speed in it.

Machine learning, burst theory and prostheses


At this stage, Tanya and the senior motorman in charge of her are focused on fighting the problems from the physical side. In particular, the algorithm was directed to this. In the future, of course, much (averaging versus interference, calibration) can be automated, it will make the sensors work to remove signals more stable, which means you can apply advanced data analysis methods.

Tanya also came into contact with machine learning: “I myself also did a little bit this year in machine learning at mitos for GoTo guys with Alexander Panin in Yandex, and I hope that with the help of them we can get something interesting from our data. It may seem unexpected to some that in such a matter as prostheses, which is most likely associated with medicine and biology, there is so much theory. In machine learning, for example, hides a large number of highly non-trivial mathematics. But there are other sections of it relating to the management of prostheses. In the field of mechanics, I deal with the theory of bursts (another name is wavelets), which are not only an interesting and deep part of functional analysis, but are also applied in information theory, signal processing, tomography, etc. You can read more about this, for example, here . I would also like to try these methods for working with the prosthesis. ”

More! More interesting tasks!


On this task in our laboratory for all eager to apply their knowledge and skills are not exhausted - there are still many. So if you want to join us - always welcome. Express your desire in the comments or write to info@motorica.org.

Bonus for those who read to the end - the grant


Well, the most patient and curious (students and students of 1-2 courses) can get a grant in the direction of robotics and go to one of the three summer camps GoTo Camp for free.

Motility and GoTo Camp announce a joint competition. The task of the participants is only one:



image

If your nozzle works and is successful from the point of view of user experience, it will be cool. In the camp, you can not just bring it to perfection, the nozzle will reach the real users of prostheses - you will get a useful and good deed that will pump your karma. And you still gain experience, knowledge and fresh air to breathe.

Source: https://habr.com/ru/post/403989/


All Articles