Skip to main content

case_wheel_test_head.py - 轮臂头部搜索测试

功能描述

  • 演示机器人头部的智能搜索功能
  • 通过头部运动在不同角度搜索 AprilTag
  • 使用并行处理同时进行感知和头部控制

主要特性

  • 多角度搜索策略(偏航角 ±85°,俯仰角 ±10°)
  • 并行执行感知和头部搜索
  • 实时 AprilTag 检测和位置反馈
  • 成功检测后自动停止搜索

配置参数

TAG_ID = config.pick.tag_id                                    # 目标 AprilTag ID
HEAD_SEARCH_YAWS = [85°, 0°, -85°] # 头部搜索偏航角
HEAD_SEARCH_PITCHES = [-10°, 0°, 10°] # 头部搜索俯仰角

启动说明

准备

Gazebo 仿真里如果使用 apriltag_ros 连续检测,通常需要先把系统的 tag 配置改成与仿真中 tag 实际尺寸一致(只需做一次):

sudo vim /opt/ros/noetic/share/apriltag_ros/config/tags.yaml

参考写法见 src/kuavo_humanoid_sdk/docs/markdown/pages/kuavo_strategy_v2.md 的"准备"章节。

启动轮臂下位机程序

启动下位机主程序

  • Gazebo 仿真:使用 load_kuavo_gazebo_sim_wheel.launch
cd ~/kuavo_ros_opensouece
export ROBOT_VERSION=60 # 或者61,根据底盘选择版本
source devel/setup.bash
roslaunch humanoid_controllers load_kuavo_gazebo_sim_wheel.launch

启动下位机相机坐标系转换机器人程序

  • 真实样机:使用 load_kuavo_real_wheel.launch
cd ~/kuavo_ros_opensouece
export ROBOT_VERSION=60
source devel/setup.bash
roslaunch humanoid_controllers load_kuavo_real_wheel.launch

说明:上述两个 launch 文件位于 src/humanoid-control/humanoid_controllers/launch/,分别用于 Gazebo 和 MuJoCo 两种不同仿真环境。

2. 启动下位机相机坐标系转换机器人程序

仅在需要识别tag时使用:

cd ~/kuavo_ros_opensouece
export ROBOT_VERSION=60
source devel/setup.bash
rosrun ar_control ar_control_node.py

启动上位机程序

TF 树转发程序(websocket server)

在新终端启动:

cd ~/kuavo_ros_application
source devel/setup.bash
roslaunch kuavo_tf2_web_republisher start_websocket_server.launch

若未启动该程序,Python SDK/策略中通过 /republish_tfs 获取 TF 变换时会报类似 kuavo_tf2_web_republisher 节点未运行 的错误。

启动相机程序

在新终端启动:

cd ~/kuavo_ros_application
source devel/setup.bash
roslaunch dynamic_biped apriltag.launch

启动 PyTree 轮臂案例

在另一个终端启动(建议先 cd 到仓库根目录并 source 环境):

cd ~/kuavo_ros_opensouece
source devel/setup.bash
cd src/kuavo_humanoid_sdk/kuavo_humanoid_sdk/kuavo_strategy_pytree/pick_place_box
python3 case_wheel_test_head.py

使用方法

python3 case_wheel_test_head.py

支持环境

  • Gazebo 仿真环境