树莓派+Ubuntu mate18.04+ROS+二进制MAVROS安装

主要参考ubuntu mate 18.04官网下载,烧录及安装 SSH VNC ROS MAVROS librealsense realsense-ros vision_to_mavros
略过在树莓派上安装Ubuntu mate18.04这一过程。
一、Ubuntu系统调整
1.换源
打开文件

sudo pluma /etc/apt/sources.list

将源修改为

http://mirrors.ustc.edu.cn/ubuntu-ports/

2.扩大交换空间
查看swap空间大小的命令

free -m

创建交换空间并激活

mkdir /swap 
cd /swap 
sudo dd if=/dev/zero of=swapfile bs=1024 count=2000000 
sudo mkswap swapfile
sudo swapon swapfile

一直保持这个swap空间

sudo pluma /etc/fstab

在最后一行加入

/swap/swapfile /swap swap defaults 0 0

3.ssh服务
启动ssh服务

sudo raspi-config

查看IP地址的命令

ifconfig

putty连接时遇到remote side unexpected closed network-connection问题
输入sudo /etc/init.d/ssh status查看是否缺少key文件
如果缺少,则

sudo ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
sudo ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key
sudo ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key

4.VNC服务
参考文章树莓派ubuntu18.04 mate 安装VNC
安装VNC server

sudo apt-get -y install vnc4server

启动vncserver,生成一个~/.vnc/xstartup文件
打开~/.vnc/xstartup文件后在末尾添加:

unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
mate-session & 
mate-panel &

重启vnc服务,我直接reboot
配置vnc树莓派开机自启动部分参考给出的链接

二、安装ROS

sudo pip install --upgrade -i https://pypi.tuna.tsinghua.edu.cn/simple pip
pip --default-timeout=600 install django
#!/bin/bash
# Ubuntu Config
echo "Remove modemmanager"
sudo apt-get remove modemmanager -y
echo "Add user to dialout group for serial port access (reboot required)"
sudo usermod -a -G dialout $USER

# Common dependencies
echo "Installing common dependencies"
sudo apt-get update -y
sudo apt-get install git zip cmake build-essential genromfs ninja-build exiftool astyle -y
# make sure xxd is installed, dedicated xxd package since Ubuntu 18.04 but was squashed into vim-common before
which xxd || sudo apt install xxd -y || sudo apt-get install vim-common --no-install-recommends -y
# Required python packages
sudo apt-get install python-argparse python-empy python-toml python-numpy python-dev python-pip -y
sudo -H pip install --upgrade pip
sudo -H pip install pandas jinja2 pyserial pyyaml
# optional python tools
sudo -H pip install pyulog

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) 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 install ros-melodic-desktop -y

sudo pip install rosdepc
## Initialize rosdep
sudo rosdepc init
rosdepc update
## Setup environment variables
rossource="source /opt/ros/melodic/setup.bash"
if grep -Fxq "$rossource" ~/.bashrc; then echo ROS setup.bash already in .bashrc;
else echo "$rossource" >> ~/.bashrc; fi
eval $rossource

## Install rosinstall and other dependencies
sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential -y
## Install dependencies
sudo apt-get install python-catkin-tools python-rosinstall-generator -y
## Create catkin workspace
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws

## Build!
catkin build
## Re-source environment to reflect new packages/build environment
catkin_ws_source="source ~/catkin_ws/devel/setup.bash"
if grep -Fxq "$catkin_ws_source" ~/.bashrc; then echo ROS catkin_ws setup.bash already in .bashrc;
else echo "$catkin_ws_source" >> ~/.bashrc; fi
eval $catkin_ws_source

三、二进制安装MAVROS
由于树莓派build MAVROS功能包时卡死,干脆直接二进制安装

sudo apt-get install ros-melodic-mavros ros-melodic-mavros-extras
wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh
sudo bash install_geographiclib_datasets.sh

四、OFFBOARD
1.创建offb功能包

cd ~/catkin_ws/src/
catkin_create_pkg offb roscpp mavros geometry_msgs
cd ~/catkin_ws/src/offb/src/
pluma offb_node.cpp

修改Cmakelists文件后

catkin build

2.运行
找到串口

ls -l /dev/ttyACM*

或者

ls -l /dev/ttyUSB*

启动mavros节点
仿真:

roslaunch mavros px4.launch fcu_url:="udp://:14540@127.0.0.1:14557"

实际:

roslaunch mavros px4.launch fcu_url:=serial:///dev/ttyACM0:921600

具体要看哪个串口
打印/mavros/state话题

rostopic echo /mavros/state

五、其他
当PX4和MAVROS连接报错时:

FCU: DeviceError:serial:open: Permission denied

给对应的串口权限或者USB口权限:

sudo chmod 777 /dev/ttyACM0

多机时,修改/opt/ros/melodic/share/launch中的px4.launch文件添加命名空间

<launch>
<group ns="uav1">
...省略
</group>
</launch>

通过UDP的方式连接QGC:修改px4.launch文件

<arg name="gcs_url" default="udp://:14555@" />
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值