-
Notifications
You must be signed in to change notification settings - Fork 232
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Capturing rebalancing devices (remote or self-driving) outside of trips #521
Comments
This could be accomplished by defining new event types that transition into and out of the Do we want to handle as part of #506, or in a follow-up PR targeting 1.0.0, or save for post-1.0.0? |
I would vote for 1.1 since there's so little time to have the community kick the tires. Also I don't think it's urgent, since AFAIK there are no self-driving scooters yet. |
I think this relates pretty closely to a more broad question I've been thinking about (particularly for non-micromobility modes): How do we want to represent non-trip movement? This is critical for things like autonomous vehicles (non-trip, non-driver movement), buses (deadheading to the first pick-up point for a route), etc... Just considering the state machine, I think that there are a few different ways we could go, but it really depends on the specific use-case. I'd argue that for the scenario: |
Yep, we should definitely try to characterize non-trip movement in the 1.1 timeframe (IMHO). It would be great to start with the perspective of the operators and how they think about it. I believe that's largely how we arrived at the |
So far we've been discussing 1) modifying the state machine and 2) ensuring non-trip movement. Should this proposal also include how to modify MDS to support this (not just state machine) and related devices like self-driving bots, sidewalk delivery, delivery bots, etc? Or is that scope too big and be in another issue? |
I'd love to see something done here. Scooters that cannot move themselves often do, in fact, move when they are not on a trip. There are also cases such as getting a new GPS fix where a scooter's location will update. In practice what this means is that the scooter's latest/best known location will drift from what was communicated on the trip end event. We currently have to compare the GBFS feed to infer when this happens… |
@quicklywilliam for what it's worth I saw this a lot when I operated dockless bikes because of IOT connectivity problems. A device looses its connection so the field team moves it someplace with better cellular signal. Suddenly its position has changed. I don't know how you would account for this since without a connection the state would not change. And yes, GPS drift is significant, particularly in urban areas. |
@mplsmitch have you seen #503? I mention it because it introduces an "internal state change" via a Following the above line of thinking, it would be pretty straight forward to add an internal state change event that supported all the PROW states. See below where I've put hastily drawn red arrows labeled "location/geometry changed". It gets a little insane though when you start to think about location updates that would place the scooter in a new jurisdiction (purple arrows and ???s below). Imagine a scooter parked near the boundary of two jurisdictions, with the GPS drift moving it between them. That's no longer an internal state change, but it's also not a transition we support today! Would also be curious to get @Karcass's and @billdirks's thoughts. |
What do you all think are the specific recommendations and changes needed so this could get into a PR for the 1.1.0 release? Still seems like it could go a few ways and there isn't a specific solution ready yet. |
@schnuerle I'm thinking this warrants more thought and discussion than we have time for in 1.1. I'd suggest making it a high priority for 1.2. |
See notes from the WG call this week.
Should this Issue be clarified to be about delivery robots like Tortoise, or about just tele operated/obstruction/charging use? Then a new issue can be make for the other. |
We will be discussing this topic at tomorrow's Working Group meeting. |
Notes from the public working group meeting:
|
The City and Provider Working Group Steering Committees met last week for the Midway Checkpoint for the 1.2.0 proposed release. The Checkpoint let them review feature proposals, align current work to goals, and ensure the release features and work is on track. For this work, we have created a new rubric to help guide the evaluation, looking at feature utility, stakeholder adoption, implementation simplicity, direction consensus, and work completed as part of the evaluation criteria. The outcomes and actions from these discussions are summarized here:
|
Per the Consensus Checkpoint for this release, the WGSC decided that this should be moved as a breaking change for the next major release and part of a larger discussion on modes. |
Comment from @tristan-charreton on issue #652 about making this mode apply to 'Delivery' in general and not as narrow as 'Delivery Robots':
|
I created a new issue #782 which will focus on new mode of Delivery Robots. The issue here was being used for that purpose a bit, but it was really created for something different around device rebalancing and out of trip movement. It's been renamed to reflect that. |
These concepts and support for delivery robots and related states has been incorporated with our MDS 2.0 Modes work. |
Is your feature request related to a problem? Please describe.
There has been some interesting development in "self driving scooters" that can navigate themselves to the customer. For example: https://www.tortoise.dev/
I'm not sure our state machine can handle the concept of a riderless trip. How would we extend it?
Is this a breaking change
A breaking change would require consumers or implementors of the API to modify their code for it to continue to function (ex: renaming of a required field or the change in data type of an existing field). A non-breaking change would allow existing code to continue to function (ex: addition of an optional field or the creation of a new optional endpoint).
Impacted Spec
For which spec is this feature being requested?
All of them potentially.
The text was updated successfully, but these errors were encountered: