Skip to content

smart-scaffolding/swarm_construction

Repository files navigation

Swarm Construction

Repository for Swarm Construction code. Includes simulator, structure code, and robot code, as well as documentation for all.

See the main documentation <https://smart-scaffolding.github .io/swarm_construction/> for more information.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See installing for notes on how to run the project on your system. See the main documentation <https://smart-scaffolding.github .io/swarm_construction/>__ for more details on how to run the entire project.

Prerequisites

In order to run this project, it is best to set up a virtual environment so that all dependencies can be easily installed. It is recommended to use an Anaconda environment, for which more instructions can be found at the Anaconda website.

It should be noted that this is a large program that creates several threads and processes in order to run. Make sure

that the hardware you are running it on is capable of multiple threads. It is also best to close out of unused applications and processes to ensure enough application memory.

Installing

A step by step series of examples that tell you how to get a development env running. First create a new conda environment with the specified python version:

conda create --name <ENV NAME> python=3.7.6

Once the environment has been activated (conda active <ENV NAME>), run the following command in the directory where you cloned the entire repository:

pip install -r requirements.txt

After all of the dependencies have been installed, run the following command from the components/robot directory to get a robot up and running

python main.py -i ROBOT_# -p X Y Z

where the -i command is used to specify the ID of the robot. Note that the id must be in the form "ROBOT". For example, ROBOT_1, ROBOT_3, etc may be used. XYZ represent the starting coordinates of the robot.

After all of the dependencies have been installed, run the following command from the components/simulator directory to get the simulator up and running:

python main.py

After all of the dependencies have been installed, run the following command from the components/robot directory to get the home block (structure) up and running and begin building:

python main.py

It should also be noted that config.py file specifies all of the configuration parameters for the module. These values should be adjusted as needed. For example, if talking to other robots/the structure on other hardware, it is important to change the IP address used to communicate between modules, found in the configuration.py file.

Built With

  • Python (3.7.6)
  • VTK: The visualization toolkit, used to visualize the robot
  • ZMQ: ZeroMQ, the messaging protocol and medium used for communication/simulating communication

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments

  • Swarm Construction 2020 MQP Team (Caleb Wagner, Hannan Liang, Neel Dhanaraj, Cameron Collins, Josue Contreras, Trevor Rizzo)
  • Advisors: Carlo Pinciroli, Greg Lewin, Raghvendra Cowlagi

About

Repository for Swarm Construction code. Includes simulator, structure code, and robot code, as well as documentation for all.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages