Этот пакет предназначен для запуска демонстрации двух совместных революционных роботов "RRBot". Этот «шаблонный пакет» находится в ros_control_boilerplate как подпапка, которую вы можете легко переименовать и использовать повторно.
Для запуска его имитируемого аппаратного интерфейса, не основанного на физике ros_control, выполните:
Для запуска его имитируемого аппаратного интерфейса, не основанного на физике 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
- Частичная поддержка совместного переключения режимов (необходимо улучшить)
- Совместные ограничения
- Сквозной не физический робот-симулятор
- Визуализация в Рвизе
Видео демо
устанавливать
Этот пакет зависит от 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
- Не имеет жесткого кода в реальном времени, это во многом зависит от вашей платформы, ядра, ОС и т. Д.
- Полностью реализован только контроль положения, хотя для контроля скорости имеется некоторый код
Делать вклад
Пожалуйста, добавьте функции, внесите исправления и учтите ограничения, указанные выше, спасибо!
Комментариев нет:
Отправить комментарий