Skip to content

Commit

Permalink
initial version
Browse files Browse the repository at this point in the history
  • Loading branch information
mslavescu committed Jan 11, 2021
0 parents commit c8caf73
Show file tree
Hide file tree
Showing 77 changed files with 9,544 additions and 0 deletions.
11 changes: 11 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
*.iml
.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
/.idea/caches
/.idea/modules
.DS_Store
/build
/app/build
.externalNativeBuild
3 changes: 3 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/compiler.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

22 changes: 22 additions & 0 deletions .idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

40 changes: 40 additions & 0 deletions .idea/jarRepositories.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 10 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions .idea/runConfigurations.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

21 changes: 21 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
### OSSDC VisionAI Mobile - Android

This project has support for Race.OSSDC.org WebRTC based platform, to allow for extensive and quick testing of computer vision and neural nets algorithms.
It enables easy manual or automated remote control of robots, while supporting two way audio/video/data communication.

Demo videos with OSSDC VisionAI Core based processing on remote machine:

- Mono depth over WebRTC using Race.OSSDC.org platform
https://www.youtube.com/watch?v=6a6bqJiZuaM

- OSSDC VisionAI MiDaS Mono Depth - night demo
https://www.youtube.com/watch?v=T0ZnW1crm7M

See more examples on how to use it in https://github.com/OSSDC/OSSDC-VisionAI-Core project.

The app can control (over USB) OpenBot, Neato an SPARK Assistant based robots. Demo code and videos will be provided soon.

Join me in advancing Computer Vision and AI for autonomous robots at: http://ossdc.org

To follow and connect with me check this page:
http://slides.com/mslavescu/self-driving-cars#/22
61 changes: 61 additions & 0 deletions app/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
apply plugin: 'com.android.application'

buildscript {
repositories {
google()
jcenter()
}
}

android {
sourceSets.main {
jniLibs.srcDir 'libs'
jni.srcDirs = [] //disable automatic ndk-build call
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
compileSdkVersion 30
buildFeatures {
dataBinding true
}
defaultConfig {
vectorDrawables.useSupportLibrary = true
applicationId "org.ossdc.visionai"
minSdkVersion 16
targetSdkVersion 30
versionCode 2
versionName "1.1"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
ndkVersion '21.3.6528147'
}

dependencies {
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
implementation fileTree(dir: 'libs', include: ['*.jar'])

implementation 'io.reactivex.rxjava2:rxjava:2.0.5'
implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'

implementation "com.android.support:design:28.0.0"
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation "com.android.support:support-v4:28.0.0"

implementation 'pub.devrel:easypermissions:1.1.3'
implementation('io.socket:socket.io-client:1.0.0') {
exclude group: 'org.json', module: 'json'
}

implementation files('libs/autobanh.jar')
implementation files('libs/base_java.jar')
implementation files('libs/libjingle_peerconnection.jar')

implementation project(':usbserial')
}
Binary file not shown.
Binary file not shown.
Binary file added app/libs/autobanh.jar
Binary file not shown.
Binary file added app/libs/base_java.jar
Binary file not shown.
Binary file added app/libs/libjingle_peerconnection.jar
Binary file not shown.
Binary file added app/libs/x86/libjingle_peerconnection_so.so
Binary file not shown.
Binary file added app/libs/x86_64/libjingle_peerconnection_so.so
Binary file not shown.
17 changes: 17 additions & 0 deletions app/proguard-rules.pro
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in /home/ihor/Android/Sdk/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the proguardFiles
# directive in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html

# Add any project specific keep options here:

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
91 changes: 91 additions & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
* Copyright (C) 2021 Marius Slavescu - OSSDC.org. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.ossdc.visionai">

<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>


<uses-feature android:name="android.hardware.usb.host"
android:required="true"/>


<application
android:allowBackup="true"
android:icon="@mipmap/ossdc_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name="org.ossdc.visionai.LauncherActivity"
android:label="@string/title_activity_launch"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

</activity>
<activity
android:name="org.ossdc.visionai.webrtc.RaceOSSDCActivity"
android:label="@string/title_activity_race_ossdc"
android:theme="@style/AppTheme.NoActionBar">

<intent-filter>
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
</intent-filter>
<meta-data android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" android:resource="@xml/usb_device_filter" />

<intent-filter>
<action android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" />
</intent-filter>
<meta-data android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" android:resource="@xml/usb_device_filter" />

</activity>

<service
android:name="org.ossdc.visionai.usb.UsbService"
android:enabled="true">
</service>
</application>

</manifest>
Loading

0 comments on commit c8caf73

Please sign in to comment.