«Понятный и удобный параллелизм для робототехники», представление диссертации

До­клад­чик: вы­пуск­ник фа­куль­те­та ВМК ННГУ Ан­дрей Ру­са­ков (ас­пи­рант, ка­фед­ра про­грамм­ной ин­же­не­рии ETH Цю­рих, на­уч­ный ру­ко­во­ди­тель – проф. Bertrand Meyer).

Ан­но­та­ция:

Кон­ку­рент­ность – это обоб­ща­ю­щая па­ра­диг­ма про­ек­ти­ро­ва­ния про­грамм­ных си­стем, вы­пол­ня­ю­щих несколь­ко за­дач од­но­вре­мен­но (па­рал­ле­лизм) или с пре­ры­ва­ни­я­ми (мно­го­за­дач­ность). Боль­шое ко­ли­че­ство ро­бо­ти­зи­ро­ван­ных си­стем по сво­ей при­ро­де кон­ку­рент­ны: они со­сто­ят из мно­же­ства ком­по­нен­тов, ко­то­рые мо­гут ис­пол­нять­ся од­но­вре­мен­но. Од­на­ко, до се­го­дняш­не­го дня кон­ку­рент­ность не ста­ла стан­дарт­ной прак­ти­кой в про­грам­ми­ро­ва­нии ро­бо­тов и за­ча­стую ис­поль­зо­ва­ние кон­ку­рент­но­сти в ро­бо­то­тех­ни­ке огра­ни­чи­ва­ет­ся за­пус­ком несколь­ких неза­ви­си­мых по­то­ков вы­чис­ле­ний. При­чи­на все­го это­го ле­жит в слож­но­сти су­ще­ству­ю­щих под­хо­дов и ме­ха­низ­мов со­зда­ния кон­ку­рент­ных си­стем, ко­то­рые тре­бу­ют руч­ной ма­ни­пу­ля­ции при­ми­ти­ва­ми син­хро­ни­за­ции, по­это­му ча­сто яв­ля­ют­ся ис­точ­ни­ком оши­бок. Об­щая цель дис­сер­та­ции за­клю­ча­ет­ся в со­зда­нии про­сто­го и без­опас­но­го кон­ку­рент­но­го под­хо­да, что­бы он мог быть ши­ро­ко ис­поль­зо­ван спе­ци­а­ли­ста­ми в ро­бо­то­тех­ни­ке.

Для до­сти­же­ния по­став­лен­ной цели мы преж­де все­го по­ста­ра­лись оце­нить роль кон­ку­рент­но­го про­грам­ми­ро­ва­ния в со­вре­мен­ном ро­бо­то­стро­е­нии. При­ве­дён­ное нами опрос­ное ис­сле­до­ва­ние яв­ля­ет­ся но­вым в дан­ной об­ла­сти. Оно на­прав­ле­но на иден­ти­фи­ка­цию труд­но­стей в ис­поль­зо­ва­нии кон­ку­рент­но­го про­грам­ми­ро­ва­ния в ро­бо­то­тех­ни­ке, а так­же сбор воз­мож­ных идей для улуч­ше­ния сло­жив­шей­ся си­ту­а­ции. Глав­ным ре­зуль­та­том дан­ной ра­бо­ты яв­ля­ет­ся Roboscoop – про­грамм­ный фрейм­ворк для ро­бо­то­тех­ни­ки, где ак­цент сде­лан на кон­ку­рент­ном про­грам­ми­ро­ва­нии и по­лез­ных прак­ти­ках про­грамм­ной ин­же­не­рии, к при­ме­ру, шаб­ло­нах про­ек­ти­ро­ва­ния. Roboscoop поз­во­ля­ет про­ще пред­став­лять ро­бо­ти­зи­ро­ван­ные ком­по­нен­ты и сце­на­рии их ис­поль­зо­ва­ния. Мы про­из­ве­ли оцен­ку про­сто­ты ис­поль­зо­ва­ния фрейм­вор­ка пу­тём срав­не­ния его с су­ще­ству­ю­щи­ми си­сте­ма­ми и пу­тём ис­поль­зо­ва­ния его в об­ра­зо­ва­тель­ных кур­сах. Мы так­же про­те­сти­ро­ва­ли удоб­ство и функ­ци­о­нал со­здан­но­го фрейм­вор­ка на несколь­ких при­ло­же­ни­ях с ре­аль­ны­ми ро­бо­та­ми, вклю­чая SmartWalker – ум­ный ро­бо­ти­зи­ро­ван­ный рол­ла­тор для по­жи­лых лю­дей и лю­дей с про­бле­ма­ми пе­ре­дви­же­ния.

Дис­сер­та­ция при­во­дит опыт со­зда­ния мно­го­це­ле­во­го об­ра­зо­ва­тель­но­го кур­са, ко­то­рый эф­фек­тив­но со­че­та­ет в себе кон­ку­рент­ное про­грам­ми­ро­ва­ние, ро­бо­то­тех­ни­ку и про­грамм­ную ин­же­не­рию. Этот курс успеш­но пре­по­да­вал­ся сту­ден­там Швей­цар­ской выс­шей тех­ни­че­ской шко­лы Цю­ри­ха на про­тя­же­нии трёх лет и по­мог улуч­шить со­здан­ный нами фрейм­ворк.