Sha Yi, Zeynep Temel, Katia Sycara
In this repo, we include the hardware design files and the code for our PuzzleBot configuration control project. This is based on the original PuzzleBot repo. For more videos, please view this. If you find our work useful, please consider citing our paper:
@inproceedings{yi2022configuration,
title={Configuration Control for Physical Coupling of Heterogeneous Robot Swarms},
author={Yi, Sha and Temel, Zeynep and Sycara, Katia},
booktitle={2022 IEEE International Conference on Robotics and Automation (ICRA)},
year={2022},
organization={IEEE}
}
The hardware setup is the same as in the original PuzzleBot setup. CAD files and circuit design files can be found in files/
. The code for the circuit is hardware_code/wifitcp_motor_only.ino
. Please modify the Wifi settings as this.
Our simulation environment is based on CoppeliaSim. The physics engine used is Vortex Studio. Both the simulation and physics engine is free for educational use.
Note that Bullet
and ODE
does not work for our concave robot body and will cause instability during contacts.
Install the ROS interface for CoppeliaSim.
Basic ROS knowledge is required to run the demo. To build the ROS package, copy the repo into your ROS catkin source directory and build the package.
- Start
roscore
. Make sure the package is built in your catkin source directory. - Launch CoppeliaSim. Note that this should be ran after
roscore
to enable the ROS interface of the simulator. - Open the example simulation environment in
simulation/random_4.ttt
. Double check the Vortex Studio is running properly. - Run the demo provided with
rosrun puzzlebot_control run.py [NUMBER_OF_ROBOTS]
Note that if you would like to run different number of robots, you may also need to modify the target configuration parameters in src/puzzlebot_control/controller.py#L266
.
Please follow the same procedure as in this.