🔑Запуск Ровера в Gazebo в мире с Коптером

Рабочий стол виртуальной машины:

Рабочий стол

Запустить терминал нажатием правой кнопкой мыши по рабочему столу и выбрать пункт в меню "Открыть в терминале"

Всплывающее окно

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

roslaunch clover_simulation simulator.launch

Как это будет выглядеть у вас на ПК:

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

После загрузки Симулятора Gazebo появится мир в котором находятся:

  • Квадрокоптер Clover

  • Ровер "Контакт"

Мир Gazebo с Ровером и Коптером

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

/home/clover/catkin_ws/src/bebop_simulator/bebop_gazebo/exempls

В папке расположены примеры программ для запуска ровера, также в папке есть файл в котором находятся готовые функции для передвижения ровера. Этот файл редактировать НЕЛЬЗЯ!

В данной версии ровера реализованы следующие функции:

Функции ровера

для запуска примера необходимо в терминале ввести следующую команду:

python3 square.py
Окно терминала

Важно! Запускать код необходимо из папки в которой находится этот код!

Пример кода - Поиск Ровера

Обязательная шапка всех программ для Ровера. Подключение существующих функций и импортирование библиотек:

import rospy
import random
import math
import time
from geometry_msgs.msg import Twist
from gazebo_msgs.msg import ModelState
from gazebo_msgs.msg import ModelStates
from functions import left
from functions import right
from functions import forward
from functions import backward
from functions import end
model_name = ""
model_state_pub = None
model_state_sub = None
t=0
orient = 0
rospy.init_node('moving_helipad')
model_name = rospy.get_param("~model_name", "r1_rover")
seconds_before_moving = rospy.get_param("~seconds_before_moving", 1)
model_state_pub = rospy.Publisher("gazebo/set_model_state", ModelState, queue_size=1)
rospy.sleep(seconds_before_moving)

Пример программы для передвижения по квадрату:

forward(0.8, 1)
left()
forward(0.8, 1)
left()
forward(0.8, 1)
left()
forward(0.8, 1)
left()
end()
print("End")

Важно! Вернуть Ровер в домашнюю точку функцией end()

Last updated