Добавление и удаление роботов / транспортных средств из кода вместо указания его в файле wbt - PullRequest
0 голосов
/ 29 мая 2020

Используя пример sumo_supervisor в / usr / local / webots / projects / default / controllers, я могу сгенерировать и удалить транспортное средство (bmwx) в моделировании webots с помощью контроллера traci. Однако, когда я пытаюсь указать ros_automobile в качестве моего контроллера вместо sumo, используя следующую модификацию в файле Objects.py

defName = "EGO_VEHICLE%d" % index
    vehicleString = "DEF " + defName + " " + model + " {\n"
    #vehicleString += "  translation 10000 0.5 0\n"
    vehicleString += "  translation -3.16697 0.317 -173.705\n"
    vehicleString += "  controller \"ros_automobile\"\n"
    vehicleString += "  sensorsSlotCenter [\n"
    vehicleString += "    GPS {\n"
    vehicleString += "    }\n"
    vehicleString += "   ]\n"

, я получаю следующую ошибку ([ros_automobile] Ошибка: только узлы, основанные на 'Car' node может использовать автомобильную библиотеку.) enter image description here

Я буду очень признателен за любое руководство, которое вы можете предоставить. Спасибо за уделенное время.

1 Ответ

1 голос
/ 02 июня 2020

Супервизор сумо использует упрощенную версию транспортного средства вместо обычной, это сделано для более плавного моделирования: https://cyberbotics.com/doc/automobile/car#simple -транспортные средства

Вместо модификации Контроллер сумо, вам лучше уже добавить автомобиль с правильным контроллером в вашу симуляцию и установить соответствующее имя DEF, чтобы супервизор сумо использовал его при необходимости: https://cyberbotics.com/doc/automobile/sumo-interface#use -vehicles-already-present-in- the-world

Если вас просто интересует вставка и удаление транспортного средства, а не использование интерфейса SUMO, добавить робота из контроллера довольно просто, вам просто нужно использовать API супервизора: - https://cyberbotics.com/doc/guide/supervisor-programming - https://cyberbotics.com/doc/reference/supervisor В частности, эти функции могут использоваться для импорта новых узлов: https://cyberbotics.com/doc/reference/supervisor#wb_supervisor_field_import_mf_node

...