Selected Definitions of Managed Objects for Public Transportation Vehicles (PTV) Transit Communications Interface Protocols (TCIP) White Paper 3 Prepared by Xudong Jia Paula Okunieff Tom Buffkin Karen Levine Cambridge Systematics, Inc. 150 CambridgePark Drive, Suite 4000 Cambridge MA 02140 February 20, 1997 Preface As part of soliciting input from the transit industry and the public, the Transit Communications Interface Protocols (TCIP) technical team is issuing a series of White Papers which present assumptions, directions and methods we intend to use in the development of the TCIP family of specifications. This is the third paper in a series related to the family of specifications. In particular, the purpose of this paper is to present an implementation of an object set whose format is based on the NTCIP application structure (ASN.1) and the SAE J1708/J1587 message and parameter identifiers (MID, PID). This object set describes the Automatic Vehicle Location (AVL) subset of public transportation vehicle data. The last section deals with conformance requirements for which we designated mandatory those parameters identified by SAE J1587. We welcome your comments on the paper, particularly, on requirements imposed on developers and product vendors. The White Papers Series and related comments will be posted on the TCIP web site: www.tcip.org. We invite interested parties to submit papers on issues concerning any aspect of TCIP. Papers are subject to review by the TCIP Steering and Technical Advisory Committees. 1.0 General 1.1 Scope The communications between components within a public transportation vehicle, transit management centers, and other transit facilities are critical to public transportation operations supported by a TCIP network. They are accomplished by using the TCIP application layer services to exchange messages between PTV components resident in heavy-duty vehicles and other transit facilities. 1.2 References There are a number of standards used to generate parts of this standard. These standards are listed below. [1] SAE J1708 Serial Data Communications Between Microcomputer Systems in HeavyDuty vehicle applications, October 1990. [2] SAE J1587 Joint SAE/TMC Recommended Practice for Electronic Data Interchange Between Microcomputer Systems in Heavy Duty Vehicle Applications, August 1992. [3] National Electrical Manufacturers Association, Draft Standard, National Transportation Control/ITS Communications Protocol (NTCIP),” September 12, 1995. [4] NEMA Standard Publication TS 3.1, NTCIP Overview, NEMA, March 1996. As all standards are subject to revision, the latest issues of the above standards shall apply. Note: All references in the following sections are extracted from reference [2] (page numbers are not included). 2.0 TCIP PTV-Object Definitions This section defines those objects that are expected to be used in public transportation vehicles (PTV). The OBJECT-TYPE macro defined in RFC 1212 is used to specify TCIP PTV objects. The text provided from Clause 2.1 through the end of the section (except clause headings) constitutes the TCIP standard for public transportation vehicles. -3- A family of TCIP standards will be adopted as portions of the NEMA standards. In doing so, the subtrees under the transportation node should be reorganized as shown below (subject to approval by the NTCIP steering committee). All the TCIP standards are described under the TCIP node. Transportation {1.3.6.1.4.1.1206} NTCIP {1} TCIP {2} For the purpose of this section, the following OBJECT IDENTIFIERS are used: nema OBJECT IDENTIFER::= {iso (1) org (3) dod (6) internet (1) private (4) enterprises (1) 1206} transportation OBJECT IDENTIFIER::= {nema 4} tcip OBJECT IDENTIFER::= {transportation 2} ptv OBJECT IDENTIFIER::= {tcip 1} 2.1 Automatic Vehicle Location (AVL) Objects ptvAVL OBJECT-IDENTIFIER ::= {ptv 1} --- The ptvAVL node contains objects that are used to provide current Automatic Vehicle --- Location (AVL) data for various transit use. 2.1.1 Compass Bearing Parameter ptvAVLCompassBearing OBJECT-TYPE SYNTAX INTEGER(0 ... 65,535) UShort ACCESS read-only STATUS mandatory DESCRIPTION This object contains present compass bearing of a vehicle. The bit resolution is 0.01. The value of the object ranges from 0.00 to 655.35 degree.” ::= { ptvAVL 1} -4- 2.1.2 Current Time [note: this definition is not consistent with NTCIP Current Time] ptvAVLCurrentTime OBJECT-IDENTIFIER ::= {ptvAVL 2} --- This node indicates three objects are used to represent current time of an AVL device --- in a public transportation vehicle. ptvAVLCurrentSecond OBJECT-TYPE SYNTAX INTEGER (0 ... 255) UByte ACCESS read-write STATUS mandatory DESCRIPTION Second of minute (defined in ptvAVLCurrentMinute) object that an associated AVL device should experience. Maximum range of values for this object is 0-255. It represents 0-63.75 s since the bit resolution is 0.25 s/bit. Valid range is 0-236 which represents 0-59 since there are only 0-59 seconds in a minute” ::= {ptvAVLCurrentTime 1} ptvAVLCurrentMinute OBJECT-TYPE SYNTAX INTEGER (0 ... 255) UByte ACCESS read-write STATUS mandatory DESCRIPTION 揗 inute of hour (defined in ptvAVLCurrentHour) object that an associated AVL device should experience. Maximum range of values for this object is 0-255. However, valid range is 0-59 since the bit resolution is 1 min/bit and there are only 0-59 minutes in a hour.” ::= {ptvAVLCurrentTime 2} ptvAVLCurrentHour OBJECT-TYPE SYNTAX INTEGER (0 ... 255) UByte ACCESS read-write STATUS mandatory DESCRIPTION 揌 our of day that an associated AVL device should experience currently. Maximum range of values for this object is 0-255m. However, valid range is 0-24 since the bit resolution is 1h/bit and there are 0-24 hours in a day.” ::= {ptvAVLCurrentTime 3} 2.1.3 Current Date ptvAVLCurrentDate OBJECT-IDENTIFIER ::= {ptvAVL 3} --- This defines a list of objects that specifies current date for an AVL device in a PTV. ptvAVLCurrentDay OBJECT-TYPE SYNTAX INTEGER (0 ... 255) UByte ACCESS read-write STATUS mandatory -5- DESCRIPTION 揇ay of the month (defined in ptvAVLCurrentMonth) object that an associated AVL device should experience. Maximum range of values for this object is 0-255. It represents 0-63.75 day since the bit resolution is 0.25 day/bit. Valid range is 1-127 which represents 0.25-31.75 day because there are only 1-30 days in a month. In detail, the values of the object are defined as: Value Day of Month 0 1,2,3, and 4 5,6,7, and 8 !! 121, 122, 123, and 124 125,126, and 127 ::= {ptvAVL Null (Not Used) Day 1 Day 2 Day 31 Not Used.” CurrentDate 1} ptvAVLCurrentMonth OBJECT-TYPE SYNTAX INTEGER (0 ... 255) UByte ACCESS read-write STATUS mandatory DESCRIPTION 揗 onth of the year (defined in ptvAVLCurrentYear) object that an associated AVL device should experience. Maximum range of values for this object is 0-255, however valid range is 1-12 since the bit resolution is 1 month/bit and there are only 1-12 months in a year. In detail, the values of the object are defined as: Value Month of Year 0 1 2 3 4 5 6 7 8 9 10 11 12 13-255 Null (Not Used) January February March April May June July August September October November December Not Used.” ::= {ptvAVLCurrentDate 2} -6- ptvAVLCurrentYear OBJECT-TYPE SYNTAX INTEGER (0 ... 255) UByte ACCESS read-write STATUS mandatory DESCRIPTION 揧ear which an associated AVL device should experience currently. The values for this object are 0-255. They represents the following years: Value Year 0 1 !! 255 1985 1986 2240.” ::= {ptvAVLCurrentDate 3} 2.1.4 Trip Distance ptvAVLTripDistance OBJECT-TYPE SYNTAX INTEGER(0 ... 4,294,967,295) ULong ACCESS read-only STATUS mandatory DESCRIPTION 揟his object contains distance traveled during all or part of a journey. The values of the object represent 0.0 to 691,207,984.6 km (0.0 to 429,496,729.5 mi) since the bit resolution is 0.16 km (0.1 mi).” ::= { ptvAVL 4} 2.1.5 Position ptvAVLPosition OBJECT-IDENTIFIER ::= {ptvAVL 5} --- This node defines a list of objects that specifies current position of a vehicle in terms of --- longitude, latitude, and altitude. ptvAVLLatitude OBJECT-TYPE SYNTAX INTEGER (-2,147,483,647 ... 2,147,483,647)Long ACCESS read-only STATUS mandatory DESCRIPTION This object contains location value of latitude of vehicle. Bit resolution is 10-6 degree/bit. Maximum range is from -2,147,483,647 to +2,147,483,647 which represents the latitude value from -2,147.483648 to +2,147.483647. Positive value indicates NORTH, while negative value indicates SOUTH.” ::= { ptvAVLPosition 1} ptvAVLLongitude OBJECT-TYPE SYNTAX INTEGER (-2,147,483,647 ... 2,147,483,647)Long ACCESS read-only STATUS mandatory -7- DESCRIPTION This object contains location value of longitude of vehicle. Bit resolution is 10-6 degree/bit. Maximum range is from -2,147,483,647 to +2,147,483,647 which represents the longitude value from -2,147.483648 to +2,147.483647. Positive value indicates EAST, while negative value indicates WEST.” ::= { ptvAVLPosition 2} ptvAVLAltitude SYNTAX ACCESS STATUS DESCRIPTION OBJECT-TYPE INTEGER (-32,767 ... 32,767) Short read-only mandatory This object contains location value of altitude of vehicle. Bit resolution is 0.15 m/bit (0.5 ft/bit). Maximum range is from -32,767 to +32,767 which represents the altitude value from -2,497 to +4,993.7 m (from -16,384 to 16,383.5 ft). The altitude value is referenced to sea level at standard atmospheric pressure and temperature.” ::= { ptvAVLPosition 3} 2.1.6 Velocity Vector ptvAVLVelocityVector OBJECT-IDENTIFER ::= {ptvAVL 6} --- This node defines a list of objects that specifies current velocity, heading, and pitch of --- vehicle. ptvAVLVelocity SYNTAX ACCESS STATUS DESCRIPTION OBJECT-TYPE INTEGER (0 ... 255)UByte read-only mandatory 揟his object contains current calculated vehicle speed. Bit resolution is 0.805 km/h (0.5 mph). Maximum range is from -36.2 to +90.6 km/h (-45 to +112.5 mph). The range is offset to acknowledge backward motion. Value of 91 km/h (113 mph) indicates 揇ate Not Available”).” ::= { ptvAVLVelocityVector 1} ptvAVLHeading SYNTAX ACCESS STATUS DESCRIPTION OBJECT-TYPE INTEGER (0 ... 65,534)UShort read-only mandatory This object contains current heading of vehicle. Bit resolution is 0.01 degree/bit. Maximum range is 0-65,534 (0-655.34 degree). Degree of 655.35 indicates Data not Available.” ::= { ptvAVLVelocityVector 2} ptvAVLPitch SYNTAX ACCESS STATUS DESCRIPTION OBJECT-TYPE INTEGER (-32,767 ... 32,767) Short read-only mandatory This object contains current pitch of vehicle. Bit resolution is 0.01 degree/bit. Maximum range is from -32,767 to +32,767 which -8- represents the pitch value from -327.67 to +327.67 degree. The value of -327.68 indicates Data Not Available.” Positive pitch value indicates ASCENT, while negative value indicates DESCENT.” ::= { ptvAVLVelocityVector 3} 2.1.7 Acceleration ptvAVLAccel SYNTAX ACCESS STATUS DESCRIPTION ::= { ptvAVL 7} OBJECT-TYPE INTEGER (-32,767 ... 32,767) Short read-only mandatory This object contains scalar acceleration of vehicle. Bit resolution is 0.322 (km/h)/s (0.2 mph/s). Maximum range is from -32,767 to 32,767 (-41.216 to 40.894 (km/h)/s or -25.6 to 25.4 mph/s). Negative value indicates deceleration.” 2.1.8 Total Vehicle Distance ptvAVLTotalVehicleDistance OBJECT-TYPE SYNTAX INTEGER (0 ... 4,294,967,295)ULong ACCESS read-only STATUS mandatory DESCRIPTION This object contains accumulated distance traveled by vehicle during its operation. Bit resolution is 0.161 (km/h)/s (0.1 mph/s). Maximum range is from 0.0 to 691,207,984.6 km (0.0 to 429,496,729.5 mi).” ::= { ptvAVL 8} 2.1.9 Milepost Identification ptvAVLMilePostIdentification OBJECT-TYPE SYNTAX OCTET STRING ACCESS read-only STATUS mandatory DESCRIPTION This object contains information used to identify the milepost as detected by a milepost sensor. Currently this object needs further information regarding the size the octet string shall have.” ::= { ptvAVL 9} 2.1.10 Annunciator Voice Message ptvAVLAnnunciator OBJECT-IDENTIFER ::= {ptvAVL 10} --- This node defines a list of objects that are used to identify the message to be announced --- by annuciator(s). -9- ptvAVLAnnunciatorParameters OBJECT-TYPE SYNTAX INTEGER (0 ... 255)UByte ACCESS read-only STATUS mandatory DESCRIPTION This object contains information of annunciator location and volume level. Bit resolution is binary. Maximum range is 0-255. The annunciator location and volume level are defined as follows: Bit 8: Front, Interior 1 = generate message 0 = do not generate message Bit 7: Middle, Interior 1 = generate message 0 = do not generate message Bit 6: Rear, Interior 1 = generate message 0 = do not generate message Bit 5: Front, External 1 = generate message 0 = do not generate message Bit 4-1: Volume level where 0 = minimum level available and 15 = maximum level available.” ::= { ptvAVLAnnunciator 1} ptvAVLAnnunciatorMessage OBJECT-TYPE SYNTAX INTEGER (0 ... 65,534)UShort ACCESS read-only STATUS mandatory DESCRIPTION 揟his object contains up to 65,536 preset messages generated by an annunciator. Bit resolution is binary. Maximum range is 0-65,534.” ::= { ptvAVLAnnunciator 2} 2.1.11 Reporting Interval Request ptvAVLIntervalRequest OBJECT-IDENTIFER ::= {ptvAVL 11} --- This node defines a list of objects that are used to request a device to change the --- specified transmission update period to a new interval. ptvAVLRequestMID OBJECT-TYPE SYNTAX INTEGER (0 ... 255)UByte ACCESS read-only STATUS mandatory DESCRIPTION 揟his object contains message ID (or device ID) of destination device. Bit resolution is binary. Maximum range is 0-255.” ::= { ptvAVLIntervalRequest 1} - 10 - ptvAVLRequestPID OBJECT-TYPE SYNTAX INTEGER (0 ... 255)UByte ACCESS read-only STATUS mandatory DESCRIPTION This object contains parameter ID (object ID or ID of a group of objects) associated with the destination device defined by message ID in ptvAVLRequestMID. Bit resolution is binary. Maximum range is 0255 which represents parameter ID from 256-511.” ::= { ptvAVLIntervalRequest 2} ptvAVLRequestIntervalTime OBJECT-TYPE SYNTAX INTEGER (0 ... 255)UByte ACCESS read-only STATUS mandatory DESCRIPTION This object contains desired transmission update period for the object(s) defined in the parameter ID (in ptvAVLRequestPID). Bit resolution is 1s/bit. Maximum range is 0-255 which represents the update period from 0-255s. For example, this object may be used to change the transit door status reporting from 揳s needed” to “1 second” in an emergency situation.” ::= { ptvAVLIntervalRequest 3} 3.0 CONFORMANCE GROUP DEFINITIONS A conformance group is defined as a basic unit of conformance (see TS 3.2爾 1996 Simple Transportation Management Network (STMP) Section 3.3.5). It is used to specify a collection of ptv-related objects that are required to support a function in a component of a public transportation vehicle. The conformance group definitions for specific device-types of AVL, including dead reckoning-based, milepost-based, triangulation-based, and GPS-based AVLs are defined in this section. 3.1 Dead Reckoning Conformance Group The Dead Reckoning Conformance group, which is used for Dead Reckoning-based AVL devices (or components), consists of a variety of AVL-related objects. The conformance group shall be mandatory and shall consist of the following objects: - 11 - Object Name Reference ptvAVLLatitude ptvAVLLongitude ptvAVLAltitude ptvAVLVelocity ptvAVLHeading ptvAVLPitch ptvAVLAccel ptvAVLCompassBearing ptvAVLTripDistance ptvAVLTotalVehicleDistance ptvAVLAnnunciator Section 2 Section 2 Section 2 Section 2 Section 2 Section 2 Section 2 Section 2 Section 2 Section 2 Section 2 3.2 Milepost Conformance Group The milepost Conformance group, which is used for Milepost-based AVL devices (or components), consists of a variety of AVL-related objects. The conformance group shall be mandatory and shall consist of the following objects: Object Name Reference ptvAVLMilePostIdentifiation ptvAVLLatitude ptvAVLLongitude ptvAVLAltitude ptvAVLAnnunciator ptvAVLRequestMID ptvAVLRequestPID ptvAVLRequestIntervalTime Section 2 Section 2 Section 2 Section 2 Section 2 Section 2 Section 2 Section 2 3.3 Triangulation Conformance Group The triangulation Conformance group, which is used for triangulation-based AVL devices (or components), consists of a variety of AVL-related objects. The conformance group shall be mandatory and shall consist of the following objects: Object Name Reference ptvAVLLatitude ptvAVLLongitude ptvAVLAltitude ptvAVLVelocity ptvAVLHeading ptvAVLPitch ptvAVLAccel ptvAVLCompassBearing ptvAVLCurrentSecond Section 2 Section 2 Section 2 Section 2 Section 2 Section 2 Section 2 Section 2 Section 2 - 12 - ptvAVLCurrentMinute ptvAVLCurrentHour ptvAVLCurrentDay ptvAVLCurrentMonth ptvAVLCurrentYear ptvAVLTripDistance Section 2 Section 2 Section 2 Section 2 Section 2 Section 2 The object called ptvAVLAnnunciator in Section 2 is optional depending on whether the navigation device is capable of triggering an annunciator message from the current location. If it can, the object should be included in the conformance group. 3.4 Global Positioning System (GPS) Conformance Group The GPS Conformance group, which is used for GPS-based AVL devices (or components), consists of a variety of AVL-related objects. The conformance group shall be mandatory and shall consist of the following objects: Object Name Reference ptvAVLLatitude ptvAVLLongitude ptvAVLAltitude ptvAVLVelocity ptvAVLHeading ptvAVLPitch ptvAVLAccel ptvAVLCompassBearing ptvAVLCurrentSecond ptvAVLCurrentMinute ptvAVLCurrentHour ptvAVLCurrentDay ptvAVLCurrentMonth ptvAVLCurrentYear ptvAVLTripDistance Section 2 Section 2 Section 2 Section 2 Section 2 Section 2 Section 2 Section 2 Section 2 Section 2 Section 2 Section 2 Section 2 Section 2 Section 2 The object called ptvAVLAnnunciator in Section 2 is optional depending on whether the navigation device is capable of triggering annunciator a message from the current location. If it can, the object should be included in the conformance group. - 13 -