Перейти к содержимому

Поиск по сайту

Результаты поиска по тегам 'навигация'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип публикаций


Блоги

  • Робот Байт
  • Fingercomp's Playground
  • 1Ridav' - блог
  • Totoro Cookies
  • Блог cyber01
  • IncluderWorld
  • KelLiN' - блог
  • Крутой блог
  • eutomatic blog
  • Programist135 Soft
  • Сайт в сети OpenNet
  • PieLand
  • Очумелые ручки
  • Блог недоблоггера
  • В мире Майнкрафт
  • LaineBlog
  • Квантовый блог
  • Блог qwertyMAN'а
  • some blog name
  • Дача Игоря
  • Путешествия Xytabich'а
  • Рецепты программирования
  • Шкодим по крупному
  • 123
  • mineOS и её удивительный мир
  • Поляна говнокода Bumer 32

Форумы

  • Программирование
    • Программы
    • База знаний
    • Разработчикам
    • Вопросы
  • Игровой раздел
    • Игровые серверы
    • Моды и плагины
    • Жалобы
    • Ивенты и конкурсы
    • Файлы
  • Общение
    • Задать вопрос
    • Обратная связь
    • Беседка
    • Шкатулка
  • Технический раздел
    • Корзина

Группы продуктов

Нет результатов для отображения.


Искать результаты в...

Искать результаты, которые...


Дата создания

  • Начать

    Конец


Последнее обновление

  • Начать

    Конец


Фильтр по количеству...

Зарегистрирован

  • Начать

    Конец


Группа


AIM


MSN


Сайт


ICQ


Yahoo


Jabber


Skype


ВКонтакте


Gtalk


Facebook


Twitter


Город


Интересы

Найдено 3 результата

  1. Описание Этот небольшой программный комплекс(всего 3 файла) делает одну простую вещь: определяет, на какой блок смотрит игрок, в пределах некоторой области. Гифки для наглядности: Теперь перейдем к билду Нам нужен стандартный компьютер с дополнительно подключенными Соединенная плата, Геоанализатор, Glasses Terminal(не забудьте привязать и надеть очки) А также планшет со следующей начинкой: Можно использовать более дешевые компоненты, однако в контейнер улучшений нужно будет вставить Улучшение "Навигация", поэтому он должен быть 2 уровня. На оба устройства устанавливаем OpenOS. На планшет устанавливаем wtwtp_tool.lua wget https://raw.githubusercontent.com/hohserg1/OpenComputersPrograms/master/playerlook/wtwtp_tool.lua На компьютер устанавливаем wtwtp.lua и glasses.lua wget https://raw.githubusercontent.com/hohserg1/OpenComputersPrograms/master/playerlook/wtwtp.lua wget https://raw.githubusercontent.com/hohserg1/OpenComputersPrograms/master/playerlook/glasses.lua Редактируем в wtwtp_tool.lua строчку local cx,cy,cz = -1408,0,512 Вставляем свои координаты центра карты, используемой в апгрейде навигации Редактируем в wtwtp.lua строчки local geolyzerAbsolutePos = {-1408,5,512} local glassesAbsolutePos = {-1408,4,512} Вставляем свои координаты геоанализатора и терминала очков Запускаем wtwtp с аргументами x1,y1,z1,x2,y2,z2 соответствующие области вокруг геоанализатора, в которой мы хотим работать. Геоанализатор может скнаировать кубическую область во все стороны на расстоянии 32. Комп какое-то время будет сканировать блоки в заданной области и после вернется курсор терминала. Запускаем wtwtp_tool без аргументов и через долю секунды мы увидим, что блок, на который игрок смотрел игрок в момент выполнения wtwtp_tool, будет подсвечен. Запоздалый вопрос актуальности Наверное, некоторые читатели подумали: "а зачем же оно нужно?" Эту систему можно использовать в качестве инструмента интерактивного взаимодействия с миром для какой-то другой системы. Например, у меня есть идея "беспроводные трубы на дронах", в рамках нее таким инструментом можно указывать точки сбора и доставки.
  2. GPS это куча оборудования, трата энергии и времени, но иногда может понадобится там, где нет встроенного акселерометра, как у робота. Попробуем разобраться, как настроить и построить сеть спутников, по которым можно вычислить свои координаты. Где-то была готовая программа, но я ее не нашел, поэтому восстановил основной функционал, по примеру КомпутерКрафта. Для начала нужен компьютер с установленной OpenOS. Скачиваем для него программатор хостов: pastebin get ZD8GysNP /bin/fgps.lua Эта программа позволяет устанавливать прошивку для спутников-микроконтроллеров, которые будут рассылать свои координаты по запросу. Далее, соберем несколько микроконтроллеров с беспроводными картами, при необходимости обеспечим их энергией. Теперь надо установить прошивку для первой партии: узнаем координаты, где будет стоять очередной хост вставляем EEPROM в компьютер запускаем программатор, с указанием координат через пробел (например: fgps 1652 64 -152) Прошитые карточки вставляем в микроконтроллеры (в сетке крафта) и расставляем в соответствии с координатами, указанными при прошивке. Самое главное - не перепутать координаты. Если навести курсор на микроконтроллер и зажать LSHIFT, то будет виден лейбл биоса, который является подсказкой для его позиции. Когда первая партия размещена и активированна, остальные хосты можно прошивать без указания координат - они определят позицию сразу при включении (если они будут в радиусе действия четырех рабочих хостов) Но лучше, конечно, чтобы каждый хост знал свои точные координаты. Ибо в случае небольшой ошибки в начале постройки, по мере расширения сети, погрешность будет увеличиваться, т. к. поправка будет производится по неверно вычисленным координатам хостов. Теперь проверим работу системы в деле. Возьмем, например, планшет с беспроводным модемом. Скачаем библиотеку GPS: pastebin get Dja9ZceV /lib/gps.lua Запустим консоль Lua. Загрузим библиотеку: local gps = require('gps') И попробуем получить координаты: gps.locate(true) (параметр DEBUG передаваемый в функцию работает как и в ComputerCraft - выводит все вспомогательные сообщения) Каждый хост, при старте устанавливает wake-up сообщение и включается только чтобы ответить на запрос координат. Такой подход экономит огромное количество энергии и позволяет добиться полной автономности хостов - встроенной солнечной панели вполне хватает для работы. Для стабильной работы надо будет добавить data-карту и реализовать протокол управления спутниками по прошитому открытому ключу, чтобы удобно было прошивать новые координаты при перемещении хоста на новое место.
  3. Иногда надо получить относительные или абсолютные координаты робота или узнать путь, по которому он прошел, чтобы вернуть робота назад. Я немного модифицировал стандартную библиотеку робота, теперь можно задавать/удалять/просматривать координаты робота. Нет функции сохранения координат в файл, поэтому после перезагрузки координаты сбросятся, поэтому это делать надо самостоятельно. Так же, нафигация не работает, если управлять роботом, как компонентом (т.е. в обход robot API) скачать: pastebin get -f Hb32aQeR /lib/robot.lua Список новых функций: robot.getPos() - возвращает текущие координаты, если не заданы, то при первой загрузке библиотеки устанавливаются x, y, z = 0, 0, 0, а направление - север. robot.setPos(x, y, z, side) - устанавливает заданные координаты, side задается в формате N/E/S/W (стороны света) robot.getPath() - возвращает пройденный путь в виде строки, каждому движению соответсвует одна буква - [F]orward, [В]ack, p, [D]own, [L]eft, [R]ight. (например 'FFFULFFD' - три вперед, один вверх, один влево, два вперед, один вниз) robot.setPath(boolean) - активация/деактивация записи маршрута, соответственно true/false Можно было бы сделать в стиле navigation API с использованием sides API, но это не особо удобно. Триггер записи маршрута по-умолчаию отключен, для экономии памяти, ибо каждое движение съедает один байт, по-уму надо прикрутить автоматическое сжатие. Чтобы пройти по пройденному маршруту обратно, надо в начале активировать robot.setPath(true), а в конце запустить примерно такую программку: Полезно для полностью автономных программ. Очень удобно вытаскивать робота-грифера из чужих приватов. Утилита, через которую можно проверить и задать координаты: pastebin get nJ5i4qiL /bin/pos.lua Программа движения сквозь блоки: pastebin get X5G4PHnS /bin/goto.lua Роботу необходим инструмент для разрушения блоков, для запуска надо указать координаты.
×
×
  • Создать...