Development
Development
Panduan development dan kontribusi untuk BASCORRO
Development
Panduan untuk developer yang ingin berkontribusi ke project BASCORRO.
Quick Start
# 1. Clone repo
git clone https://github.com/ProgramBascorro/motion_webots.git
cd motion_webots
# 2. Setup environment
source /opt/ros/humble/setup.bash
# 3. Build
cd ros_ws
colcon build --continue-on-error
source install/setup.bash
# 4. Test
colcon testDevelopment Guides
Coding Standards
C++, Python, dan ROS 2 conventions
Contributing
Git workflow dan pull request guidelines
Debugging
Tips debugging dan troubleshooting
Design System
Warna, tipografi, dan komponen visual
Development Workflow
┌─────────────────────────────────────────────────┐
│ Development Cycle │
├─────────────────────────────────────────────────┤
│ │
│ 1. Create Branch │
│ │ │
│ ▼ │
│ 2. Write Code │
│ │ │
│ ▼ │
│ 3. Test in Simulation │
│ │ │
│ ▼ │
│ 4. Code Review (PR) │
│ │ │
│ ▼ │
│ 5. Merge to Main │
│ │ │
│ ▼ │
│ 6. Test on Real Robot │
│ │
└─────────────────────────────────────────────────┘Tools & Environment
| Tool | Purpose |
|---|---|
| VS Code | IDE dengan ROS extension |
| Git | Version control |
| Colcon | ROS 2 build tool |
| Webots | Simulation |
| Biome/Clang-format | Code formatting |
Recommended VS Code Extensions
{
"recommendations": [
"ms-iot.vscode-ros",
"ms-vscode.cpptools",
"ms-python.python",
"ms-python.vscode-pylance"
]
}Build Commands
# Build all packages
colcon build --continue-on-error
# Build specific package
colcon build --packages-select soccer_vision
# Build with debug symbols
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Debug
# Clean build
rm -rf build/ install/ log/
colcon buildTest Commands
# Run all tests
colcon test
# Test specific package
colcon test --packages-select soccer_vision
# View test results
colcon test-result --verboseKey Directories
motion_webots/
├── ros_ws/
│ ├── src/ # Source packages
│ │ ├── ROBOTIS-OP3/ # Core OP3 packages
│ │ ├── soccer_vision/ # Vision system
│ │ └── ...
│ ├── build/ # Build artifacts
│ ├── install/ # Installed packages
│ └── log/ # Build/test logs
├── run/ # Shell scripts
├── docs/ # This documentation
└── README.mdCommunication
- GitHub Issues - Bug reports & feature requests
- WhatsApp Group - Daily communication
- Weekly Meeting - Progress updates
- Discord - Technical discussions
Need Help?
- Check existing documentation
- Search GitHub issues
- Ask in WhatsApp/Discord
- Pair programming dengan senior member