Dataspeed公司自动驾驶ADAS开发工具使用探索

摘要:本文通过ROS来模仿自动驾驶ADAS的开发工具,来从大体上理解自动驾驶在ROS上面的开发和仿真。目录摘要如下所示:

第一部分:自动驾驶的ADAS开发工具(dbw_mkz_ros)

第二部分:安装自动驾驶ADAS的Package(手动安装)

第三部分:安装自动驾驶ADAS的Package(通过脚本一键安装)

第四部分:仿真演示操作

第一部分:自动驾驶的ADAS开发工具(dbw_mkz_ros)

可用通过ROS官方网址,已有的机器人工具中到一个关于自动驾驶的Package,本案例使用DataSpeed开发的ADAS自动驾驶套件。

参考网址(robots官网):

http://robots.ros.org/

参考网址(ADAS of DataSpeed):

http://robots.ros.org/adas-development-vehicle-kit/

第二部分:安装自动驾驶ADAS的Package(手动安装)

1、设置工作环境

参考脚本1:

sudo apt-get install python-wstool

参考脚本2:

mkdir -p /opt/dbw_ws/src && cd /opt/dbw_ws && wstool init src

参考脚本3:

wstool merge -t src https://bitbucket.org/DataspeedInc/dbw_mkz_ros/raw/default/dbw_mkz.rosinstall

2、更新工作环境及解析依赖信息

参考脚本1

wstool update -t src

参考脚本2

rosdep update && rosdep install --from-paths src --ignore-src

3、安装udev规则

参考脚本1

sudo cp /opt/dbw_ws/src/dataspeed_can/dataspeed_can_usb/udev/90-DataspeedUsbCanToolRules.rules /etc/udev/rules.d/

参考脚本2

sudo udevadm control --reload-rules && sudo service udev restart && sudo udevadm trigger

4、编译环境

参考脚本1(先运行如下脚本,指定服务器上面ROS的环境配置参数,不然无法用catkin_make编译):

source /opt/ros/kinetic/setup.bash

参考脚本2

catkin_make -DCMAKE_BUILD_TYPE=Release

编译过程部分参考如下图所示:

5、设置环境的初始化参数

参考脚本:

source /opt/dbw_ws/devel/setup.bash

第三部分:安装自动驾驶ADAS的Package(通过脚本一键安装)

A、仅仅对SDK进行更新

参考脚本:

bash <(wget -q -O - https://bitbucket.org/DataspeedInc/dbw_mkz_ros/raw/default/dbw_mkz/scripts/sdk_update.bash)

B、SDK二进制安装(自己尝试,安装截图如下)

参考脚本:

bash <(wget -q -O - https://bitbucket.org/DataspeedInc/dbw_mkz_ros/raw/default/dbw_mkz/scripts/sdk_install.bash)

C、ROS及SDK一起安装(请注意细节说明)

参考脚本:

bash <(wget -q -O - https://bitbucket.org/DataspeedInc/dbw_mkz_ros/raw/default/dbw_mkz/scripts/ros_install.bash)

注解1:该Package只支持Ubuntu 14.04.5 Desktop or Ubuntu 16.04.x Desktop

注解2:ROS版本只支持 Indigo or Kinetic

D、ros_install.bash脚本附录

#! /bin/bash

# Perform an SDK Install

#./sdk_install.bash

bash <(wget -q -O - https://bitbucket.org/DataspeedInc/dbw_mkz_ros/raw/default/dbw_mkz/scripts/sdk_install.bash)

# Update with apt-get

#sudo apt-get update && sudo apt-get upgrade && rosdep update

# Detect and update legacy source installation

MY_WORKSPACE=$HOME/dbw_ws

if [ -e "$MY_WORKSPACE/devel/setup.bash" ]; then

if [ -e "$MY_WORKSPACE/src/.rosinstall" ]; then

if [ -e "$MY_WORKSPACE/src/dbw_mkz_ros/LICENSE" ]; then

echo "Detected source installation. Updating..."

source `find /opt/ros -name setup.bash | sort -r | head -1`

wstool update -t $MY_WORKSPACE/src

rosdep update && rosdep install -y -r --from-paths $MY_WORKSPACE/src --ignore-src

cd $MY_WORKSPACE

catkin_make -DCMAKE_BUILD_TYPE=Release

fi

fi

fi

echo "SDK update: Done"

参考网址(Dataspeed Inc./ADAS Kit/dbw_mkz_ros/Source/ROS_SETUP.md):

https://bitbucket.org/DataspeedInc/dbw_mkz_ros/raw/default/dbw_mkz/scripts/sdk_update.bash

第四部分:仿真演示操作

1、启动joystick范例

参考脚本:

roslaunch dbw_mkz_joystick_demo joystick_demo.launch sys:=true

2、启动Drive-By-Wire系统

参考脚本(启动一个新的终端):

cd /opt/dbw_ws && source /opt/dbw_ws/devel/setup.bash

roslaunch dbw_mkz_can dbw.launch

3、启动可视化RViz

参考脚本(启动一个新的终端):

cd /opt/dbw_ws && source /opt/dbw_ws/devel/setup.bash

roslaunch dbw_mkz_description rviz.launch

运行该脚本的可视化图,如下图所示:

 

参考网址:

https://bitbucket.org/DataspeedInc/dbw_mkz_ros/src/ecfb61cbad05e06d5de0d6a971c63c955230a982/ROS_SETUP.md?fileviewer=file-view-default

ADAS Package位置:https://bitbucket.org/DataspeedInc/dbw_mkz_ros

 

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: