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

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

相关推荐
star learning white17 分钟前
STM32入门学习3
stm32·单片机·学习
jianqiang.xue40 分钟前
审查技能库(上):内存安全四件套
stm32·单片机·物联网·架构·esp32
XiHongShi20161 小时前
cpuz分享,建议保存
单片机·学习
恒锐丰科技林技术员1 小时前
EG2226 全桥驱动芯片:高压电机逆变驱动的高性价比方案
经验分享·嵌入式硬件·硬件工程
糖糖单片机设计2 小时前
STM32 老人跌倒监测报警系统
stm32·单片机·嵌入式硬件
智闲电子设计3 小时前
STM32 硬件 CRC 与 UID 实战:固件校验防变砖,UID 防抄板,这两个外设白用太可惜
stm32·单片机·嵌入式硬件
嵌入式阿蔡3 小时前
CoAP / LwM2M 轻量协议:受限设备为什么不用 MQTT
单片机·物联网·嵌入式
wuyk5554 小时前
107.FreeRTOS 链表深度解析:从原理到面试满分答案
c语言·开发语言·数据结构·stm32·单片机·链表·面试
hongmai6668884 小时前
ESP32-WROVER-IE-N4R8:外接天线+8MB内存,专治信号焦虑
笔记·单片机·嵌入式硬件·microsoft·risc-v
恒锐丰科技林技术员5 小时前
EG11722:高耐压 150V 降压 DC‑DC 电源芯片,工业宽压电源优选方案
经验分享·嵌入式硬件