Bus stop on the left side of the road - sumo

I am fairly new to SUMO, and I have been creating bus stops, however I am only able to get bus stops on the right side of the edge. Is it possible to create island platforms (Center Platform) in SUMO?

You can specify the lane where the vehicle should stop when defining the bus stop
<busStop id="my_bus_stop" lane="edge_2" endPos="100"/>
will place the stop on the third lane (index 2) of edge edge. See https://sumo.dlr.de/docs/Simulation/Public_Transport.html

To model correct access times with the current placment limitations, you can define length="0" for the access elements that connects busstops with the opposide-direction sidewalk: https://sumo.dlr.de/docs/Simulation/Public_Transport.html#access_lanes

Related

How to Identify Bus Stops Using just GPS Data?

I'm trying to identify bus stops using GPS dataset including those attributes:
Bus Number
Current Bus Latitude
Current Bus Longitude
Current Time Recorded
I grouped data by bus_no and date and I did calculation on the data to get distance, duration, speed, and each stop occurred with its duration until a move happen. Now I want to identify bus stop from these set of stops occurred some of these stops occurred because of a traffic or because it's a bus stop and I want to identify this so is it a way to do it ?
I tried to read papers on this problem but I didn't find any thing that like this. most of papers already have stops determined.
So is there anyone can give me an advice for how I can solve this problem?
The main difference between a bus stop and a traffic stop in your situation is the duration of the stop. Bus stops duration would be consistent and short, rather than long and inconsistent like a traffic stop, hence I would advise you to create small bins of duration and plot a histogram. Ideally, the highest bin would be your bus stop duration, then you can map the duration bin back to the stops.

CAN bus arbitration backoff time

I am aware of the way CAN bus does its arbitration. In a nutshell the CAN node ID having more '0' 's in its indentifier wins the rite to transmit on the bus and the rest of contending nodes back off.
But i dont find any details of how long the backed out node waits before re-trying to win the bus back. I consulted a few sources but still cant find the answer. Any experimental evidence for this ?
Bosch CAN
Introduction to the Controller Area Network
It is free to try again after the winning frame has been transmitted and no dominant bit has been found in the "intermission field" at the end of the CAN frame. You'll probably find a formal definition of this if you search the spec for "intermission field", see for example 3.1.5 of the old (obsolete) Bosch spec you linked.
The important part here is to realize that every CAN controller listens to every single frame, even if it isn't interested in it. This is how you achieve collision avoidance, rather than collision detection.
As mentioned in the Bosch CAN specification document all the CAN nodes can start to send pending frames when Bus Idle condition occurs (no dominant bit found on the bus). During the intermission period in the Interframe spacing no node can transmit (Overload frames can be transmitted but not Data or Remote frames). CAN nodes must wait for 3 recessive bits during this period. All nodes can start transmitting right after this intermission period.
If multiple nodes start at once after intermission period then the lowest identifier frame will win the arbitration. If the remote and data frames (both have same identifier) from different nodes start then the data frame will win the arbitration.
I agree with the answers above but i was looking for more mathematical analysis of the CAN bus timings. I found this excellent lecture notes : Time analysis of CAN messages
. Chapter 3

How to switch between different Kinect V2 connected to single PC?

I have two Kinect V2, connected to two different USB 3.0 ports on a single PC. I know it is not possible to use both based on SDK V2 concurrently, and I know I should get access to the Kinect V2 using this method:
_sensor = KinectSensor.GetDefault();
However, it always returns back one of the sensors as default and it doesn't matter which USB 3.0 port I connect it.
First of all, is there any methods that we can get list of connected Kinect V2 connected to a single PC and turn on that one based on our preferences?
I want to use one of in each time frame, but need to switch between them.
There is a workaround, which is annoying, but seems to work:
You can enable/disable the USB-port/-controller each Kinect is connected to. Disable all ports but the one you need, and KinectSensor.GetDefault(); should give you the correct sensor.
You can do this manually in the device manager. But I'm sure there is also some way to do this automatically in code.
For more details see the thread Connection to multiple Kinect V2, NOT for synchronous acquisition on the Microsoft support forum.
It's possible to use both Kinects at the same time. I have developed an application that uses 2 Kinects, video and skeleton flows from both in the same time. It developed for sdk 1.8.
So, you can get all available ready devices like that:
KinectSensor.KinectSensors.Where(kinect => kinect.Status == KinectStatus.Connected)
Why do you need to switch between them? You may just activate the needed flow from both at one time. In the sdk it says that both Kinects can't work when they are directed to the same object. But it's working. If you want to switch between them like this:
stop flow from first
activate flow from second
goto p.1
It's bad variant because p. 1 and 2 can take about a second time. It's a very slowly.

Is it possible to programmatically power on/off the 3V3?

I have a Netduino Plus with at transeiver attached via SPI. I would like to reset the transiever every time the Netduino restarts. Is it possible to programmatically power on/off the 3V3 pin?
I would recommend using a FET (controlled by one of the I/O) pins to enable/disable 3V3 power to your transceiver. When you say transceiver, I think "more than a few mA" :)
BTW, we took this feedback into account with the new Shield Base module for Netduino Go. It has an integrated FET on both 3V3 and 5V power headers, so you could enable/disable power to your shield in code. Once the new Ethernet go!bus module ships and the Shield Base comes out of beta (soon), your solution can be redeployed to Netduino Go + Shield Base with few/no code changes.
Chris
Secret Labs LLC
Looking at the circuit diagram ( http://www.netduino.com/netduinoplus/schematic.pdf ), I can see only the Micro SD Card Slot having its power controlled programmatically. You could rig up a relay to control it (via a transistor, of course) instead, or if the transceiver uses less than 130mA (the current limit of the device shown: http://www.datasheetarchive.com/BSS84W-7-F-datasheet.html) you could copy the circuit from the Netduino Plus. Buying a relay shield looks like overkill, but you might have other uses for it.
Have you looked into resetting the transceiver programmatically instead of the brute-force method of power-cycling it?
Just to provide another view. You could use a transistor powered off the netduino RESET line, this will reset the device every time the netduino reboots. Or you can just link the transistor to a spare digital pin and power it in code..
What specific SPI device are you using? You mention that it's a transceiver but we could probably provide better information if we know the exact part number. If your device requires less than 8mA the Netduino Plus specs seem to indicate that one option could be using a digital output pin as the power source.
Unfortunately Secret Labs don't use exactly the language I'd expect and call out the sink and source current maximums so I would contact them directly first to see if you risk blowing your chip. I'll see if I can get an answer from them and amend this post if/when I do.
Update: Sink and source current is the same on the Netduino. See my post on their forums about sink vs. source current for a more in depth explanation. So, if your device can run off of just a few milliamps you should be able to use a digital I/O pin to power it.
Also, a lot of devices have enable pins. You can usually reset them with that line instead of pulling the power if that helps. Sometimes with flaky hardware it is better to pull the power though.

Can an iPhone 3.0 SDK based app continue with data processing while answering a phone call?

I always thought that once I choose to receive a phone call my aplication is shut down.
Now I hear of some SDK 3 based application that keeps sending location data while a phone call is being answered?
Is it possible? (Not a jail broken iPhone)
How?
When a call is in progress and one or the two calling parties are being carried in moving transport the system has to inform the network through the mast or antenna that the person or device is moving from one cell to another and then the system can switch the call in progress to the next cell being approached in the direction of travel. When a more direct or non-cell network is in use then the antenna has to send or receive the signal sometimes at different horizontal angles to a series of geographical positions and if necessary pass the call to a later antenna. Fast moving transport sometimes beats the system. In the situation you describe the location could be sent because the phone user has selected a 'send my position' or 'position locator' facility on their phone or it is a phone for officials, officers or children who may be at risk.