Curtis - Wheelchair control project
Reference report #3
About the customer and the project
Maximum independence with the help of modern control systems.
Curtis Instruments AG, a subsidiary of Curtis Instruments Inc. based in New York, specializes in the development of control systems for complex high-end wheelchairs and rehabilitation vehicles.
To ensure that programming at Curtis is modular, fast and secure, the development department relies on the Building Block Framework from CSA Engineering AG. Its use reduces dependencies and ensures a high degree of reusability of entire functional units thanks to the clear interfaces.
CSA supported the project from concept and architecture development through specification, design and implementation to acceptance by the customer. In the first project phase, the focus was on consulting for the architecture and methodology, and later on supporting the design and implementation of the embedded software.
Our services
As part of this development project, we developed a completely new embedded system that is distributed across several units. The CANopen protocol was used for communication between these units and extended by a “plug & play” functionality to simplify commissioning.
Phases of the project:
Definition phase:
- Carrying out a feasibility study
- Development of the implementation concept
Specification phase:
- Elaboration of the system specification
- Creation of the software specification
Realization phase:
- Design specification and architecture
- Development of the embedded software
- Implementation and software development
- Documentation of verification and validation
Transfer phase:
- Handover of development results and project documentation
This enabled us to offer a tailor-made solution that meets the requirements of the project at every stage.
Conclusion
Thanks to the excellent cooperation and direct contact with the CSA development engineer at Curtis Instruments AG, the development of the new product enAbleX1 could be realized within the planned deadlines.
Technologies:
- By using the C++ programming language, the object-oriented design could be implemented conveniently and efficiently.
- CAN-based communication based on CANopen was used to network the individual control components.
- Communication with the environment also takes place either via a CANopen connection or alternatively via Bluetooth and infrared.
- The real-time kernel used ensured that the required real-time requirements were implemented on the new hardware platform developed by Curtis itself, based on microcontrollers from the ARM Cortex-M1/M3/M4 family.
Methodology:
- The Unified Modeling Language (UML) was used for the software design and parts of the project documentation.
- For the efficient implementation of the software architecture and modularization of the components, it was possible to fall back on the CSA Building Block Framework, which had already proven itself in other development projects.
- This and the use of other software design patterns enabled the complexity of the overall system to be broken down and implemented in manageable blocks and components.
- An “Agile Software Development” development process was used throughout the entire development period in order to be able to provide the customer with regularly executable software releases for tests and in the later project phases.
Do you have a similar project or do you need support in implementing your ideas?
Contact us today and let us work together to find the best solution for your company.