Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение
Понял, как они позиционируют ряд для удара в произвольном месте памяти, не понял, как они выбирают это место напротив PTE? Разве заранее известно местоположение PTE в памяти?
Я правильно понимаю, что ядро и все процессы в этой системе работают в едином адресном пространстве? Если это так, то действительно — заявленный выигрыш по производительности может быть существенным, но становится крайне интересным вопрос о защитных механизмах всего этого хозяйства.
А какие архитектурные решения для этого были приняты? Какой алгоритм планировщика был выбран? Как реализован механизм системных вызовов, межпроцессное взаимодействие, переключение контекстов?
Глобальная карта получается из локальной в момент замыкания кольца и/или других оптимизаций графа. Она, конечно, не будет привязана к каким-то глобальным координатам (типа GPS), если нет внешних данных, и вообще говоря может быть искривленной, но это не будет мешать локализации и планированию траекторий, если искривления в окрестности робота незначительны
Трассирование лучей по матрице занятости для маркировки свободных ячеек — не самый удачный способ определить свободное пространство, с одной стороны — из-за возможных потерь лучей, с другой — из-за недостаточного углового разрешения (на большом удалении получится ежик из лучей, а не непрерывная поверхность). Еще и неэффективно по вычислительным затратам. Рекомендую отрисовать все полученные точки занятыми, а затем сгенерировать полигон из всех точек скана, а также положения лидара, путем сортировки списка этих точек по углу в полярных координатах и соединения их последовательно. Получится многоугольник, который можно разом отрендерить в карту цветом свободных ячеек (ну или замешать с каким-то коэффициентом).
Следующая прикольная задача — собирать эту карту в движении.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность