В последнее время требуется вАккерманАлгоритм проверки наземного мобильного робота. Однако реальная платформа не может быть построена какое-то время, поэтому рассмотрите возможность использования среды моделирования. После сравнения окончательный выборcar_demo. Эта статья в основном знакомит с использованием car_demo, от установки до практического применения.
Система: Ubuntu 14.04 индиго
1. Установка
官方安装没问题-官方安装没问题-官方安装没问题
Не ищите другие народные туториалы, следуйте официальным командам установки, и вообще никаких проблем.Официальные адреса учебных пособий для соответствующих установок приведены ниже.
1.1 Установить докер
1.2 Установите нвидиа-докер
1.2 Установить car_demo
2. Пробный запуск
cd car_demo
./run_demo.bash
rviz显示
беседка шоу
3. Получить тему среды моделирования
Поскольку среда моделирования работает в контейнере Docker, она действует как независимая сущность, аналогичная сущности вне независимого локального компьютера. Поэтому метод прямого получения темы не подойдет. не верь, это работаетrostopic list
, чтобы узнать, есть ли подписка на тему.
Механизм связи между несколькими компьютерами ros используется для реализации связи между локальными ros и ros в среде докера. Внесите следующие изменения в файл конфигурации:
Среди них 172.17.0.2 — это IP-адрес среды докеров.Если вы не можете его получить, вы можете догадаться.Первые несколько цифр — это в основном фиксированные слова, а последняя цифра пробуется с 1 и выше. 192.168.10.128 — это IP-адрес машины. (Обратите внимание, что локальный файл .bashrc также должен быть соответствующим образом изменен, см.Многомашинная связь ROSнастроить его)
После завершения вышеуказанной настройки и, если IP-адрес среды докеров (предположительно) правильный, запустите его локально.
roscore
запустить снова:
cd car_demo
./run_demo.bash
Интерфейсы РВИЗ и ГАЗЕБО появятся успешно, и будет отображаться беспилотный автомобиль и среда моделирования. В случае неудачи вы можете продолжить угадывать IP-адрес среды докера.一般不是2就是3
.
В это время бегитеrostopic list
, появится большой список сообщений. Следующее:
На этом этапе мы можем взаимодействовать с моделируемой средой, например, получать данные датчиков моделируемой среды, а затем выдавать команды управления для управления беспилотным транспортным средством на основе данных датчиков.
4. Управляйте беспилотным транспортным средством
Уведомление:car_demo依赖他自己的消息格式prius_msgs,本机与docker 里的car_demo成功通信,必须在本机也编译prius_msgs。car_demo的根目录下就有prius_msgs node文件夹,将其放入本机的工作空间,并编译,保证工作空间加入了source list中。
выполнить следующий код
import rospy
from prius_msgs.msg import Control
def control_test():
pub = rospy.Publisher("/prius", Control, queue_size=1)
rospy.init_node('sim_control', anonymous=True)
rate = rospy.Rate(10) # 10hz
command = Control()
command.header.stamp = rospy.Time.now()
command.throttle = 1.0
command.brake = 0.0
command.shift_gears = Control.FORWARD
while not rospy.is_shutdown():
pub.publish(command)
rate.sleep()
if __name__ == '__main__':
try:
control_test()
except rospy.ROSInterruptException:
pass
Нашел машину в движении, ха-ха! ! !
Минимальный радиус поворота и максимальная кривизна
Колесная база L: 2,86 м Максимальное рулевое управление (угол): от -30 градусов до 30 градусов Передняя дорожка 2b: m
Здесь минимальный радиус поворота рассчитывается как:
Конечный минимальный радиус поворота: 6,6 м Максимальная кривизна: 0,15