Jason’s Status Report for 12/7/2024

WORK ACCOMPLISHED:

This week I focused on conducting tests of the physical capabilities of the skateboard to ensure it is able to survive whatever turmoil our users may put the board through. This includes traversing different terrains, applying different levels of force to the board while riding, and monitoring the overall wear and tear through expected usage such as the return to me.

Background: To provide some context, turning without a rider on board involved us spinning one wheel forward and the other backward to kind of skid the board into a new arrangement/ alignment. As a result, the board’s back wheels experience significant wear from this process to the point that we notice significant marking on the wheels after only a few weeks of testing. In the future, we would likely reimplement this project with harder grade wheels to ensure the wheels last longer.

Testing: I first tested with riders of varying weights and sizes from 110 pounds up to 220 pounds and a height of 5’3 up to 6’2. The board operated equally well on all and none of the tested riders reported anything under a 5 when asked to rate their comfort levels while riding. The board was able to move without any slow start or stalling and could maintain speed with every rider.

I next tested the terrain capabilities by riding over cement, grass, asphalt, and some areas of very high small pebble/ rock frequency. The skateboard performed very well on cement and asphalt, less well on grass, and the worst on the rocky area. The enclosure sustained some light scratches but otherwise stayed attached and showed no signs of bolts or nuts loosening.

I also did some work on the GPS soldering and beginning the setup of the advanced, more precise gps system.

Progress: We will be ready to demo all of our working features next week.

NEXT WEEK’S DELIVERABLES:

  • RTK GPS data integration and a more accurate/succesful return to me

Tio’s Status Report for 12/07/2024

WORK ACCOMPLISHED:

This week, we made significant progress toward finalizing our project. A major milestone was the successful soldering of the U.FL connector onto the Feather M0, enabling improved GPS-RTK functionality. Additionally, we have been debugging and integrating the RTCM stream into our navigation system, a critical step for enhancing positional accuracy.

PROGRESS:

We are entering the final stages of the project and are focusing on refining our existing features. While the LiDAR remains largely retired from the autonomous system, we plan to demonstrate its functionality through an intermediate setup involving a laptop, bridging the Raspberry Pi and the sensor. All other major features are complete, and we are honing the navigation and return algorithms to ensure reliability in the final demo.

NEXT WEEK’S DELIVERABLES:

  • Final Demo: Prepare and refine the features we will showcase to deliver a concise and impactful presentation.
  • Final Poster: Design an engaging and informative poster summarizing our project.
  • Final Report: Finalize the comprehensive report documenting our methodology, results, and lessons learned.

We are on track to deliver a successful project and demonstrate the culmination of our efforts.

Team Status Report for 12/7/24

Significant Risks + Management

Design Changes

Schedule Changes

There are no major schedule changes, and we are on track to have the project completed by our final demo date. We are going to focus on the testing portion.

Progress

Sharon focused on testing and refining key features of the mobile app this week. She conducted latency testing using tools like the NRF Connect app, achieving consistent command latencies under 100ms with automated scripts. She also implemented unit tests to validate core features such as command handling and GPS integration. Additionally, Sharon improved the frontend UI for GPS data streaming for real-time updates and enhanced the ‘Return to Me’ feature with two-point route planning UI. She expanded the stats tracking functionality to include metrics like top speed and total miles traveled, providing users with valuable performance insights.

Jason focused on stress testing the physical composition of the board. This included many non-quantitative assessments such as verifying integrity of the wheels and enclosure after driving over a variety of different surfaces with different weighted passengers. Jason also assisted with soldering of gps chip antenna attachments and will be working to implement the RTK items along with Tio.

Unit Tests and System Testing

Unit Tests Conducted:

  • Command Execution: Tested the responsiveness of motor control commands sent from the app to the skateboard, ensuring a consistent latency under 100ms. Automated scripts were used to validate performance across 100 iterations.
  • GPS Integration: Verified real-time GPS data streaming from the skateboard to the mobile app. Unit tests simulated GPS updates to ensure seamless transitions and accurate location updates.
  • Stats Reporting: Tested the app’s ability to track and display metrics like top speed and total miles traveled, confirming data integrity and consistency under various usage scenarios.
  • Stress Testing: Tested the boards ability to keep all parts on board and the enclosure attached through different challenging terrains, affirming the boards ability to be used in a variety of different users circumstances.

 

System Tests Conducted:

  • Latency Testing: End-to-end latency was measured for commands sent from the app to the skateboard. The system consistently achieved sub-100ms response times, meeting the project’s use-case requirement.
  • End-to-End Integration: Simulated a 2+ mile trip to validate system stability, focusing on seamless communication between components, including Bluetooth connectivity, GPS data flow, and app functionality.

Findings and Design Changes:

Sharon’s Status Report for 12/7/24

WORK ACCOMPLISHED:

Latency Testing for Mobile App Commands: This week, I focused on evaluating the latency between the mobile app and skateboard functionality. Using tools like the NRF Connect app and custom testing scripts, I measured execution times for commands sent to the skateboard. Each command consistently achieved a latency of under 100ms, meeting performance goals. I automated this process by running a script that called commands 100 times, ensuring the system’s responsiveness and reliability under continuous use.

Unit Testing for the App: I implemented unit tests for the mobile app to validate individual components and functions. These tests focused on core features such as command handling, GPS data integration, and stats reporting. By simulating app interactions, I ensured that the app behaves as expected under various scenarios. This foundational testing step provides confidence in the stability of the app as we move into more complex integrations and system testing.

Streaming GPS Coordinates: I refined the GPS data streaming functionality, enabling real-time updates of skateboard coordinates. The improved implementation now streams accurate location data seamlessly, even when transitioning to new data sources such as the RTK GPS module. These updates ensure the ‘Return to Me’ feature is well-equipped for precise navigation.

Frontend Refinements for ‘Return to Me’ Feature: I enhanced the flow and UI for the ‘Return to Me’ feature, now utilizing two points for more accurate route planning (current location and return destination). While this update improves clarity and functionality, additional tests are needed to determine the maximum operational range. Collaboration with the team on range testing has begun to collect this critical data.

Enhanced Stats Reporting: I expanded the app’s stats tracking capabilities to include metrics such as top speed and total miles traveled. These additions enhance the user’s ability to monitor and assess skateboard performance over time, providing valuable insights into its usage.

PROGRESS:

The project is progressing well, with significant accomplishments in performance testing, app functionality, and collaborative testing efforts. The addition of unit tests has improved the app’s reliability, while there will be more ongoing tests for the coming week for the end to end system.

NEXT WEEK’S DELIVERABLES:

  • Focus on improving the user interface for the ‘Return to Me’ feature, such as adding visual feedback for range limits and refining the map display for better usability.
  • Extend unit tests to cover error handling and edge cases and stress testing.
  • Finish the other testing parts of our use-case requirements.
  • Integrate RTK GPS data for improved accuracy in location tracking.

Team Status Report for 11/30/24

Significant Risks + Management

GPS accuracy issues have not been resolved, but we now possess all the components we need for setting up GPS-RTK, and aim to complete this before the final demo.

Design Changes

We’ve changed the nature of our LiDAR integration, as it seems that the RealSense series is incompatible with Raspberry Pi OS. We have been able to use it in MacOS and Linux environments without issue, so there is the possibility that we demo with a LiDAR mounted on the board and a connected laptop serving as an intermediary between the device and the board.

Schedule Changes

There are no major schedule changes, and we are on track to have the project completed by our final demo date.

Progress

Jason has designed and 3D printed an enclosure for the onboard electronics. The board can easily be assembled and disassembled for reconfiguring and debugging electronic components.

Tio has written the autonomous return and manual control for the board, and is currently refining the RTK accuracy for improving the return.

Sharon has integrated the backend Bluetooth signals from the mobile app with the Raspberry Pi on the skateboard. She addressed challenges with outdated libraries by utilizing a specific fork of Bleno and implemented a socket-based communication flow, which improved responsiveness and reduced latency for motor control commands. Sharon also worked on refining the GPS accuracy for the ‘Return to Me’ feature by testing various filtering techniques, including the Kalman filter, to smooth out location inconsistencies. Additionally, Sharon refined the app interface, introducing an emergency stop button requiring a double-tap to activate for added safety and removing the reverse functionality to simplify user interactions.

Sharon’s Status Report for 11/30/24

WORK ACCOMPLISHED:

Frontend Enhancements for Remote Control: This week, I finalized several UI elements on the remote control page, focusing on making the interface more interactive and user-friendly. Based on feedback from our demo, where users emphasized the importance of receiving immediate feedback that the board was operational, I modified the app to display the duty cycle instead of just speed. Additionally, I integrated a speed indicator to provide a more intuitive and responsive user experience, ensuring real-time visibility of the board’s performance metrics.

Motor Control Optimization: I finalized the motor control code, focusing on achieving a smooth and reliable speed curve. After iterative adjustments and testing, I optimized the speed rates for better responsiveness and stability. Additionally, I refined the emergency stop functionality to make it more effective and immediate, enhancing overall safety during operation. These changes ensure a more seamless and controlled user experience.

Integration of GPS Location Display: For the ‘Return to Me’ feature, I successfully connected the board’s GPS location to be displayed on the app. Following the pattern established with the socket-based acceleration controller, I set up sockets for GPS data transmission from the Raspberry Pi to the app. This implementation enables real-time location updates, represented by a pin on the app’s map interface. This progress ensures better visualization and understanding of the board’s current position, advancing the reliability of the ‘Return to Me’ feature.

PROGRESS:

Progress is on schedule, with the majority of tasks successfully completed. The remaining work involves final refinements to polish the features and ensure they function as intended. Extensive testing is underway to validate performance, usability, and reliability, addressing any minor adjustments needed to meet the project’s goals. These final steps will ensure a seamless and fully functional system.

NEXT WEEK’S DELIVERABLES:

  • Link animations to the return sequence and ensure synchronized movement of the board with the app.
  • Collaborate with teammates to finalize metrics and visualizations.
  • Implement a centralized Bluetooth context to streamline connections and improve efficiency.

Tio’s Status Report for 11/30/2024

WORK ACCOMPLISHED:

The major milestone we crossed since our last status report was our interim demo. We showcased all our work so far, including our mobile application enabled manual control, and script controlled return with turns to avoid a mock obstacle. We also have all parts required for GPS-RTK, and will do some quick assembly before our final demo, but our return algorithm is already implemented.

PROGRESS:

We our entering the final stages of our project and our progress reflects accordingly. We’ve largely retired the LiDAR but hope to be able to demo it attached to a laptop as an intermediate between the device and the Raspberry Pi.

NEXT WEEK’S DELIVERABLES:

  • Final Demo: We need to refine and prepare for what features we will show in our final demo to remain under time and have an effective demo
  • Final Demo Slides
  • Final Poster
  • Final Report

 

Jason’s Status Report for 11/30

WORK ACCOMPLISHED:

The enclosure is complete and we have drilled escape holes for the battery charging port and the power button as well as passthrough holes for the motor wires and the front gps/LiDAR cables. The enclosure has been assembled and I added a ring of insulating material that will help waterproof the enclosure as well as reduce the gap between the enclosure and the board as a result of the deck’s innate curvature. Holes have been drilled into the skateboard to attach the enclosure to the board and corresponding hardware has been selected to attach. On top of this, I wrote code to execute a basic demo of object avoidance. In essence, the skateboard “sees” the object, backs up, turns to avoid the object, accelerates past the object, stops, turns back on course, and continues moving. A video of this demo is in the slack channel.

 

PROGRESS:

As we have likely given up on the LiDAR, we are essentially done with our project. We will be working to improve GPS accuracy with some parts that just came in to work closely with the radio tower in Hamerschlag. Other than that, we will be finalizing our slide deck to present in class

NEXT WEEK’S DELIVERABLES:

    • Completed project/ slides

 

Jason’s Status Report for 11/16/24

WORK ACCOMPLISHED:

A lot of progress has been made but at a cost of a step backward. So the LiDAR compatibility with the raspberry pi has been a thorn for the last week and a half and a few days ago, I threw in the towel and outsourced. The first group I met with was Robo-club as we were using their 3d printers anyway. They had me follow some guides but I have followed most of the available info online already. When this did not work, I scheduled a meeting with a PhD student in Professor Rowe’s lab. After about two hours of debugging, he came to the conclusion that this LiDAR model is simply not compatible with our RbPi OS. We confirmed this by trying with an older model, a d435. When this worked, he let me borrow a d435 and we proceeded from there, concluding it was not possible to connect a d455. In addition, we have 3d printed an enclosure for our parts to sit underneath the board.  We used a slightly modified version of a design found on thingiverse and will compile pieces tomorrow. I also wrote code to back up and move around an object that has been detected. Now, I need to write code with the new LiDAR to obtain a point cloud to be able to recognize objects and their size to move around them.

PROGRESS:

THe progress was monumental this week and we got over the LiDAR hump. We will grind tomorrow to produce a good demo and then in the subsequent week to piece all the parts together.

NEXT WEEK’S DELIVERABLES:

    • Completing an object detection/avoidance end to end pipeline and to smoothly integrate that with the return feature
    • Complete chasis by resizing enclosure, drilling LiDAR holes, drilling enclosure holes, drilling holes in enclosure for charging and power button
      • Hopefully obtain some shorter wires
      • bring velcro, window sill liner for enclosure

 

Team Status Report for 11/16/2024

Significant Risks + Management
One significant risk this week is that we’ve observed that the readings we receive from our GPS chip without RTK support are far too inaccurate for us to achieve successful autonomous returns. Accordingly we’ve sought advice from Roboclub given their experience using GPS-RTK for robobuggy. We received a list a short list of hardware we needed and have placed orders already.

Design Changes

We will no longer be buying  a deck, and instead we will be 3d printing one using the printers available in Roboclub.

Schedule Changes

Core task schedule remains the same. We are likely going to have to dip into the extra testing time we reserved at the end to get through small items such as LiDAR connection and any Bluetooth mishaps.

Progress

As of this week our project has reached its MVP of being a fully functional electric skateboard that is controlled by a web application, with the ability to accelerate, decelerate, and reverse at the press of a button. Sharon successfully connected the phone applications backend Bluetooth signals to the software on the skateboard’s Raspberry Pi.

As we approach the final physical layout for electronics on the skateboard, Jason has began printing out the enclosure we will use to secure them.

Tio is working with on the location and orientation aspects of the skateboard’s autonomous return features, while Jason has put in many hours focusing on the computer vision aspect.

Sharon worked on integrating the backend Bluetooth signals from the mobile app with the Raspberry Pi on the skateboard. This involved addressing challenges with outdated libraries by utilizing a specific fork of Bleno and implementing a socket-based communication flow, which improved responsiveness and reduced latency for motor control commands. Sharon also worked on refining the GPS accuracy for the ‘Return to Me’ feature by testing various filtering techniques, including the Kalman filter, to smooth out location inconsistencies. Additionally, Sharon refined the app interface, introducing an emergency stop button requiring a double-tap to activate for added safety and removing the reverse functionality to simplify user interactions.

Verification Testing Plans

Speed Test

  • Measurement: 15 mph ± 1 mph
    Test Input: Accelerate and decelerate on varied terrain (flat, inclined), rider weight, and motor load.
    Test Output: Speed should remain within 14-16 mph.
    Risks: Failure to maintain consistent speed and reach top speed.

Battery Efficiency & Range

  • Measurement: 5 miles ± 0.25 miles per charge.
    Test Input: Continuous ride over varied terrain and rider loads (150-240 lbs).
    Test Output: Travel 5 miles on a single charge.
    Risks: Battery drains too quickly, insufficient power for “Return to Me” function.

Return to Me Accuracy

  • Measurement: 80% success rate within 1-meter margin.
    Test Input: Recall skateboard over varying distances (5m, 10m, 50m, etc.) with/without obstacles.
    Test Output: Skateboard returned to user and retrieved within 1-meter margin smoothly.
    Risks: Pathfinding issues due to GPS/IMU inaccuracies.

Obstacle Detection

  • Measurement: Detect objects within 100ms, 90% accuracy.
    Test Input: Set obstacle course with varied object sizes (rocks, trees, etc.).
    Test Output: Skateboard successfully avoids obstacles within design requirements.
    Risks: Slow or no detection at all, especially in fast-moving or small obstacles.

Latency Test

  • Measurement: Command response ≤ 100ms.
    Test Input: Send commands from web app (accelerate, decelerate, etc.).
    Test Output: Response time should be ≤ 100ms.
    Risks: Bluetooth disconnects, delayed execution of commands.

End-to-End Integration

  • Measurement: No interruptions in 2+ mile trip.
    Test Input: Combine all features, ride continuously for 2 miles.
    Test Output: System functions smoothly for the entire trip.
    Risks: Loss of connectivity or inconsistency between components
  • Bluetooth Integration Testing:
    • Test Objective: Ensure that the Bluetooth communication between the mobile app and Raspberry Pi is responsive and reliable.
    • Measurement: Command latency should be ≤100ms.
    • Methodology: Use timestamps in app commands and Raspberry Pi responses to calculate round-trip latency. Test commands (e.g., accelerate, decelerate) across different distances (1m, 5m, 10m) to check for consistency.
    • Anticipated Results: Latency within the design specification, with no more than one disconnect per hour.
    • Analysis Plan: Compare measured latency and disconnect frequency against benchmarks. If the results exceed acceptable limits, investigate interference or library issues for optimization.

 

  • GPS Accuracy Testing:
    • Test Objective: Improve location tracking accuracy to within a 4-meter margin.
    • Measurement: Distance error in meters between actual and reported locations.
    • Methodology: Perform controlled outdoor tests using known fixed points as references. Apply filtering techniques like Kalman filters and compare pre- and post-filtered results.
    • Anticipated Results: Average error ≤4m, with reduced noise in filtered data.
    • Analysis Plan: Evaluate filtered GPS data for consistency and repeatability across multiple tests. Document limitations and refine filters or hardware configurations as necessary.