Скрипты позволяют программировать робота на выполнение определенных действий. Путь к папке со скриптами:  Скрипт представляет собой текстовый файл json формата, который может содержать в себе следующие модули: Запуск модулей происходит параллельно. У каждой команды (command) должен быть уникальный id в рамках одного модуля  Модуль arms не имеет встроенного ограничения. При выполнении скрипта робот может ударить сам себя. Для выполнения скриптов с использованием рук рекомендуется использовать сервис MSS Команда на движение руки представляет собой: Команда на движение головы представляет собой: Команда на движение торсом представляет собой: Команда на езду представляет собой: ( Линейная скорость для команд  (где 0.5 сопоставимо со скоростью с зажатой кнопкой  Угловая скорость для команд  (где 2.5 сопоставимо со скоростью с зажатой кнопкой  Команда на изменение подсветки представляет собой: сектор (всего 9 секторов доступно) int при передаче 0 горят все Команда на воспроизведение аудиофайла представляет собой: Для корректного воспроизведения аудиофайла он должен находиться в  Команда на запуск скрипта MSS: Команда на запуск промо-материала: например,  Промо-материал отобразится, если робот будет запущен (нажата кнопка  Команда на запуск сторонних скриптов: Скрипт должен быть исполняемым/opt/promobot/share/promobot_scripts/scripts/3.1/Модуль arms:
"arms": [{"command": "x0 x1 x2 x3 x4 x5 x6 x7 x8", "id": 0}]
Параметр Описание Значение x0какая рука будет двигаться left или rightx1скорость движения int x2направление движения руки вдоль туловища робота int x3направление движения руки от туловища робота int x4разворот руки в плече int x5сгибание локтя int x6разворот руки в локте int x7движение кисти int x8движение пальцев int Модуль neck:
"neck": [{"command": "angle x0 x1 x2", "id": 0}]
Параметр Описание Значение x0скорость движения int x1поворот головы вправо / влево int x2поворот головы вверх / вниз int Модуль torso:
"torso": [{"command": "angle x0 x1 x2 x3", "id": 0}]
Параметр Описание Значение x0скорость движения int x1наклон вперед / назад int x2наклон влево / вправо int x3движение вверх / вниз int Модуль drive:
"drive": [{"command": "x0 x1", "id": 0}, {"command": "sleep x2", "id": 1}]
Параметр Описание Значение x0направление движения forward, back, right, leftleft, right - поворот вокруг своей оси)x1скорость движения int x2время в секундах int forward и back задается в пределах: 0 - 1.0B на джойстике, а 1.0 сопоставимо со скоростью с зажатой кнопкой A).left и right задается в пределах: 0 - 5.0B на джойстике, а 5.0 сопоставимо со скоростью с зажатой кнопкой A).Модуль eyes:
Команда на отправку эмоции представляет собой:"eyes": [{"command": "pub x0", "id": 0}]
Параметр Значение x0anger.gif default.gif heart.gif laugh.gif sad_wave.gif scan.gif smile.gif sorrow.gif surprise.gif wink.gif Модуль led:
"led": [{"command": "pub head x0 x1 x2 x3 x4 x5", "id": 0}]
Параметр Описание Значение x0sharp_blink – резкое миганиеsharp_on – резкое зажечьsharp_off – резкое погаситьsmooth_blink – плавное миганиеsmooth_on – плавно зажечьsmooth_off – плавно погаситьx1время включения / отключения (не более 65 секунд) int x2кол-во циклов (для  sharp_blink и smooth_blink)int x3RGB цвет подсветки в формате HEX, например, #FFFFFF x4x5сохранять сектор подсвеченным в следующей итерации, или нет boolean Модуль play:
"play": [{"command": "play x0", "id": 0}, {"command": "sleep x1", "id": 1}, {"command": "stop", "id": 2}]
Параметр Описание Значение x0название аудиофайла с расширением например, song.mp3 x1время воспроизведения в секундах int /home/promobot/MusicМодуль play_motion:
"play_motion": [{"command": "play x0", "id": 0}, {"command": "sleep x1", "id": 1}]
Параметр Описание Значение x0название скрипта с расширением .yaml например,  script.yamlx1время в секундах int Модуль promo:
"promo": [{"command": "url x0", "id": 0}, {"command": "sleep x1", "id": 1}]
Параметр Описание Значение x0название изображения с расширением (image.jpg), либо ссылка на сайт (https://google.com) image.jpgx1время в секундах int Play). Файл с изображением должен находиться в /home/promobot/PicturesМодуль bash:
"bash": [{"command": x0, "id": 0}]
Параметр Описание Значение x0путь к bash скрипту например,  "opt/promobot/share/promobot_scripts/scripts/3.1/UpVolume.sh"Пример использования нескольких модулей в скрипте:
{
	"parts": [{
		"arms": [{
			"command": "right 50 45 0 0 0 0 0 0",
			"id": 0
		}, {
			"command": "left 50 0 0 0 45 0 0 0",
			"id": 1
		}, {
			"command": "sleep 3.0",
			"id": 3
		}, {
			"command": "right 50 0 0 0 0 0 0 0",
			"id": 4
		}, {
			"command": "left 50 0 0 0 0 0 0 0",
			"id": 5
		}]
	}
	#левая и правая руки примут заданное положение
	# робот подождет 3 секунды, вернет руки в исходное положение 
	, {
		"neck": [{
			"command": "angle 20 0 20",
			"id": 0
		}, {
			"command": "sleep 3.0",
			"id": 1
		}, {
			"command": "angle 20 0 0",
			"id": 2
		}]
	}
	#робот наклонит голову вниз, подождет 3 секунды, вернет в исходное положение
	, {
		"torso": [{
			"command": "angle 20 20 0 0",
			"id": 0
		}, {
			"command": "sleep 3.0",
			"id": 1
		}, {
			"command": "angle 20 0 0 0",
			"id": 2
		}]
	}
	#робот наклонится вперед, подождет 3 секунды, вернется в исходное положение
	, {
		"drive": [{
			"command": "forward 0.5",
			"id": 0
		}, {
			"command": "sleep 1.0",
			"id": 1
		}, {
			"command": "left 0.5",
			"id": 2
		}, {
			"command": "sleep 1.0",
			"id": 3
		}]
	}
	#робот поедет вперед в течение 1 секунды, в течение 1 секунды начнет крутиться против часовой стрелки
	, {
		"eyes": [{
			"command": "pub heart.gif",
			"id": 0
		}, {
			"command": "sleep 3.0",
			"id": 1
		}]
	}
	#на лице робота отобразятся сердечки
	, {
		"led": [{
			"command": "pub head sharp_on 65 1 #c51111 0 false",
			"id": 0
		}, {
			"command": "sleep 3.0",
			"id": 1
		}]
	}
	#уши робота загорятся красным цветом на 3 секунды
	, {
		"play": [{
			"command": "play song.mp3",
			"id": 0
		}, {
			"command": "sleep 30",
			"id": 1
		}, {
			"command": "stop",
			"id": 2
		}]
	}
	#начнет воспроизводиться мелодия в течение 30 секунд
	, {
		"play_motion": [{
			"command": "play script.yaml",
			"id": 0
		}, {
			"command": "sleep 60.0",
			"id": 1
		}]
	}
	#запустится скрипт MSS, который будет выполняться 60 секунд
	, {
		"promo": [{
			"command": "url Image.jpg",
			"id": 0
		}, {
			"command": "sleep 5",
			"id": 1
		}, {
			"command": "url https://google.com",
			"id": 2
		}, {
			"command": "sleep 5",
			"id": 3
		}]
	}
	#на экране отобразится картинка, через 5 секунд отобразится сайт
	, {
		"bash": [{
			"command": "/opt/promobot/share/promobot_scripts/scripts/3.1/UpVolume.sh",
			"id": 0
		}]
	#выполнится скрипт UpVolume.sh
	}]
}
Обзор
            Инструменты контента
    
Добавить комментарий