All Projects → ShapeLab → Swarmui

ShapeLab / Swarmui

Licence: cc-by-sa-4.0
Necessary material to build and use Zooids to create Swarm User Interfaces

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
objective c
16641 projects - #2 most used programming language
Makefile
30231 projects
processing
702 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Swarmui

Avalon
🤖 A scalable multi-function group robot for QQ and Discord. 多功能、可扩展的群机器人,支持QQ和Discord。
Stars: ✭ 95 (-93.68%)
Mutual labels:  robot
Wechat
java微信客户端
Stars: ✭ 109 (-92.75%)
Mutual labels:  robot
Walter
6DOF Industrial Robot, vintage style
Stars: ✭ 113 (-92.49%)
Mutual labels:  robot
Plus
Otto DIY+ ("Otto DIY with steroids" + Bluetooth + APP + switch + sensors + strength +...
Stars: ✭ 100 (-93.35%)
Mutual labels:  robot
Robopaint
The software for your friendly painting robot kit!
Stars: ✭ 105 (-93.02%)
Mutual labels:  robot
Robotics setup
Setup Ubuntu 18.04, 16.04 and 14.04 with machine learning and robotics software plus user configuration. Includes ceres tensorflow ros caffe vrep eigen cudnn and cuda plus many more.
Stars: ✭ 110 (-92.69%)
Mutual labels:  robot
Pixelbot
Stars: ✭ 90 (-94.02%)
Mutual labels:  robot
Makelangelo Firmware
CNC firmware for many different control boards and kinematic systems. Originally the brain of the Makelangelo art robot.
Stars: ✭ 116 (-92.29%)
Mutual labels:  robot
List of robot electronics
A curated list of awesome open source electronic resources for robotics
Stars: ✭ 106 (-92.95%)
Mutual labels:  robot
Awesome Robotic Tooling
Tooling for professional robotic development in C++ and Python with a touch of ROS, autonomous driving and aerospace.
Stars: ✭ 1,876 (+24.73%)
Mutual labels:  robot
Wechat Go
go version wechat web api and message framework for building wechat robot
Stars: ✭ 1,381 (-8.18%)
Mutual labels:  robot
Grl
Robotics tools in C++11. Implements soft real time arm drivers for Kuka LBR iiwa plus V-REP, ROS, Constrained Optimization based planning, Hand Eye Calibration and Inverse Kinematics integration.
Stars: ✭ 105 (-93.02%)
Mutual labels:  robot
Navbot
Using RGB Image as Visual Input for Mapless Robot Navigation
Stars: ✭ 111 (-92.62%)
Mutual labels:  robot
Magento 2 Seo
Magento 2 SEO extension will do perfectly for your better SEO. This is a bundle of outstanding features that are auto-active when you install it from Mageplaza without any code modifications. It is also friendly with your store if you need to insert meta keywords and meta descriptions for your product.
Stars: ✭ 99 (-93.42%)
Mutual labels:  robot
Dolly
🤖🐑 It's a sheep, it's a dolly, it's a following robot. Dolly was born to be cloned.
Stars: ✭ 113 (-92.49%)
Mutual labels:  robot
Webots
Webots Robot Simulator
Stars: ✭ 1,324 (-11.97%)
Mutual labels:  robot
Alarmrobot
微信机器人 提醒机器人 python机器人 微信pc机器人
Stars: ✭ 110 (-92.69%)
Mutual labels:  robot
Naturalmousemotion
This library provides a way to move cursor to specified coordinates on screen reliably, while being randomly arced to look like real hand moved it there by using a mouse. The default settings should look good enough for most cases, but if user wishes, they can heavily customize the settings and implementations responsible for the trajectory of the cursor for specific use cases.
Stars: ✭ 117 (-92.22%)
Mutual labels:  robot
Robot blockly
A simple way to program ROS robots using blockly.
Stars: ✭ 115 (-92.35%)
Mutual labels:  robot
Iros20 6d Pose Tracking
[IROS 2020] se(3)-TrackNet: Data-driven 6D Pose Tracking by Calibrating Image Residuals in Synthetic Domains
Stars: ✭ 113 (-92.49%)
Mutual labels:  robot

Zooids: Building Blocks for Swarm User Interfaces \ Extended Material

Teaser This paper introduces swarm user interfaces, a new class of human-computer interfaces comprised of many autonomous robots that handle both display and interaction. We describe the design of Zooids, an open-source open-hardware platform for developing tabletop swarm interfaces. The platform consists of a collection of custom-designed wheeled micro robots each 2.6 cm in diameter, a radio base-station, a highspeed DLP structured light projector for optical tracking, and a software framework for application development and control. We illustrate the potential of tabletop swarm user interfaces through a set of application scenarios developed with Zooids, and discuss general design considerations unique to swarm user interfaces.

IMAGE ALT TEXT

Hardware

exploded

Zooids are small custom-made robots as shown above; their dimensions are 26 mm in diameter, 21 mm in height and they weight about 12 g. Each robot is powered by a 100 mAh LiPo battery and uses motor driven wheels. It contains a flexible elctrode for capacitive touch sensing. It communicates with the main computer through a NRF24L01+ chip.

Tracking

Our system uses a projector-based tracking system for robot position tracking as shown below. Using a high frame rate (3000Hz) projector (DLP LightCrafter) from Texas Instruments Inc., a sequence of gray-coded patterns are projected onto a flat surface. Then, the photodiodes on the robot independently decodes into a location within the projected area. The instruction for setting up this projector-based tracking system is included in the repository.

Software

architecture

The communication structure consists of four main layers from highest to lowest level: Application, Simulation, Server, and Hardware.

At the application level, the desired positions of the robots are computed. These desired positions are transmitted to the simulation layer through a network socket. The application programmer can choose between two control strategies: Proportional-Integral-Derivative (PID) position control or Hybrid Reciprocal Velocity Obstacles (HRVO) combined with PID (these options are explained in the next paragraphs). Based on the chosen control strategy, the simulation layer computes the goal positions of the robots, either final positions for PID or intermediate points for HRVO, and sends them to the server. Finally, the server layer dispatches commands to the individual zooids, while at the same time monitoring their status and position.

Each robot independently controls its motion through a PID controller based on the state machine shown below. Given a final goal, the robot initially turns itself in the right direction and, once aligned, accelerates to its user-defined preferred speed. When it reaches the speed, it maintains it with a PID control on the orientation to ensure its direction towards the final goal. When a new incremental goal is given, it will still move at same speed but the PID control on orientation will direct the robot towards the new intermediate goal. When the robot arrives within 5 cm of the final goal, it slows down to its minimum velocity and once within 1 cm of the final goal, it stops and orients itself as commanded by the application programmer. To enable smooth transitions between the incremental goal positions, robots are given their next position at 60 Hz.

control

Acknowledgments

This is a joint work between the Shape Lab at Stanford University (USA) and the Aviz team at Inria (France). It was partially funded by the Région Ile de France, DIM ISC-PIF. We would also like to thank Alexa Siu, Shenli Yuan, Ernesto Ramirez and Pham Minh Hieu for investing so much time and efforts in making this work possible.

logos

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].