Angelic Technology is a sponsor/mentor of a robotics team for middle and high school students ( http://angelicrobotics.org ). Angelic Robotics (aka FRC Team 4466 – The Robo Hamsters) is associated with an organization called FIRST (For Inspiration and Recognition of Science and Technology – http://www.firstinspires.org )
A student involved in FIRST will learn many different things. It is not just about the robot. Students learn about things like:
- Accounting & Marketing
- Public Speaking and Presentation
- Mechanical Engineering & Design
- Electrical Engineering & Design
- Computer Science/Engineering
- Problem Solving
- Competing Fairly
- And most importantly, Collaboration and Teamwork.
There is currently a lack of good software tools designed to manage a STEM (Science, Technology, Engineering and Math) team. Because of this we have embarked upon a project to create these tools. These tools will be used to manage people (mentors, students, vendors, sponsors, etc), inventory, accounting, teams/sub-teams, projects, documents, competitions, etc.
Since these teams rely entirely on sponsors to donate funds, and the fact that they run on very limited budgets, they can’t always afford the usual standard software. Also, due to the nature of the specialized requirements for these teams, off the shelf software is not the best choice.
- Delphi is cross-platform. Given the wide array of devices that these teams use, the ability to write once and compile for many platforms is invaluable. Yes, there is Java, but Java relies on the Java VM and as such is an interpreted language. At robotics events/competitions, time is critical and every second counts. Since Delphi compiles to native code we can squeeze every bit of performance out of the devices.
- The Delphi language is easy to read and for the most part is self documenting. Since we are going to have some of FRC 4466’s members help write the software this is critical. They need to be able to quickly learn the language. C/C++, while powerful, just are not that easy to learn.
- Delphi is cloud-enabled. Because these teams need to be able to access their data wherever they are, these apps need to be able to access cloud data. They need to be able to use a wide variety of devices, most importantly hand-helds (tablets, phones, etc.) In order to make the mobile versions more powerful, they need to be able to access data through the Internet over standard mobile signals.
Another technology we are looking at is RAD Server, also from Embarcadero. What is RAD Server? Well to quote the Embarcadero website:
RAD Server is a turn-key application foundation for rapidly building and deploying services based applications. RAD Server provides automated Delphi and C++ REST/JSON API publishing and management, Enterprise database integration middleware, IoT Edgeware and an array of application services such as User Directory and Authentication services, Push Notifications, Indoor/Outdoor Geolocation and JSON data storage. RAD Server enables developers to quickly build new application back-ends or migrate existing Delphi or C++ client/server business logic to a modern services based architecture that is open, stateless, secure and scalable. RAD Server is easy to develop, deploy and operate making it ideally suited for ISVs and OEMs building re-deployable solutions. (https://www.embarcadero.com/products/rad-server)
Using RAD Server means that we will be able to provide a cloud based service to these teams so that they can access their data everywhere. Because RAD Server has the ability to provide push notifications we will be able to create a solution that works well for these teams at competitions. One of the requirements of this project is a scriptable scouting app. Push notifications are critical to scouting as the system will be able to send the data to the right people automatically, providing the team will timely information so that they can make decisions quickly.
Because we are planning on using RAD Server, the natural choice for the back-end database is Embarcadero’s Interbase database server. RAD Server utilizes Interbase as it’s own back-end DB server. In addition, Interbase is easy to maintain and very powerful. This is important as students will be helping maintain the system. It is also very scalable which is important since this will be a distributed, cloud-based system.
Future articles will go more into depth about the exact architecture we plan on using, as well as document the creation process.
As this project progresses you will be able to find updates at this blog. If you wish to donate to this project or my team please feel free to contact us.