Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

106 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

project_ahpa

The AHPA multi-agent project. This repository will be renamed and made public once the paper is submitted to a conference.

There are two important repositories which are included in this repository as Git submodules:

  • patrolling_sim: Experiment code. Includes all AHPA-related code, including that used on physical robots.
  • robot_turtlebot3: Physical robot code. Does not include any AHPA-related code.

Simulation

To run the simulation, follow the steps in src/patrolling_sim/README.md.

Physical Robots

Physical experiments require a command & control computer, robots, and a wireless network which connects all devices.

Robot Software Installation & Usage

Robot software is best installed using the robot_configuration repository, which will automatically install pre-built Docker images to your robot and configure them to start upon boot. Follow the steps below to install.

  1. Install the robot_configuration repository on your computer by following its instructions.

  2. If desired, modify the configuration and composition of the robot fleet in robot_configuration/inventory.d/project_ahpa.yml.

  3. Install software to the robot fleet:

    ansible-playbook -i ./inventory/ -i ./inventory.d/project_ahpa.yml ./deploy-software.yml -e tag=project-ahpa-<branch_name> -l <robot_names>
  4. Reboot the robots. The robot software should start automatically and will await confirmation from the C2 software before beginning the experiment.

Command & Control Software Installation & Usage

The command and control (C2) software will be installed on a Windows or (preferably) Ubuntu PC. Follow the steps below to build and run the software.

  1. Install prerequisites:

    • ROS 2 Jazzy
    • Additional ROS 2 packages: apt install ros-jazzy-rmw-cyclonedds-cpp
    • Python packages: pip install networkx[default] numpy matplotlib zarr
    • Zenoh-ROS2 Bridge:
    echo "deb [trusted=yes] https://download.eclipse.org/zenoh/debian-repo/ /" | sudo tee -a /etc/apt/sources.list > /dev/null
    sudo apt update
  2. Clone this repository to the C2 PC. Ensure that all submodules are also downloaded by using the --recurse flag.

    git clone --recurse git@github.com:NU-IDEAS-Lab/project_ahpa.git
  3. Build the C2 software:

    cd ./project_ahpa
    . /opt/ros/jazzy/setup.bash
    colcon build --packages-up-to target_c2
  4. Launch the C2 software:

    . ./install/setup.bash
    ros2 launch target_c2 all.launch.yaml

Robot Software Build & Usage

The robot software can be built and run directly on an Ubuntu PC (or on the robot itself). Follow the steps below.

  1. Install prerequisites:

    • ROS 2 Jazzy
    • Additional ROS 2 packages: apt install ros-jazzy-rmw-cyclonedds-cpp
  2. Clone this repository to the robot or PC. Ensure that all submodules are also downloaded by using the --recurse flag.

    git clone --recurse git@github.com:NU-IDEAS-Lab/project_ahpa.git
  3. Build the robot software:

    cd ./project_ahpa
    . /opt/ros/jazzy/setup.bash
    colcon build --packages-up-to target_robot
  4. Launch the robot software:

    . ./install/setup.bash
    ros2 launch target_robot test_L440.launch.yaml

About

The AHPA multi-agent project. This repository will be renamed and made public once the paper is submitted to a conference.

Resources

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages