Major Features Added: - KDL-based kinematics engine with world/local coordinate transformation - Complete GUI system with configuration management - Robot loader with URDF parsing and joint control - Enhanced environment system with transport object management - Main application entry point with dependency validation Technical Improvements: - World coordinate to robot base coordinate transformation in KDL - Real-time configuration updates through GUI - Comprehensive error handling and validation - Configuration-driven design throughout - Robot model scaling adjusted to 0.2x for proper visualization Files Added: - src/robot/kinematics.py: KDL forward/inverse kinematics with coordinate transforms - src/gui/: Complete GUI framework with main window and config management - main.py: Application entry point with environment validation - models/*.stl: Robot link mesh files for URDF visualization - tests/: Unit test framework for core components This commit establishes the complete foundation for robotic arm path planning and task execution development. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
111 lines
1.6 KiB
JSON
111 lines
1.6 KiB
JSON
{
|
|
"robot": {
|
|
"model_path": "models/manual_robot.urdf",
|
|
"base_position": [
|
|
0.0,
|
|
1.6,
|
|
0.0
|
|
],
|
|
"base_orientation": [
|
|
0.0,
|
|
0.0,
|
|
1.5
|
|
]
|
|
},
|
|
"wall": {
|
|
"position": [
|
|
0.0,
|
|
0.0,
|
|
0.0
|
|
],
|
|
"dimensions": {
|
|
"width": 3.0,
|
|
"height": 2.5,
|
|
"thickness": 0.2
|
|
},
|
|
"material": {
|
|
"color": [
|
|
0.8,
|
|
0.8,
|
|
0.8,
|
|
1.0
|
|
],
|
|
"type": "concrete"
|
|
}
|
|
},
|
|
"hole": {
|
|
"position_relative_to_wall": [
|
|
0.0,
|
|
0.0,
|
|
0.0
|
|
],
|
|
"dimensions": {
|
|
"width": 0.6,
|
|
"height": 0.6
|
|
},
|
|
"shape": "rectangle"
|
|
},
|
|
"task_points": {
|
|
"point_A": {
|
|
"position": [
|
|
1.0,
|
|
0.5,
|
|
0.8
|
|
],
|
|
"description": "取物点,与机械臂同侧"
|
|
},
|
|
"point_B": {
|
|
"position": [
|
|
3.0,
|
|
0.5,
|
|
0.8
|
|
],
|
|
"description": "目标点,墙体另一侧"
|
|
}
|
|
},
|
|
"transport_object": {
|
|
"initial_position": [
|
|
1.0,
|
|
0.5,
|
|
0.5
|
|
],
|
|
"dimensions": {
|
|
"width": 0.1,
|
|
"height": 0.1,
|
|
"depth": 0.1
|
|
},
|
|
"mass": 0.5,
|
|
"shape": "cube",
|
|
"material": {
|
|
"color": [
|
|
1.0,
|
|
0.0,
|
|
0.0,
|
|
1.0
|
|
],
|
|
"friction": 0.7
|
|
}
|
|
},
|
|
"simulation": {
|
|
"timestep": 0.01,
|
|
"gravity": [
|
|
0.0,
|
|
0.0,
|
|
-9.81
|
|
],
|
|
"real_time": false
|
|
},
|
|
"camera": {
|
|
"distance": 4.0,
|
|
"yaw": 45,
|
|
"pitch": -30,
|
|
"target": [
|
|
0,
|
|
0,
|
|
0
|
|
]
|
|
},
|
|
"gui": {
|
|
"window_size": "1200x800"
|
|
}
|
|
} |