开源!手把手教你搭建Arduino+英伟达Jetson的ROS小车(上)

1 引言

今年6月,我们应小伙伴儿的需求,写了两篇如何通过购买零件从零搭建一台ROS实体车的推文《开源!手把手教你搭建Arduino+树莓派的ROS小车(上)》、《开源!手把手教你搭建Arduino+树莓派的ROS小车(下)》。

并且将对应的效果演示视频放入到了B站(COONEO)中,目前累计播放量已近2W。一晃半年过去了,我们的微信交流群逐渐壮大,陆陆续续开始有同学咨询我们,能否出一个基于 Nvidia Jetson nano 的ROS小车搭建教程,于是,从这个月初,我们便利用正常项目开发之余,准备了一套全新的“保姆级”教程,目的就是让更多爱好者能够快速地自行搭建ROS实体车,享受这个过程带来的成就感;与此同时,我们优化了一下硬件及外观,让其看起来更加酷。

3D 打印结构及外观版本

亚克力结构版本

本次主要以我们设计的3D打印结构及外观版本为例,教大家如何将一系列硬件部署到自己喜欢的结构上。具体步骤请让我娓娓道来。

2 真机平台与硬件型号清单

一、真机平台

  •  Jetson Nano : 上位机处理器(运行ROS节点、图像处理)

Jetson nano 实拍图

  • Arduino mega 2560 :下位机处理器(串口通信、电机及灯光控制)

(source:Arduino 官网)

二、执行机构

  • TT-马达:带减速器、霍尔编码器(1:48 、2x13)

  • 支撑轮:1.5寸 万向轮

三、供电部分

  • 总电源:3节串联 18650 电池及对应的电池盒

  • Jetson nano micro 供电 :5V - 3A 稳压模块

  • 电量显示 :18650 电池专用显示模块、电压范围可调

  • 充电方式 :DC接口 、12.6V 锂电池防过充充电器

四、中间件

Arduino mega 2560 不能直接驱动电机,需要一个电机驱动芯片来完成对应的功能,在之前的推文中,我们使用的是 L298N 模块,使用接线端子的形式进行连接,如下图两马达中间的红色部分。

旧版本 - 连线复杂

这一次,我们将电机驱动芯片更换为效率更高的TB6612FNG,并且将其安装到了我们的arduino mega 2560 扩展板中,你看,是不是简洁了很多;

Arduino mega 2560 多功能扩展板

另外为了提高扩展板的通用性,该板子上还提供了5V 3A的两路舵机电源输出,方便后续搭建阿克曼底盘小车,或者控制两自由度舵机云台。经测试,在末端负重的情况下,舵机仍然可以稳定运行。整个扩展板仍然可以使用小车的总电源供电,或自行提供(7-15V电源供电)。

视频转gif 抽帧提取

3 组装流程

  • 安装电机 、万向支撑轮

  • 固定电池盒和Jetson Nano

  • 放置arduino及扩展板、连接TT-电机排线、连接数据线

Arduino 和 Jetson nano之间使用数据线连接

  • 5V稳压模块,给Jetson nano 供电

使用的 micro 接口供电,还可使用5V DC接口供电

  • 安装开关、充电DC口、电源显示模块、外壳

细心的同学对比最前面的渲染图会发现缺少一个雷达和上盖哈,这部分,我们放在第三篇详细讲对应的功能。关于这个版本的硬件部分,我们就描述到这里,下一篇,我们将手把手带大家实现如下功能:

  1. 烧录程序,实现arduino 和 nano之间的ROS通讯;

  2. arduino 电机调速实现过程的代码及硬件讲解;

  3. 基于摄像头的单车道线循迹、Wifi传输摄像头画面

  4. 基于OpenCV 的颜色识别(火焰检测);

结束语

Jetson nano 版本、树莓派版本,两者使用的底层电机控制都是一样的,只是这一次我们更集成化了,这样的目的就是为了便于大家在搭建时减少接线的次数,更简单,可以将更多的精力投入到软件和算法的学习上面。

另外,为了适配大家的需求,我们这次设计的Arduino 扩展板将支持多种类型的电机,以满足不同的底盘大小的小车。如:37电机版本的小车

适配更大功率电机驱动器,带动更大功率的电机(行星减速电机),我们的小伙伴儿也做了测试,稳稳能行。

除了差速,我们的板子还支持阿克曼类型底盘,我们的目的是:“学习一套框架适配不同类型底盘开发,为机器人爱好者们提供一个更加便捷的方案”。

展望与彩蛋    

展望:

在后面的推文中,我们将继续分享如何自己动手搭建一台ROS车,持续更新我们的仿真和推文,欢迎您的持续关注。

喜欢仿真的小伙伴儿,欢迎体验我们的 NEOR mini 阿克曼仿真平台:GitHub - COONEO/neor_mini: ROS-based Ackerman-like unmanned car.,同时也希望您能给我们提出宝贵的建议。您的支持和鼓励是我们继续分享的动力。

https://github.com/COONEO/neor_mini.git

喜欢自己动手的小伙伴,欢迎您体验我们的手把手教您搭建ROS小车教程,其中所需要的代码和教程已开源,地址如下:https://github.com/COONEO/Arduino_Raspberry_ROS_Car.git

https://github.com/COONEO/Arduino_Raspberry_ROS_Car.git

创作不易,如果喜欢这篇内容,请您也转发给您的朋友,一起分享和交流创造的乐趣,也激励我们为大家创作更多的机器人研发攻略,让我们一起learning by doing!

  • 7
    点赞
  • 86
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
arduino opemnv智能搬运物流小车是一种基于Arduino开发板的智能机器人,用于物流搬运任务。它使用了开源电子设计软件opemnv设计了电路板,以实现各种功能。 该搬运小车的电路设计基于Arduino开发板,其主要包括电源电路、控制电路和驱动电路三部分。 电源电路用来提供电能给整个系统,通常采用锂电池或者充电电池组作为电源。这些电池通常会在物流小车的底盘上固定,供应直流电给所有的电子元件。 控制电路是实现小车智能控制的关键部分。在Arduino开发板上,我们通常会使用多个传感器来收集环境信息,比如超声波传感器用于测距、红外传感器用于监测障碍物等。通过使用这些传感器,我们可以获取到物体位置和环境信息的数据,然后通过开发板上的微控制器进行处理,进而控制小车的动作。 驱动电路则是将控制电路产生的信号转化为机械动作的电磁驱动器。电磁驱动器通常由电机和控制电路组成,其中电机可以采用直流电机或步进电机。通过调节控制电路输出的电压和电流,我们可以控制电机的转速和转向,从而实现小车的运动。 总的来说,arduino opemnv智能搬运物流小车的设计电路是通过Arduino开发板、传感器以及电磁驱动器组成的。通过对环境信息的感知和驱动电机的精确控制,该小车可以在物流搬运过程中实现智能、高效的运输任务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值