Языки програмирования

Данная рубрика будет включать в себя разные языки программирования. Не стоит изучать сразу все языки, выберите для себя один или максимум два языка программирования, которые, на ваш взгляд, действительно пригодятся вам в робототехнической сфере.

Приложение и безопасность в Java на уровне пользователя

Приложение и безопасность в Java на уровне пользователяВ предыдущей статье мы говорили о безопасной реализации на языке Java, а в этой поговорим о безопасности в Java на уровне пользователя. Между обладанием достаточной силой, чтобы делать что-то полезное, и обладанием силой делать, что тебе хочется, тонкая граница. Язык Java предоставляет основу для безопасной среды, в которой небезопасный код может быть отправлен в карантин, управляем и безопасно исполняем. Однако, хотя вы удовлетворены тем, что этот код содержится в маленькой черной коробочке и работает только для собственной пользы, вам придется предоставить ему доступ хоть к какой-то системе ресурсов, чтобы он был полезным. Каждый тип доступа несет с собой определенный тип и выгоду. Например, в среде веб-браузеров преимущества выдачи доступа к вашей системе управления окнами неизвестному (ненадежному) апплету состоят в том, что он сможет показать информацию и позволить вам взаимодействовать в полезном режиме. Связанный с этим риск состоит в том, что апплет вместо этого может показать что-то бесполезное, раздражающее или обидное.

Безопасность реализации на языке Java

Безопасность реализации на языке JavaВ предыдущей статье мы говорили о безопасном проектировании на языке Java, а в этой статье продолжим разговор, но уже о безопасной реализации. Одно дело — создать язык, который не даст вам навредить самому себе; другое — создать язык, благодаря которому другие не будут приносить вред вам.

Безопасное проектирование на Java

Безопасное проектирование на JavaВ предыдущей статье мы с вами поговорили о том, чем отличается язык Java от других языков программирования, а в этой статье речь пойдет о безопасности, которое предлагает данный язык, а также о инкрементной разработке, управлении памятью, обработке ошибок, потоках и масштабируемости. Итак, приступим. Вы, должно быть, много слышали о том, что язык Java — безопасный язык. Но что подразумевается под безопасностью? Безопасность от чего или кого? Средства безопасности, которые привлекают много внимания к Java, — это те свойства, которые делают возможными новые типы динамически портативного программного обеспечения. Язык Java обеспечивает несколько уровней защиты от опасно поврежденного кода, а также других вредных явлений, таких как вирусы и троянские кони. Далее мы посмотрим на то, как архитектура виртуальной машины определяет безопасность кода перед его запуском и как загрузчик классов (механизм загрузки интерпретатора Java в байт-коде) строит стену вокруг ненадежных классов. Эти средства составляют основу для формирования высокоуровневой политики безопасности, с помощью которой можно разрешать или запрещать разного рода действия для всех приложений в рамках виртуальной машины.

Язык Java в сравнении с другими языками

Сравнение Java с другими языкамиВ предыдущей статье мы постарались вам объяснить что из себя представляет виртуальная машина Java, а в этой статье сравним язык Java с другими языками программирования. В своем выборе свойств язык Java опирается на многолетний опыт программирования на других языках. Следует уделить немного времени сравнению Java на высоком уровне с некоторыми другими языками. Это будет полезно для тех из вас, у кого имеется опыт программирования на других языках, и для новичков, которым необходимо хорошо разобраться в данной теме.

Виртуальная машина Java

Виртуальная машина JavaВ предыдущей статье «Язык программирования Java» мы поговорили о зарождении и становлении языка Java, а в этой статье мы поговорим о виртуальной машине Java. Язык Java является скомпилированным и интерпретированным языком. Исходный код Java превращен в простые бинарные инструкции, что больше похоже на машинный код микропроцессора. Как бы то ни было, если источник С или С++ уменьшен до родных инструкций для определенной модели или процессора, то код Java скомпилирован в универсальный формат — инструкции для виртуальной машины.

Язык программирования Java

Sun MicrosystemsОгромные перспективы и самые захватывающие возможности для разработчиков программного обеспечения лежат в обуздании силы сетей. Приложения, созданные сегодня, для каких бы целей и аудитории они ни планировались, почти непременно запускаются на машинах, связанных глобальной сетью компьютерных ресурсов. Возрастающая важность сетей предъявляет новые требования к существующим инструментам и заставляет быстро расти список абсолютно новых типов приложений. Мы хотим иметь программное обеспечение, которое работает стабильно на любой платформе, и которое хорошо сочетается с другими приложениями. Мы хотим иметь динамические приложения, которые используют преимущества Всемирной паутины, способны получить доступ к несоизмеримым и распределенным источникам информации. Мы хотим умные приложения, которые могут бродить по сетям вместо нас, разыскивая информацию и служа электронными агентами. Мы уже довольно давно знаем, какое программное обеспечение хотим, но в действительности мы стали получать его только в течение последних нескольких лет.

Книга: Изучение робототехники с использованием Python

Изучение робототехники с использованием PythonКнига «Изучение робототехники с использованием Python», автор Джозеф Лентин, предназначена для инженеров-робототехников, желающих углубить свои знания в этой области и усовершенствовать созданные ранее роботы, студентов, изучающих робототехнику, и людей, увлеченных созданием роботов. Книга содержит легковыполнимые пошаговые инструкции.

Разработка графического интерфейса для робота с использованием Qt и Python

Разработка графического интерфейса для робота с использованием Qt и PythonИ наконец, наша серия статей подходит к концу, и в этой завершающей статье мы обсудим аппаратную сборку, интеграцию компонентов роботизированного оборудования и программные комплексы для выполнения задач автономной навигации. Далее необходимо будет создать графический интерфейс для управления роботом. Мы создадим графический интерфейс, который сможет действовать как триггер для базовых команд ROS. Вместо выполнения всех команд в терминале пользователь сможет управлять роботом с помощью графических кнопок. Графический интерфейс, который мы собираемся разработать, предназначен для типичного гостиничного номера с девятью столами. Пользователь сможет установить положение стола на карте гостиничного номера и командовать роботом для доставки еды к определенному столу. После того как еда будет доставлена, робот получит команду для возвращения в исходное положение.

Создание аппаратного обеспечения ChefBot и интеграция ПО программного обеспечения

Создание аппаратного обеспечения ChefBotВ третьей статье «Моделирование робота с дифференциальным приводом с помощью ROS и URDF» мы рассмотрели конструкцию шасси ChefBot. В этой же статье мы расскажем, как, используя эти детали, данный робот собрать. Также мы рассмотрим окончательное сопряжение датчиков и других электронных компонентов робота с микропроцессором Tiva-C LaunchPad. После подключения мы объясним, как настроить взаимодействие робота с ПК и с помощью SLAM и AMCL осуществить автономную навигацию.

Согласование датчиков зрения с ROS

Согласование датчиков зрения с ROSВ предыдущей статье «Согласование приводов и датчиков с контроллером робота» мы рассматривали некоторые роботизированные датчики, используемые в нашем роботе, и их взаимодействие с микроконтроллером LaunchPad. Основная тема этой статьи – датчики машинного зрения и их интерфейс.