Я пытаюсь интегрировать omnet ++ с трехмерным симулятором робота, и это примерно то, что я представляю.
Итак, в симуляторе робота есть несколько объектов, и они взаимодействуют друг с другом с помощью 802.11, который будет моделироваться с помощью omnet ++. Каждый узел в omnet ++ соответствует каждому объекту в симуляторе робота, и движение объекта будет синхронизировано с соответствующим узлом в omnet ++.
Но поскольку omnet ++ является симулятором дискретных событий, мне нужно решить проблему несоответствия часов между omnet ++ и симулятором робота.
Я знаю, что в omnet ++ есть класс cRealTimeScheduler для синхронизации симуляционных часов с настенными часами, но я не уверен, что это будет делать то, что я хочу.
Я новичок, когда дело касается сетевого моделирования, поэтому я хочу знать, возможно ли это вообще или нет. Обеспечивает ли использование класса cRealTimeScheduler синхронизацию часов? или мне нужно пойти другим путем? (другой планировщик или даже другой симулятор?)
Любая помощь будет оценена. Спасибо.
Если сам симулятор робота работает в режиме реального времени, то вам подходит подход cRealTimeScheduler. cRealTimeScheduler синхронизируется со временем настенных часов. Если симулятор робота также работает в режиме реального времени, то они также будут синхронизированы неявно.
Если симулятор робота имеет собственное время симуляции (то есть может работать быстрее, чем в реальном времени), вам следует создать свой собственный класс планировщика, который синхронизирует две симуляции. Это называется совместной симуляцией, когда две симуляции работают в тандеме. Veins (сумо + омнет) также делает это, где сумо (симулятор автомобильного движения) и омнет (сетевой симулятор) работают вместе.
То, что вы пытаетесь достичь, возможно, однако я не знаком с частью симулятора робота, но пока другой симулятор также общается с сообщениями, это дискретные временные точки, и вы можете получить время симуляции от симулятора робота, все должно быть в порядке.