About
Software engineer with 12+ years of experience in the design, development, and scaling of…
Experience
Education
-
University of Idaho
3.78
-
Attended the University of Idaho.
Research focused on evolutionary robotics and robot/human training/interaction.
Research was conducted within the Laboratory for Artificial Intelligence and Robotics (LAIR).
My thesis was titled "On-line, on-board Evolutionary Learning from Demonstration for Autonomous, Mobile Robots."
We applied evolutionary algorithms to the control of mobile robots that were running on Android devices. This control included vision…Attended the University of Idaho.
Research focused on evolutionary robotics and robot/human training/interaction.
Research was conducted within the Laboratory for Artificial Intelligence and Robotics (LAIR).
My thesis was titled "On-line, on-board Evolutionary Learning from Demonstration for Autonomous, Mobile Robots."
We applied evolutionary algorithms to the control of mobile robots that were running on Android devices. This control included vision processing algorithms written using the NDK, and our own evolutionary algorithms that evolved neural networks to take image inputs and control the robots via Arduino. -
-
-
-
-
-
-
-
- Present
-
-
-
Courses
-
3D Graphics
-
-
Advanced Android App Development
-
-
Analysis of Algorithms
-
-
Android Development for Beginners
-
-
Android Wear Development
-
-
Artificial Intelligence
-
-
Computer and Network Forensics
-
-
Data Structures
-
-
Developing Android Apps
-
-
Embodied Evolutionary Robotics
-
-
Evolutionary Computation
-
-
GIS Programming
-
-
Games and Virtual Environments
-
-
GitHub Intermediate
-
-
GitHub for Beginners
-
-
Gradle for Android and Java
-
-
Material Design for Android Developers
-
-
Operating Systems
-
-
Programming Languages
-
-
Research Fundamentals
-
-
Smartphone Robotics
-
-
Software Engineering
-
-
System Software
-
Projects
-
Udacity - Learn Programming
- Present
See projectCoding is for everyone! Join our 3 million other students today and learn programming and big data to advance your knowledge and career in programming.
Udacity courses are taught by industry experts from Facebook, Google, Cloudera and MongoDB.
Our classes range from teaching you the very basics of programming, to more advanced courses that help you make sense of data.
Learn to code in HTML, CSS, Javascript, Python, Java and other programming languages.For people looking for a…Coding is for everyone! Join our 3 million other students today and learn programming and big data to advance your knowledge and career in programming.
Udacity courses are taught by industry experts from Facebook, Google, Cloudera and MongoDB.
Our classes range from teaching you the very basics of programming, to more advanced courses that help you make sense of data.
Learn to code in HTML, CSS, Javascript, Python, Java and other programming languages.For people looking for a promotion at work, or to pick up skills for a new project, we offer classes in many different technical areas, including the up and coming Ruby on Rails. Udacity students have also found great success in career changes—from sales to mobile app development, from stay-at-home parent to full stack developer. Start learning today and see where Udacity can take you!
Enjoy our courses in the comfort of your own home, solve a programming problem at a coffee shop or answer short quizzes in the park. Udacity for Android is the learning experience that fits into your lifestyle. -
MarvelAndroid
See projectRole: Primary Developer
https://github.com/n8ebel/MarvelAndroid
http://n8ebel.github.io/2015/09/01/Marvel-Android/
Open-source Android library to interact with the Marvel Comics api.
Supports both RxJava observables and Retrofit callbacks. -
Spotify Streamer
See projectRole: Only Developer
https://github.com/n8ebel/android_spotify_streamer
Android app allowing a user to stream 30-second, free previews of songs.
User can search for their favorite artist, view that artist's top 10 songs in a specified country, and then preview those songs 1 by 1, or consecutively.
The UI/UX takes a lot of inspiration from the Google Play Music app so it feels material, fun to use, and familiar to current Android users. -
Navigator for ArcGIS
See projectNavigator for ArcGIS is a mobile app that gets your field workforce where it needs to be, unlocking efficiency and improving reliability. Use the data provided or your own data to search and navigate directly to your organization's assets. Interact seamlessly with Collector for ArcGIS, Workforce for ArcGIS, and other apps, and get reliable directions even when disconnected.
-
A Training Set Protocol for On-Line Evolutionary Learning from Demonstration
https://cotsbots.wordpress.com/2014/03/02/on-line-evolution/
Related Videos: https://www.youtube.com/playlist?list=PLEPZdzLLJH96m3CJ84yST3CUVkXhSB6Kl
Implemented a road recognition system using an Android smartphone and OpenCV to process camera images during real time operation and classify image subregions with a probability of belonging to a previously observed road type.
Worked on implementation an on-board, on-line evolutionary learning from demonstration system for…https://cotsbots.wordpress.com/2014/03/02/on-line-evolution/
Related Videos: https://www.youtube.com/playlist?list=PLEPZdzLLJH96m3CJ84yST3CUVkXhSB6Kl
Implemented a road recognition system using an Android smartphone and OpenCV to process camera images during real time operation and classify image subregions with a probability of belonging to a previously observed road type.
Worked on implementation an on-board, on-line evolutionary learning from demonstration system for enabling mobile robots to learn how to follow a trail using output from the road recognition system, and an evolved neurocontroller.
Abstract:
In learning from demonstration (LfD) a trainer demon- strates
desired behaviors to a robotic agent. LfD is useful for allow-
ing non-programmers to train robots. However, it's rarely
been used with evolutionary learning techniques because of
the computa- tional requirements of running an evolution-
ary pro- cess on-board a robot and on-line, i.e. in paral-
lel with the demonstration process. We present a low-cost
robotic platform capable of on-line, on-board evolutionary
LfD of fairly large structures (neural networks with hundreds
of weights). The robot evolves the neurocontroller to drive
itself on a track based on demonstrations by the trainer. A
feature of on-line LfD that may have signi
cant impli- cations for the implementation of evolutionary
approaches is that the training set is built incrementally over
the course of multiple demonstrations. If the initial training
set lacks important cases, evolution may discard solutions
that will eventually be useful and become stuck on local
optima. An untested question for evolutionary, on-line LfD
is how large should training sets be before evolution begins?
Thus, in addition to demonstrating a practical platform for
evolu- tionary LfD, our results suggest that it can be bene
cial to begin evolution with a small set of training cases.Other creators -
-
Explorer for ArcGIS
-
See projectExplorer makes it easy to discover, visualize, collaborate and share maps within your ArcGIS organization. Personalize your experience with ArcGIS by marking your favorite maps and places, finding information that is important to you, and sharing it with others. Use Explorer to help you make more informed and timely decisions.
-
Learning from Demonstration for Encapsulated Evolution of Robotic Controllers
-
Related Videos: https://www.youtube.com/playlist?list=PLEPZdzLLJH96m3CJ84yST3CUVkXhSB6Kl
Implemented road-recognition, robotic vision system using an Android smartphone and
OpenCV.
Included 8 different vision classifiers using different models for road classification.
Worked on implementation of a supervised training scheme to allowing mobile
robots to learn how to follow a trail using output from the road recognition system,
and an AAN
Allowed mapping of…Related Videos: https://www.youtube.com/playlist?list=PLEPZdzLLJH96m3CJ84yST3CUVkXhSB6Kl
Implemented road-recognition, robotic vision system using an Android smartphone and
OpenCV.
Included 8 different vision classifiers using different models for road classification.
Worked on implementation of a supervised training scheme to allowing mobile
robots to learn how to follow a trail using output from the road recognition system,
and an AAN
Allowed mapping of trails by utilizing GPS of an Android smartphone to recored
GPS positions while a road/trail is being followed
Built prototype Android apps to test different image processing systems
Contributed to framework design of controlling Android application
Abstract:
In this paper we present a novel approach to encapsulated evolution using an
inexpensive, but computationally powerful, robot and learning from demonstra-
tion. Encapsulated evolution, in which a robot maintains an evolving population
of behaviors, is a common technique for allowing robots to adapt, in real-time,
to changing conditions and environments. Research on encapsulated evolution has
been hampered by a lack of inexpensive robots with the computational power
to run an evolutionary algorithm. Additionally, encapsulated evolution commonly
uses unsupervised learning techniques, which face several challenges in real-world
environments. We present two approaches to overcoming these di?culties. First,
we present an inexpensive, computationally powerful robot capable of maintaining
large populations of complex individuals. Second, we combine encapsulated evo-
lution with learning from demonstration, a supervised learning technique, which
avoids many of the problems associated with unsupervised learning in the real
world. Results show that learning from demonstration combined with encap-
sulated evolution can be carried out in real robotic hardware using low cost, com-
putationally powered robots.Other creators -
Commonwealth Squadron 428
-
We created a web based, arcade style game for our Games and Virtual Environments course. The game was build using Javascript and the MelonJS game engine.
The game had the interesting feature of being able to connect with and be controlled by a mobile device using Brass Monkey. If the mobile device had an accelerometer the player's ship could be controlled by moving the device. Using Clay.io we implemented scoreboards, and achievements.Other creators -
-
Reinforcement Training Strategy over Rule-based Grammar and Table for a Robotic Controller
-
Role: Researcher
Team Size: 5
Developed controller for autonomous, mobile robot that allowed for task training via clicker-training.
Robots were controlled by code running on an Android device that evolved solutions to account for it's current training set.
Project Abstract:
As in dog training, the robot will try to learn the task that the trainer is trying to teach it. By using click reinforcement, the robot can generate a behavior by generating a grammar…Role: Researcher
Team Size: 5
Developed controller for autonomous, mobile robot that allowed for task training via clicker-training.
Robots were controlled by code running on an Android device that evolved solutions to account for it's current training set.
Project Abstract:
As in dog training, the robot will try to learn the task that the trainer is trying to teach it. By using click reinforcement, the robot can generate a behavior by generating a grammar structure or a rule-based table with probabilities.Other creators -
Texas Hold'em Poker for Android with a Decision Making Strategy based on Artificial Intelligence
-
Role: Team Lead
Team Size: 4
Developed a Texas Hold'em poker game for Android tablets.
Project for Software Engineering course.
Included formal SRS, SDD, and User Manual.
Gave regular project updates and presentations, and were able to successfully complete meet the design requirements laid out by the course instructor.
App Features:
Based on probability and tree-based Decision Making Distribution, a computer player is able to challenge a human…Role: Team Lead
Team Size: 4
Developed a Texas Hold'em poker game for Android tablets.
Project for Software Engineering course.
Included formal SRS, SDD, and User Manual.
Gave regular project updates and presentations, and were able to successfully complete meet the design requirements laid out by the course instructor.
App Features:
Based on probability and tree-based Decision Making Distribution, a computer player is able to challenge a human player and try to imitate human behaviors like bluffing or playing safely. All the Texas Hold’Em features were included in the software, like game rules, card and hand recognition.Other creators -
My Love Butler (Android App)
-
Released "My Love Buttler" to the Google Play store to cap off my 9 moths of learning Android before started grad school.
My Love Butler allowed users to add a contact, and schedule automated, repeating messages with that person to avoid falling out of touch.
Wrote this blog post during this period while learning the Android framework: https://n8ebel.com/2012/06/13/using-the-android-alarm-manager-to-schedule-texts/
Honors & Awards
-
LinkedIn Top Voices In Software Development
LinkedIn
https://www.garudax.id/pulse/linkedin-top-voices-2019-software-development-daniel-bean/
"Whether they're posting helpful video tutorials on the latest app-building tools, writing articles on what it means to be a manager or sharing what's up-and-coming in machine learning development, these members provide plenty of what you need to know to stay ahead in your career."
Languages
-
English
-
Other similar profiles
Explore top content on LinkedIn
Find curated posts and insights for relevant topics all in one place.
View top content