128 lines
3.1 KiB
Bash
Executable File
128 lines
3.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# 机械臂客户端启动脚本
|
|
# 包含虚拟环境激活和客户端启动
|
|
|
|
# 设置脚本目录
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
cd "$SCRIPT_DIR"
|
|
|
|
# 颜色定义
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
BLUE='\033[0;34m'
|
|
NC='\033[0m' # No Color
|
|
|
|
# 打印彩色消息
|
|
print_info() {
|
|
echo -e "${BLUE}[INFO]${NC} $1"
|
|
}
|
|
|
|
print_success() {
|
|
echo -e "${GREEN}[SUCCESS]${NC} $1"
|
|
}
|
|
|
|
print_warning() {
|
|
echo -e "${YELLOW}[WARNING]${NC} $1"
|
|
}
|
|
|
|
print_error() {
|
|
echo -e "${RED}[ERROR]${NC} $1"
|
|
}
|
|
|
|
# 显示标题
|
|
echo "================================================"
|
|
echo " 🦾 机械臂客户端启动器"
|
|
echo "================================================"
|
|
echo ""
|
|
|
|
# 检查虚拟环境是否存在
|
|
if [ ! -d "venv" ]; then
|
|
print_error "虚拟环境不存在,请先运行 ./start_service.sh 创建虚拟环境"
|
|
exit 1
|
|
fi
|
|
|
|
# 激活虚拟环境
|
|
print_info "正在激活虚拟环境..."
|
|
source venv/bin/activate
|
|
|
|
if [ $? -eq 0 ]; then
|
|
print_success "虚拟环境已激活"
|
|
else
|
|
print_error "虚拟环境激活失败"
|
|
exit 1
|
|
fi
|
|
|
|
# 检查必要文件是否存在
|
|
print_info "检查必要文件..."
|
|
if [ ! -f "src/robot_client.py" ]; then
|
|
print_error "缺少必要文件: src/robot_client.py"
|
|
exit 1
|
|
fi
|
|
print_success "所有必要文件存在"
|
|
|
|
# 解析命令行参数
|
|
SERVER="http://192.168.114.26:5000"
|
|
MOCK=""
|
|
|
|
while [[ $# -gt 0 ]]; do
|
|
case $1 in
|
|
--server)
|
|
SERVER="$2"
|
|
shift 2
|
|
;;
|
|
--real)
|
|
MOCK=""
|
|
shift
|
|
;;
|
|
--mock)
|
|
MOCK="--mock"
|
|
shift
|
|
;;
|
|
-h|--help)
|
|
echo "用法: $0 [选项]"
|
|
echo ""
|
|
echo "选项:"
|
|
echo " --server SERVER 服务器地址 (默认: http://localhost:5000)"
|
|
echo " --mock 使用模拟控制器 (默认)"
|
|
echo " --real 使用真实机械臂控制器"
|
|
echo " -h, --help 显示帮助信息"
|
|
echo ""
|
|
echo "示例:"
|
|
echo " $0 # 基本启动(模拟模式)"
|
|
echo " $0 --server http://192.168.1.100:5000 # 连接远程服务器"
|
|
echo " $0 --real # 真实机械臂模式"
|
|
exit 0
|
|
;;
|
|
*)
|
|
print_error "未知参数: $1"
|
|
echo "使用 $0 --help 查看帮助"
|
|
exit 1
|
|
;;
|
|
esac
|
|
done
|
|
|
|
# 显示启动信息
|
|
echo ""
|
|
print_info "启动配置:"
|
|
echo " - 服务器地址: $SERVER"
|
|
if [ ! -z "$MOCK" ]; then
|
|
echo " - 控制模式: 模拟模式"
|
|
print_warning "当前使用模拟控制器,不会控制真实机械臂"
|
|
else
|
|
echo " - 控制模式: 真实机械臂"
|
|
print_warning "当前使用真实机械臂控制器"
|
|
fi
|
|
echo ""
|
|
|
|
print_info "按 Ctrl+C 停止客户端"
|
|
echo "================================================"
|
|
echo ""
|
|
|
|
# 切换到src目录
|
|
cd src
|
|
|
|
# 启动客户端
|
|
print_info "正在启动机械臂客户端..."
|
|
python3 robot_client.py --server "$SERVER" $MOCK |