欢迎树莓派
这里在树莓派上通过安装ubuntu20操作系统,在配置ros_noetic环境,最后安装mavros以实现对无人机的控制。如有不足之处,请指出,方便及时改正,谢谢。
平台工具
这里使用到的平台如下:
搭建好外网环境的台式或者笔记本一台(外网环境由于国内政策,只能提供关键字"iguge");
一台树莓派3b或者3b+(我这里使用的是树莓派3b);
一台显示器、键盘、鼠标;
首先下载树莓派64位版本的ubuntu20 server。
然后使用Etcher將刚下载的镜像刻录到SD卡中。
將数莓派连接到路由器,通过路由器查看ip,然后使用ssh ubuntu@ip的方式登陆(这里推荐MobaXterm软件)。
也可以使用显示器和键盘等进行操作。
开机启动后的默认密码为:ubuntu, 然后需要再次输入默认密并且重新创建一个密码。
在开始前建议先安装vim(只是不习惯使用其自带的vi):
sudo apt install vim -y
##Ubuntu20 server换源
使用sudo vi /etc/apt/sources.list命令將以下内容粘贴到该文件中.
(终端窗口下,复制快捷键Ctrl+Insert, 粘贴Shift+Insert)
# 默认注释了源码仓库,如有需要可自行取消注释
deb https://mirrors.ustc.edu.cn/ubuntu-ports/ focal main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu-ports/ focal main main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu-ports/ focal-security main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu-ports/ focal-security main restricted universe multiverse
使用sudo apt update && sudo apt upgrade -y更新软件源和软件包。
连接wifi
这里推荐该网友的文章。
安装ros
ros安装官网链接,该网址需要科学上网(在此从官网摘抄一下)。
添加packages.ros.org软件链接
这里使用其国内镜像,以下选择其一即可。
USTC:
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'
Tsinghua University:
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
Beijing Foreign Studies University:
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.bfsu.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
Shanghai Jiao Tong University:
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.sjtug.sjtu.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
添加keys
sudo apt install curl # if you haven't already installed curl
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
更新软件源:
sudo apt update
开始安装ros,以下命令选择其一即可:
完整桌面版安装(Everything in Desktop plus 2D/3D simulators and 2D/3D perception packages):
sudo apt install ros-noetic-desktop-full -y
普通桌面安装(Everything in ROS-Base plus tools like rqt and rviz):
sudo apt install ros-noetic-desktop -y
基础版安装(ROS packaging, build, and communication libraries. No GUI tools):
sudo apt install ros-noetic-ros-base -y
添加环境变量:
bash:
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
安装需要的依赖:
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
安装rosdep:
sudo apt install python3-rosdep
初始化rosdep:
sudo rosdep init
rosdep update
这一步需要科学上网,正常运行输出结果如下:
ubuntu@ubuntu:~$ sudo rosdep init
Wrote /etc/ros/rosdep/sources.list.d/20-default.list
Recommended: please run
rosdep update
ubuntu@ubuntu:~$ rosdep update
reading in sources list data from /etc/ros/rosdep/sources.list.d
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml
......
如果这两步不能正常运行,但是可以成功运行roscore的话,我目前没有发现有太大影响,欢迎广大网友补充。
到此,已经完成了ros安装。
安装mavros
这里为使用二进制安装,原文参考。
sudo apt-get install ros-noetic-mavros ros-noetic-mavros-extras
wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh
sudo bash ./install_geographiclib_datasets.sh
这里下载会比较慢,并且可能会出现错误,多运行几次。
正确安装后如图最后一次,到此mavros已经安装好了。
#udp连接
roslaunch mavros px4.launch fcu_url:="udp://:14540@192.168.1.36:14557"
sitl仿真
roslaunch mavros px4.launch fcu_url:="udp://:14540@127.0.0.1:14557"
#串口或者usb连接
roslaunch mavros px4.launch fcu_url:="serial:///dev/ttyUSB0:115200"
#串口波特率在921600可能会连接不上
可以直接编写该文件下的接口实现永久配置
/opt/ros/noetic/share/mavros/launch/px4.launch