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

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

相关推荐
纳祥科技20 小时前
Switch快充方案,内置GaN,集成了多个独立芯片
单片机
单片机日志1 天前
【单片机毕业设计】【mcugc-mcu826】基于单片机的智能风扇系统设计
stm32·单片机·嵌入式硬件·毕业设计·智能家居·课程设计·电子信息
松涛和鸣1 天前
从零开始理解 C 语言函数指针与回调机制
linux·c语言·开发语言·嵌入式硬件·排序算法
小曹要微笑1 天前
STM32F7 时钟树简讲(快速入门)
c语言·stm32·单片机·嵌入式硬件·算法
XINVRY-FPGA1 天前
XCVP1802-2MSILSVC4072 AMD Xilinx Versal Premium Adaptive SoC FPGA
人工智能·嵌入式硬件·fpga开发·数据挖掘·云计算·硬件工程·fpga
沐欣工作室_lvyiyi1 天前
家用按摩椅控制系统设计(论文+源码)
单片机·物联网·毕业设计·按摩椅控制系统
天天爱吃肉82181 天前
电机控制技术深度解析:从基础原理到前沿实战
python·嵌入式硬件·汽车
学习路上_write1 天前
FREERTOS_互斥量_创建和使用
c语言·开发语言·c++·stm32·单片机·嵌入式硬件
czhaii1 天前
单片机RTOS“实时响应时间”的定义与测量方法
单片机
DIY机器人工房1 天前
简单理解:什么是EMC 整改?
stm32·单片机·嵌入式硬件·面试题·emc·diy机器人工房