Преглед на файлове

feat: 添加启动容器脚本

HeWang преди 9 месеца
родител
ревизия
edbc23ef7e
променени са 2 файла, в които са добавени 57 реда и са изтрити 1 реда
  1. 2 1
      map_update/run_map_update.sh
  2. 55 0
      simulation/start_container.sh

+ 2 - 1
map_update/run_map_update.sh

@@ -72,5 +72,6 @@ else
   docker start "$CONTAINER_NAME"
 fi
 
+command="source $CONTAINER_WORKSPACE/devel_isolated/setup.sh && $CONTAINER_WORKSPACE/build_map.sh $CONTAINER_WORKSPACE/config.json"
 # 容器内执行地图更新脚本
-docker exec "$CONTAINER_NAME" /bin/bash -c "source $CONTAINER_WORKSPACE/devel_isolated/setup.sh && $CONTAINER_WORKSPACE/build_map.sh $CONTAINER_WORKSPACE/config.json"
+docker exec "$CONTAINER_NAME" /bin/bash -c "$command"

+ 55 - 0
simulation/start_container.sh

@@ -0,0 +1,55 @@
+#!/bin/bash
+# 检查到未定义的变量则停止执行并报错
+set -u
+
+# 检查参数数量
+if [ "$#" -ne 2 ]; then
+  echo "Error: Incorrect number of arguments"
+  echo "Usage: $0 IMAGE_NAME CONTAINER_NAME"
+  exit 1
+fi
+
+IMAGE_NAME=$1
+CONTAINER_NAME=$2
+
+# 检查容器是否存在
+container_id=$(docker ps -aqf name=^${CONTAINER_NAME}$)
+if [ -n "$container_id" ]; then
+    echo "Container $CONTAINER_NAME already exists,removing..."
+    docker rm -f "$container_id"
+    echo "Container removed"
+fi
+
+# 开启容器
+echo "Start container..."
+## 创建容器
+docker run -itd --name "$CONTAINER_NAME" --net=host -v /home/cicv/work/pji_desktop/simulation/data/pjirobot/data:/root/pjirobot  "$IMAGE_NAME" /bin/bash
+## 检查容器是否已启动
+container_id=$(docker ps -aqf name=^${CONTAINER_NAME}$)
+if [ -n "$container_id" ]; then
+    echo "Container $CONTAINER_NAME started"
+fi
+
+# 容器依赖服务配置
+## 默认起点配置
+
+## 启动仿真环境
+### 选择场景文件
+### 选择地图
+### 启动仿真
+
+
+## 容器初始配置
+## 容器内路径参数
+#MAP_SERVICE_PATH="/home/load_map_service"
+#PJI_NAV_PATH="/home/pji_nav"
+#PJI_ENGINE_PATH="/home/pji_engine"
+## 启动加载地图服务
+#command="cd $MAP_SERVICE_PATH && source devel/setup.bash && rosrun load_map load_map"
+#docker exec "$CONTAINER_NAME" /bin/bash -c "$command"
+## 启动导航节点
+#command="cd $PJI_NAV_PATH && source install/setup.bash && roslaunch pji_navigation navigation.launch"
+#docker exec "$CONTAINER_NAME" /bin/bash -c "$command"
+## 启动engine节点
+#command="cd $PJI_ENGINE_PATH && source install/setup.bash && roslaunch pji_launch pji_engine.launch"
+#docker exec "$CONTAINER_NAME" /bin/bash -c "$command"