LiquidGalaxyLAB/Gesture-Controller
前往 github 下载Gesture Controller
A cheap and easy solution to add a new way to control Liquid Galaxy, the main goal of the project is to add a gesture controller for the platform, totally based in just a android app and a server to listen the commands.
:mag: About
The project has the main goal to add new and more interactive ways to use Liquid Galaxy. First, like the project name suggests, the application let you use body poses to navigate with Google Earth with 9 different possible commands:
- Idle: is the “normal pose” and also performs a stop command;
- Move: move Google Earth to north, south, west or east;
- Rotate: rotates the camera to left or right;
- Zoom: make the camera get closer or out (in and out).
Also, the project has support to voice commands, that contains all the previous pose commands plus 2 more, in total 11 commands:
- Fly to: perform a query on Google Earth, and just make it go to someplace;
- Planet: change Google Earth current planet, with Earth, Moon, Mars, and Sky possibilities.
Gesture Controller uses one Android app to get the user camera pose inputs and the speech to voice commands, and also, a server to properly perform the commands on Liquid Galaxy. You can see the global project schema in the image below.
The application has two possible setups, you can see in the schema that we have “Local Server” or “SSH Calls” this is because the server can be installed in LG master, so all commands are performed directly and locally, resulting in better performance; or can be installed on a different machine, in this case, the server makes SSH calls to master, consequently is added some more time between the user performs a pose and Google Earth respond to it, caused by SSH latency.
Major technologies used
Application showup
Here some screenshots of the Android application.
:book: Guides
Here some guides to install and use the application.
Install server
To install the the server run install.sh and follow the instructions.
sudo bash install.sh
It’s important to consider that install the server in another machine (not Liquid Galaxy master) may cause some more commands latency between doing a gesture and see it on Google Earth, due to the fact that server and master use SSH for communication. For a better experience install the server on Liquid Galaxy master by just leaving the ”master ip” input blank in installation process.
Run server
To run the sever just use Node.js terminal command inside gcserver folder.
node index.js
It’s important to consider that you must have the Node.js version equal or greater than 10.4.0.
Run mobile application
To use the Android application you have two options.
Get application apk
In this case you can just download it on Play Store or get here.
Debug with flutter
In this option you can debug the application using Flutter, using Android Studio or inside gcmobile folder by running the following commands.
flutter pub get
flutter run
How to use?
Here how to use the application and some recommendations for a better experience. So with server running and the Android app installed and opened in some device follow the instructions.
Android app setup
- Go to settings tab (settings icon on the superior left on the camera screen);
- Tap in ”edit server” button;
- Input the application server ip and the port (same as you set in the installation process);
- Just tap connect and in the server details must be updated with ”connected” status;
- Just go back to the camera screen and the application is ready to read pose and voice commands.
Usage recommendations
- Make sure that the device is in landscape left mode, with the back camera pointed to the user;
- The device should be at a height of 90cm from the ground and with a distance of 200cm between user and device.
- Check if the user can be clearly identified by the camera, with a good contrast with the background.
:beers: Special Thanks
Thanks to my main mentor of Google Summer of Code 2020, Iván Santos González and the Liquid Galaxy admin Andreu Ibáñez. Also to the local Liquid Galaxy Lab coordinator (Brazil, São Paulo, Sorocaba - Facens university) who helped me the most to get this opportunity and also trained me to accomplish this project, Marc Gonzalez Capdevila.
:earth_americas: License
This software is under the Apache 2.0 License
Copyright 2020 Bruno Faé Faion
![](/images/banner-woo.jpg)
与 LiquidGalaxyLAB/Gesture-Controller 相关优秀项目推荐下载
AppFlowy
47859
AppFlowy is an open-source alternative to Notion. You are in charge of your data and customizations. Built with Flutter and Rust.
localsend
33797
An open-source cross-platform alternative to AirDrop
spotube
23772
🎧 Open source Spotify client that doesn't require Premium nor uses Electron! Available for both desktop & mobile!
revanced-manager
15035
💊 Application to use ReVanced on Android
gsy_github_app_flutter
14559
Flutter 超完整的开源项目,功能丰富,适合学习和日常使用。GSYGithubApp系列的优势:我们目前已经拥有Flutter、Weex、ReactNative、kotlin 四个版本。 功能齐全,项目框架内技术涉及面广,完成度高,持续维护,配套文章,适合全面学习,对比参考。跨平台的开源Github客户端App,更好的体验,更丰富的功能,旨在更好的日常管理和维护个人Github,提供更好更方便的驾车体验Σ( ̄。 ̄ノ)ノ。同款Weex版本 : https://github.com/CarGuo/GSYGithubAppWeex 、同款React Native版本 : https://github.com/CarGuo/GSYGithubApp 、原生 kotlin 版本 https://github.com/CarGuo/GSYGithubAppKotlin
dio
12249
A powerful HTTP client for Dart and Flutter, which supports global settings, Interceptors, FormData, aborting and canceling a request, files uploading and downloading, requests timeout, custom adapters, etc.
gopeed
11832
A modern download manager that supports all platforms. Built with Golang and Flutter.
bloc
11441
A predictable state management library that helps implement the BLoC design pattern
getx
9899
Open screens/snackbars/dialogs/bottomSheets without context, manage states and inject dependencies easily with Get.
flame
8846
A Flutter based game engine.
flutter_deer
7595
🦌 Flutter 练习项目(包括集成测试、可访问性测试)。内含完整UI设计图,更贴近真实项目的练习。Flutter practice project (including integration testing and accessibility testing). Contains complete UI design drawings for a more realistic practice project.
fish-redux
7343
An assembled flutter application framework.
hiddify-next
7232
Multi-platform auto-proxy client, supporting Sing-box, X-ray, TUIC, Hysteria, Reality, Trojan, SSH etc. It’s an open-source, secure and ad-free.
ente
6686
Fully open source, End to End Encrypted alternative to Google Photos and Apple Photos
fl_chart
6451
FL Chart is a highly customizable Flutter chart library that supports Line Chart, Bar Chart, Pie Chart, Scatter Chart, and Radar Chart.
pixez-flutter
6360
一个支持免代理直连及查看动图的第三方Pixiv flutter客户端
Flutter-Responsive-Admin-Panel-or-Dashboard
6355
Responsive Admin Panel or Dashboard using Flutter
aidea
6021
AIdea 是一款支持 GPT 以及国产大语言模型通义千问、文心一言等,支持 Stable Diffusion 文生图、图生图、 SDXL1.0、超分辨率、图片上色的全能型 APP。
riverpod
5828
A reactive caching and data-binding framework. Riverpod makes working with asynchronous code a breeze.
pikapika
5463
美观易用且无广告的漫画和游戏客户端,同时支持MacOS,Windows,Android,iOS。