This package contains three classes of ROS message definitions for interfacing with SAVARI on-board-units (https://savari.net). Messages are defined to be compatible with both SAE J2735 Basic Safety Message (BSM) and SAVARI SDK v2x_msg_bsm
structure.
What is BSM?
Connected Vehicle technologies aim to tackle some of the biggest challenges in the surface transportation industry--in the areas of safety, mobility, and environment.
Applications are being developed in each of these areas. Safety applications center on the basic safety message (BSM), a packet of data that contains information about vehicle position, heading, speed, and other information relating to a vehicle’s state and predicted path. The BSM contains no personally identifying information (PII). Mobility and environmental applications will be “opt-in” applications where the traveler decides which, if any, of the applications to use. See the infographics below for more information about these applications.
Connected Vehicle safety applications will enable drivers to have 360-degree awareness of hazards and situations they cannot even see. Through in-car warnings, drivers will be alerted to imminent crash situations, such as merging trucks, cars in the driver's blind side, or when a vehicle ahead brakes suddenly. By communicating with roadside infrastructure, drivers will be alerted when they are entering a school zone, if workers are on the roadside, and if an upcoming traffic light is about to change. read more
Developed and tested on Linux Ubuntu 16.04 - ROS Kinetic
1 - Change directory to the source directory of your catkin workspace and clone:
cd catkin_ws/src
git clone https://github.com/zlg9folira/savari_msgs.git
2- Build and install:
cd ..
catkin_make --only-pkg-with-deps savari_msgs
Make sure your ROS distribution now recognizes the new msgs by running rosmsg info
, you may need to source the bash file before this step (source catkin_ws/devel/setup.bash
):
rosmsg info savari_msgs/Gps
The command above should return structure of the message (Gps) as:
std_msgs/Header header
uint32 seq
time stamp
string frame_id
string message_id
float64 latitude
float64 longitude
float64 elevation
float64 speed
float64 heading
uint32 gpsstatus
Now, you may include the header files in your code as:
#include <savari_msgs/Gps.h>
#include <savari_msgs/Vehicle.h>
#include <savari_msgs/Path.h>
Make use of the type in the code if there is a node publishing some topic (e.g., /savari/gps
) of the same type:
message_filters::Subscriber<savari_msgs::Gps> veh_gps( nh, "/savari/gps", 5);
Package will be subject to change.
Foad Hajiaghajani