Description
The current robot control features and export functionalities in the PSLab Android app are functional but could benefit from several improvements in usability, compatibility, and feature set. This issue aims to consolidate enhancement ideas and define a clear improvement path for both modules.
Porting Feature to Flutter App Version
As a first step, the robotic arm control interface needs to be ported from the existing implementation to Flutter. Along with this, the communication protocol that enables interaction with the robotic arm.
Proposed Improvements:
Robot Controls:
Redesign UI
• Improve clarity and responsiveness for directional and servo control.
Features
• Fine Tuning:
○ Precision control with + and - buttons for each servo.
• Presets:
○ Some predefined sequence so that users can select and use.
• Frequency Selection:
○ Allow user to select PWM frequency (e.g., 50Hz or 100Hz) for servo control based on their servo.
Operating Modes
• Manual Mode:
○ Real-time control of each servo.
○ Shows dialog: “Timeline disabled in manual mode”
• Timeline Mode:
○ Existing timeline mode that we have.
• Timeline Reverse:
○ Play the timeline in reverse order.
Statistics Summary (Based on Feedback)
• Average Angle
• Maximum / Minimum Angle
• Number of Steps
• Graphs to show jitter, sudden jumps, or unusual patterns
Timeline Enhancements
• Timeline Reset Button:
○ Clears or resets all data with a single action.
• Set Timeline Duration:
○ User can choose total timeline length (e.g., 1 min, 2 min)
Export Functionalities:
- Add ability to export data in additional formats (e.g., JSON, CSV)
- Include options for selecting specific channels/signals to export
- Allow exporting with timestamps and metadata
- Improve integration with cloud services or external apps (e.g., via Android share intent)
Expected Outcome:
- Better user experience in robot interaction
- Easier data handling and analysis outside the app
- Higher flexibility in use-case support
Area of Work:
- Robot Control Module
- Export/Save Functionality
- UI/UX Improvements