Home

Awesome

Dataspeed Drive-by-Wire Kit CAN Driver for CARMA

This is a fork of the dbw_mkz_ros package that is used for connecting to and configuring the Dataspeed Drive-by-Wire Kit for Lincoln MKZ / Ford Fusion vehicles. It may also work for other vehicles compatible with the Dataspeed Drive-by-Wire Kit, though this is not guaranteed. This fork has been modified to allow for building a Docker image that can serve as a CAN driver for the CARMA Platform.

Ubuntu 20.04 Installation

Assuming the CARMA Platform is installed at ~/carma_ws/src,

cd ~/carma_ws/src
git clone https://github.com/VT-ASIM-LAB/dataspeed_can_driver.git
cd dataspeed_can_driver/docker
sudo ./build-image.sh -d

After the Docker image is successfully built, connect the Drive-by-Wire Kit USB cable to your device and run lsusb in the terminal to determine which bus and device number it has been assigned to. Assuming here that it is Device 007 on Bus 001, add the following lines to the appropriate docker-compose.yml file in the carma-config directory, and make sure that the current user (and not root) is the owner of /dev/bus/usb/001/007.

dataspeed-can-driver:
  image: usdotfhwastoldev/carma-dataspeed-can-driver:develop
  container_name: dataspeed-can-driver
  network_mode: host
  privileged: true
  devices:
    - /dev/bus/usb/001/007:/dev/bus/usb/001/007
  volumes_from:
    - container:carma-config:ro
  environment:
    - ROS_IP=127.0.0.1
  volumes:
    - /opt/carma/logs:/opt/carma/logs
    - /opt/carma/.ros:/home/carma/.ros
    - /opt/carma/vehicle/calibration:/opt/carma/vehicle/calibration
  command: bash -c '. ./devel/setup.bash && export ROS_NAMESPACE=$${CARMA_INTR_NS} && wait-for-it.sh localhost:11311 -- roslaunch /opt/carma/vehicle/config/drivers.launch drivers:=dataspeed_can'

Finally, add the following lines to the drivers.launch file in the same directory as docker-compose.yml.

<include if="$(arg dataspeed_can)" file="$(find dbw_mkz_can)/launch/dbw.launch">
  <arg name="frame_id" value="base_link"/>
  <arg name="load_urdf" value="false"/>
</include>

ROS API

dbw_mkz_can

Nodes

Published Topics

Publication frequencies are provided for a Dataspeed Drive-by-Wire Kit installed on a 2017 Ford Fusion Hybrid SE.

Subscribed Topics

Services

N/A

Parameters

Examples

See the dbw.launch file in the dbw_mkz_can/launch directory that is used to launch the Drive-by-Wire Kit.

Original Dataspeed ADAS Development Vehicle Kit Documentation

rviz screenshot

Documentation and firmware updates

The latest release can be found on the downloads page.

ROS

If using ROS, setup your workspace and get started with the joystick demo here.
Get started early with recorded data here.