Skip to content

A project featuring AI capabilities using the Freenove Hexapod.

License

Notifications You must be signed in to change notification settings

mohamdlog/Hexapod-AI

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hexapod-AI

Welcome

This project is designed to provide the following features and capabilities:

  1. Operate Entirely in Headless Mode
    The system is built to function without requiring a graphical user interface, including the server.

  2. Develop a Custom CLI-Friendly Client
    A custom command-line interface (CLI) client. Key functionalities include:

    • Controlling the spider’s behavior.
    • Monitoring system status and logs.
    • Retrieving or managing scene recording data.
  3. ROS2 for Communication and Control
    ROS2 (Robot Operating System 2) is the backbone of the system’s communication. It provides support for:

    • Node-Based Architecture: The spider, obstacle detection, and data recording each run as independent ROS2 nodes.
    • Inter-Node Communication: Nodes use ROS2 topics and services to share data, such as movement commands, obstacle sensor readings, and scene recording updates.
  4. Simulate Spider Movements with Obstacle Avoidance and Scene Recording
    The focus is to simulate a spider capable of dynamic movement and environment interaction:

    • Random Walk: A pseudo-random algorithm guides the spider’s movements.
    • Obstacle Avoidance: The spider identifies and navigate around obstacles.
    • Scene Recording: The system captures and stores environmental data, movement paths, and interaction details using ROS2’s data management tools. This information is used for machine learning.
  5. Expand Compatibility to Other Hexapod Robots
    While initially focused on the Freenove Hexapod, the goal is to build an adaptable framework that can work with other hexapod robots as well.

Prerequisites

Setup

  1. In the root of the project, run the setup script:
    python setup.py
  2. Create a virtual envirnment:
    python -m venv venv
  3. Activate the virtual enviornment:
    source venv/bin/activate
  4. Install the necessary dependencies:
    pip install -r requirements.txt

Tips

  • If sudo elevation is needed, run:

    sudo /path/to/Hexapod-AI/venv/bin/python script.py

    This will use the virtual environment's Python interpreter.

  • Follow this tutorial for setup and testing.

  • To calibrate the spider, download the appropriate client from the original repository. It is compatible with the server.

About

A project featuring AI capabilities using the Freenove Hexapod.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%