Trường hợp Gazebo đặt biến môi trường GAZEBO_MODEL_PATH ở đâu?


8

Hiện tại tôi đang bắt đầu với Gazebo (1.5) và đang làm theo hướng dẫn ngoài internet. Để có được Gazebo tìm mô hình, tác giả chủ trương xuất thủ công GAZEBO_MODEL_PATHbiến môi trường thông qua

export GAZEBO_MODEL_PATH=[...]/models:$GAZEBO_MODEL_PATH

Nhưng điều đó sẽ chỉ làm việc cho các thiết bị đầu cuối hiện tại. Vì vậy, tôi muốn thay đổi biến môi trường vĩnh viễn.

Các tài Gazebo Hướng dẫn tuyên bố rằng GAZEBO_MODEL_PATH, cùng với tất cả các biến môi trường khác, được thiết lập bởi /usr/share/gazebo-1.5/setup.shnhưng tôi (trinh nữ) Gazebo cài đặt không liệt kê nó:

export GAZEBO_MASTER_URI=http://localhost:11345
export GAZEBO_MODEL_DATABASE_URI=http://gazebosim.org/models
export GAZEBO_RESOURCE_PATH=/usr/share/gazebo-1.5:/usr/share/gazebo_models
export GAZEBO_PLUGIN_PATH=/usr/lib/gazebo-1.5/plugins
export LD_LIBRARY_PATH=/usr/lib/gazebo-1.5/plugins:${LD_LIBRARY_PATH}
export OGRE_RESOURCE_PATH=/usr/lib/i386-linux-gnu/OGRE-1.7.4

# This line is needed while we're relying on ROS's urdfdom library
export LD_LIBRARY_PATH=/opt/ros/fuerte/lib:${LD_LIBRARY_PATH}

Nhưng khi tôi khởi động Gazebo, GAZEBO_MODEL_PATHđã được đặt thành $HOME/.gazebo/models, vì vậy nó phải được đặt ở đâu đó. Tôi đoán có lẽ tôi chỉ có thể thêm GAZEBO_MODEL_PATHvào setup.shkịch bản, nhưng vì nó được đặt ở đâu đó, tôi vẫn muốn biết nơi nào và liệu có nên thực hành nó ở đó hay không.


Câu trả lời của @Armin Meisterhirn nên được đánh dấu là câu trả lời IMO. Btw, Gazebo có diễn đàn riêng của mình QA answers.gazebosim.org
Isaacs

Câu trả lời:


5

Đây là một vấn đề của Linux hơn là một vấn đề Gazebo. Bạn chỉ có thể thêm dòng này

export GAZEBO_MODEL_PATH=[...]/models:$GAZEBO_MODEL_PATH

vào tập tin ~ / .bashrc của bạn .


3

Bạn đã hỏi hai câu hỏi.

  1. Trường hợp Gazebo đặt đường dẫn mô hình mặc định
  2. Tôi nên đặt giá trị ở đâu

Câu hỏi thứ hai hoàn toàn đúng được trả lời bởi @Armin Meisterhirn. Thực hành tốt nhất là đặt biến trong tệp .bashrc.

Câu hỏi đầu tiên, tôi cũng tự hỏi mình khi bắt đầu làm việc với vọng lâu.

Trong trường hợp Gazebo thuần túy (không có roslaunch, không có plugin), câu trả lời đơn giản như sau:

Trong mã nguồn. Gazebo luôn đặt một đường dẫn bổ sung là giá trị mặc định.

Nhìn đây .

Dòng 84:

this->modelPaths.push_back(home + "/.gazebo/models");

Kết quả là, bạn luôn có một đường dẫn mặc định, bất cứ điều gì bạn làm (ngoại trừ bạn thay đổi mã nguồn).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.