利用XECU和激光雷达快速搭建入门级的自动驾驶小车

1 简介

如果关注过我们之前的推文和视频演示,相信大家对我们的XECU应该已经很熟悉了。那么今天就向大家介绍一下,如何利用我们的XECU和激光雷达快速搭建自己的入门级自动驾驶小车。

2 组装细节

2.1 装配清单

以下是组装小车所需要的所有零部件:

序号 名称 型号 数量
1 底盘 Traxxas 1/10 Deegan 4驱拉力车 RTR 1
2 电机 好盈酷跑QuicRun G2 3650-10.5T有感无刷电机 1
3 主控板 Jetson NANO开发板含TF(32G或以上)卡 1
4 XECU XECU控制器,含电机线 1
5 USB-WIFI EDIMAX EW-7811Un迷你USB无线WIFI模组 1
6 激光雷达 思岚科技RPLIDAR A1M8 1
7 IMU GY-85九轴自由度IMU模块 1
8 Arduino Arduino Nano V3.0和USB线 1
9 USB-UART PL2303串口模块3.3V电平USB转串口线 1
10 电源板 Xpower 5V/4A电源板(可自制) 1
11 显示 0.28寸两线电压表显示器(可选) 1
12 电池1 2S 3500mAh 30C锂电池 1
13 电池2 2S 5000mAh 40C锂电池 1
14 充电器 E350 2000mA/25W快充充电器 1
15 支架 亚克力透明平板支架(可自制) 1
16 电池线 T字电池延长线10cm,公对母 2
17 铜柱1 φ3-长5cm x 4pcs,长3.5cm x 2pcs 若干
18 铜柱2 φ2.5-长3.5cm x 4pcs,长1.5cm x 4pcs 若干
19 螺丝 φ3-8pcs,φ2.5-16pcs 若干
20 扎带 魔术扎带宽2cm,长10cm 若干
21 线材 杜邦线 若干

2.2 底盘组件

2.2.1 三相有感无刷电机


2.2.2 舵机与USB转串口接线



2.2.3 XECU接线


2.3 Jetson Nano外设

2.3.1 激光雷达接线


2.3.2 IMU接线


2.3.3 XPOWER接线


2.3.4 亚克力支架


  • 底盘安装孔铜柱螺丝规格

    • 铜柱单头φ3-5cm x 4pcs,螺丝φ3 x 4pcs
  • 电源板安装铜柱螺丝规格
    • 铜柱双通φ3-3.5cm x 4pcs,螺丝φ3 x 4pcs
  • Jetson Nano安装铜柱螺丝规格
    • 铜柱双通φ2.5-3.5cm x 8pcs,螺丝φ2.5 x 8pcs
  • 激光雷达安装铜柱螺丝规格
    • 铜柱单头φ2.5-1.5cm x 4pcs,螺丝φ2.5 x 4pcs

2.4 整车安装步骤

2.4.1 拆除原装配件

首先把框中的零件拆下来,电机的位置更换为QuicRun G2 3650-10.5T有感电机。黄圈位置的螺丝孔可以作为XECU控制器的安装孔。


2.4.2 安装好电池1、电机和XECU


2.4.3 安装支架固定铜柱


2.4.4 安装电池2和IMU

安装好电池和IMU,电源板和Jetson Nano的铜柱如下。


2.4.5 安装开发板及其他组件

安装好电源板、Jetson Nano、激光雷达和WIFI等,并连好所有的线如下。


2.4.6 组装整车

最后把支架固定在底盘上,这样整个硬件部分的安装就完成了,下面便是整个小车的展示。


3 系统框架

3.1 系统框图


3.2 软件框图


4 软件环境配置

4.1 JETSON端软件配置

4.1.1 刷机

安装JetPack,刷机步骤请参考Nvidia官网,也可以使用SD卡默认的自带系统,Nano用的系统是ubuntu16.04,无需额外刷机。

4.1.2 更新源

参考源链接,http://mirrors.ustc.edu.cn/help/ubuntu-ports.html

4.1.3 桌面

基本都是安装ubuntu桌面版,,所以无需单独安装桌面。

4.1.4 文本编辑器

Ubuntu系统默认自带gedit文本编辑器。

4.1.5 安装SSH

为方便远程调试,需安装SSH服务。安装ssh服务后,其他机器可通过SSH登录远程调试,安装命令如下:

sudo apt-get install openssh-server

4.1.6 其他参考设置

  • 更改密码可通过执行如下命令来更改,根据提示输入两次新密码即可:
#user对应的是用户名
  • Ubuntu系统已经有多种shell,不建议再安装zsh,如果需要,可通过以下指令完成安装:
sudo apt-get install zsh

4.1.7 安装python

Ubuntu系统默认自带python2,无需再次安装。

4.1.8 安装ROS

Ros参考ROS官网,http://wiki.ros.org/cn/kinetic/Installation,demo板用的ros版本是kinetic,在线安装ROS Kinetic步骤参考如下:

'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' 

4.1.9 ROS设置远程连接

设置ros master可以实现ros 多机通讯,在master端做如下配置:

export ROS_MASTER_URI=http://master_local:11311

4.2 JETSON端外设配置

4.2.1 安装USB转UART驱动

系统自带USB转UART驱动,无需额外安装。

4.2.2 安装USB WIFI驱动及测试

Demo板使用的WIFI免安装驱动,可以直接使用,链接如下:

https://www.edimax.com/edimax/merchandise/merchandise_detail/data/edimax/in/wireless_adapters_n150/ew-7811un/

4.2.3 安装Arduino驱动及测试

  • 安装Arduino IDE,安装完成后,可在终端输入命令arduino启动IDE;
sudo apt-get install arduino
  • 安装IDE支持包
cd ~/catkin_ws/src   

文件说明:catkin_ws为ROS的工作空间,编译安装后,生成的rosserial位于/home/catkin_ws/src下生成rosserial_msgs用于通讯,生成的ros_lib库位于/home/catkin_ws/src/rosserial/rosserial_arduino/src目录下;

  • 安装ros_lib到Arduino IDE开发环境
cd 
  • 选择Arduino类型
  • 端口配置
  • 编译并上传代码到Arduino
  • 启动硬件节点
roscorerosrun rosserial_python serial_node.py  /dev/ttyUSBxrostopic echo chatter    #基于ros_lib的HelloWorld测试代码

启动这个Arduino 硬件节点(当成串口设备处理/serial_node),串口上的消息被roscore接收并路由。ROS-kinetic上运行的其他节点就可以通过订阅/serial_node节点上的数据,这样就打通了ROS和开源硬件arduino通信。

4.2.4 安装RPLidar驱动及测试

  • 安装驱动 下载RPLidar的ros驱动,https://github.com/Slamtec/rplidar_ros.git,并回到~/catkin_ws,执行catkin_make编译安装。
  • 增加设备权限 连接PRLidar到usb接口,在/dev/下会有ttyUSB的设备文件,执行如下命令:
#增加设备权限
  • 启动RPLidar
source ~/catkin_ws/devel/setup.bash
  • 测试 成功启动后,可以查看到/scan的topic,可以执行
echo /scan 

4.2.5 安装XECU驱动及测试

  • Xecu driver下载及编译 Xecu driver源码链接,https://coding.net/u/open4wd/p/xecu-v2/git,假设ros编译目录为~/catkin_ws;
#创建目录
  • 测试运行 在驱动程序xecu_driver\launch的目录中有对应的launch启动文件,所以可以执行如下文件启动xecu driver。
roslaunch xecu_driver xecu_driver_node.launch

或者

roslaunch xecu_driver xecu_driver_nodelet.launch

执行rostopic list,查看topic是否包含commands/motor/position(转向信息)和commands/motor/speed(速度接口),如需查看topic信息,可以使用rostopic echo xxx (xxx代表topic名称),例如查看激光的数据,可以执行rostopic echo /scan

  • udev配置99-xeuc.rules99-tty-serial.rules在驱动文件的XXX目录。

  • 测试 启动xecu后,可以通过本程序test目录中有相应的测试程序,如控制小车的转向,加速,减速,以及键盘控制程序。

autospeed.py对应小车循环加减速测试

autoturn.py对应小车循环左右转向测试

teleop_key.py是键盘控制测试

4.3 PC端环境配置

4.3.1 安装ros及配置

参考1.8 与1.9安装和配置Ros。

4.3.2 安装Rviz及配置

如果安装的是ros-kinetic-desktop-full版本,就已经包含了建图工具gmapping和调试工具rviz,无需再次安装,如果默认没有安装,请按如下命令安装:

sudo apt-get install ros-kinetic-gmappingsudo apt-get install ros-kinetic-rviz

4.3.3 建图

ros可以通过gmapping或cartographer或建图,本例以gmapping为例做以说明。

  • 启动gmapping
rosrun gmapping slam_gmapping
  • 建图 使用键盘方向按键,控制小车在需要建图的区域移动建图。

  • 保存地图

#mymap为新建地图的名字,然后会生成2个地图文件mymap.pgm和mymap.yaml;
  • 编辑地图 如果采集的地图数据噪点较多,需要手动编辑地图,否则不需要编辑地图,参考编辑工具安装:
sudo apt-get install gimp -y

5 运行整车demo

到这里,整个小车的安装和软件配置就都完成了。大家先建好地图,在launch中更新地图信息,然后可以使用rviz发送一个目标点,就可以愉快的测试自主导航功能了。

欢迎加入公众号和QQ群

arduino控制小车转向_利用XECU和激光雷达快速搭建入门级的自动驾驶小车相关推荐

  1. 基于linux的智能小车_商汤首款原创机器人SenseRover X自动驾驶小车斩获Red Dot Award...

    创建于1955年的德国Red Dot Award红点产品设计奖,是世界三大设计奖之一,是设计品质的象征,每年7月份都会在德国埃森举办盛大的Red Dot产品设计奖颁奖典礼. 60多年来,从计算机时代, ...

  2. Arduino毕业设计——基于Arduino+PID+AI的自动驾驶小车控制系统设计与实现(毕业论文+程序源码)——自动驾驶小车控制系统

    基于Arduino+PID+AI的自动驾驶小车控制系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于Arduino+PID+AI的自动驾驶小车控制系统设计与实现,文章末尾附有本毕业设计的 ...

  3. 树莓派智能小车python论文_基于树莓派的自动驾驶小车,利用树莓派和tensorflow实现小车在赛道的自动驾驶...

    self_drive 基于树莓派的人工智能自动驾驶小车 Artificial intelligence automatic driving car based on raspberry pie git ...

  4. 如何利用深度学习知识--快速部署高速目标检测智能小车?

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 3月26日,英伟达图像处理系列公开课第三期线上开播,来自NVIDI ...

  5. vb.net label 不要自动换行_自动驾驶小车——(四)数据采集

    又鸽了好几个月,因为要准备考研,不过这个系列肯定会完成,现在也仅仅是一个初稿,以后还要整体完善一下的.这个小项目的设计思路大致分为三部分,数据采集.神经网络训练和加载模型三部分,本篇文章就讲一下怎样采 ...

  6. 基于树莓派搭建自动驾驶小车;Donkey Car组装硬件DIY

    还是想朝着人工智能方向靠一靠,之前研究图像有关的分类.识别,还是觉得太枯燥了.后来结合自己接触较多的Unity引擎,发现有自动驾驶用Unreal或者Unity之类的游戏引擎进行虚拟训练.接着发现了微软 ...

  7. 亚马逊自动驾驶小车上线啦:才卖1700元,请叫它“强化学习玩具”

    晓查 发自 凹非寺  量子位 出品 | 公众号 QbitAI 原价399美元的自动驾驶小车,现在预订,只要249美元就能抱回家! 亚马逊的自动驾驶汽车DeepRacer上线啦,不过你并不能坐进去,它只 ...

  8. 怎么通过media foundation将图像数据写入虚拟摄像头_千倍成本压缩!特斯拉开发虚拟激光雷达,替代最贵自动驾驶传感器...

    「谁用激光雷达,谁完蛋!」 在去年特斯拉举办的 Autonomy Day 上,特斯拉 CEO Elon Musk 言辞激烈地炮轰激光雷达. 「昂贵的传感器是不必要的,这就像是一大堆昂贵的附属品.」 「 ...

  9. 湖南阿波罗智行L4级低速自动驾驶小车亮相 湖南自动驾驶“朋友圈”再添新成员

    10月16日,长沙国际会展中心,湖南阿波罗智行科技有限公司举行BOBO·GO低速自动驾驶产品推介会,由湖南湘江新区本土企业自主设计研发的首款L4级低速自动驾驶售卖小车BOBO·GO(波波购)正式亮相. ...

最新文章

  1. 【阿里云产品公测】大数据下精确快速搜索OpenSearch
  2. ethz ‘s choice for graduate studies
  3. 流计算引擎数据一致性的本质
  4. C语言以字符串的形式读写文件
  5. blog.mm index.php,每天一个WordPress文件:index.php
  6. Silverlight实用窍门系列:74.Silverlight使用Perst数据库Demo
  7. java mysql时间格式化字符串_java将日期时间字符串转成日期插入到oracle的date字段...
  8. 《统计学习方法》(李航)读书笔记
  9. 计算机系统缺陷,4.2 缺陷和测试计算机操作系统原理.pdf
  10. ant脚本 变量赋值_【Jmeter】Jmeter+ant+jenkins持续集成
  11. LFM的脉冲压缩,即匹配滤波器的产生
  12. Visual Attention Network
  13. 【Word】插入公式显示灰色,失效解决
  14. 我的世界风格字体 艺术字生成 Textcraft的介绍及使用
  15. 【PyTorch深度学习项目实战100例】—— 基于UNet实现血管瘤超声图像分割 | 第30例
  16. linux文件误删恢复debugfs和extundelete
  17. Go关键字--type
  18. 网易严选打造数仓规范和评价体系实践
  19. <<视觉问答>>2022:SwapMix: Diagnosing and Regularizingthe Over-Reliance on Visual Context in VQA
  20. MNIST | 基于朴素贝叶斯分类器的0-9数字手写体识别

热门文章

  1. IDEA输入字母间距变大报红处理方法
  2. Unity InputField输入框调用win10平板虚拟键盘
  3. 计算机视觉入门(一)
  4. 离线电影管理软件 极影派
  5. 03矩阵的乘法与逆矩阵
  6. 浅谈linux - 内核时间的处理
  7. 参考文献起止页码怎么写_怎么看论文的起止页码
  8. 分数阶偏微分差分方程MATLAB,分数阶偏微分方程及其数值方法.ppt
  9. 台积电股价突破万亿大关 创下台股历史新高
  10. 如何一次打开多个Word文档