Rock Breaking
The rock breaking scenario describes a robot that finds itself in an area with a certain amount of rocks. It will break the rocks until all the chunks reach a certain size.
The order of events is as follows:
-
The robot will scan the area to obtain the count and location of all the rocks.
-
The robot will approach each rock and perform the behavior tree
- Scan the rock for 3d mesh, obtain attack pose tf
- Move the arm to attack pose
- Apply pressure to the rock
- Conditional: Did the rock break? If yes success, if no repeat
graph TD
RockBreak --> ScanRock;
ScanRock --> MoveArm;
MoveArm --> PressRock;
PressRock --> EvalBreak;
EvalBreak -->|not broken| ScanRock;
EvalBreak -->|broken| Success;
Running the rock breaking scenario:
Compile and source the code, then:
ros2 launch kea_rock_breaking kea_rock_breaking_planner.launch.py
This will start the planning nodes, plan and execute. Once the plan finishes successfully, it exits.
Common overrides:
ros2 launch kea_rock_breaking kea_rock_breaking_planner.launch.py \
agent_type:=baseline-1 \
auto_start:=true
The launch file accepts the same core arguments as kea_core_planner.launch.py (domain_file, problem, agent_type,
llm_config_file, vlm_config_file, namespace, auto_start).