【本科毕业设计】树莓派ROS编程(一)

本科毕设——树莓派ROS编程(一)

环境搭建

我的硬件型号为raspberryPi 4B 4GB版本,内存卡容量为64GB

安装 Ubuntu mate 20.04

链接: Ubuntu mate 官网.
由于 4B 推出时间比较晚,测试发现ubuntu mate 18.04和16.04都无法在4B上运行。

安装 ROS

这部分可以参考 ROS wiki 中noetic版本的安装教程
链接: ROS wiki
设置中科大的安装源

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'

设置Key

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

首先需要更新 apt(以前是 apt-get, 官方建议使用 apt 而非 apt-get),apt 是用于从互联网仓库搜索、安装、升级、卸载软件或操作系统的工具。

sudo apt update

这里直接安装 ros-noetic-desktop-full 会提示无法定位软件包,这里只安装 ros-noetic-desktop 版本,而且考虑到树莓派性能有限,一般也不会在树莓派上运行3D仿真。

sudo apt install ros-noetic-desktop

然后配置环境变量

echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

由于 rosdep 初始化经常报错,这里暂时不安装,等需要的时候再装。运行 roscore ,能正常运行则安装成功。

安装 WiringPi

后面会用到树莓派4B 的 GPIO, 因此还需要安装 WiringPi

sudo apt install wiringpi

安装完成后还需要更新 WiringPi 的版本以适配 4B,可以参考:
链接: https://blog.csdn.net/tfb760/article/details/101292027.
完成后执行

gpio readall

可以看到各个引脚的状态。

实现分布式多机通信

我的电脑安装的系统为 Ubuntu 16.04 LTS,ROS 版本为 kinetic
确保树莓派与电脑在一个路由器下,分别输入

ifconfig

查看电脑和树莓派的 ip,分别将他们的 ip 设置到对方的 hosts 文件中
电脑端:

sudo vim /etc/hosts

添加:

192.168.0.106   zs-raspberrypi    #输入树莓派端的ip和计算机名(不是用户名)

树莓派端同理
在树莓派端设置 ROS_MASTER_URI

sudo vim ~/.bashrc

添加:

export ROS_MASTER_URI=http://zhusheng-VirtualBox:11311
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现树莓派ROS的自启动,有以下几个步骤: 1. 安装ROS:确保已在树莓派上成功安装ROS操作系统,并创建工作空间。 2. 创建启动脚本:使用文本编辑器创建一个启动脚本。可以在树莓派上的任意位置创建,命名为"start_ros.sh"(或其他名称)。 3. 编辑启动脚本:打开启动脚本并添加以下内容: ``` #!/bin/bash source /opt/ros/<ROS版本>/setup.bash source <工作空间路径>/devel/setup.bash roslaunch <launch文件路径> ``` 其中,<ROS版本>是你所安装ROS的版本(如kinetic、melodic等),<工作空间路径>是你所创建的ROS工作空间路径,<launch文件路径>是你要自启动的launch文件路径。 4. 保存并退出启动脚本。 5. 赋予执行权限:运行以下命令给启动脚本赋予执行权限: ``` chmod +x <启动脚本路径> ``` 其中,<启动脚本路径>是你创建的启动脚本的路径。 6. 编辑rc.local文件:使用以下命令编辑rc.local文件: ``` sudo nano /etc/rc.local ``` 在"exit 0"行之前,添加以下内容: ``` su -l <用户名> -c '/bin/bash <启动脚本路径> > /var/log/start_ros.log 2>&1' ``` 其中,<用户名>是你当前登录用户的用户名,<启动脚本路径>是你创建的启动脚本的路径。"> /var/log/start_ros.log 2>&1"是为了将启动脚本的输出日志保存到/var/log/start_ros.log文件中,方便查看启动日志。 7. 保存并退出rc.local文件。 8. 重启树莓派:运行以下命令重启树莓派以应用更改: ``` sudo reboot ``` 当树莓派重新启动后,ROS将自动启动,并加载你指定的launch文件。你可以通过查看/var/log/start_ros.log文件来验证是否成功启动ROS

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值