foundedin2001,sincethenacompoundannualgrowthrateofabout20%
onapartnershipbasisestablishedhighendITspecializedconsultingcom...
about140permanentemployeeswhere98%haveauniversitydegree
every2ndand4thfridayinamonthisa"Techday"asinternalactivityforself-...
Softwaredevelopment(60%),Administration&Operations(20%),IT-
Management(20%)
Projectstogetherwithupto30TNG-employees
Bestpr...
Interested?Sendyourapplicationto
TNGTechnologyConsultingGmbH,Betastr.13a,85774Unterföhringb.München
work@tngtech.com
http:...
360° Camera
The TNG Panocube
Agenda
The idea
Realization
Conclusion
A panorama picture ...
Schalzbackvorsäß,byFriedrichBöhringer
... in all directions
http://occipital.com/static/newproduct/img/ex-stereo1.jpg
The Panono camera
The Panono camera
http://www.panono.com/ballcamera
GoPro panorama camera
byJonasGinter
GoPro panorama camera
http://www.jonasginter.de
Virtual Surfers
TNG Pano Cube
TNG Pano Cube
Why the heck are you doing
it??
http://m.cdn.blog.hu/na/nanoretro/image/portal_weighted_companion_cube.jpg
Concept
Agenda
The idea
Realization
Conclusion
Concept - revisited
The Cube
Let's Focus on it
The Content
The Assembly
Provisioning
Inventory definition
[cam]
cam1
cam2
cam3
...
[odroid]
odroid
Playbooks
Playbook example
- hosts: cam
sudo: True
tasks:
- lineinfile: dest=/etc/hosts line='192.168.1.99 odroid'
- copy: src={{ in...
Ansible command line
Execute remote commands:
# execute ping command as user bruce, sudoing to root
$ ansible all -m ping ...
Data transfer
Twisted - Socket factory
class PanoFactory(protocol.Factory):
def __init__(self):
logging.info('Server started')
def build...
Twisted - Socket client
class PanoProtocol(basic.LineReceiver):
def lineReceived(self, line):
logging.debug('Got "{}" from...
Trigger - Android
Stitching
Stage 1 - Registration
Stage 2 - Calibration
Stage 3 - Blending
Tools
Agenda
The idea
Realization
Conclusion
Results
Results
Results
Results
Results
Improvements
Improvements
Improvements
Improvements
Andriy Samsonyuk Daniele Fognini Julian Exner Manuel Meilinger Martin Förtsch
Thomas Endres Thomas Reifenberger Woyten Tie...
The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner
Upcoming SlideShare
Loading in...5
×

The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner

1,396

Published on

Presentation of the TNG Panocam at the Ultracode Munich meetup #6

http://www.meetup.com/Ultracode-Munich/events/190726702/

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,396
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner

  1. 1. foundedin2001,sincethenacompoundannualgrowthrateofabout20% onapartnershipbasisestablishedhighendITspecializedconsultingcompany winnerof"BayernsBest50"in2010and2012
  2. 2. about140permanentemployeeswhere98%haveauniversitydegree every2ndand4thfridayinamonthisa"Techday"asinternalactivityforself- improvement
  3. 3. Softwaredevelopment(60%),Administration&Operations(20%),IT- Management(20%) Projectstogetherwithupto30TNG-employees Bestpractices,agiledevelopmentmethodsandmuchmore
  4. 4. Interested?Sendyourapplicationto TNGTechnologyConsultingGmbH,Betastr.13a,85774Unterföhringb.München work@tngtech.com http://tngtech.com/
  5. 5. 360° Camera The TNG Panocube
  6. 6. Agenda The idea Realization Conclusion
  7. 7. A panorama picture ... Schalzbackvorsäß,byFriedrichBöhringer
  8. 8. ... in all directions http://occipital.com/static/newproduct/img/ex-stereo1.jpg
  9. 9. The Panono camera
  10. 10. The Panono camera http://www.panono.com/ballcamera
  11. 11. GoPro panorama camera byJonasGinter
  12. 12. GoPro panorama camera http://www.jonasginter.de
  13. 13. Virtual Surfers
  14. 14. TNG Pano Cube
  15. 15. TNG Pano Cube
  16. 16. Why the heck are you doing it?? http://m.cdn.blog.hu/na/nanoretro/image/portal_weighted_companion_cube.jpg
  17. 17. Concept
  18. 18. Agenda The idea Realization Conclusion
  19. 19. Concept - revisited
  20. 20. The Cube
  21. 21. Let's Focus on it
  22. 22. The Content
  23. 23. The Assembly
  24. 24. Provisioning
  25. 25. Inventory definition [cam] cam1 cam2 cam3 ... [odroid] odroid
  26. 26. Playbooks
  27. 27. Playbook example - hosts: cam sudo: True tasks: - lineinfile: dest=/etc/hosts line='192.168.1.99 odroid' - copy: src={{ inventory_dir }}/reconnect.sh dest=/usr/bin/reconnect.sh mode=0700 - apt: pkg={{ item }} state=present with_items: - htop - nmap - cron: name='reconnect wifi' job='/usr/bin/reconnect.sh'
  28. 28. Ansible command line Execute remote commands: # execute ping command as user bruce, sudoing to root $ ansible all -m ping -u bruce --sudo Provision usingaplaybook: # provision all cam hosts in inventory using playbook deploy.yml $ ansible-playbook -i inventory --limit cam deploy.yml
  29. 29. Data transfer
  30. 30. Twisted - Socket factory class PanoFactory(protocol.Factory): def __init__(self): logging.info('Server started') def buildProtocol(self, addr): logging.info('New client at {}:{}'.format(addr.host, addr.port)) return PanoProtocol(self) if __name__ == "__main__": reactor.listenTCP(8100, PanoFactory()) reactor.run()
  31. 31. Twisted - Socket client class PanoProtocol(basic.LineReceiver): def lineReceived(self, line): logging.debug('Got "{}" from client'.format(line)) def sendCommand(self, command): self.transport.write('{}n'.format(command)) def connectionMade(self): logging.info('Client connection made') def connectionLost(self, reason): logging.info('Client connection lost')
  32. 32. Trigger - Android
  33. 33. Stitching
  34. 34. Stage 1 - Registration
  35. 35. Stage 2 - Calibration
  36. 36. Stage 3 - Blending
  37. 37. Tools
  38. 38. Agenda The idea Realization Conclusion
  39. 39. Results
  40. 40. Results
  41. 41. Results
  42. 42. Results
  43. 43. Results
  44. 44. Improvements
  45. 45. Improvements
  46. 46. Improvements
  47. 47. Improvements
  48. 48. Andriy Samsonyuk Daniele Fognini Julian Exner Manuel Meilinger Martin Förtsch Thomas Endres Thomas Reifenberger Woyten Tielesch
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×