Cloud-Based Restaurant Seating and Cleaning

Easter eggs
I hope you had a successful
Easter egg hunt.

As you probably noticed, I have lately been focusing on the research and implementation of my

cloud-based round-trip 2D Revit model editing project
for
the upcoming Autodesk internal tech summit in June as much as my day-to-day tasks will allow.

Current Project Overview

To recap, the basic idea is simple: implement an example of round-trip minimal simple editing of a 2D rendering of a Revit model on any mobile device with no need for installation of any additional software whatsoever beyond a browser.

To keep the editing task as minimal and simple as possible, I just envision changing the 2D location and orientation of the furniture and equipment within the boundaries of the selected room.

Such an editor can be realised on any mobile device using JavaScript and SVG, scalable vector graphics, as I showed in my

prototype room polygon editor
using
the
Raphaël JavaScript SVG library:

Room layout editor
Room layout editor

Aside from the editing component, this workflow will also require:

  • A cloud-based database repository managing the Revit model, level, room, furniture and equipment data.
  • A Revit add-in retrieving the data from the Revit project and populating the data repository.

The data repository is fed from the Revit model and queried by the mobile device editor.
It also manages changes to the furniture and equipment location and orientation.

The editor displays the room, furniture and equipment and enables translation and rotation of the latter, which updates the repository data.

The Revit add-in can optionally be expanded to automatically query and update the Revit model based on new furniture and equipment locations, resulting in the following workflow:

  • Show a Revit model.
  • Export the model to a cloud-based data repository.
  • Query and display the repository contents in a 2D rendering on any mobile device.
  • Edit the model in the browser on the mobile device, updating the data repository.
  • Pick up and display the modified model in Revit.

I already discussed my current candidate for the cloud database using the

CouchDB NoSQL database implementation
and

IrisCouch free hosting
service.

Regarding the Revit add-in retrieving the room and furniture 2D boundary polygons, I also looked at the retrieval of

plan view room boundary loops
and

family instances in a given room
.

Next steps will include enhancing the Revit add-in to extract suitable boundary loops to represent the furniture and equipment in the mobile editor, and above all the data repository implementation.

Project Expansion for Cloud-Based Restaurant Seating and Cleaning

As a very happy surprise, I now found a beta site to test the existing functionality and add even more, by hooking up the mobile device furniture layout editing functionality with a restaurant cash register to implement a fully automated restaurant seating layout and floor cleaning system.

The basic idea is to equip the restaurant furniture with unobtrusive mobility support and link the virtual model of the restaurant and its furniture with the real-world objects.

All that is required to provide real-world control over the furniture position are concealed wheels and locking devices inside the table base.
The wheels are normally locked in position, and their existence goes unnoticed.
They can be unlocked and driven by motors for displacement.

The entire restaurant layout can thus be rearranged via the 2D layout editor on the mobile device, with no manual intervention whatsoever required.

Each piece of furniture also includes location detection support.
Besides the automatic rearrangement triggered by updating the virtual model, the inverse is also supported: moving the furniture around manually can trigger the virtual model to be updated instead to reflect the new real-world positions.

Here is a snapshot of the restaurant cash register showing the original layout before editing:

Restaurant cash register screen snapshot

The cash register lives in the pillar in the centre of the restaurant.
The pillar is not displayed on the cash register screen snapshot above:

Original restaurant layout

The bar in the corner is marked in red on the screen snapshot, and its position cannot be edited:

Unmodifiable bar in red

Rotating and moving the tables in SVG triggers the synchronisation chain and drives the real-world furniture to its new position:

Updated real-world restaurant layout

As you can see, the table base looks completely normal and can easily contain the required motors, wheels, locking and location devices:

Ample table base housing movement devices

Fully Automated Restaurant Cleaning

Mobile autonomous furniture obviously also vastly facilitates the restaurant cleaning.

The furniture is programmed to flock together at one end of the room each night, making space for a

cleaning robot
to
roam freely, and moves over to the other end of the room after the first half has been covered.

This obviously enables much more effective and thorough cleaning than if the furniture is left in place:

<!–

http://player.ooyala.com/player.js?height=236&embedCode=c2ZWdlMjqOGBdUB61_AMhtVt84ou6riC&width=420&deepLinkEmbedCode=c2ZWdlMjqOGBdUB61_AMhtVt84ou6riC&video_pcode=lzd2M6gn6_xbh1SdfpmZTpNqLKuu

–>
It is fascinating to see BIM expanding into new hitherto unexpected areas, and unbelievably exciting to participate in the process!

I trust you will find similar opportunities to embrace this paradigm and successfully use the Revit API to support expanding your applications and ideas into other new niches.

I am looking forward to keeping you posted on the further progress of this ongoing project!

JavaScript Physics Sample

By the way, talking about new niches and programming in and for the cloud, here is an utterly cool
JavaScript physics sample simulating ripping a curtain of tearable cloth.

It provides an incredibly compelling and sheer unbelievably compact example use of HTML5, Canvas, CSS and JavaScript for an interactive graphical physical simulation in just three hundred lines of code.


Comments

6 responses to “Cloud-Based Restaurant Seating and Cleaning”

  1. Bettina Avatar
    Bettina

    It was nostalgic to see roomba in action
    One time i put the roomba in the entrance to clean and when it was silent and i went out to move it, it was gone. I thought someone from the street have been in to steal it. Later on i found it in the bedroom it must somehow have puched open the door and then somehow have pushed it closed Again.
    Roomba versus ordinary vacuum cleaner
    Long time ago I have made a test to see if a roomba or a vacuum cleaner cleans best.
    The entrance have two types of materials on the floor, tile and wood floors, some tiles are covered by 2 large doormats.I first used the ordinary vacuum cleaner to clean entrance. (no shaking or beating the doormats outside, just vacuum clean.) Then i empty the roomba’s dust container and started roomba to clean entrance. After roomba was done cleaning entrance, then I looked in roomba’s dust container and I found some dust and small stones. I gues roomba is better to clean doormats than ordinary vacum cleaner, I assume the dust and small stone came from the doormats, since nothing was visible at the floor when roomba started to clean.
    Other purpos of roomba
    The roomba have other use than clean floors, it can be used as some kind of entertaining nanny or toy for kids. My son have spend alot of hours sitting in his bed watching the roomba clean his room. He have also made som kind of test, he have cut som very small pices of paper to throw on floor, also throw when roomba is driving arround. The only thing stopping him is when roomba runs out of power. When it was new i think it was close to 1,5 hour of batery time and at the end like 45 minutes.
    A long time ago I saw a website where some have build an arm with lego mindsstorm to put on top of a robot cleaner like roomba, i dont remember if it was a roomba or some other kind. They used the arm to move objects from the path of the robot cleaner. The thought of it is very nice no more moving shoes or toys.

  2. Enrique Sánchez Avatar
    Enrique Sánchez

    Hi Jeremy
    I have a question for you about SchedulableFields in Revit, exactly how to insert in C# Count parameter by Definition.AddField.
    I can insert many other params but I haven´t did it with Count parameter. Where can I write you to solve this problem? Could you create a new post with this?
    Thanks from Spain

  3. Dear Enrique,
    Sorry, I don’t know.
    What is your problem?
    Why does it not work?
    How does it not work?
    Cheers, Jeremy.

  4. Dear Bettina,
    Thank you for the nice anecdotes :-)
    Cheers, Jeremy.

  5. thanks..

  6. thanks.

Leave a Reply

Discover more from Autodesk Developer Blog

Subscribe now to keep reading and get access to the full archive.

Continue reading