Closed Robotics010 closed 5 years ago
Этот вопрос нужен для решения https://github.com/Robotics010/ar600e-default/issues/14
Команда
roscd arbot_model_pkg
на моей системе выполняется успешно
URDF files tend to use a "package:/" keyword in file names to indicate that the path is relative to the current package directory. This is tied into ROS's catkin packaging system.
https://github.com/dartsim/dart/issues/271
нужно заменить в ARbot_v2.urdf все file:////home/vladimir/catkin_ws/src/ar600-start/src/ на package://
Заменил в ARbot_v2.urdf, теперь пути выглядят:
<mesh filename="arbot_model_pkg://meshes/STL/taz.stl" scale="0.001 0.001 0.001"/>
Но теперь ошибка:
[ WARN] [1542776187.369269592]: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource arbot_model_pkg://meshes/STL/tors.stl in resource group Autodetect or any other group. in ResourceGroupManager::openResource at /build/buildd/ogre-1.8-1.8.1+dfsg/OgreMain/src/OgreResourceGroupManager.cpp (line 756) [ERROR] [1542776187.369346775]: Could not load model 'arbot_model_pkg://meshes/STL/tors.stl' for link 'tors': OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource arbot_model_pkg://meshes/STL/tors.stl in resource group Autodetect or any other group. in ResourceGroupManager::openResource at /build/buildd/ogre-1.8-1.8.1+dfsg/OgreMain/src/OgreResourceGroupManager.cpp (line 756)
Если заменить на вот такое:
<mesh filename="package://meshes/STL/taz.stl" scale="0.001 0.001 0.001"/>
То проблема аналогичная
Путь должен быть mesh filename="package://arbot_model_pkg/meshes/STL/taz.stl" scale="0.001 0.001 0.001"
Если у меня путь
rosuser@rosuser-Latitude-E5420:~$ roscd arbot_model_pkg
rosuser@rosuser-Latitude-E5420:~/catkin_ws/src/ar600e-default/arbot_model_pkg$
То ты предлагаешь в моем URDF файле заменить на что?
Как должно выглядеть пример тега из ARbot_v2.urdf?
<mesh filename="file:///home/vladimir/catkin_ws/src/arbot_model_pkg/meshes/STL/taz.stl" scale="0.001 0.001 0.001"/>
С телефона неудобно писать) как выделять так код? Просто без выделения он не отображается из за < /> Выше написал, как они у меня
Нет, я понимаю как заменить у меня на мой путь к файлу. Но это решение проблемы только для моего случая. Я же настаиваю на том, что решить проблему нужно так, что у тех, кто скачивает его себе, тоже работало. Т.е. нужно вставить относительные пути. Как это сделать?
Это mesh filename="file:///home/vladimir/catkin_ws/src/arbot_model_pkg/meshes/STL/taz.stl" scale="0.001 0.001 0.001"/> должно выглядеть так mesh filename="package://arbot_model_pkg/meshes/STL/taz.stl" scale="0.001 0.001 0.001"/> Это уже относительный получается, имя пользователя не присутствует
Там же больше негде не встречается мой пользователь?
Вот это уже другое дело. Работает.
Внес изменения d594ff0950526ea2b770dcb903e611f9fdfa3cf1
Пытаюсь запустить демонстрацию moveit_arbot
roslaunch moveit_arbot demo.launch
Но завершается с ошибкой[rviz_rosuser_Latitude_E5420_2704_4200105157973114964-5] process has died [pid 2737, exit code -11, cmd /opt/ros/indigo/lib/rviz/rviz -d /home/rosuser/catkin_ws/src/ar600e-default/moveit_arbot/launch/moveit.rviz __name:=rviz_rosuser_Latitude_E5420_2704_4200105157973114964 __log:=/home/rosuser/.ros/log/57f79fd6-ec81-11e8-8fbf-a088b46f4ff4/rviz_rosuser_Latitude_E5420_2704_4200105157973114964-5.log]. log file: /home/rosuser/.ros/log/57f79fd6-ec81-11e8-8fbf-a088b46f4ff4/rviz_rosuser_Latitude_E5420_2704_4200105157973114964-5*.log
Похоже проблема в том, что пути в URDF файле прописаны абсолютные, а не относительные.
Пример тега из ARbot_v4.urdf:
<mesh filename="file:///home/vladimir/catkin_ws/src/arbot_model_pkg/meshes/STL/taz.stl" scale="0.001 0.001 0.001"/>