Skip to content

chaotiquetaurus/artefact

Repository files navigation

Team Robot Control System

Autonomous robot control system with DC motors, encoder feedback, web interface, and beacon detection capabilities.

Features

  • Precise Movement Control - DC motors with quadrature encoders for accurate positioning
  • Web Control Interface - Remote control and monitoring via web browser
  • Beacon Detection - Camera-based beacon tracking and detection
  • Real-time Feedback - Encoder-based position tracking and telemetry
  • Modular Architecture - Clean separation of concerns for easy development

Project Structure

team2/
├── src/
│   ├── app.py                     # Main application entry point
│   ├── movement_control/          # Motor control with encoder feedback
│   ├── web_control_interface/     # Web-based remote control
│   ├── beacon_detection/          # Camera-based beacon tracking
│   ├── control_logic_tracking/    # Navigation and control logic
│   └── raspberry_setup/           # Raspberry Pi configuration
├── pull_and_restart.sh            # Deployment script
└── README.md                      # This file

Hardware

Robot Platform

  • Controller: Raspberry Pi
  • Motors: DFRobot FIT0450 Micro DC Motors (2x)
  • Motor Controller: I²C interface (0x57)
  • Camera: For beacon detection

Quick Start

Installation

# Create virtual environment (Raspberry Pi)
python3 -m venv venv
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Enable I²C on Raspberry Pi
sudo raspi-config
# Navigate to: Interface Options > I2C > Enable

Running the Robot

# Start the main application
python3 src/app.py

The robot will perform a startup wiggle sequence to indicate it's ready.

Basic Movement Example

from src.movement_control import MovementControl
import math

# Initialize robot
robot = MovementControl()

# Move forward 200mm
robot.move_distance(speed=100, distance=200)

# Turn 90° left
robot.turn_angle(angular_speed=1.0, angle_rad=math.pi/2)

# Stop motors
robot.stop()

Modules

Movement Control

Precise motor control with encoder feedback for accurate distance and angle movements.

See detailed documentation →

Key features:

  • Distance-based movement (mm precision)
  • Angle-based turning (radian precision)
  • Continuous movement modes
  • PID-controlled motor speeds
  • Debug logging and diagnostics

Web Control Interface

Remote control and monitoring through a web browser.

See documentation →

Beacon Detection

Camera-based beacon detection and tracking system.

See documentation →

Control Logic & Tracking

High-level navigation logic and position tracking.

See documentation →

Network Configuration

  • Hostname: robotpi-62.enst.fr
  • Password: FyJvbBnybAujlQ
  • MAC Address (wlan0): d8:3a:dd:29:fd:ef
  • MAC Address (eth0): d8:3a:dd:29:fd:ee

Deployment

Use the provided script to update and restart the robot:

./pull_and_restart.sh

This script will:

  1. Pull latest changes from git
  2. Restart the robot application

Development

Each module has its own README with detailed documentation:

Common Commands

# Check I²C devices
i2cdetect -y 8

# Run with debug output
python3 src/app.py --debug

# Test movement control
python3 src/movement_control_example.py

About

Project for telecom paris where we entirely devloped an automatic vehicule on a raspberry

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors