ROS小车记录系列(七)树莓派4b安装ubuntu18.04,安装melodic版ROS,主从机测试小海龟

ROS小车记录系列(七)树莓派4b安装ubuntu18.04,安装melodic版ROS,主从机测试小海龟

  • 1、ubuntu18.04进树莓派
  • 2、给树莓派安装ros-melodic
  • 3、主从控制树莓派上小海龟
  • 补充1,无显示器开机,远程登陆
  • 补充2,有线网口静态IP

____之前系统都是在自己笔记本运行,现在需要上车了,在一众热心群友推荐下,昨天买了个树莓派4b 8G版(主要是穷,买不起jetson…),中午到货,下午火速安装测试下。
____按照惯例,先说准备, 硬件包括:树莓派4b 8g、一张三星SD卡(128g)、读卡器、一个散热铁壳子、HDMI转micro HDMI数据线、5V电源、鼠标键盘、一台显示器(hdmi接口),软件包括:系统烧录工具 win32diskimager-1.0.0-install.exe,ubuntu18.04树莓派版本系统 ubuntu-18.04.5-preinstalled-server-armhf+raspi4.img(下载后解压出来),就这么多,没有pytty,没有winscp。实测ubuntu20.04.01LTS安装桌面后,运行一会画面就花了,没法使用。

开始安装:

1、ubuntu18.04进树莓派

sd卡放入读卡器,插进电脑,打开win32diskimager-1.0.0-install,选取ubuntu-18.04.5-preinstalled-server-armhf+raspi4.img,选取sd卡,点击写入,一会就完成。
ROS小车记录系列(七)树莓派4b安装ubuntu18.04,安装melodic版ROS,主从机测试小海龟_第1张图片
拔下SD卡,插入树莓派,树莓派的micro hdmi通过视频线,连接显示屏hdmi口,鼠标键盘该插的插,上电。系统启动后,输入初始用户名ubuntu、密码ubuntu,然后会要求更改密码,输入两遍,完成。
树莓派网口网线连上一个路由,让树莓派能上网。
为系统换源:

sudo vim /etc/apt/sources.list

我更换的阿里云,内容全部替换为:

deb https://mirrors.aliyun.com/ubuntu-ports/ bionic main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu-ports/ bionic main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu-ports/ bionic-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu-ports/ bionic-security main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu-ports/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu-ports/ bionic-backports main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu-ports/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu-ports/ bionic-proposed main restricted universe multiverse

更新下系统

sudo apt update

安装桌面环境

sudo apt-get install ubuntu-desktop

比较快,半小时左右吧,中途出错推出,就重新执行一下,完成后reboot,就进入桌面环境,这里就比较好设置连接wifi。

2、给树莓派安装ros-melodic

这个我就不细说,直接列下指令。(本人熟练安装各版本ros,5元/次,哈)

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

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

sudo apt-get update
sudo apt-get install ros-melodic-desktop-full
sudo apt install rospack-tools
sudo rosdep init
rosdep update

出错了,不慌,解决如下:
打开/usr/lib/python2.7/dist-packages/rosdistro/__ init__.py,DEFAULT_INDEX_URL:

DEFAULT_INDEX_URL = "https://ghproxy.com/"+'https://https://mirrors.tuna.tsinghua.edu.cn/rosdistro/master/index-v4.yaml'

现在,再次执行rosdep update,顺利完成。继续安装,

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential

到这,安装完成,roscore测试下,顺利打开。

3、主从控制树莓派上小海龟

需要:树莓派、一台远程电脑、wifi,固定树莓派和笔记本为同一个网段,我的树莓派ip:192.168.1.232,笔记本ip:192.168.1.64,二者相互ping的通。
树莓派终端:

sudo gedit ~/.bashrc

输入:

export ROS_MASTER_URI=http://192.168.1.232:11311
export ROS_HOSTNAME=192.168.1.232

保存退出,更新:

source ~/.bashrc

笔记本终端:

sudo gedit ~/.bashrc

输入:

export ROS_MASTER_URI=http://192.168.1.232:11311
export ROS_HOSTNAME=192.168.1.64

保存退出,更新:

source ~/.bashrc

好了,到这配置完成了,从树莓派启动roscore、启动小海龟节点rosrun turtlesim turtlesim_node,从笔记本端启动键盘节点rosrun turtlesim turtle_teleop_key,现在笔记本端键盘,就能控制树莓派上小海龟运动了。

没用过树莓派,今天先测试下流程安装,明天开始把完整系统复制上来。

补充1,无显示器开机,远程登陆

2020.12.4:看了很多博客,都存在不插显示器,无法开机进入桌面问题,然后去修改config.txt文件才可以。在我使用的系统版本中没遇到这个问题,首先在有显示器条件下:
1、进入桌面设置好开机自动登陆,默认开机是要输入密码的,
2、设置好wifi的密码,能够自动连接;
然后关机,拔掉显示器,重启。等待一会,树莓派的绿色led开始闪烁了,表示系统已经正常运行了。这时候从笔记本ping了下树莓派ip,通的,然后PuTTY远程登陆正常。

补充2,有线网口静态IP

2020.12.5:今天把系统全部移植过来了,测试和雷达连接,因为我雷达用的网线,插上树莓派网口,想着像wifi一样,配置下静态IP,万万没想到啊,在这遇到坑了,有线配置的wired图标不见了,只有VPN、Network Proxy这两项。这这这。。。没法配置静态IP了。插上路由的网线,树莓派正常上网,图标还是不见。然后开始了百度、google,关键字什么unmangered、什么wired图标不见,基本都是围绕

sudo service network-manager restart

各种方法试了个遍,但是并没有用,头发也薅了一把了。决定装个ubuntu20试试,无奈重装了系统,结果发现ubuntu20.04.1 LTS存在同样问题,而且发现这系统用了一会存在花屏问题,头发再次薅了一把了。。。还是老老实实装回ubuntu18.04,重新想法子。好在最后发现实际很简单,从配置文件就可以配置静态IP的,我尼玛,这周六就这么结束了。。。指令如下:

sudo vim /etc/netplan/50-cloud-init.yaml

如果你没有这个文件,就自己创建个,继续编辑内容:

network:
    ethernets:
        eth0:
            dhcp4: false
            addresses: [192.168.1.232/24]
            gateway4: 192.168.1.1
            nameservers:
                addresses: [192.168.1.1, 8.8.8.8]
    version: 2
    wifis:
        wlan0:
         dhcp4: false
         addresses: [192.168.1.101/24]
         gateway4: 192.168.1.1
         nameservers:
           addresses: [192.168.1.1]
         optional: true
         access-points:
             "xxxxx":
                 password: "xxxxx"
    version: 2

注意每个冒号后面有个空格,最后执行

sudo netplan apply

现在重新ifconfig查看下,IP已经成静态的,打开网页也正常。颤颤巍巍拿起雷达网线,插上树莓派网口,ping了下雷达IP,可算通了,说明静态配置成功,王德发。。。
使用这个配置,也使用做无桌面端,配置wifi,示例上面。

你可能感兴趣的:(ROS,树莓派4b,ubuntu18,ros)