Beachbot is a robotics project for creating autonomous beach robots. The system integrates various hardware components including cameras, GNSS (GPS), IMU sensors, and motors to create a fully functional robot that can navigate and operate in beach environments.
- Camera-based vision system
- GNSS/GPS positioning
- IMU-based orientation
- Motor control system
- Navigation and localization
- Remote control capabilities
- User interface
- Python 3.x (Anaconda distribution recommended)
- Hardware components:
- Camera modules
- GNSS/GPS receiver
- IMU sensor
- Motor controllers (ODrive compatible)
- Jetson development board (for GPIO)
git clone https://github.com/yourusername/beachbot.git
cd beachbot
The project uses Python and requires several dependencies. We recommend using a virtual environment:
# Create and activate virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install requirements
pip install -r env/python_requirements/requirements.txt
Beachbot can be run in two modes:
- UI mode: For monitoring and controlling via a user interface
- RC mode: For remote control operation
python main.py ui # For UI mode
python main.py rc # For RC mode
The orchestrator will automatically launch the required nodes based on the selected profile.
src/python/
: Core Python modulescontrols/
: Motor and movement control modulesdrivers/
: Hardware driver interfacesgeometry/
: Geometric calculations and transformationsipc/
: Inter-process communicationkinematics/
: Robot kinematicslocalization/
: Position tracking and localizationmapping/
: Environmental mappingmodels/
: Data modelsnode/
: Individual system nodes (camera, GPS, IMU, etc.)orchestration/
: System orchestration and node managementplanning/
: Path planning and navigationtools/
: Utility tools and helpers
- Create a new Python file in
src/python/node/
- Implement the node functionality
- Add the node configuration to
NodeConfig
insrc/python/orchestration/launch.py
- Include the node in the appropriate profile in the
_gen_profile
function
See the LICENSE file for details.
- Hardware connection problems: Ensure all devices are properly connected and powered
- Missing dependencies: Verify all required Python packages are installed
- Permission issues: Some hardware interfaces may require elevated permissions
For more help, please open an issue on the project repository.