Подключение CAN в робототехническом приложении

В этом примере показано, как использовать Toolbox™ сети транспортных средств для реализации сети Controller Area (CAN) в удаленном манипуляторе с помощью Simulink ®. Используемые сообщения CAN определены в файле базы данных CAN, canDatabaseFor6DofRoboticArm.dbc.

Vehicle Network Toolbox предоставляет блоки Simulink для передачи и приема живых сообщений через модели Simulink по сетям области контроллера (CAN). Этот пример использует блоки CAN Configuration, CAN Pack, CAN Transmit, CAN Receive и CAN Unpack для выполнения передачи данных по шине CAN.

Виртуальные Каналы CAN MathWorks используются в этом примере. Также можно подключить модели к другому поддерживаемому оборудованию.

Описание модели

Модель состоит из следующих подсистем: Рычажная система манипулятора, Обратная кинематика и контроллер, Интерфейс передачи Joint CAN, Интерфейс приема Joint CAN, Интерфейс передачи обратной кинематики и контроллера CAN и Интерфейс приема обратной кинематики и контроллера CAN. Каждое соединение и обратная кинематика и подсистема контроллера образуют узел в шине CAN.

Пользователь вводит координаты положения (X, Y и Z в метрах) и ориентацию (крен, тангаж и рыскание углов в степени, в последовательности тела-3 2-3-1) конечного эффектора. Подсистема обратной кинематики и контроллера получает обратную связь от датчиков угла поворота шарнира, которые передаются через шину CAN, и отправляет соответствующие команды каждому соединительному двигателю через шину CAN, чтобы привести положение и ориентацию конечного эффектора к входным значениям пользователя.

Дистанционное плечо манипулятора принято прикрепленным к космическому аппарату на орбите. В результате гравитацией пренебрегают.

Манипулятор Arm System

Эта подсистема состоит из модели тела удаленного манипулятора, смоделированной с помощью 2G Simscape Multibody. Рука имеет шесть соединений. Каждое соединение приводится в действие двигателем постоянного тока с коробкой передач и моделируется с помощью Simscape Foundational Library. Каждое соединение также имеет датчик угла поворота шарнира. Данные о датчике отправляются в шину CAN. Каждый двигатель питается от управляемого источника напряжения. Источники напряжения получают сообщения от шины CAN и прикладывают постоянное напряжение через свои клеммы, соответствующие информации в сообщениях.

Обратная кинематика и контроллер

Подсистема обратной кинематики и контроллера далее реализует обратную кинематику и алгоритм управления. Обратная кинематика вычисляет желаемые углы поворота шарнира из желаемого положения (X, Y и Z) и ориентации (угол крена, тангажа и углы рыскания), которые вводятся пользователем. Дискретные ПИД-регуляторы используют значения угла поворота шарнира датчика, которые считываются из шины CAN, чтобы определить напряжение постоянного тока, которое должно быть приложено к каждому двигателю, чтобы привести углы поворота шарнира к желаемым значениям. Значения постоянного напряжения передаются как сообщения в шине CAN.

Соединительный интерфейс CAN-передачи

Эта подсистема состоит из блоков VNT, которые необходимы для передачи значений угла поворота шарнира от соответствующих датчиков в шину CAN.

Интерфейс Joint CAN Receive

Эта подсистема состоит из блоков VNT, которые необходимы для приема и распаковки сообщений от шины CAN, которые содержат информацию о напряжениях постоянного тока, которые необходимо приложить к управляемым источникам напряжения, соответствующим каждому двигателю.

Обратная кинематика и интерфейс передачи CAN контроллера

Эта подсистема состоит из блоков VNT, которые необходимы для передачи сигналов двигателя (напряжения постоянного тока, которые должны быть приложены к управляемым источникам напряжения), вычисленных подсистемой обратной кинематики и контроллера в шину CAN.

Обратная кинематика и контроллер МОЖЕТ получить интерфейс

Эта подсистема состоит из блоков VNT, которые необходимы для приема сообщений от шины CAN, которые содержат информацию об углах поворота шарнира, которые посылаются датчиками угла поворота шарнира.

Для просмотра документации необходимо авторизоваться на сайте