<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>http://digida.mgpu.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Madara</id>
	<title>Поле цифровой дидактики - Вклад [ru]</title>
	<link rel="self" type="application/atom+xml" href="http://digida.mgpu.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Madara"/>
	<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/Madara"/>
	<updated>2026-05-18T14:09:36Z</updated>
	<subtitle>Вклад</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D1%80%D0%BE%D0%B1%D0%BE%D1%82%D0%BE%D0%BC-%D0%BC%D0%B0%D0%BD%D0%B8%D0%BF%D1%83%D0%BB%D1%8F%D1%82%D0%BE%D1%80%D0%BE%D0%BC&amp;diff=6880</id>
		<title>Управление роботом-манипулятором</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D1%80%D0%BE%D0%B1%D0%BE%D1%82%D0%BE%D0%BC-%D0%BC%D0%B0%D0%BD%D0%B8%D0%BF%D1%83%D0%BB%D1%8F%D1%82%D0%BE%D1%80%D0%BE%D0%BC&amp;diff=6880"/>
		<updated>2022-12-22T18:47:13Z</updated>

		<summary type="html">&lt;p&gt;Madara: Новая страница: «Удаленное управление включает в себя два режима работы:  &amp;lt;br&amp;gt; 1) сервер (компьютер, подключенный к управляющему устройству);  &amp;lt;br&amp;gt; 2) при нажатии на кнопку «Сервер» программа переходит в режим прослушивания порта для ожидания подключения.   &amp;lt;br&amp;gt; Клиент (удаленн...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Удаленное управление включает в себя два режима работы: &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1) сервер (компьютер, подключенный к управляющему устройству); &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
2) при нажатии на кнопку «Сервер» программа переходит в режим прослушивания порта для ожидания подключения. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Клиент (удаленный компьютер) &lt;br /&gt;
Для подключения в режиме клиента в текстовое поле вводится адрес&lt;br /&gt;
сервера. При отсутствии удаленного подключения на форме отображается&lt;br /&gt;
надпись «Локальное управление» без выделения, при удаленном – «Подключен в режиме Сервер» и «Подключен в режиме Клиент» соответственно. &lt;br /&gt;
На других формах также будет отображаться текущее состояние. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
При подключении в режиме сервера управляющие кнопки будут неактивными для исключения возможности вмешательства в процесс. &lt;br /&gt;
Наблюдение за движением робота происходит с помощью USB-камеры, что позволяет очень точно позиционировать схват манипулятора. &lt;br /&gt;
&lt;br /&gt;
Загрузка видео с камеры состоит из двух частей. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1 Установка параметров изображения&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Basic&amp;quot; line&amp;gt;&lt;br /&gt;
Public Touchless As New TouchlessLib.TouchlessMgr&lt;br /&gt;
Public WebkaAs TouchlessLib.Camera = Touchless.Cameras.Item(0) &lt;br /&gt;
Dim command As String&lt;br /&gt;
Delegate Sub SetTextCallback(ByVal [text] AsString) &lt;br /&gt;
Private Sub Form1_Load(sender AsSystem.Object, e AsSystem.EventArgs) &lt;br /&gt;
Handles MyBase.Load &lt;br /&gt;
If Touchless.Cameras.Count &amp;lt;&amp;gt; 0 Then&lt;br /&gt;
 Webka = Touchless.Cameras.Item(0) &lt;br /&gt;
 Touchless.CurrentCamera = Webka &lt;br /&gt;
 Touchless.CurrentCamera.CaptureHeight = 480 &lt;br /&gt;
 Touchless.CurrentCamera.CaptureWidth = 640 &lt;br /&gt;
End If&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
2 Получение изображения&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Basic&amp;quot; line&amp;gt;&lt;br /&gt;
Private Sub Timer1_Tick(sender AsObject, e AsEventArgs) Handles Timer1.Tick &lt;br /&gt;
PictureBox1.Image = Touchless.CurrentCamera.GetCurrentImage &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Программа позволяет строить сложные задачи, включающие в себя циклы, множественные повторы и динамические переходы к различным частям&lt;br /&gt;
управляющей программы. &lt;br /&gt;
&lt;br /&gt;
Ниже приведены ключевые слова, используемые при формировании&lt;br /&gt;
управляющей программы: &lt;br /&gt;
&amp;quot;BEGIN&amp;quot; – начало программы&lt;br /&gt;
&amp;quot;FINISH&amp;quot;– конец программы&lt;br /&gt;
&amp;quot;DO:&amp;quot; – начало подпрограммы&lt;br /&gt;
&amp;quot;END_DO&amp;quot;– конец подпрограммы&lt;br /&gt;
Приведен пример программного кода, осуществляющий автоматическое&lt;br /&gt;
управление: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Basic&amp;quot; line&amp;gt;&lt;br /&gt;
Dim q As String &lt;br /&gt;
Dim i, b, k, r, t, m As Integer &lt;br /&gt;
b = RichTextBox2.GetLineFromCharIndex(RichTextBox2.Find(&amp;quot;BEGIN&amp;quot;)) &lt;br /&gt;
k = RichTextBox2.GetLineFromCharIndex(RichTextBox2.Find(&amp;quot;FINISH&amp;quot;)) &lt;br /&gt;
Fori = b + 1 To k - 1 &lt;br /&gt;
&#039;начало&lt;br /&gt;
If (Microsoft.VisualBasic.Left(RichTextBox2.Lines(i), 3) = &amp;quot;DO:&amp;quot;) Then &lt;br /&gt;
r = CInt(Microsoft.VisualBasic.Right(RichTextBox2.Lines(i), &lt;br /&gt;
Len(RichTextBox2.Lines(i)) - 3)) &lt;br /&gt;
For t = 0 To r - 1 &lt;br /&gt;
m = 0 &lt;br /&gt;
DoWhileRichTextBox2.Lines(i + m) &amp;lt;&amp;gt;&amp;quot;END_DO&amp;quot;&lt;br /&gt;
m += 1 &lt;br /&gt;
IfRichTextBox2.Lines(i + m) &amp;lt;&amp;gt;&amp;quot;END_DO&amp;quot;Then &lt;br /&gt;
q = RichTextBox2.Lines(i + m) &lt;br /&gt;
SerialPort1.Write(q &amp;amp;vbCr) &lt;br /&gt;
SleepVB(20) &lt;br /&gt;
EndIf &lt;br /&gt;
Loop &lt;br /&gt;
Next &lt;br /&gt;
i += m + 1 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Цикловое управление требует задержки на выполнение команды (в программе задержка установлена в размере 20 с). Задержка осуществлена отдельной функцией. Для сокращения времени ожидания в функции паузы осуществляется проверка конца операции. После окончания выполнения каждой операции в специальное текстовое поле выводится текст, содержащий ответ порта (положение манипулятора и т. д.). Ключевое слово, определяющее завершение операции&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Basic&amp;quot; line&amp;gt;&lt;br /&gt;
&amp;quot;READYR:&amp;quot;, используется для окончания функции паузы: &lt;br /&gt;
SubSleepVB(Seconds) &lt;br /&gt;
Dim Start AsDouble&lt;br /&gt;
Start = Microsoft.VisualBasic.DateAndTime.Timer &lt;br /&gt;
DoWhileMicrosoft.VisualBasic.DateAndTime.Timer&amp;lt; &lt;br /&gt;
Start + Seconds &lt;br /&gt;
Application.DoEvents() &lt;br /&gt;
IfRichTextBox1.Text.ToLower.Contains(&amp;quot;READYR:&amp;quot;) &lt;br /&gt;
Then&lt;br /&gt;
 RichTextBox1.Text = &amp;quot;&amp;quot;&lt;br /&gt;
Exit Do&lt;br /&gt;
EndIf&lt;br /&gt;
Loop&lt;br /&gt;
EndSub&lt;br /&gt;
Пример кода управляющей программы: &lt;br /&gt;
«BEGIN &#039; начало программы &lt;br /&gt;
HOME ‘ переход в начальное положение&lt;br /&gt;
M10 ‘ схват разжать &lt;br /&gt;
DO:3 &#039; начало цикла. повторить 3 раза&lt;br /&gt;
G01X00000Y00000Z00500F00000 &lt;br /&gt;
G01X00000Y00000Z00000F00000 &lt;br /&gt;
END_DO &#039;Конец цикла повторов&lt;br /&gt;
M11 ‘ схват сжать&lt;br /&gt;
FINISH &#039; конец программы»&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Madara</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%94%D0%B8%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0_%D0%B4%D0%B5%D1%8F%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D0%B4%D0%BB%D1%8F_%D0%B2%D0%B0%D1%80%D0%B8%D0%B0%D0%BD%D1%82%D0%B0_%D1%81%D0%BE%D0%B5%D0%B4%D0%B8%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F_%D1%81_ROSBridge&amp;diff=6879</id>
		<title>Диаграмма деятельности для варианта соединения с ROSBridge</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%94%D0%B8%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0_%D0%B4%D0%B5%D1%8F%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D0%B4%D0%BB%D1%8F_%D0%B2%D0%B0%D1%80%D0%B8%D0%B0%D0%BD%D1%82%D0%B0_%D1%81%D0%BE%D0%B5%D0%B4%D0%B8%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F_%D1%81_ROSBridge&amp;diff=6879"/>
		<updated>2022-12-22T17:50:45Z</updated>

		<summary type="html">&lt;p&gt;Madara: Madara переименовал страницу Диаграмма деятельности для варианта соединения с ROSBridge в Разработка системы для взаимодействия между Robot Operating System и iOS&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#перенаправление [[Разработка системы для взаимодействия между Robot Operating System и iOS]]&lt;/div&gt;</summary>
		<author><name>Madara</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D0%B2%D0%B7%D0%B0%D0%B8%D0%BC%D0%BE%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D1%8F_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_Robot_Operating_System_%D0%B8_iOS&amp;diff=6878</id>
		<title>Разработка системы для взаимодействия между Robot Operating System и iOS</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D0%B2%D0%B7%D0%B0%D0%B8%D0%BC%D0%BE%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D1%8F_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_Robot_Operating_System_%D0%B8_iOS&amp;diff=6878"/>
		<updated>2022-12-22T17:50:45Z</updated>

		<summary type="html">&lt;p&gt;Madara: Madara переименовал страницу Диаграмма деятельности для варианта соединения с ROSBridge в Разработка системы для взаимодействия между Robot Operating System и iOS&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Основной целью разработки системы является организация управления манипуляторами робота, разработанного в технологическом университете Lappeenranta, с помощью мобильных устройств. Для этого необходимо реализовать возможность передачи данных с мобильного устройства роботу. Используемый для работы робот состоит из мобильной платформы, двух манипуляторов, головы и фиксированного торса. Основным предназначением робота является оказание помощи человеку в ремонте и установки деталей машин. Например, данный робот может откручивать гайки и болты, устанавливать электронные карты, сверлить детали, открывать и закрывать отсеки и многое другое. В основе экспериментального робота заложена архитектура Robot Operating System. &lt;br /&gt;
&lt;br /&gt;
Robot Operating System (ROS) — это программная платформа для программирования роботов. Первоначально она была разработана в 2007 году под названием switchyard в Лаборатории Искусственного Интеллекта Стэндфордского Университета [1]. Платформа основана на архитектуре графов, где обработка данных происходит в узлах, которые могут получать и передавать сообщения между собой. &lt;br /&gt;
&lt;br /&gt;
При моделировании поведения проектируемой или анализируемой системы возникает необходимость не только представить процесс изменения ее состояний, но и детализировать особенности алгоритмической и логической реализации выполняемых системой операций. &lt;br /&gt;
&lt;br /&gt;
Для моделирования процесса выполнения операций можно использовать язык UML, в котором для этого разработаны диаграммы деятельности. Применяемая в них графическая нотация во многом похожа на нотацию диаграммы состояний, поскольку на этих диаграммах также присутствуют обозначения состояний и переходов. Каждое состояние на диаграмме деятельности соответствует выполнению некоторой элементарной операции, а переход в следующее состояние выполняется только при завершении этой операции [2]. &lt;br /&gt;
&lt;br /&gt;
Таким образом, диаграммы деятельности можно считать частным случаем диаграмм состояний. Они позволяют реализовать в языке UML особенности процедурного и синхронного управления, обусловленного завершением внутренних деятельностей и действий. Основным направлением использования диаграмм деятельности является визуализация особенностей реализации операций классов, когда необходимо представить алгоритмы их выполнения.&lt;br /&gt;
&lt;br /&gt;
На рисунке 1 представлена диаграмма деятельности для варианта соединения с ROSBridge.  &lt;br /&gt;
[[Файл:58895.001.jpg|center|описание]]&lt;br /&gt;
Рис. 1. Диаграмма деятельности для варианта соединения с ROSBridge&lt;br /&gt;
&lt;br /&gt;
После инициализации объекта ROSConnector, перед попыткой соединения с сервером необходимо произвести валидацию параметров сервера и порта. Если значения корректны, произвести попытку соединения с сервером. Далее, в случае успешного соединения, перейти в состояние ожидания добавления объектов слушателей/отправителей, а также отправки сервис-параметров в ROSBridge. В случае неудачного соединения — произвести распознавание полученной ошибки и сообщить объекту-делегату, что соединение не установлено, вместе с полученной ошибкой. &lt;br /&gt;
&lt;br /&gt;
На рисунке 2 представлена диаграмма деятельности для варианта добавления объекта ROSPublisher. &lt;br /&gt;
[[Файл:58895.002.jpg|center]]&lt;br /&gt;
Рис. 2. Диаграмма деятельности для варианта добавления объекта ROSPublisher&lt;br /&gt;
&lt;br /&gt;
Для добавления отправителя сообщений необходимо инициализировать объект ROSPublisher. При инициализации необходимо указать topic, в который будут отправляться сообщения, а также указать тип сообщений, и произвести проверку корректности указанного типа. Далее — задать идентификатор. В случае успешного добавления — перевести значение логического поля активности данного отправителя в значение true, если при добавлении произошла ошибка — сообщить об этом объекту-делегату. &lt;br /&gt;
&lt;br /&gt;
На рисунке 3 представлена диаграмма деятельности для варианта добавления объекта ROSSubscriber. &lt;br /&gt;
[[Файл:58895.003.jpg|центр|Диаграмма деятельности для варианта добавления объекта ROSSubscriber ]]&lt;br /&gt;
Рис. 3. Диаграмма деятельности для варианта добавления объекта ROSSubscriber &lt;br /&gt;
&lt;br /&gt;
Для добавления слушателя topic’a, необходимо инициализировать объект ROSSubscriber. При инициализации необходимо указать topic, сообщения которого объект будет слушать, тип получаемых сообщений, проверить корректность указанного типа, а также задать объект-делегат, методы которого будут вызываться при получении сообщений. Далее — задать минимальный интервал между принятием сообщений. Опционально присутствует возможность задать длину последовательности, степень сжатия и размер фрагментов. В случае успешного добавления — перевести значение логического поля активности данного слушателя в значение true, а если при добавлении слушателя произошла ошибка — сообщить об этом объекту-делегату. &lt;br /&gt;
&lt;br /&gt;
Литература: &lt;br /&gt;
1. ROS — Robot Operating System [Электронный ресурс]. — http://robocraft.ru/blog/robosoft/721.html. &lt;br /&gt;
2. Леоненков А. В. Самоучитель UML. [Текст]. — СПб.: БХВ-Петербург, 2004. — 432 с.&lt;/div&gt;</summary>
		<author><name>Madara</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D0%B2%D0%B7%D0%B0%D0%B8%D0%BC%D0%BE%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D1%8F_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_Robot_Operating_System_%D0%B8_iOS&amp;diff=6877</id>
		<title>Разработка системы для взаимодействия между Robot Operating System и iOS</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D0%B2%D0%B7%D0%B0%D0%B8%D0%BC%D0%BE%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D1%8F_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_Robot_Operating_System_%D0%B8_iOS&amp;diff=6877"/>
		<updated>2022-12-22T17:49:42Z</updated>

		<summary type="html">&lt;p&gt;Madara: Новая страница: «Основной целью разработки системы является организация управления манипуляторами робота, разработанного в технологическом университете Lappeenranta, с помощью мобильных устройств. Для этого необходимо реализовать возможность передачи данных с мобильно...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Основной целью разработки системы является организация управления манипуляторами робота, разработанного в технологическом университете Lappeenranta, с помощью мобильных устройств. Для этого необходимо реализовать возможность передачи данных с мобильного устройства роботу. Используемый для работы робот состоит из мобильной платформы, двух манипуляторов, головы и фиксированного торса. Основным предназначением робота является оказание помощи человеку в ремонте и установки деталей машин. Например, данный робот может откручивать гайки и болты, устанавливать электронные карты, сверлить детали, открывать и закрывать отсеки и многое другое. В основе экспериментального робота заложена архитектура Robot Operating System. &lt;br /&gt;
&lt;br /&gt;
Robot Operating System (ROS) — это программная платформа для программирования роботов. Первоначально она была разработана в 2007 году под названием switchyard в Лаборатории Искусственного Интеллекта Стэндфордского Университета [1]. Платформа основана на архитектуре графов, где обработка данных происходит в узлах, которые могут получать и передавать сообщения между собой. &lt;br /&gt;
&lt;br /&gt;
При моделировании поведения проектируемой или анализируемой системы возникает необходимость не только представить процесс изменения ее состояний, но и детализировать особенности алгоритмической и логической реализации выполняемых системой операций. &lt;br /&gt;
&lt;br /&gt;
Для моделирования процесса выполнения операций можно использовать язык UML, в котором для этого разработаны диаграммы деятельности. Применяемая в них графическая нотация во многом похожа на нотацию диаграммы состояний, поскольку на этих диаграммах также присутствуют обозначения состояний и переходов. Каждое состояние на диаграмме деятельности соответствует выполнению некоторой элементарной операции, а переход в следующее состояние выполняется только при завершении этой операции [2]. &lt;br /&gt;
&lt;br /&gt;
Таким образом, диаграммы деятельности можно считать частным случаем диаграмм состояний. Они позволяют реализовать в языке UML особенности процедурного и синхронного управления, обусловленного завершением внутренних деятельностей и действий. Основным направлением использования диаграмм деятельности является визуализация особенностей реализации операций классов, когда необходимо представить алгоритмы их выполнения.&lt;br /&gt;
&lt;br /&gt;
На рисунке 1 представлена диаграмма деятельности для варианта соединения с ROSBridge.  &lt;br /&gt;
[[Файл:58895.001.jpg|center|описание]]&lt;br /&gt;
Рис. 1. Диаграмма деятельности для варианта соединения с ROSBridge&lt;br /&gt;
&lt;br /&gt;
После инициализации объекта ROSConnector, перед попыткой соединения с сервером необходимо произвести валидацию параметров сервера и порта. Если значения корректны, произвести попытку соединения с сервером. Далее, в случае успешного соединения, перейти в состояние ожидания добавления объектов слушателей/отправителей, а также отправки сервис-параметров в ROSBridge. В случае неудачного соединения — произвести распознавание полученной ошибки и сообщить объекту-делегату, что соединение не установлено, вместе с полученной ошибкой. &lt;br /&gt;
&lt;br /&gt;
На рисунке 2 представлена диаграмма деятельности для варианта добавления объекта ROSPublisher. &lt;br /&gt;
[[Файл:58895.002.jpg|center]]&lt;br /&gt;
Рис. 2. Диаграмма деятельности для варианта добавления объекта ROSPublisher&lt;br /&gt;
&lt;br /&gt;
Для добавления отправителя сообщений необходимо инициализировать объект ROSPublisher. При инициализации необходимо указать topic, в который будут отправляться сообщения, а также указать тип сообщений, и произвести проверку корректности указанного типа. Далее — задать идентификатор. В случае успешного добавления — перевести значение логического поля активности данного отправителя в значение true, если при добавлении произошла ошибка — сообщить об этом объекту-делегату. &lt;br /&gt;
&lt;br /&gt;
На рисунке 3 представлена диаграмма деятельности для варианта добавления объекта ROSSubscriber. &lt;br /&gt;
[[Файл:58895.003.jpg|центр|Диаграмма деятельности для варианта добавления объекта ROSSubscriber ]]&lt;br /&gt;
Рис. 3. Диаграмма деятельности для варианта добавления объекта ROSSubscriber &lt;br /&gt;
&lt;br /&gt;
Для добавления слушателя topic’a, необходимо инициализировать объект ROSSubscriber. При инициализации необходимо указать topic, сообщения которого объект будет слушать, тип получаемых сообщений, проверить корректность указанного типа, а также задать объект-делегат, методы которого будут вызываться при получении сообщений. Далее — задать минимальный интервал между принятием сообщений. Опционально присутствует возможность задать длину последовательности, степень сжатия и размер фрагментов. В случае успешного добавления — перевести значение логического поля активности данного слушателя в значение true, а если при добавлении слушателя произошла ошибка — сообщить об этом объекту-делегату. &lt;br /&gt;
&lt;br /&gt;
Литература: &lt;br /&gt;
1. ROS — Robot Operating System [Электронный ресурс]. — http://robocraft.ru/blog/robosoft/721.html. &lt;br /&gt;
2. Леоненков А. В. Самоучитель UML. [Текст]. — СПб.: БХВ-Петербург, 2004. — 432 с.&lt;/div&gt;</summary>
		<author><name>Madara</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:58895.003.jpg&amp;diff=6876</id>
		<title>Файл:58895.003.jpg</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:58895.003.jpg&amp;diff=6876"/>
		<updated>2022-12-22T17:47:24Z</updated>

		<summary type="html">&lt;p&gt;Madara: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Диаграмма деятельности для варианта добавления объекта ROSSubscriber&lt;/div&gt;</summary>
		<author><name>Madara</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:58895.002.jpg&amp;diff=6875</id>
		<title>Файл:58895.002.jpg</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:58895.002.jpg&amp;diff=6875"/>
		<updated>2022-12-22T17:44:31Z</updated>

		<summary type="html">&lt;p&gt;Madara: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Диаграмма деятельности для варианта добавления объекта ROSPublisher&lt;/div&gt;</summary>
		<author><name>Madara</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:58895.001.jpg&amp;diff=6874</id>
		<title>Файл:58895.001.jpg</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:58895.001.jpg&amp;diff=6874"/>
		<updated>2022-12-22T17:23:20Z</updated>

		<summary type="html">&lt;p&gt;Madara: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Рис. 1. Диаграмма деятельности для варианта соединения с ROSBridge&lt;/div&gt;</summary>
		<author><name>Madara</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%9D%D0%B5%D0%B9%D1%80%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B5%D1%82%D1%8C&amp;diff=5445</id>
		<title>Нейронная сеть</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%9D%D0%B5%D0%B9%D1%80%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B5%D1%82%D1%8C&amp;diff=5445"/>
		<updated>2022-11-08T22:19:38Z</updated>

		<summary type="html">&lt;p&gt;Madara: Новая страница: «{{Понятие |Description=Нейронная сеть — это метод в искусственном интеллекте, который учит компьютеры обрабатывать данные таким же способом, как и человеческий мозг. Это тип процесса машинного обучения, называемый глубоким обучением, который использует вза...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Понятие&lt;br /&gt;
|Description=Нейронная сеть — это метод в искусственном интеллекте, который учит компьютеры обрабатывать данные таким же способом, как и человеческий мозг. Это тип процесса машинного обучения, называемый глубоким обучением, который использует взаимосвязанные узлы или нейроны в слоистой структуре, напоминающей человеческий мозг. Он создает адаптивную систему, с помощью которой компьютеры учатся на своих ошибках и постоянно совершенствуются. Таким образом, искусственные нейронные сети пытаются решать сложные задачи, такие как резюмирование документов или распознавание лиц, с более высокой точностью.&lt;br /&gt;
|Field_of_knowledge=Информатика&lt;br /&gt;
|similar_concepts=Синапс, нейрон, мозг человека, нейронная связь&lt;br /&gt;
}}&lt;br /&gt;
Нейронная сеть — это последовательность нейронов, соединенных между собой синапсами. Структура нейронной сети пришла в мир программирования прямиком из биологии. Благодаря такой структуре, машина обретает способность анализировать и даже запоминать различную информацию. Нейронные сети также способны не только анализировать входящую информацию, но и воспроизводить ее из своей памяти. Заинтересовавшимся обязательно к просмотру 2 видео из TED Talks: Видео 1, Видео 2). Другими словами, нейросеть это машинная интерпретация мозга человека, в котором находятся миллионы нейронов передающих информацию в виде электрических импульсов.&lt;br /&gt;
&lt;br /&gt;
Какие бывают нейронные сети?&lt;br /&gt;
&lt;br /&gt;
Пока что мы будем рассматривать примеры на самом базовом типе нейронных сетей — это сеть прямого распространения (далее СПР). Также в последующих статьях я введу больше понятий и расскажу вам о рекуррентных нейронных сетях. СПР как вытекает из названия это сеть с последовательным соединением нейронных слоев, в ней информация всегда идет только в одном направлении.&lt;br /&gt;
&lt;br /&gt;
Для чего нужны нейронные сети?&lt;br /&gt;
&lt;br /&gt;
Нейронные сети используются для решения сложных задач, которые требуют аналитических вычислений подобных тем, что делает человеческий мозг. Самыми распространенными применениями нейронных сетей является:&lt;br /&gt;
&lt;br /&gt;
Классификация — распределение данных по параметрам. Например, на вход дается набор людей и нужно решить, кому из них давать кредит, а кому нет. Эту работу может сделать нейронная сеть, анализируя такую информацию как: возраст, платежеспособность, кредитная история и тд.&lt;br /&gt;
&lt;br /&gt;
Предсказание — возможность предсказывать следующий шаг. Например, рост или падение акций, основываясь на ситуации на фондовом рынке.&lt;br /&gt;
&lt;br /&gt;
Распознавание — в настоящее время, самое широкое применение нейронных сетей. Используется в Google, когда вы ищете фото или в камерах телефонов, когда оно определяет положение вашего лица и выделяет его и многое другое.&lt;/div&gt;</summary>
		<author><name>Madara</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=Ceebot_4&amp;diff=5444</id>
		<title>Ceebot 4</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=Ceebot_4&amp;diff=5444"/>
		<updated>2022-11-08T21:53:10Z</updated>

		<summary type="html">&lt;p&gt;Madara: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DEG&lt;br /&gt;
|Description=Игра содержит несколько режимов игры: миссии с единой сюжетной линией, упражнения, бои, свободная игра, игра на своей карте (в версии 1.8). Для прохождения режима кампании, состоящей из 36-и заданий (в патчах были добавлены несколько новых миссий) на 9-и планетах, навыки программирования необязательны, программы сбора ресурсов или охраны базы предоставляются уже готовыми к запуску и помещёнными в личные меню роботов. После успешного прохождения каждой миссии или нескольких провалов этой миссии становится доступна пошаговая подсказка к прохождению. Роботами можно управлять вручную с помощью клавиш клавиатуры и мыши или джойстика.&lt;br /&gt;
&lt;br /&gt;
К каждой миссии NASA с помощью коммуникатора SatCom посылает задание для астронавта с объяснением, что необходимо сделать. В том же SatCom находится характеристика текущей планеты, полученная с орбитального разведывательного зонда, и обширная справка с описаниями активных предметов и языка Cbot. Также зачастую NASA пересылают готовую заготовку для управления роботами — готовая программа с помощью которой можно решить поставленную задачу миссии.&lt;br /&gt;
&lt;br /&gt;
Главной особенностью игры является возможность создавать программы, в соответствии с которыми в игре действуют роботы (задавая им алгоритмы самостоятельной работы и заменяя ими монотонные действия, которые может делать и сам игрок), поэтому считается, что игра способствует обучению программированию. Язык программирования, встроенный в игру, похож на C++ или Java, но имеется ограничение на размер программы — не более 20 000 символов (10 000 до патча 1.8), что не позволяет писать серьёзные программы вроде имитации искусственного интеллекта.&lt;br /&gt;
|Website=http://www.ceebot.com/colobot/index-e.php&lt;br /&gt;
|Ages=15&lt;br /&gt;
|Language_Ru_Eng=English&lt;br /&gt;
|learning_cases=Пошаговое руководство&lt;br /&gt;
|Assistance tools=Подсказки, Адаптивный помощник&lt;br /&gt;
|Developer=Epsitec&lt;br /&gt;
|launch year=2000&lt;br /&gt;
|closing year=2004&lt;br /&gt;
|Clarifying_video=https://www.youtube.com/watch?v=Dk0CJQiV57k&lt;br /&gt;
|Ancestors=Colobot&lt;br /&gt;
|Difficult=Очень старая графика, может быть несовместима с современными платформами, английский интерфейс&lt;br /&gt;
|distant_collab=Нет&lt;br /&gt;
|License=Открытая&lt;br /&gt;
|Визуальная реализация=Текст&lt;br /&gt;
|Dimension=3D&lt;br /&gt;
}}&lt;br /&gt;
Ceebot — серия трёхмерных обучающих игр для детей, разработанных компанией Epsitec, и основанных на игре Colobot. Основное отличие от игры Colobot заключается в том, что игры серии Ceebot состоят только из тренировочных миссий, и ориентированы для использования в школах.&lt;br /&gt;
За последние 5-10 лет человечество сообразило, что «с компьютера» при желании можно легко набираться уму-разуму. И не хуже (а то и лучше), чем на нудных лекциях. Особенно это касается непоседливых, вечно отвлекающихся на всякие шалости юных дарований.&lt;br /&gt;
&lt;br /&gt;
Ceebot уже не пропитан духом заселения неведомой планеты, как Colobot, — тут нас прямо, без изысков, учат языку программирования. Масса уроков, упражнений и интересных заданий; от простого к сложному, но не все сразу.&lt;br /&gt;
&lt;br /&gt;
Прежде всего, на примерах обучают, как манипулировать элементарными формами современной робототехники вроде тестовых роботов-тележек, летающих роботов и прочих ползающих. Затем следует изучение их «органов» — всяческих клешней, захватов, лебедок и подъемников. Далее — опции по вкусу, от передачи данных с радаров на борт до более интеллектуальных вещей. Разумеется, чем глубже погружение в дебри, тем сложнее и требовательнее к полученным знаниям становятся задачи.&lt;br /&gt;
&lt;br /&gt;
В центре внимания — отнюдь не горбатый «бейсик», а гибкий и современный как по своей структуре, так и по форме C++ с некоторыми упрощениями.&lt;/div&gt;</summary>
		<author><name>Madara</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=Ceebot_4&amp;diff=5443</id>
		<title>Ceebot 4</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=Ceebot_4&amp;diff=5443"/>
		<updated>2022-11-08T21:51:34Z</updated>

		<summary type="html">&lt;p&gt;Madara: Новая страница: «{{DEG |Description=Игра содержит несколько режимов игры: миссии с единой сюжетной линией, упражнения, бои, свободная игра, игра на своей карте (в версии 1.8). Для прохождения режима кампании, состоящей из 36-и заданий (в патчах были добавлены несколько новых миссий)...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DEG&lt;br /&gt;
|Description=Игра содержит несколько режимов игры: миссии с единой сюжетной линией, упражнения, бои, свободная игра, игра на своей карте (в версии 1.8). Для прохождения режима кампании, состоящей из 36-и заданий (в патчах были добавлены несколько новых миссий) на 9-и планетах, навыки программирования необязательны, программы сбора ресурсов или охраны базы предоставляются уже готовыми к запуску и помещёнными в личные меню роботов. После успешного прохождения каждой миссии или нескольких провалов этой миссии становится доступна пошаговая подсказка к прохождению. Роботами можно управлять вручную с помощью клавиш клавиатуры и мыши или джойстика.&lt;br /&gt;
&lt;br /&gt;
К каждой миссии NASA с помощью коммуникатора SatCom посылает задание для астронавта с объяснением, что необходимо сделать. В том же SatCom находится характеристика текущей планеты, полученная с орбитального разведывательного зонда, и обширная справка с описаниями активных предметов и языка Cbot. Также зачастую NASA пересылают готовую заготовку для управления роботами — готовая программа с помощью которой можно решить поставленную задачу миссии.&lt;br /&gt;
&lt;br /&gt;
Главной особенностью игры является возможность создавать программы, в соответствии с которыми в игре действуют роботы (задавая им алгоритмы самостоятельной работы и заменяя ими монотонные действия, которые может делать и сам игрок), поэтому считается, что игра способствует обучению программированию. Язык программирования, встроенный в игру, похож на C++ или Java, но имеется ограничение на размер программы — не более 20 000 символов (10 000 до патча 1.8), что не позволяет писать серьёзные программы вроде имитации искусственного интеллекта.&lt;br /&gt;
|Website=http://www.ceebot.com/colobot/index-e.php&lt;br /&gt;
|Ages=6&lt;br /&gt;
|Language_Ru_Eng=English&lt;br /&gt;
|learning_cases=Пошаговое руководство&lt;br /&gt;
|Assistance tools=Подсказки, Адаптивный помощник&lt;br /&gt;
|Developer=Epsitec&lt;br /&gt;
|launch year=2000&lt;br /&gt;
|closing year=2004&lt;br /&gt;
|Clarifying_video=https://www.youtube.com/watch?v=Dk0CJQiV57k&lt;br /&gt;
|Ancestors=Colobot&lt;br /&gt;
|distant_collab=Нет&lt;br /&gt;
|License=Открытая&lt;br /&gt;
|Визуальная реализация=Текст&lt;br /&gt;
|Dimension=3D&lt;br /&gt;
}}&lt;br /&gt;
Ceebot — серия трёхмерных обучающих игр для детей, разработанных компанией Epsitec, и основанных на игре Colobot. Основное отличие от игры Colobot заключается в том, что игры серии Ceebot состоят только из тренировочных миссий, и ориентированы для использования в школах.&lt;br /&gt;
За последние 5-10 лет человечество сообразило, что «с компьютера» при желании можно легко набираться уму-разуму. И не хуже (а то и лучше), чем на нудных лекциях. Особенно это касается непоседливых, вечно отвлекающихся на всякие шалости юных дарований.&lt;br /&gt;
&lt;br /&gt;
Ceebot уже не пропитан духом заселения неведомой планеты, как Colobot, — тут нас прямо, без изысков, учат языку программирования. Масса уроков, упражнений и интересных заданий; от простого к сложному, но не все сразу.&lt;br /&gt;
&lt;br /&gt;
Прежде всего, на примерах обучают, как манипулировать элементарными формами современной робототехники вроде тестовых роботов-тележек, летающих роботов и прочих ползающих. Затем следует изучение их «органов» — всяческих клешней, захватов, лебедок и подъемников. Далее — опции по вкусу, от передачи данных с радаров на борт до более интеллектуальных вещей. Разумеется, чем глубже погружение в дебри, тем сложнее и требовательнее к полученным знаниям становятся задачи.&lt;br /&gt;
&lt;br /&gt;
В центре внимания — отнюдь не горбатый «бейсик», а гибкий и современный как по своей структуре, так и по форме C++ с некоторыми упрощениями.&lt;/div&gt;</summary>
		<author><name>Madara</name></author>
	</entry>
</feed>