top of page

Search Results

91 items found for ""

  • Gamify Mobile Tank | AR | Delhi Technology Club | Delhi

    Gamify The Real Mobile Tank - Augmented Reality Update Gamify The Real Mobile Tank - Augmented Reality Update Play Video Facebook Twitter Pinterest Tumblr Copy Link Link Copied In our previous demo i.e. Gamify The Real Mobile Tank . We showed how we can control movement of a real mobile tank by moving a virtual tank in a Unity game. It was done by establishing a network connection between virtual tank in game & real mobile tank, using Raspberry Pi and Motor Driver. A python script was running on Raspbian OS at Raspberry Pi. Unity game, running on another laptop, sends message about movement of virtual tank in game on wifi network to the python script. The python script reads the command and sends signals to the Motor Driver attached with Raspberry Pi. The motor driver is connected with real tank, and as per the signals received from Python script, it moves the tank. Now in this video, we are taking this research a step ahead, we are introducing a real hurdle in front of the real mobile tank using Augmented Reality. And as soon as the hurdle will come up in front of real tank, the same hurdle would come up in front of the tank in the game. Interesting? Isn’t it? The framework that has been added in the demo to make it possible is Apple ARKit. It is the Image Recognition API of ARKit that is making this possible. An iPhone 7 has been mounted on Real Mobile Tank, to work as eye of the tank. How? Let us understand this in more detail. An ARKit app is running on iPhone 7 that is using the iPhone’s camera to identify an image. As soon as the app identifies the image, it sends the message of hurdle detection to the Unity game, running on laptop (remember the Unity game in previous video) through wifi network. And the similar hurdle is made in Unity game. List of Components - Apple iPhone:https://www.apple.com/in/iphone/ ​ Devastator Tank Mobile Robot Platform (Metal DC Gear Motor):https://www.dfrobot.com/product-1477.html ​ Raspberry PI:https://www.raspberrypi.org/products/raspberry-pi-3-model-b-plus/ ​ L298n Motor Driver: https://www.factoryforward.com/product/l298n-dual-h-bridge-dc-stepper-motor-driver-controller-board-module-arduino/ Croma Powerbank:https://www.croma.com/croma-ca0065-10400mah-power-bank-grey-/p/187144?gclid=EAIaIQobChMIv9SpqNa04gIVxA0rCh3ThQewEAQYAyABEgKXUPD_BwE Battery Holder:https://robokits.co.in/batteries-chargers/battery-chargers/battery-holder-for-lithium-ion-18650-2-cell Batteries:https://robokits.co.in/batteries-chargers/samsung-premium-li-ion-battery/3.7v-samsung-li-ion-batteries/samsung-icr-18650-26j-2600mah-li-ion-rechargeable-cell-original Jumper Wires:https://robokits.co.in/arduino/jumpers-wires ​ Download Tank Game: https://assetstore.unity.com/packages/essentials/tutorial-projects/tanks-tutorial-46209?aid=1100l7wkp ​ ARKit: https://developer.apple.com/documentation/arkit Workflow C# Source Code for detecting image & sending command to tank game For tank controlling code goto this page using System; using UnityEngine; using UnityEngine.UI; using UnityEngine.XR.ARSubsystems; using UnityEngine.XR.ARFoundation; using System.Net.Sockets; using System.Text; [RequireComponent(typeof(ARTrackedImageManager))] public class TrackedImageInfoManager : MonoBehaviour { private TcpClient socketConnection = null; private void ConnectToTcpServer() { try { socketConnection = new TcpClient("192.168.0.104", 22002); Debug.Log("socket created.."); } catch (Exception e) { Debug.Log("On client connect exception " + e); } } [SerializeField] [Tooltip("The camera to set on the world space UI canvas for each instantiated image info.")] Camera m_WorldSpaceCanvasCamera; public Camera worldSpaceCanvasCamera { get { return m_WorldSpaceCanvasCamera; } set { m_WorldSpaceCanvasCamera = value; } } [SerializeField] [Tooltip("If an image is detected but no source texture can be found, this texture is used instead.")] Texture2D m_DefaultTexture; public Texture2D defaultTexture { get { return m_DefaultTexture; } set { m_DefaultTexture = value; } } ARTrackedImageManager m_TrackedImageManager; void Awake() { InvokeRepeating("SendMessage", 2.0f, 2.0f); if (socketConnection==null) ConnectToTcpServer(); m_TrackedImageManager = GetComponent(); } void OnEnable() { m_TrackedImageManager.trackedImagesChanged += OnTrackedImagesChanged; } void OnDisable() { m_TrackedImageManager.trackedImagesChanged -= OnTrackedImagesChanged; } string dtTxt = "notdetected"; string prevdtxt = "notdetected"; void UpdateInfo(ARTrackedImage trackedImage) { // Set canvas camera var canvas = trackedImage.GetComponentInChildren(); canvas.worldCamera = worldSpaceCanvasCamera; // Update information about the tracked image var text = canvas.GetComponentInChildren(); text.text = string.Format( "{0}\ntrackingState: {1}\nGUID: {2}\nReference size: {3} cm\nDetected size: {4} cm", trackedImage.referenceImage.name, trackedImage.trackingState, trackedImage.referenceImage.guid, trackedImage.referenceImage.size * 100f, trackedImage.size * 100f); if (trackedImage.trackingState == TrackingState.Limited || trackedImage.trackingState == TrackingState.None) dtTxt = "notdetected"; else if (trackedImage.trackingState == TrackingState.Tracking) dtTxt = "detected"; var planeParentGo = trackedImage.transform.GetChild(0).gameObject; var planeGo = planeParentGo.transform.GetChild(0).gameObject; if (trackedImage.trackingState != TrackingState.None) { planeGo.SetActive(true); trackedImage.transform.localScale = new Vector3(trackedImage.size.x, 1f, trackedImage.size.y); // Set the texture var material = planeGo.GetComponentInChildren().material; material.mainTexture = (trackedImage.referenceImage.texture == null) ? defaultTexture : trackedImage.referenceImage.texture; } else { planeGo.SetActive(false); } } void SendMessage() { if (dtTxt != prevdtxt) { try { NetworkStream stream = socketConnection.GetStream(); if (stream.CanWrite) { byte[] clientMessageAsByteArray = Encoding.ASCII.GetBytes(dtTxt); stream.Write(clientMessageAsByteArray, 0, clientMessageAsByteArray.Length); Debug.Log("Client sent his message - should be received by server"); } } catch (SocketException socketException) { Debug.Log("Socket exception: " + socketException); } prevdtxt = dtTxt; } } void OnTrackedImagesChanged(ARTrackedImagesChangedEventArgs eventArgs) { foreach (var trackedImage in eventArgs.added) { // Give the initial image a reasonable default scale trackedImage.transform.localScale = new Vector3(0.01f, 1f, 0.01f); UpdateInfo(trackedImage); } foreach (var trackedImage in eventArgs.updated) UpdateInfo(trackedImage); foreach (var trackedImage in eventArgs.removed) UpdateInfo(trackedImage); } } Click here to see how we controlled a robot autonomously Add Your Comments Your content has been submitted Send December 28, 2019 at 8:29:21 AM Ram Gopal Amazing Experiment.

  • Privacy Policy Tomato Soni Stickers | dtechoclub

    Privacy Policy For Tomato Soni Stickers Libre Baskerville is a classic font with a modern twist. It's easy to read on screens of every shape and size, and perfect for long blocks of text.

  • Go Solar India | Delhi | Delhi Technology Club

    Go Solar India Go Solar India It is a Solar Calculator that calculates everything for you, if you are planning to install solar panels anywhere, as per your power requirement. This app calculates 1. Required Shadow Free Area 2. Savings in 25 years 3. Estimated Cost of Solar Plant Installation 4. Required Solar Plant Capacity 5. IV Curve Calculator ​ Solar panels are now becoming more thinner. WIth the new technologies , it is now easy to print a solar cell. Next Video

  • Catch An Apple | Delhi Technology Club | Delhi

    1 of the most Amazing Tech of 2019 - Augmented Reality Headset Project North Star Headset - Hat Version 1 of the most amazing tech of 2019 is augmented reality. Many big companies are coming with their augmented reality solutions. So we're also building an AR headset. Leap Motion has open sourced its AR headset design(Project North Star) so we're using their research. ​ Let's start the story. When we say , few names come instantly to our mind like Newton and Steve Jobs. Some would also say that this is the very first word we learn when we start learning alphabets .. A for APPLE. Here we are talking about the fruit, not the real one, but it's a 3D virtual object. How can we pick and hold a virtual apple with real hands? Its possible when a virtual hand follows your real one with exact movements and angles, & interact with the virtual apple In this demo, we're trying to catch a virtual apple using our real hands. we're wearing headset for this. Project North Star is an open source project of Leap Motion. Soon, this will become reality television. We can also play games like Cricket, Volleyball, Table Tennis, Football. Or we can use in Business Cards (showing virtual content on top of it) See our Demo for example. ​ Leap Motion: https://www.leapmotion.com/ Unity3d: https://unity.com/ Exii: https://exiii.jp/2018/07/25/project_north_star_en/ ​ If You want to build your own AR headset check out our tutorial: https://www.delhitechnologyclub.com/build-your-own-ar-headset Click here to know more about our research on 3D Printing

  • BMR Calculator | Delhi Technology Club | Delhi | Fitness |Health

    Calories for healthy life Basal Metabolic Rate(BMR) GO BMR *Using Katch-McArdle formula

  • Musicolge | Delhi Technology Club | Delhi

    Musicolge ​ Inspiration : Reading music is still not very popular among music lovers around the world . Though it has power to explore a whole new world for them. So we developed a tool that will teach music language. You`ll need headphones or a sound box. ​ What it does: It starts with basics of music language. Then goes with explaining the Staff, Note Values, Time Signature. Examples and interactive demo makes it very easy for player or operator to get a good idea of reading music sheets. ​ How we built it : Amazon Polly Amazon Cognito Sumerian Virtual Reality ​ #latest technology products

  • Gesture Control | Delhi | Delhi Technology Club

    Gesture Control Fighter Jet Controlled From Hand... That's an amazing demo of combinations of two technologies i.e. OpenCV and OpenGL. OpenGL is a library for 3D modelling and OpenCV is a library for Computer Vision. We have detected hand movements using OpenCV and have used the data to rotate a 3D model on screen. It seems as if we are controlling a 3D model inside laptop using our hand gestures. #latest technology products Next Video

  • Organic Solar Cells Series 2| Delhi | Delhi Technology Club

    Organic Solar Cells Flexi Solar Cell Presenting here "Third Generation Printed Organic Solar Cell". We got it all the way from Denmark,Europe. We experimented this for power generation in different light conditions. Watch the video to know the results. It is one of the new technologies. Very different from the heavy solar panels we see around us, this one is very light as the base is plastic substrate. Its flexibility would surely take solar power generation to a new level. #latest technology products Next Video

  • Frinvu | Augmented Reality | Delhi | Delhi Technology Club

    Frinvu Frinvu It's Fun !! It's Dramatic !! It's Creative !! Here is an an app to play with your real and virtual identities, mix and match. You may add any image/GIF to your real time background and create a story. You are no more limited to standard GIFs/Image given by any specific app. You can add virtual identities from your own mobile. Other than just playing, you can see how a photo frame will look on your wall and whether it goes with the colour of your furniture. Applications are endless when you have endless combinations to check for. Let's get started.. Happy Frinvu.. :) #augmented reality devices Next Video

  • Unity | Delhi Technology Club | Delhi

    01 Shader Graph Learn how to create Shader Graph More Info 02 Unity 3D Learn how to create 3d Content More Info 03 Unity 2D Learn how to create 2D Content More Info

bottom of page