1.树莓派4b+ubuntu18.04(ros版本melodic)+arduino mega自制两轮差速小车,实现建图导航功能

第一篇先介绍材料准备、环境配置和ros的安装

1.材料准备

1.树莓派4b,8g版本

2.arduino mega

3.MG310编码电机*2

4.雷达ydlidar X3

5.Tb6612电机驱动板

6.12v电池

7.ubuntu18.04+ros melodic版本

2.环境配置

树莓派安装ubuntu18.04版本

ubuntu18.04版本的镜像可以到官网下载,需要注意的是虚拟机使用的镜像后缀是.iso,树莓派使用的镜像是.img

下载链接: https://pan.baidu.com/s/1uEpgTqhBcbfkRSCyFHRXkQ?pwd=6666提取码:6666

然后使用树莓派镜像烧录器

下载地址:https://www.raspberrypi.com/software/

这里注意检查烧录的镜像后缀是不是.img

然后配置一下自己的网络,点击烧录

烧录完成后,做进一步配置。

添加启动文件,修改网络密码

烧写完系统后,打开boot文件夹,network-config,这个是烧好ubuntu系统之后自带的网络配置文件,只需要将阴影部分(图中15-21行)的注释去掉,并填入你自己的wifi信息,保存即可。

修改network-config文件

这里有两点需要注意:

1.在填写wifi名的时候,如果你的wifi名中没有空格,在填写时不要加双引号

只有当你的wifi名中有空格,才需要加双引号

2.注意一下每行之间的缩进,需要缩进时是两个空格,不要用Tab代替

保存后把内存卡插到树莓派板子上,即可在热点或者路由器后台中看到多了一个设备

复制一下代码,修改成自己的wifi名称和密码

xml 复制代码
version: 2
ethernets:
  eth0:
    dhcp4: true
    optional: true
wifis:
 wlan0:
   dhcp4: true   #注意冒号后面需要带有空格
   optional: true
   access-points:
     Forpi:#修改成自己的wifi名称
       password: "5201314520"#修改成自己的wifi密码
#      myotherlan:
#        password: "correct battery horse staple"
#      workssid:
#        auth:
#          key-management: eap
#          method: peap
#          identity: "me@example.com"
#          password: "passw0rd"
#          ca-certificate: /etc/my_ca.pem

设置好之后重启树莓派就可以连接wifi了

如果在启动树莓派时遇到下面的报错提示,表示缺少启动文件

xml 复制代码
$ start4.elf: is not compatible
$ This board requires newer software

需要在github上面下载最新的启动文件来替换旧的启动文件

地址:https://github.com/raspberrypi/rpi-firmware

把下图 .dat和 .elf 共16个文件复制替换掉TF卡上面的文件即可。

然后重启树莓派

安装ubuntu桌面

使用ROS的rviz, gazebo等仿真工具,需要桌面图形环境。

bash 复制代码
sudo apt-get upgrade

安装ubuntu桌面

bash 复制代码
sudo apt-get install ubuntu-desktop

关机重启就完成了

bash 复制代码
sudo reboot

下一步进行安装ROS

我们使用鱼香ros的一键安装ros

bash 复制代码
wget http://fishros.com/install -O fishros && . fishros

按照提示,建议先更换国内镜像源。

然后进行测试

打开终端输入

bash 复制代码
roscore

有这个提示就表示安装成功了

测试一个经典案例,键盘控制小乌龟移动

打开一个终端启动小乌龟节点

bash 复制代码
rosrun turtlesim turtlesim_node

再打开一个终端,启动键盘控制节点

bash 复制代码
rosrun turtlesim turtle_teleop_key

能看到小乌龟就表示运行成功了

相关推荐
振南的单片机世界39 分钟前
PVD掉电中断——让单片机“咽气前”写完遗书
arm开发·stm32·单片机·嵌入式硬件
续写烂尾3 小时前
SD NAND存储实测:正点原子STM32精英板SDIO读写验证全流程
stm32·单片机·嵌入式硬件
zlinear数据采集卡5 小时前
USB HS 480M高速传输与SRAM记录仪:DABM-D223数据存储系统全解析
arm开发·嵌入式硬件·fpga开发·开源
wuyk5556 小时前
1.栈:后进先出的线性数据结构
c语言·数据结构·stm32·单片机
Crkylin6 小时前
Cortex-M SysTick系统滴答定时器详解
单片机·嵌入式硬件
Hello_Damon_Nikola7 小时前
AC7911从入门到精通
开发语言·嵌入式硬件·物联网·php
gscsded7 小时前
AUTOSAR CanTp 模块学习笔记
单片机·嵌入式硬件·汽车
Hello_Damon_Nikola7 小时前
扰流筋从原理到应用
人工智能·单片机·嵌入式硬件
某林2127 小时前
从“仿真能跑”到“真机能走”:一套轮腿机械狗强化学习系统的工程化实践
人工智能·stm32·嵌入式硬件·架构·机器人·机械狗
luiyarch8 小时前
IP8到底是什么?
嵌入式硬件·车载系统