10/29/2019

Манипулятор с управлением Блендер

Этот пакет предназначен для запуска демонстрации двух совместных революционных роботов "RRBot". Этот «шаблонный пакет» находится в ros_control_boilerplate как подпапка, которую вы можете легко переименовать и использовать повторно.
 Для запуска его имитируемого аппаратного интерфейса, не основанного на физике ros_control, выполните:
ссылка https://github.com/PickNikRobotics/ros_control_boilerplate
Похожее изображение

ROS Control Boilerplate

Простой интерфейс симуляции и шаблон для настройки аппаратного интерфейса для ros_control. Идея заключается в том, что вы берете это за отправную точку для создания аппаратных интерфейсов, и это необходимо, потому что документация по ros_control редкая. Этот шаблон демонстрирует:
  • Создание hardware_interface для нескольких соединений для использования с ros_control
  • Контроллер траектории положения
  • Управление 2 суставами простого робота "RRBot", изображенного ниже
  • Загрузка конфигураций с помощью файлов roslaunch и yaml
  • Генерация случайной траектории и отправка ее через интерфейс actionlib
  • Частичная поддержка совместного переключения режимов (необходимо улучшить)
  • Совместные ограничения
  • Сквозной не физический робот-симулятор
  • Визуализация в Рвизе
Разработано Дейвом Коулманом в Колорадском университете в Боулдере
  • Статус сборки Трэвис CI
  • Devel Job Status Devel Job Status
  • Статус сборки AMD64 Статус работы Debian

Видео демо

Смотрите YouTube для очень скромного видео демо.

устанавливать

Этот пакет зависит от gazebo_ros_demos для его rrbot_descriptionпакета, но вы должны добавить его в свою рабочую область catkin по источнику:
git clone https://github.com/ros-simulation/gazebo_ros_demos.git
Затем либо установите этот пакет из исходного кода, чтобы вы могли разрабатывать его, либо установите из Debian:
sudo apt-get install ros-indigo-ros-control-boilerplate

Run Simulation Demo

Этот пакет предназначен для запуска демонстрации двух совместных революционных роботов "RRBot". Этот «шаблонный пакет» находится в ros_control_boilerplate как подпапка, которую вы можете легко переименовать и использовать повторно. Для запуска его имитируемого аппаратного интерфейса, не основанного на физике ros_control, выполните:
roslaunch ros_control_boilerplate rrbot_simulation.launch
Чтобы визуализировать опубликованные /tfпреобразования координат в Rviz, выполните:
roslaunch ros_control_boilerplate rrbot_visualize.launch
Чтобы отправить произвольную фиктивную траекторию для выполнения, запустите:
roslaunch ros_control_boilerplate rrbot_test_trajectory.launch

Настроить

Чтобы проверить это как интерфейс моделирования для вашего робота, вы можете быстро переименовать пакет подпапок в имя вашего робота, используя следующие команды:
function findreplace() {
    grep -lr -e "$1" * | xargs sed -i "s/$1/$2/g" ;
}

function findreplacefilename() {
    find . -depth -name "*$1*" -exec bash -c 'for f; do base=${f##*/}; mv -- "$f" "${f%/*}/${base//'$1'/'$2'}"; done' _ {} +
}

findreplacefilename rrbot myrobot
findreplace rrbot myrobot
findreplace RRBot MyRobot
findreplace RRBOT MYROBOT
Затем добавьте код , необходимый для общения с роботом через в файле USB / последовательный / Ethernet / и т.д. myrobot_hw_interface.cpp.

Установка начальной позиции, используя с MoveIt!

Если вам нужно, чтобы ваш робот запускался на определенной позиции в симуляции, или вы хотели бы использовать эту функциональность для симуляции вашего робота с помощью MoveIt !, см. Последующий пакет (зависит от этого пакета) moveit_sim_controller

Другие вспомогательные инструменты

Запись в CSV

Записать команды из контроллера траектории в CSV-файл
rosrun ros_control_boilerplate controller_to_csv SAVE_TO_FILE_PATH CONTROLLER_STATE_TOPIC TIME_TO_RECORD

Командование из CSV

Чтение из CSV-файла и выполнение на роботе
rosrun ros_control_boilerplate csv_to_controller READ_FROM_FILE_PATH CONTROLLER_STATE_TOPIC TIME_TO_RECORD

Командование с клавиатуры

Совместное телеобъявление с клавиатуры (TODO: удалить имена закодированных тем)
rosrun ros_control_boilerplate keyboard_teleop

Ограничения

  • Не реализует estops, передачи и другие необычные новые функции ros_control
  • Не имеет жесткого кода в реальном времени, это во многом зависит от вашей платформы, ядра, ОС и т. Д.
  • Полностью реализован только контроль положения, хотя для контроля скорости имеется некоторый код

Делать вклад

Пожалуйста, добавьте функции, внесите исправления и учтите ограничения, указанные выше, спасибо!

Комментариев нет:

Отправить комментарий