Навигация в файловой системе ROS — различия между версиями

Материал из roboforum.ru Wiki
Перейти к: навигация, поиск
(Новая страница: «== Навигация в файловой системе ROS == '''1. Краткий обзор концепции файловой системы''' *Packages: Па…»)
 
(Навигация в файловой системе ROS)
Строка 12: Строка 12:
  
 
'''2. Инструменты файловой системы'''
 
'''2. Инструменты файловой системы'''
2.1. Использование rospack и rosstack
+
 
 +
'''2.1. Использование rospack и rosstack'''
  
 
<tt>rospack</tt> и <tt>rosstack</tt> являются частью rospack утилиты.
 
<tt>rospack</tt> и <tt>rosstack</tt> являются частью rospack утилиты.
Строка 29: Строка 30:
 
:<code>YOUR_INSTALL_PATH/ros/core/roscpp</code>
 
:<code>YOUR_INSTALL_PATH/ros/core/roscpp</code>
  
2.2. Использование roscd
+
'''2.2. Использование roscd'''
  
 
<tt>roscd</tt> является частью rosbash утилиты. Позволяет изменить текущую директорию непосредственно на директорию пакета или стека.
 
<tt>roscd</tt> является частью rosbash утилиты. Позволяет изменить текущую директорию непосредственно на директорию пакета или стека.
Строка 52: Строка 53:
 
При выполнении <tt>roscd</tt> без аргументов произойдет переход к $ROS_ROOT .
 
При выполнении <tt>roscd</tt> без аргументов произойдет переход к $ROS_ROOT .
  
2.2. Использование rosls
+
'''2.3. Использование rosls'''
  
 
<tt>rosls</tt> является частью rosbash утилит, она позволяет просмотреть содержание пакета или стека по его имени, а не по пути к нему.
 
<tt>rosls</tt> является частью rosbash утилит, она позволяет просмотреть содержание пакета или стека по его имени, а не по пути к нему.

Версия 16:06, 9 февраля 2011

Навигация в файловой системе ROS

1. Краткий обзор концепции файловой системы

  • Packages: Пакеты являются низким уровнем организации программного обеспечения. Они могут содержать все что угодно: библиотеки, инструменты, исполняемые файлы и др.
  • Manifest: Манифест является описанием пакета. Главная задача которого - определение зависимостей между пакетами.
  • Stacks: Стеки являются коллекциями пакетов, образующих высокоуровневые библиотеки.
  • Stack Manifest: Обычный манифест, но для стека.

В файловой системе легко определить пакет то, или стек:

  • Пакет представляет собой каталог с файлом manifest.xml.
  • Стек представляет собой каталог с файлом stack.xml.

Filesystem.png

2. Инструменты файловой системы

2.1. Использование rospack и rosstack

rospack и rosstack являются частью rospack утилиты. Использование:

$ rospack find [имя_пакета]

$ rosstack find [имя_стека]

Пример:

$ rospack find roscpp

Вернется:

YOUR_INSTALL_PATH/ros/core/roscpp

2.2. Использование roscd

roscd является частью rosbash утилиты. Позволяет изменить текущую директорию непосредственно на директорию пакета или стека.

Использование:

$ roscd [locationname[/subdir]]

Пример:

$ roscd roscpp

Чтобы убедиться, что директория была изменена на директорию пакета roscpp, нужно посмотреть текущую директорию с помощью bash команды pwd

$ roscd roscpp/include

$ pwd

Вы должны увидеть:

YOUR_INSTALL_PATH/ros/core/roscpp/include

При выполнении roscd без аргументов произойдет переход к $ROS_ROOT .

2.3. Использование rosls

rosls является частью rosbash утилит, она позволяет просмотреть содержание пакета или стека по его имени, а не по пути к нему.

Использование:

$ rosls [locationname[/subdir]]

Пример:

$ rosls roscpp_tutorials

Вернется:

add_two_ints_client listener_unreliable
add_two_ints_server listener_with_tracked_object
add_two_ints_server_class listener_with_userdata
anonymous_listener Makefile
babbler manifest.xml
CMakeLists.txt node_handle_namespaces
custom_callback_processing notify_connect
listener srv
listener_async_spin talker
listener_multiple time_api
listener_single_message timers
listener_threaded_spin