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

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

相关推荐
Deitymoon2 小时前
STM32——蓝牙模块双串口控制led
stm32·单片机·嵌入式硬件
xiangw@GZ4 小时前
智能锁TouchKey的抗干扰设计【2】-软件算法
嵌入式硬件
iCxhust4 小时前
微机原理实践教程(C语言篇)---A001闪烁灯
c语言·开发语言·汇编·单片机·嵌入式硬件·51单片机·微机原理
一起搞IT吧5 小时前
相机Camera日志实例分析之二十:相机Camx【照片后置4800/5000/6400万拍照】单帧流程日志详解
android·嵌入式硬件·数码相机·智能手机
笨笨饿6 小时前
69_如何给自己手搓一个串口
linux·c语言·网络·单片机·嵌入式硬件·算法·个人开发
爱凤的小光6 小时前
ROS Service ---个人学习篇
ros
FreakStudio10 小时前
MicroPython 内核开发者直接狂喜!这个 Claude 插件市场,把开发全流程做成了「对话式外挂」
python·单片机·嵌入式·面向对象·并行计算·电子diy
天诚智能门锁10 小时前
天诚公租房管控平台CAT.1人脸猫眼智能锁助力青神县公租房管理
人工智能·嵌入式硬件·物联网·智能家居·智能硬件
m0_3771081413 小时前
5月1日zzz
单片机