Подготовка
-
Склонировать ветку inverse_task/widget
git clone -b inverse_task/widget https://github.com/LicAiBeerLab/auto-robotics-design.git
-
Датасет
- скачать архив по ссылке
- Распаковать архив в папку
-
Патчинг библеотеки
- скачать архив по ссылке
- Переложить в корень репозитория
-
Сбилдить Docker Image
docker build --pull --rm -f "Dockerfile" -t autoroboticsdesign:latest
Запуск
В репозитории содержаться три виджета
- Виджет обратной задачи находится в apps/widjetdemo/streamlit_widgets/streamlit_inverse.py. Для запуска требуеться датасет, далее будет описанно.
- Виджет прямой задачи находится в apps/widjetdemo/streamlit_widgets/streamlit_forward_v2.py
- Виджет оптимизации находится в apps/widjetdemo/streamlit_widgets/streamlit_optimization_v2.py
Для корректного отображения роботов в каждом из виджетов нужно настроить порты. Сейчас они задаються через назначенние перменных среды в начале каждого скрипта.
os.environ["MESHCAT_WEB_PORT"] = "7000"
os.environ["MESHCAT_WEB_PUBLIC_PORT"] = "7080"
Виджеты написанны с помощью Streamlit. Важно что запускать виджет нужно из корневой папки. В случае запуска из Docker это /jmoves_env. Это связанно с путями для подгурзки деталей робота. Это пораждает требование на возможность редактирования рабочей директории в докер контрейнере. Я уже это прописал.
Команды запуска виджета
streamlit run apps/widjetdemo/streamlit_widgets/streamlit_inverse.py
streamlit run apps/widjetdemo/streamlit_widgets/streamlit_forward_v2.py
streamlit run apps/widjetdemo/streamlit_widgets/streamlit_optimization_v2.py
Команда на запуск контейнера
DATASET_FOLDER -- папка с датасетом
sudo docker run --rm -it -p 8501:8501 -p 7080:7000 -v DATASET_FOLDER:/home/jovyan/jmoves_env/datasets autoroboticsdesign:latest