mirror of
https://github.com/dptech-corp/Uni-Lab-OS.git
synced 2026-02-06 23:15:10 +00:00
fix dummy2
This commit is contained in:
144
dummy2_debug/start_dummy2_unilab.sh
Executable file
144
dummy2_debug/start_dummy2_unilab.sh
Executable file
@@ -0,0 +1,144 @@
|
||||
#!/bin/bash
|
||||
# Dummy2 Unilab环境启动脚本
|
||||
# 专为unilab conda环境设计,不依赖系统ROS2
|
||||
|
||||
set -e
|
||||
|
||||
# 配置
|
||||
DUMMY2_WS="/home/hh/dummy2/ros2/dummy2_ws"
|
||||
|
||||
# 初始化mamba
|
||||
eval "$(mamba shell hook --shell bash)"
|
||||
|
||||
# 函数:激活环境并检查
|
||||
setup_environment() {
|
||||
echo "激活unilab环境..."
|
||||
mamba activate unilab
|
||||
|
||||
if ! command -v ros2 &> /dev/null; then
|
||||
echo "错误: ROS2在unilab环境中不可用"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "✓ ROS2环境准备就绪"
|
||||
}
|
||||
|
||||
# 函数:构建工作空间
|
||||
build_workspace() {
|
||||
echo "==================================="
|
||||
echo "构建Dummy2工作空间"
|
||||
echo "==================================="
|
||||
|
||||
setup_environment
|
||||
cd "$DUMMY2_WS"
|
||||
|
||||
echo "清理旧构建文件..."
|
||||
rm -rf build/ install/ log/
|
||||
|
||||
echo "开始构建..."
|
||||
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
|
||||
|
||||
echo "✓ 构建完成"
|
||||
}
|
||||
|
||||
# 函数:启动硬件接口
|
||||
start_hardware() {
|
||||
echo "==================================="
|
||||
echo "启动Dummy2硬件接口"
|
||||
echo "==================================="
|
||||
|
||||
setup_environment
|
||||
cd "$DUMMY2_WS"
|
||||
source install/setup.bash
|
||||
|
||||
echo "启动硬件接口节点..."
|
||||
echo "按Ctrl+C停止"
|
||||
ros2 launch dummy2_hw dummy2_hw.launch.py
|
||||
}
|
||||
|
||||
# 函数:启动MoveIt服务
|
||||
start_moveit() {
|
||||
echo "==================================="
|
||||
echo "启动Dummy2 MoveIt服务"
|
||||
echo "==================================="
|
||||
|
||||
setup_environment
|
||||
cd "$DUMMY2_WS"
|
||||
source install/setup.bash
|
||||
|
||||
echo "启动MoveIt2规划服务..."
|
||||
echo "按Ctrl+C停止"
|
||||
ros2 launch dummy2_moveit_config demo.launch.py
|
||||
}
|
||||
|
||||
# 函数:检查状态
|
||||
check_status() {
|
||||
echo "==================================="
|
||||
echo "检查ROS2服务状态"
|
||||
echo "==================================="
|
||||
|
||||
setup_environment
|
||||
|
||||
echo "当前节点:"
|
||||
ros2 node list || echo "无节点运行"
|
||||
|
||||
echo ""
|
||||
echo "可用话题:"
|
||||
ros2 topic list | head -10 || echo "无话题"
|
||||
|
||||
echo ""
|
||||
echo "可用动作:"
|
||||
ros2 action list || echo "无动作服务"
|
||||
}
|
||||
|
||||
# 函数:运行测试
|
||||
run_test() {
|
||||
echo "==================================="
|
||||
echo "运行Dummy2控制测试"
|
||||
echo "==================================="
|
||||
|
||||
setup_environment
|
||||
source "$DUMMY2_WS/install/setup.bash"
|
||||
cd /home/hh/Uni-Lab-OS
|
||||
|
||||
echo "运行直接控制测试..."
|
||||
python dummy2_debug/dummy2_direct_move.py
|
||||
}
|
||||
|
||||
# 主程序
|
||||
case "${1:-help}" in
|
||||
"build")
|
||||
build_workspace
|
||||
;;
|
||||
"hw"|"hardware")
|
||||
start_hardware
|
||||
;;
|
||||
"moveit")
|
||||
start_moveit
|
||||
;;
|
||||
"check"|"status")
|
||||
check_status
|
||||
;;
|
||||
"test")
|
||||
run_test
|
||||
;;
|
||||
"help"|*)
|
||||
echo "Dummy2 Unilab环境启动脚本"
|
||||
echo ""
|
||||
echo "用法: $0 [命令]"
|
||||
echo ""
|
||||
echo "命令:"
|
||||
echo " build - 构建工作空间"
|
||||
echo " hw - 启动硬件接口"
|
||||
echo " moveit - 启动MoveIt服务"
|
||||
echo " check - 检查服务状态"
|
||||
echo " test - 运行控制测试"
|
||||
echo " help - 显示此帮助信息"
|
||||
echo ""
|
||||
echo "启动顺序:"
|
||||
echo "1. $0 build (首次或更新后)"
|
||||
echo "2. $0 hw (终端1)"
|
||||
echo "3. $0 moveit (终端2)"
|
||||
echo "4. $0 test (终端3)"
|
||||
;;
|
||||
esac
|
||||
Reference in New Issue
Block a user