Uuv_simulator: <neutrally_buoyant>тег ничего не делает.</neutrally_buoyant>

Созданный на 14 июл. 2017  ·  23Комментарии  ·  Источник: uuvsimulator/uuv_simulator

Привет,

Я пытаюсь реализовать транспортное средство в UUV Sim, и я пытаюсь просто заставить мое транспортное средство плавать, и я даже установил тег <neutrally_buoyant>1</neutrally_buoyant> как показано, но мой автомобиль продолжает тонуть, как только он загружается. Есть ли какой-нибудь совет, который вы можете дать, чтобы этот автомобиль плавал нейтрально или даже с положительной плавучестью?

Все 23 Комментарий

Привет,

спасибо за сообщение, я проверю. Между тем, ваше транспортное средство может иметь положительную плавучесть, если вы установите флаг neutrally_buoyant на ноль и вместо этого установите громкость, как в модели rexrov https://github.com/uuvsimulator/uuv_simulator/ blob / master / uuv_descriptions / models / rexrov / urdf / rexrov.gazebo.xacro # L32.
Затем объем используется для вычисления вектора силы плавучести.

Привет,

Я попытался установить достаточно большую громкость. Не такой большой, как rexrov , и он все еще тонул. Я попробую это и вернусь к вам, но я попытался увеличить свой объем и уменьшить свою массу, чтобы заставить его плавать. Я вернусь к вам с результатами через секунду.

Поэтому я установил свой объем на 3.1093918 m3 и мою массу на 0.123497 , и моя машина все равно затонула. Я могу попытаться установить именно то, что у вас установлено в rexrov для этого объема, и даже установить тег <box> на то, что было у rexrov а также на его гидродинамическую модель. . Поэтому я не знаю, где искать проблему.

Вы установили <neutrally_buoyant>0</neutrally_buoyant> ?

@musamarcusso Я попытался установить <neutrally_buoyant> на 0 и 1 . Никаких реальных изменений.

Привет, @atomoclast , это автомобиль, который ты хочешь смоделировать?

http://www.videoray.com/images/specsheets/2016/2016_P4STANDARDBASE_FINAL.pdf

Я постараюсь заменить эти параметры здесь, чтобы воспроизвести это.

@musamarcusso Да, это автомобиль, который я пытаюсь смоделировать.

У меня есть файл сетки, если он вам нужен.

Я просто попытался запустить тестовую коробку с тем, что, как я понимаю, это плагин плавучести, и попытался сделать это с тегом neutrally_buoyant установленным на 0 а также 1 и коробкой все еще тонул оба раза. Он также снова и снова печатал ошибку [Wrn] [UnderwaterObjectPlugin.cc:207] Relative angular acceleration is invalid -nan .

У меня есть оба файла, которые вы можете просмотреть ниже. Не уверен, в чем проблема. Я добавил расширение .txt чтобы можно было загрузить его в комментарии.

box.urdf.txt
upload_box.launch.txt

Как только вы увидите ошибку Relative angular acceleration is invalid наш UnderwaterObjectPlugin больше не будет применять никаких сил или крутящих моментов, так как это явный индикатор того, что физический движок сломан.

Я посмотрел на ваше определение коробки:

<inertia ixx="0" ixy="0" ixz="0" iyy="0" iyz="0" izz="0" />

Это виноват. Никакое твердое тело не должно иметь моменты инерции или нулевую массу. Из-за того, как Gazebo вычисляет ускорение из сил / крутящих моментов, это приведет к делению на ноль.

Сообщите нам, если это решит вашу проблему.

@sebastianscherer В этом есть смысл. Я просто использовал базовый эллипсоид, чтобы оценить свою инерцию для моего транспортного средства, и теперь он плавает.

Приступаем к изучению плагина Thruster! У меня там тоже есть проблемы.

В навесе беседки вижу:

[Msg] Thruster #0 initialized
[Msg]   - Link: videoray_pro4/thruster_0
[Msg]   - Robot model: videoray_pro4
[Msg]   - Input command Gazebo topic: /videoray_pro4/thrusters/0/input
[Msg]   - Thrust output Gazebo topic: /videoray_pro4/thrusters/0/thrust
[Msg] Thruster #1 initialized
[Msg]   - Link: videoray_pro4/thruster_1
[Msg]   - Robot model: videoray_pro4
[Msg]   - Input command Gazebo topic: /videoray_pro4/thrusters/1/input
[Msg]   - Thrust output Gazebo topic: /videoray_pro4/thrusters/1/thrust
[Msg] Thruster #2 initialized
[Msg]   - Link: videoray_pro4/thruster_2
[Msg]   - Robot model: videoray_pro4
[Msg]   - Input command Gazebo topic: /videoray_pro4/thrusters/2/input
[Msg]   - Thrust output Gazebo topic: /videoray_pro4/thrusters/2/thrust
[Msg] JointStatePublisher::robotNamespace=videoray_pro4

В терминале подруливающего устройства я вижу:

process[videoray_pro4/thruster_allocator-1]: started with pid [26422]
[INFO] [1500390755.909692, 0.000000]: ThrusterManager::update_rate=50
output_dir= /home/andrew/Development/ underwater_ws/install/share/videoray_description/config/videoray_pro4
ThrusterManager: updating thruster poses
conversion_fcn= proportional
conversion_fcn_params= {'gain': 0.00031}
transform: /videoray_pro4/base_link -> /videoray_pro4/thruster_0
could not get transform from: /videoray_pro4/base_link
to: /videoray_pro4/thruster_0
[]

Я просто запустил rosrun tf view_frames и это был результат. Я вижу, что дерево TF показывает преобразование между base_link и подруливающим устройством ...
frames.pdf

Кадры между миром и base_link транспортного средства генерируются узлом message_to_tf , который является частью пакета hector_localization . Пример файла запуска модели RexROV:

https://github.com/uuvsimulator/uuv_simulator/blob/master/uuv_descriptions/models/rexrov/launch/upload_rexrov_default.launch#L31

Как вы заявили об этом в стартовом файле?

@musamarcusso Согласно руководству вики, я вызвал преобразование следующим образом:

<!-- Publish state and tf for in relation to the world frame -->
            <group ns="$(arg namespace)">
                <node name="ground_truth_to_tf" pkg="message_to_tf" type="message_to_tf" output="screen">
                    <param name="odometry_topic" value="/$(arg namespace)/pose_gt" />
                    <param name="frame_id" value="/$(arg world_frame)" />
                    <param name="tf_prefix" value="$(arg namespace)" />
                </node>
            </group>

Кажется, это отличается от строки, которую вы назвали выше. Я попробую это сейчас.

Можете ли вы попробовать заменить блок, который вы мне прислали, этим

<include file="$(find uuv_descriptions)/models/common/launch/message_to_tf.launch">
    <arg name="namespace" value="$(arg namespace)"/>
</include>

Если это исправление сработает, я сразу же исправлю руководство.

Я пытался заменить свой блок на ваш, но ничего не вышло. Единственным способом, которым это работало, было то, что оба блока вызывались вместе.

VelocityControllerNode: initializing node Thruster #0 - proportional - thrusters/0/input transform: /videoray_pro4/base_link -> /videoray_pro4/thruster_1 Thruster #1 - proportional - thrusters/1/input transform: /videoray_pro4/base_link -> /videoray_pro4/thruster_2 Thruster #2 - proportional - thrusters/2/input transform: /videoray_pro4/base_link -> /videoray_pro4/thruster_3 could not get transform from: /videoray_pro4/base_link to: /videoray_pro4/thruster_3 [<uuv_thrusters.models.thruster_proportional.ThrusterProportional object at 0x7efc4bdb8a50>, <uuv_thrusters.models.thruster_proportional.ThrusterProportional object at 0x7efc4bdb8c10>, <uuv_thrusters.models.thruster_proportional.ThrusterProportional object at 0x7efc4bd4c190>] TAM= [[ 1. 0. 0. ] [ 0. 0. 0. ] [ 0. 0.99999968 0.99999968] [ 0. 0.09999997 -0.09999997] [ 0.1 0.15249995 0.15249995] [ 0. 0. 0. ]] ThrusterManager: ready ThrusterManager: ready
Теперь мне нужно понять, почему он не может получить TF от двигателя 3.

Я могу запустить свою версию joy_velocity.launch , но не могу управлять автомобилем с помощью контроллера.

Я пытался что-то отладить и сравниваю результаты визуализации узлов rqt_graph . Я вижу две сети. Не уверен, почему это точно не работает.

videoray2
rexrov

Еще одно обновление, которое я только что понял:

Вики кричит: <xacro:property name="prop_mesh_file" value="file://$(find uuv_descriptions_example)/models/rov_example/mesh/propeller.dae"/>

Должно быть: <xacro:property name="prop_mesh_file" value="file://$(find uuv_descriptions)/models/rexrov/mesh/prop.dae"/>

Привет @atomoclast!

нет, это правильно в учебнике. Пример в руководстве не является функциональным примером, поэтому я поместил этот README.md в папку с сетками, поэтому этот prop_mesh_file должен редактироваться лицом, создающим новую модель транспортного средства.
joy_velocity определяется по умолчанию для сопоставления контроллера XBox. Какая у вас модель контроллера?
У вас есть файлы где-нибудь на Github? Я мог бы попробовать запустить его и дать вам отзыв.

@musamarcusso Я загрузил репо здесь: https://github.com/atomoclast/videoray_description/tree/feature/DEEP-291

Привет, @musamarcusso , у тебя уже была возможность просмотреть это репо?

Да, я его клонировал. Я дам отзыв позже сегодня.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

HashirZahir picture HashirZahir  ·  10Комментарии

hughhugh picture hughhugh  ·  5Комментарии

tve picture tve  ·  17Комментарии

bst picture bst  ·  33Комментарии

dbcesar picture dbcesar  ·  5Комментарии