admin 管理员组文章数量: 887021
文章目录
- 前言
- 一、下载安装树莓派4B镜像(Ubuntu-mate-18.04)
- 1.树莓派4B服务器镜像
- 2.准备物品
- 3.镜像烧录
- 4.安装桌面基础软件
- 5. 为了防止树莓派内存不够,需要增加交换空间,
- 二、安装ROS(Melodic二进制安装)
- 1下载ROS
- 2ROS初始化
- 2.1最简单的办法
- 检查ROS是否安装成功,例程检测
- 以下是常规办法,上面的方法通过,直接看第三部分就好了
- 2本人推荐总结三种方法
- 2.1翻墙
- 2.2寻找一个网络带宽比较高的路由器,
- 2.3替换目标文件
- 三 、二进制安装MAVROS
- 1.二进制安装MAVROS
- 2.安装vision_to_mavros 包
- 3.源码安装MAVROS
- 4.MAVROS 与 飞控通信
- 四、Intel Realsense SDK的安装
- 1.先用 gcc -v 检查自己的gcc版本,一般会是gcc-7,如果不是 gcc-6需要先安装gcc-6
- 2.下面是安装Realsense SDK(建议使用二进制安装)
- 3.Intel Realsense SDK源码安装(建议了解即可)
- 4.使用ROS包读取T265数据
- 五、一条命令启动T265与树莓派与飞控之间的通信
- 总结
前言
最近更新了一点方法,顺序可能有点乱,大家将就看
在这只是记录一下自己的轨迹,只能保证以下内容是自己实践过的,以下内容没什么过多的原理介绍,估计来我这遛弯的都是在别的博主那看了不少的文章了,我也就不介绍了。
在安装过程中,遇到什么问题,欢迎留言讨论,
如果你想使用树莓派3B+ 可以参考这篇文章,很全博主:TYINY
FileZilla
win电脑软件,可以在同局域网内,通过IP地址,树莓派的用户名,密码,可以两者之间互相传输文件。
附网盘链接:https://pan.baidu/s/1Kw09GvhxD7o871dY0FA-0w
提取码:0000
vncviewer
win电脑软件,可以在同局域网内,通过IP地址,树莓派的用户名,密码,远程登录树莓派桌面。
附网盘链接:https://pan.baidu/s/18_tvVH8Q-FTJOjQIGBZdyg
提取码:0000
局域网IP扫描器
win电脑软件,扫面同局域网内所有IP地址
附网盘链接:https://pan.baidu/s/1hxQVjk5dq_X45CSroEVFoQ
提取码:0000
一、下载安装树莓派4B镜像(Ubuntu-mate-18.04)
1.树莓派4B服务器镜像
附上我的百度链接
链接:https://pan.baidu/s/1sR7kE_FPSo9EL_9xJ7RczQ
提取码:0000
树莓派4B通用服务器镜像,后期安装桌面
2.准备物品
2.1大于等于32G的闪迪内存卡
2.2树莓派4B (4G/8G均可)
避坑攻略:首选闪迪内存卡,或者其他大牌子,不然过段时间,莫名不能正常开机或者其他问题
3.镜像烧录
3.1软件下载
链接:https://pan.baidu/s/1kD5R6c_AH1FXGdlyiV5tpw
提取码:0000
链接:https://pan.baidu/s/1BaHHRTcrm9b2XvwJCi3gkQ
提取码:0000
3.2内存卡使用之前需要格式化!!!
打开软件 SDFormatter 显示盘符后,直接点击格式化,其他参数不需要修改。一定要选择好你要格式化的盘符,否侧格式化了其他盘,你就难受了。
3.3打开烧录软件 balenaEtcher 选择你要烧录的镜像,点 击Flash即可
大概三四分钟后就会烧录好,取决于你的内存卡读写速度,烧录完成之后不需要任何操 作,直接拔出内存卡即可。,左上方是绿色的,说明烧录正常,如果是 红色,你就得用软件格式化,重新烧录
3.4内存卡插入树莓派,第一次上电需要外接显示器,键盘,鼠标,以及一根网线。(如果 第一次通电没有正常显示的话,断开电源,重新上电即可。)
这里说一下要会看树莓派的电源旁边的两个指示灯,这部分适合不能正常开机的伙伴看,
树莓派 ACT LED 指示灯闪烁模式代表的状态
4.安装桌面基础软件
联网很简单,网线直插路由器。
4.1树莓派启动后,修改账号密码
会提示你输入账号:ubuntu(初始账号密码都是:ubuntu)
输入密码:ubuntu
输入当前密码:ubuntu,
你想设置的密码(好像最低8位字符,设个简单点的就行,以后会经常用,本人用的 123456789,)
再次确认你的密码
4.2首先查看你是否联网(方法很多,看自己爱好)
这里推荐输入:
ifconfig
这里可以看到部分有用的信息,在wlan0 下面可以看到你的IP地址,以后通 过ssh远程连接使用。
4.3树莓派更新软件
1)输入命令:
sudo apt-get update && sudo apt-get dist-upgrade -y
(命令解析: sudo apt-get update 是读取软件列表,然后保存在本地电脑 ;
sudo apt-get upgrade 本地已安装的软件,与刚下载的软件列表里对应软件进行对比, 如果发现已安 装的软件版本太低,就会提示你更新,一般也是半小时左右,中 间会提示你是否更新, YES/NO,选择y)
2)安装完成后输入:
sudo reboot
(命令解析:更新完后,需要重新启动运行,就像王者农药,更新完要重新打开一 个道 理)
3)输入命令:
sudo apt-get install ubuntu-mate-desktop
(命令解析:安装桌面环境,只需要一个命令就可以了哈,然后静静等待半小时左 右, 网速,树莓派运行速度都有很大的关系)
4)安装完成后输入:
sudo reboot
4.4换源(也可以按网上其他教程操作)可做可不做!!
注意:(换不换均可,能搭梯子的小伙伴不需要操作,没有梯子的小伙伴建议换源,之所以要换源,是因为Ubuntu的服务器在外国,你访问会很慢,下载东西也慢,所以要换国内的镜像源,比如阿里,清华,等等,网上有说按地理位置分布选择适合自己的源,小伙伴可以找找资源哈。)
输入命令
sudo nano /etc/apt/sources.list
将里面的内容换成你想换的镜像源
deb http://mirrors.ustc.edu/ubuntu-ports/ xenial main multiverse restricted universe
deb http://mirrors.ustc.edu/ubuntu-ports/ xenial-backports main multiverse restricted universe
deb http://mirrors.ustc.edu/ubuntu-ports/ xenial-proposed main multiverse restricted universe
deb http://mirrors.ustc.edu/ubuntu-ports/ xenial-security main multiverse restricted universe
deb http://mirrors.ustc.edu/ubuntu-ports/ xenial-updates main multiverse restricted universe
deb-src http://mirrors.ustc.edu/ubuntu-ports/ xenial main multiverse restricted universe
deb-src http://mirrors.ustc.edu/ubuntu-ports/ xenial-backports main multiverse restricted universe
deb-src http://mirrors.ustc.edu/ubuntu-ports/ xenial-proposed main multiverse restricted universe
deb-src http://mirrors.ustc.edu/ubuntu-ports/ xenial-security main multiverse restricted universe
deb-src http://mirrors.ustc.edu/ubuntu-ports/ xenial-updates main multiverse restricted universe
Ctrl+o:保存
回车 确认
Ctrl+x 退出
sudo apt update
sudo apt dist-upgrade
sudo apt clean
换完源后多半会有很多报错,比如说找不到密钥
你可以百度一下 sudo apt uodate 找不到密钥
多半都会是这条
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu:80' --recv-key //后面跟的是提示你缺少的密钥,大概十几位数,数字与大写英文混合
4.5安装 raspi-config
它的作用是配置你的树莓派系统。因为Ubuntu系统没有装,所以需要自己手动安装
4.5.1输入命令安装依赖:
sudo apt install whiptail parted lua5.1 alsa-utils psmisc
4.5.2输入命令下载raspi-config
wget http://archive.raspberrypi/debian/pool/main/r/raspi-config/raspi-config_20200727_all.deb
4.5.3安装:
sudo dpkg -i raspi-config_20200727_all.deb
4.5.4检查是否缺少依赖
sudo apt-get -f -y install
4.5.5输入:
sudo raspi-config
4.5.6通过方向键选择:Interfacing Options 回车确认 选择 SSH 确认 YES OK
最后选择 < Finish >
4.5.7然后重启:
sudo reboot
5. 为了防止树莓派内存不够,需要增加交换空间,
5.1检查现有内存
free -m
5.2建立交换空间
cd /opt/
sudo mkdir swap
cd swap
sudo touch swap
5.3设置交换内存大小,根据自己的内存卡大小剩余空间设定,我用的64G卡,设了8G交换空间(我设的8G交换大小,1G=1024,自己算适合自己的)
sudo dd if=/dev/zero of=/opt/swap/swap bs=1024 count=8162000
要等很长时间才会返回结果,不要认为是卡了哦
5.4
sudo mkswap /opt/swap/swap ///会有警告,不怕,正常现象
5.5启用交换空间
sudo swapon /opt/swap/swap
5.6查询有没有正常启用
free -m
显示已经建立,下一步写入分区
sudo nano /etc/fstab
在最后一行加入
/opt/swap/sawp /swap swap defaults 0 0
Ctrl + O 保存,ctrl + x 退出
操蛋,我没设置好,每次重启得自己手动打开交换空间,
sudo su
swapon /opt/swap/swap 开启
swapoff /opt/swap/swap 关闭
至此,树莓派安装镜像完。
二、安装ROS(Melodic二进制安装)
1下载ROS
官网:ROS
1.1下载安装:
添加ROS镜像源:
sudo sh -c 'echo "deb http://packages.ros/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
设置密钥:
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
刷新安装列表:
sudo apt update
安装ROS桌面完整版:
sudo apt install ros-melodic-desktop-full
安装ROS常用软件:
sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
sudo apt-get install ros-melodic-rqt*
sudo apt-get install python-rosdep
如果出现以下错误,
在“软件和更新“中,把这几个勾选上
2ROS初始化
2.1最简单的办法
1
输入
curl http://fishros/tools/install/rosdepc | bash
安装之后
然后你把rosdep两个命令里面的rosdep改成rosdepc (下面两条作者修改过了,不用执行了。亲侧,以在刷一遍也没毛病)
sudo rosdepc init
sudo rosdepc update
最后
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
齐活
检查ROS是否安装成功,例程检测
代码如下
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
分别打开三个终端,分别命令:
roscore 启动ros核心
rosrun turtlesim turtlesim_node 运行小乌龟例程
rosrun turtlesim turtle_teleop_key 运行小乌龟控制程序
然后将光标放在最后那个端口上,使用方向键就可以控制乌龟的运动方向,“q”退出程序
以下是常规办法,上面的方法通过,直接看第三部分就好了
1.2ROS初始化
ROS更新这一步是最难搞的,因为这需要连接国外的服务器,然后跟你刚下载的ROS文件做对比,你是否缺少文件,缺少依赖,因为服务器在国外,所以会经常连接不上,我们通过命令查看一下,到底要连接那些网址那?
输入
sudo nano /etc/ros/rosdep/sources.list.d/20-default.list
这里面有五个网址,都是:raw.githubusercontent
Ctrl+x 退出
那么,我们百度搜索raw.githubusercontent的IP地址,如下:截至我写这个教程时,这个网址当前IP地址为:185.199.109.133
所以,输入命令:
sudo nano /etc/hosts
185.199.109.133 raw.githubusercontent.com //在最后加一句
Ctrl+o:保存
回车 确认
Ctrl+x 退出
2本人推荐总结三种方法
2.1翻墙
能翻墙的小伙伴直接
sudo rosdep init
初始化完事按提示输入
sudo rosdep update
即可
2.2寻找一个网络带宽比较高的路由器,
比如说学校的网,大企业的网,或者手机 热点,都是可以的。这个方法看运气,可能一次成功,也 可能三四个小时或者更长时间,总结那,就是看命!这是 个神学!最佳时间段为晚上十点以后到第二天八点半以 前!!!尝试一次换一个别人的热点,在尝试 ,再换回你的热点,这样效率高一点
我们多次运行sudo rosdep init 后,会出错,如下:
那么,输入命令:
sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
删除 这个文件即可,然后重 新输入:
sudo rosdep init
初始化完 事按提示输入 sudo rosdep update 即可 , 99% 运行一次不会成功的,没关系,多试几次,一直输入:sudo rosdep update
尝试大概十次左右,你可以看一下你的执行情况,上面有提到,ROS更新时,要连 接国外的五个网址,你对比你的程序命令记录,每运行一次更新,都会有几个网址 可以连接,能够连接上三到四个网址,那这个方法可以继续下去,一直命令更新, 直到成功为止。如果每次更新,只能连接一两个网址,那就不要往下往下尝试了, 使用第三种方法吧
2.3替换目标文件
先解释一下这种方法的安装思路
首先下载当前ROS最新的列表文件,然后修改/etc/ros/rosdep/sources.list.d/20-default.list,把里面的内容改掉,这个文件原有内容是让你连接指定的网址,然后跟你下载的文件对比,看有没有缺少,按照这个思路,我们可以先下载文件列表,然后让他们两个之间对比
那么这样做到底好不好那?看完一下讲解,自行斟酌
优点:不需要漫长的等待,半个小时就能搞定,
缺点:以后你要更新,那么他将会对比你已经设定好的目录,不会跟官方最新的目录对比,除非你再次修改上面那个文件
本人建议:能用前两种方法最好,实在不行,再用这种方法,但是,也要给自己留条后路。
rosdep init/update 解决方法
需要注意的是,一定要写对你的文件路径,仔细看看你下载下来的文件都有哪些文件夹,这个作者写的很详细了,
三 、二进制安装MAVROS
1.二进制安装MAVROS
代码如下
添加源:
sudo sh -c 'echo "deb http://packages.ros/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
添加密钥
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
更新软件库
sudo apt update
安装MAVROS及功能包
sudo apt install ros-melodic-mavros ros-melodic-mavros-extras -y
sudo apt-get install python-catkin-tools python-rosinstall-generator -y
sudo apt install libpcl1 ros-melodic-octomap-*
wget https://raw.githubusercontent/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh
如果提示不能连接神魔的,往下看一点,若果能下载继续执行
chmod +x install_geographiclib_datasets.sh
sudo ./install_geographiclib_datasets.sh
上面说通过 wget 不能下载,我们百度搜索raw.githubusercontent的IP地址,如下:截至我写这个教程时,这个网址当前IP地址为:185.199.109.133
所以,输入命令:
sudo nano /etc/hosts
185.199.109.133 raw.githubusercontent.com //在最后加一句
Ctrl+o:保存
回车 确认
Ctrl+x 退出
再翻上去继续执行
2.安装vision_to_mavros 包
代码如下
创建工作空间
mkdir -p ~/xxx_ws/src (xxx自己规划)
cd ~/xxx_ws/src
下载文档
git clone https://github/hoangthien94/vision_to_mavros.git
cd ~/xxx_ws
catkin_make
cd
echo "source ~/xxx_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
3.源码安装MAVROS
此部分看看即可,不需要操作
mkdir -p ~/px4_tools/catkin_ws/src
cd ~/px4_tools/catkin_ws
## Install dependencies
sudo apt-get install python-wstool python-rosinstall-generator python-catkin-tools -y
## Initialise wstool
wstool init ~/px4_tools/catkin_ws/src
## Build MAVROS
### Get source (upstream - released)
rosinstall_generator --upstream mavros | tee /tmp/mavros.rosinstall
### Get latest released mavlink package
rosinstall_generator mavlink | tee -a /tmp/mavros.rosinstall
### Setup workspace & install deps
wstool merge -t src /tmp/mavros.rosinstall
wstool update -t src
rosdep install --from-paths src --ignore-src --rosdistro melodic -y
./src/mavros/mavros/scripts/install_geographiclib_datasets.sh
## Build!
catkin build
## Re-source environment to reflect new packages/build environment
echo "source ~/px4_tools/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
4.MAVROS 与 飞控通信
MAVROS 与 飞控通信的方法有很多,这里记录两种,分别是:数据线直插,tty转串口
4.1 数据线直插
将飞控与树莓派直接使用一根普通的数据线相接,就像飞控下载固件一样
树莓派查询端口
cd /dev
ls
看有没有端口显示,多半是 ttyACM0,这期间除了鼠标键盘,不建议插其他的设备,以免你分不清,
4.2tty转串口
准备一个USB转TTL模块,买之前询问老板支不支持 921600 比特率,57600波特率也可以将就用,但是通信的数据量大了之后,会出很多错,
cd /dev
ls
看有没有端口显示,多半是 ttyUSB0,这期间除了鼠标键盘,不建议插其他的设备,以免你分不清,
4.3修改launch文件
cd
roscd mavros/launch
ls 你能看见很多launch文件
如果你用的APM 固件,就
sudo vim apm.launch
如果你用的PX4 固件,就
sudo vim px4.launch
把照片圈起来那句话修改掉,比如说,我用的数据线直插,
前面的不动,将 ttyUSB0 改成 ttyACM0 (根据上面你自己查到的端口号为主) 还有波特率也要改,改成与你飞空设置的一样,要不然没法通信,修改完成后,:wq! 保存退出
新打开一个终端,输入
roslaunch mavros px4.launch
或者
roslaunch mavros apm.launch
这样就是通信成功了,红色错误是 提示我飞控调参没调好,提示内容跟你在地面站看到的提示错误一样,
如果你经常使用数据线直插,偶尔使用USB串口连接,你可以使用下面这条命令,不需要上面那样修改文件
roslaunch mavros px4.launch fcu_url:=/dev/ttyUSB0:921600
同理 apm固件
roslaunch mavros apm.launch fcu_url:=/dev/ttyUSB0:921600
端口号肯定要用你自己的
四、Intel Realsense SDK的安装
1.先用 gcc -v 检查自己的gcc版本,一般会是gcc-7,如果不是 gcc-6需要先安装gcc-6
安装如下
sudo apt-get update
sudo apt-get install build-essential software-properties-common -y
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
sudo apt-get install gcc-snapshot -y
sudo apt-get install gcc-6 g++-6 -y
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-6
2.下面是安装Realsense SDK(建议使用二进制安装)
2.1安装依赖
cd
sudo apt-get install git cmake libssl-dev libusb-1.0-0-dev pkg-config libgtk-3-dev
sudo apt-get install libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev
sudo apt install git libssl-dev libusb-1.0-0-dev pkg-config -y
sudo apt install cmake python3-dev raspberrypi-kernel-headers -y
2.2添加镜像源
密钥
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE
镜像源
sudo add-apt-repository "deb https://librealsense.intel/Debian/apt-repo $(lsb_release -cs) main" -u
2.3安装
sudo apt-get install librealsense2-dkms
sudo apt-get install librealsense2-utils
sudo apt-get install librealsense2-dev
sudo apt-get install librealsense2-dbg
2.4新建终端检测是否安装成功
realsense-viewer
未插
插上可以切换2D或者3D
3.Intel Realsense SDK源码安装(建议了解即可)
代码如下(示例):
cd ~
git clone https://github/IntelRealSense/librealsense.git
cd librealsense
# Install udev rules
sudo cp config/99-realsense-libusb.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules && udevadm trigger
# Create the destination directory
mkdir build
cd build
# Remove extra files if this is not your first run
xarg sudo rm < install_manifest.txt
rm CMakeCache.txt
export CC=/usr/bin/gcc-6
export CXX=/usr/bin/g++-6
下面的一条一条的复制,要是想打成一行,就把 \去掉
cmake -D CMAKE_BUILD_TYPE="Release"\
-D FORCE_LIBUVC=ON \
-D BUILD_PYTHON_BINDINGS=ON \
-D BUILD_EXAMPLES=true \
-D FORCE_RSUSB_BACKEND=ON \
-DBUILD_WITH_TM2=false \
-DIMPORT_DEPTH_CAM_FW=false \
-D BUILD_EXAMPLES=ON ..
sudo make uninstall
make clean
make
sudo make install #执行者一条是会有一些报错,暂时先不管,我也不知道对后期的使用有没有影响,暂时先这样,有问题再说
sudo ldconfig
# Finally, reboot the pi:
sudo reboot
4.使用ROS包读取T265数据
4.1安装依赖
sudo apt-get install ros-melodic-ddynamic-reconfigure
4.2下载ROS realsense-ros包
创建工作空间
mkdir -p ~/xxx_ws/src (xxx自己规划)
cd ~/xxx_ws/src
git clone https://github/IntelRealSense/realsense-ros.git
cd realsense-ros/
git checkout `git tag | sort -V | grep -P "^2.\d+\.\d+" | tail -1`
cd ..
catkin_make -DCATKIN_ENABLE_TESTING=False -DCMAKE_BUILD_TYPE=Release
启动测试demo,即可看到T265的位姿数据
4.3检查t265数据是否正常(使用两个终端)
代码如下(示例):
roslaunch realsense2_camera rs_t265.launch
rostopic echo /tf (红圈是三维坐标,拿起t265动一动,观察数据是否准确,单位是 M )
4.4建图相关依赖
建图模块依赖项安装
sudo apt-get install ros-melodic-rqt ros-melodic-rqt-common-plugins ros-melodic-rqt-robot-plugins -y
安装rtabmap:
sudo apt-get install ros-melodic-rtabmap*
安装Octomap:
sudo apt-get install ros-melodic-octomap-*
安装cartographer
sudo apt-get install ros-melodic-cartographer*
五、一条命令启动T265与树莓派与飞控之间的通信
这三个模块之间通信,一般需要运行这几条命令
分别打开三个端口
roslaunch realsense2_camera rs_t265.launch
roslaunch vision_to_mavros t265_tf_to_mavros.launch
sudo chmod a+rw /dev/ttyUSB0 /使用端口之前,要赋值
roslaunch mavros apm.launch fcu_url:=/dev/ttyUSB0:57600
可以使用
roslaunch vision_to_mavros t265_all_nodes.launch
一次性启动这三条命令,省事的多,如果提示你安装roslaunch
有可能是你真的没安装,
也可能是权限不对,
你需要切换到root操作
总结
肯定不能避免有些命令打错了,如有错误,请指正,谢谢,
版权声明:本文标题:树莓派4B(4G8G)安装Ubuntu18.04桌面版+ROS(Melodic)+Realsense SDK(T265+D400系列) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1725919263h892719.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论