IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 基于亚博Arduino电机拓展板的ROS小车 -> 正文阅读

[人工智能]基于亚博Arduino电机拓展板的ROS小车


前言

最近之前的项目结项了,于是想自己做一辆ROS小车来玩玩,奈何本人技术薄弱,两眼一抹黑,遂参考了百度和ROS-wiki上的很多材料,才完成了一辆基于Arduino的ROS小车,现将各个过程分享出来,留作纪念。


一、硬件搭建

笔者手头只有一辆亚博智能的Arduino两轮平衡车,于是拆了自己搭建了一辆三轮小车,各项参数如下。
  1. Arduino UNO R3开发板一块

  2. GM37 编码电机和轮子一对,万向轮一个![(https://img-blog.csdnimg.cn/f567258438ef43cf9db1415259184367.png)

  3. 亚博智能平衡车驱动板一块(基于TB6612FNG)
    亚博智能平衡车驱动板一块

  4. 一块小车底板,各种螺丝固定件若干

  5. 一块12V的18650锂电池

具体搭建过程:略,不得不说,在这一块商家做得不错,只需要把拓展板插到Arduino上,把电机和电机线固定好就行了。(方便的同时也为后续埋下了隐患,所以建议大家在使用拓展板的时候要先详细了解他的原理图啊,哭)

二、软件环境搭建

  • Ubuntu 16.04 64位
  • #Python 2.7.12
  • #Arduino IDE 1.8.8-Linux
  • #ROS kinetic version: 1.12.17
  • 参考了wiki上ros_arduino_bridge的包和亚博智能的平衡车代码。

1.在window下安装VMware和Ubuntu 16.04

略,因为笔者用的是ROS-kinetic,需要注意的是Ubuntu的版本。

2.安装ROS-kinetic(各种坑)

安装过程:略,网上很多,笔者这边分享一篇安装教程,需要注意的是最后一步更新ROS时 经常会出现更新失败,多试几次就行了。

https://blog.csdn.net/weixin_40929324/article/details/88615311?spm=1001.2101.3001.6650.6&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-6.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-6.no_search_link&utm_relevant_index=10

3.在Ubuntu下安装Arduino IDE

参考:https://blog.csdn.net/weixin_44747675/article/details/98764397

  • tar -xvf arduino-1.8.8-linux64.tar.xz
  • cd arduino-1.8.8/
  • chmod +x install.sh
  • ./install.sh

4.将Arduino连接到电脑

将Arduino连接到电脑,在这里可以更改USB设备,连接到虚拟机还是主机。
在这里插入图片描述

5.Linux安装串口驱动

  • 1.安装串口驱动
    sudo apt-get install python-serial
  • 2.查询接口:
    ls /dev/ttyACM* 或 ls /dev/ttyUSB* #我的是/dev/ttyACM0
    chmod 777 /dev/ttyACM0
  • 3.查询访问权限
    ls -l /dev/ttyACM0
  • 4.运行这个命令来加入dialout组
    sudo usermod -a -G dialout user_name
    #其中user_name为登录的用户名
  • 5.打开Arduino IDE
    sudo arduino
  • 6.在arduino自带的库管理器搜索并安装MsTimer2.h和PinChangeInterrupt.h这两个包。
  • 7.将下位机代码烧录到Adrduino中,略。

6.启用ROS节点

  • 1.开一个终端,启用总节点:
    roscore

  • 2.再新开一个终端,将我的src/ros_arduino_bridge移到自己的工作空间/src中,然后在工作空间中。
    cd …
    catkin_make
    source devel/setup.bash
    roslaunch ros_arduino_python arduino.launch

  • 3.最后再开一个终端启动键盘
    sudo apt-get install ros-kinetic-teleop-twist-keyboard
    rosrun teleop_twist_keyboard teleop_twist_keyboard.py

附Arduino原理图和代码和ROS上位机代码
链接:https://pan.baidu.com/s/1HYhKTkT7klrl5TyOY6M0cQ 
提取码:1234 
--来自百度网盘超级会员V4的分享
#更新:2021.12.30 校正PID:可以看到实时的速度曲线,方便进行pid参数的调整
#操作方式,启用新的终端,然后输入以下指令
#rqt_plot /Lencoder /Lpidout /Lvel
#rqt_plot /Rencoder /Rpidout /Rvel
#详细介绍,详见https://www.ncnynl.com/archives/201612/1208.html
 - [2022.06.04] 使用思岚的激光雷达,由于时间原因暂且搁置。
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-06-06 17:19:25  更:2022-06-06 17:19:50 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 2:27:37-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码