文章目录
- 前言
- 一、硬件搭建
- 二、软件环境搭建
-
- 1.在window下安装VMware和Ubuntu 16.04
- 2.安装ROS-kinetic(各种坑)
- 3.在Ubuntu下安装Arduino IDE
- 4.将Arduino连接到电脑
- 5.Linux安装串口驱动
- 6.启用ROS节点
前言 最近之前的项目结项了,于是想自己做一辆ROS小车来玩玩,奈何本人技术薄弱,两眼一抹黑,遂参考了百度和ROS-wiki上的很多材料,才完成了一辆基于Arduino的ROS小车,现将各个过程分享出来,留作纪念。
一、硬件搭建 笔者手头只有一辆亚博智能的Arduino两轮平衡车,于是拆了自己搭建了一辆三轮小车,各项参数如下。
- Arduino UNO R3开发板一块
- GM37 编码电机和轮子一对,万向轮一个![(https://img-blog.csdnimg.cn/f567258438ef43cf9db1415259184367.png)
- 亚博智能平衡车驱动板一块(基于TB6612FNG)
文章图片
- 一块小车底板,各种螺丝固定件若干
- 一块12V的18650锂电池
二、软件环境搭建
- Ubuntu 16.04 64位
- #Python 2.7.12
- #Arduino IDE 1.8.8-Linux
- #ROS kinetic version: 1.12.17
- 参考了wiki上ros_arduino_bridge的包和亚博智能的平衡车代码。
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=103.在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
文章图片
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中,略。
- 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] 使用思岚的激光雷达,由于时间原因暂且搁置。
推荐阅读
- Linux的bash shell与man查看手册
- 如何在Linux中安装适用于Python的OpenCV((图解))
- Linux虚拟化(Linux容器(lxc)详细指南)
- Linux之date命令
- linux|【Linux】fatal: unable to access ‘https://github xxxxxxxxx的解决方法
- 阶段七(云原生之Docker|【云原生】Docker镜像的构成与操作)
- Linux之diff命令
- ubuntu|【Ubuntu】git clone 出现fatal: unable to access ‘https://github.com 的解决方法
- git|git clone出现 fatal: unable to access ‘https://github.com/...‘的两种解决方法