Разработка цифрового стика
Далее необходимо создать отдельный класс, который будет унаследован от класса JoystickView. Затем написать главный в этом классе метод init (). В этом методе происходит считывание положения указателя джойстика относительно центра. Метод setOnMoveListener (new JoystickView. OnMoveListener () класса JoystickView возвращает два значения — целочисленные значения угла и силы. Так как ТРИК-контроллер… Читать ещё >
Разработка цифрового стика (реферат, курсовая, диплом, контрольная)
Стик — устройство управления, предназначенное для контролирования направлением и скоростью перемещения управляемого объекта (в представленном проекте это роботизированная система).
В разработке создание цифрового стика является одной из приоритетных, так как основной функцией роботизированной системы является возможность передвижения по заданной траектории.
Для реализации данной функции разрабатываемой системы было принято решение использовать наработки сообщества по созданию каркаса самого стика, добавить функциональности и возможностей размещения.
В начале необходимо скачать с удаленного репозитория github.com библиотеку Damien Brun — virtual joystick android. Так как была выбрана среда разработки Android Studio, достаточно написать одну строчку в сборщике Gradle: compile 'io.github.controlwear:virtualjoystick:1.0.0'.
Далее необходимо создать отдельный класс, который будет унаследован от класса JoystickView. Затем написать главный в этом классе метод init (). В этом методе происходит считывание положения указателя джойстика относительно центра. Метод setOnMoveListener (new JoystickView. OnMoveListener () класса JoystickView возвращает два значения — целочисленные значения угла и силы. Так как ТРИК-контроллер принимает значения x и y значение координаты, необходимо преобразовать полученные данные к правильному виду с помощью тригонометрических функций.
Функция get_quarter (int angle) (рис. 10) принимает на вход угол, на который был оттянут цифровой стик, а на выходе выдает целочисленное значение угла.
Рис. 10. Функция get_quarter (int angle)
Функция get_total_string_command (int quarter, int strength, int angle) (рис. 11) получает на вход результат работы предыдущей функции, т. е. номер четверти, где в данный момент располагается цифровой стик, а на выходе выдает результирующую строку, содержащую команду ТРИК-контроллеру.
Последней значимой функцией является send (String command), которая принимает на вход команду, необходимую послать ТРИК-контроллеру и затем пересылает ее в специальный класс, занимающийся непосредственной отправкой сообщения.
В конце необходимо в конструкторе по умолчанию настроить запуск главного метода init ().
В связи с ограниченностью функционала ТРИК-контроллера невозможно реализовать алгоритм отображения оповещения при возможном столкновении роботизированной системы с препятствием. ТРИК-контроллер может принимать команды по сети для дальнейших их исполнений, однако не имеет возможности передачи информации на управляющее устройство. Таким образом, ТРИК-контроллер не способен послать сообщение android-смартфону о возможном столкновении с препятствием.