Pixhawk RPi CM4 Baseboard 树莓派CM4安装Ubuntu20.04 server 配置ros mavros mavsdk

article/2025/9/29 6:17:54

文章目录

  • 硬件
  • 安装Ubuntu Server20.04
    • 下载rpiboot工具
    • 下载imager
    • 刷写系统
    • 配置USB
    • 配置WIFI
  • 开机安装桌面
  • 配置wifi
  • 配置串口
  • 安装ROS
  • 安装mavros
  • 安装MAVSDK-Python
  • Internet设置
  • 最后

参考:
https://docs.holybro.com/autopilot/pixhawk-baseboards/pixhawk-rpi-cm4-baseboard

硬件

自己要买个树莓派cm4
建议是买带wifi和emmc版本的
此外袋子里面还有四个螺丝用来固定树莓派
在这里插入图片描述
侧面有一个开关,用来切换rpi/emmc
拨到rpi,配合rpiboot可以用来刷系统
刷完了拨到emmc就正常启动系统

安装Ubuntu Server20.04

下载rpiboot工具

Linux下面

sudo apt install libusb-1.0-0-dev
git clone --depth=1 https://github.com/raspberrypi/usbboot
cd usbboot
make
sudo ./rpiboot

Windows下面
这里下载

下载imager

imager

根据系统选择

刷写系统

把开关拨到rpi
用usb接cm4 slave到电脑
根据Windows/Linux运行rpiboot
在这里插入图片描述

cm4一侧的ACT和PWR灯会亮
在这里插入图片描述
然后打开imager,general purpose,Ubuntu,选择这个系统
在这里插入图片描述
这个要下载一会,也可以在这里下载https://cdimage.ubuntu.com/releases/focal/release/
下图这个,是64位的
在这里插入图片描述
然后在imager里面选自定义或者custom
在这里插入图片描述
然后选择树莓派烧录
在这里插入图片描述
再点击右下角齿轮,配置ssh用户名和密码,作为Ubuntu登录的用户名密码
wifi配置无所谓,反正不好使

烧录,需要二十分钟差不多

配置USB

在Linux下面可以访问boot盘(可能要再跑一次rpiboot)
在这里插入图片描述

在usercfg.txt里面添加

dtoverlay=dwc2,dr_mode=host

不然usb不会启动,CM4 Host的两个Type-C口不能外接设备

配置WIFI

在这里插入图片描述
写入:

wifis:wlan0:dhcp4: trueoptional: trueaccess-points:"你wifi的名字":password: "你wifi的密码"hidden: true

如果wifi可见,hidden就删了
可以参考这俩文章:
树莓派安装Ubuntu server无屏幕开机自动连接WIFI
树莓派4B安装Ubuntu Server20.04(18.04)连接wifi(对于ubuntu server 99%适用)
其中第二篇文章很有用,安装完图形化界面后还要设置wifi

开机安装桌面

断电,把开关拨到emmc,连接micro HDMI口到显示器,然后再用usb电源插入cm4 slave(电脑可能功率不足
此处要注意,先上电树莓派,启动后再上电fc的Type-C口给飞控和风扇供电,不然可能开机乱码
用电脑或者其他的开一个2.4G的wifi给cm4用
登录用户
安装桌面

sudo apt-get install ubuntu-desktop

然后重启,接个鼠标什么的到cm4 host

配置wifi

/etc/netplan/nano 50-cloud-init.yaml里面删干净,不然图形化界面看不到wifi列表

$ sudo netplan -debug try
$ sudo netplan -debug generate
$ sudo netplan -debug apply
$ reboot

如果用蓝牙

sudo apt-get install pi-bluetooth

配置串口

文档里面的raspi-config不好使!
所以要手动设置才行

ls -l /dev

可以看到串口列表,其中有两个是这样,目标是把他俩调换一下,serial0对应ttyAMA0
在这里插入图片描述

去/boot/firmware下面
找config.txt
修改:

enable_uart=1
dtoverlay=miniuart-bt.dtbo
cmdline=cmdline.txt

此处相当于用miniuart替换给了蓝牙
再找cmdline.txt
将console=ttyAMA0(或者serial0),115200的语句删除,改成这个样子

elevator=deadline net.ifnames=0 dwc_otg.lpm_enable=0 console=tty1 root=LABEL=writable rootfstype=ext4 rootwait fixrtc quiet splash

此处相当于关掉了串口的console
然后重启,就变换了
在这里插入图片描述
查看串口配置

stty -F /dev/ttyAMA0 -a  #ttyAMA0为要查看的串口

配置串口

stty -F /dev/ttyAMA0 ispeed 921600 ospeed 921600 cs8

更改串口的权限,username可以在terminal输入whoami查看

sudo usermod -aG dialout username

可以安装一个cutecom,如果不用sudo就能打开这个串口,就证明配置好了

安装ROS

先在~/.bashrc里面配置代理,代理自寻,不然ros安装就是噩梦

export https_proxy=http://127.0.0.1:7890
export http_proxy=http://127.0.0.1:7890
export all_proxy=socks5://127.0.0.1:7890

继续安装

# 添加ros软件源
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'# 如果没有安装curl
sudo apt install curl# 设置密钥
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -# 更新软件源
sudo apt update# 安装ros
sudo apt install ros-noetic-desktop-full# 设置环境变量 
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc# 运行该脚本,让环境变量生效
source ~/.bashrc# 安装开发ROS必要的package
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential# 初始化
sudo rosdep init
rosdep update

运行roscore能得到下面这个就成功了
在这里插入图片描述

安装mavros

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

参考文档配置pixhawk6x的telem2

- MAV_1_CONFIG: 102
- MAV_1_MODE: 2
- SER_TEL2_BAUD: 921600

运行mavros

roslaunch mavros px4.launch fcu_url:="/dev/ttyAMA0:921600"

得到
在这里插入图片描述

安装MAVSDK-Python

python3 -m pip install mavsdk
https://github.com/mavlink/MAVSDK-Python.git
cd MAVSDK-Python
sudo python3 setup.py install
sudo python3 setup.py build

然后进入example文件夹,修改一个文件,我用的是all_params.py

system_address="udp://:14540"

改为

system_address="serial:///dev/ttyAMA0:921600"

运行

python3 all_params.py

在这里插入图片描述

不知道为何我每次都得先install一下才可以

Internet设置

参考文档即可

最后

推荐一波obs studio配MS2130采集卡开发cm4,这个卡不到¥100就能1080p 60hz采集,良心的很
在这里插入图片描述


http://chatgpt.dhexx.cn/article/UoASMJ0F.shtml

相关文章

Pixhawk系列飞控状态通知

转载自:https://blog.csdn.net/weixin_44917390/article/details/107413663 多旋翼飞行器设计与控制Pixhawk系列飞控状态通知(笔记003) 手可摘星辰不敢高声语 2020-07-17 18:51:23 572 收藏 5 分类专栏: PX4 最后发布:2020-0…

PixHawk飞控和QGroundControl地面站安装调试

QGroundControl下载https://docs.qgroundcontrol.com/master/en/getting_started/download_and_install.html本博主下载及安装的为Mac OSX版本:QGroundControl.dmg. 一、PixHawk飞控配置安装及配置 switch 安全开关; buzzer 蜂鸣器,telem1数传; gpsl2C GPS ,power …

Pixhawk Support Package

一、 https://ww2.mathworks.cn/hardware-support/px4-autopilots.html 二、 https://download.csdn.net/download/jonelly/11504800 此版本的支持包与MatlabR2017a和R2017b兼容。它也工作在MatlabR2018a的外部模式功能的限制。若要使用此支持包,请遵循以下说明&…

树莓派与pixhawk串口通信

一、Pixhawk部分 1.读取数据测试 步骤: 在Firmware/src/modules中添加一个新的文件夹,命名为rw_uart在rw_uart文件夹中创建CMakeLists.txt文件,并输入以下内容: px4_add_module(MODULE modules__rw_uartMAIN rw_uartCOMPILE_F…

【四旋翼】pixhawk2.4.8-地面站配置-APM固件-四旋翼从装机到试飞

文章目录 整体流程图:相关网址汇总:入门常识:一、硬件准备二、软件准备1 已实飞测试2 MP地面站 任意版本下载:3 APM固件 任意版本下载: 三、飞控校准1 刷固件2 机架选择3 加速度计校准4 指南针校准5 遥控器校准6 飞行模…

TFmini Plus 在开源飞控 pixhawk 上的应用

TFmini Plus 在开源飞控 pixhawk 上的应用 TFmini Plus 可以直接连接 Pixhawk 的串口使用。飞行器可以使用 TFmini Plus 来实现定高或 者避障功能。本文档适用于 pixhawk ArduCopter V3.6.2 或更高版固件(注:雷达在 V3.6.2 及以上 固件使用标准输出格式即可,无需使用 PIX 模…

Windows下的pixhawk环境搭建

官网详细介绍:http://ardupilot.org/dev/docs/editing-the-code-with-eclipse.html 提示:GitHub没有写使用过程,如何而简历仓库。具体网上有教程,如果英语好可以去官网自行翻译,安装适合自己操作系统的开发环境&#…

Pixhawk参数调整

Pixhawk copter固件的默认参数是为3DR QUAD COPTER设计的。如果你想获得一个最佳的飞行表现的话。你需要对一些参数做一些调整。调整的参数主要是Extended Tuning下面的Roll和Pitch的PID,来获得稳定的姿态。 在copter的参数调整里边比较重要的参数主要是Roll、Pitch、yaw、…

飞控pixhawk硬件框架

本文转载于:https://blog.csdn.net/csshuke/article/details/78952026  1.Phxhawk连接线路 2.Phxhawk硬件芯片列表 处理器 STM32F427 VIT6 (168 Mhz/256 KB RAM/2 MB 闪存 100Pin)32位 STM32F100C8T6 (48Pin)故障保…

Pixhawk的历史

发展历程:APM-->PX4FMU/IO-->Pixhawk: 1、Arduino简介 Arduino就是主要以以AVR单片机为核心控制器的单片机应用开发板(当然也有其他核心的例如STM32版本的但是不是官方的,还有intel的伽利略),或者是学…

pixhawk 学习笔记

1.pixhawk4硬件: Main FMU Processor: STM32F765 32 Bit Arm Cortex-M7, 216MHz, 2MB memory, 512KB RAMIO Processor: STM32F100 32 Bit Arm Cortex-M3, 24MHz, 8KB SRAMOn-board sensors: Accel/Gyro: ICM-20689Accel/Gyro: BMI055Magnetometer: IST8310Baromete…

pixhawk计算机无法识别,PIXHAWK教程 3.1.2 连接你的遥控输入和电机(Pixhawk)

连接你的遥控输入和电机(Pixhawk) 目录 连接你的遥控输入和电机(Pixhawk) 连接蜂鸣器和安全开关 连接其他外部设备 连接遥控输入 连接电机输入 安装螺旋桨 顺时针和逆时针桨的识别 连接蜂鸣器和安全开关 蜂鸣器和安全开关依附于Pixhawk。 分别连接到蜂鸣器和开关端口。 连接其他…

pixhawk连接到nvidia xavier

实物是bluerov。固件是ardusub, https://www.ardusub.com/ 上图中右下角蓝usb一端接pixhawk,另外一端接xavier。xavier上运行 $ls /dev/ttyA* 会增加设备/dev/ttyACM0 在xavier端安装好各种mavlink mavproxy 软件包。 $ xargs -a "/home/pcl/mavproxy…

Pixhawk6c编译

以前一直用pixhawk4以及4mini,版本1.11,这两款目前停产,6x也快停产,没什么货源了。只能试试6c。 一:下载 流程:按照官网的流程,先git clone 输入: git clone https://github.com/…

pixhawk使用WiFi模块

pixhawk使用WiFi 前期准备刷固件安装刷固件软件进入刷固件模式下载固件刷固件 使用接线飞控参数更改使用方法 在使用pixhawk的时候有时候在无人机上不方便搭载处理器,这个时候进行外部控制。或者QGC有线方式连接无人机不方便的时候就需要通过WiFi来连接了。 使用ESP…

pixhawk学习

原文转载至https://blog.csdn.net/u013181595/article/details/80976610 1硬件架构分析 Pixhawk是一款基于ARM芯片的32位开源飞控,由ETH的computer vision and geometry group的博士生Lorenz Meier开发。最初采用的是分体式的设计即px4(由px4fmu和px4io…

使用者——初见Pixhawk

是什么 Pixhawk简单介绍 直接使用二次开发 Pixhawk总体概述怎么用 Pixhawk初次使用 搭建调试环境初始化配置测试试飞调整参数提高性能 (是什么) Pixhawk简单介绍 PixHawk是著名飞控厂商3DR推出的新一代独立、开源、高效的飞行控制器,前身为APM飞控&…

Pixhawk基础—认识Pixhawk

Pixhawk简介 pixhawk是由3DR联合APM小组与PX4小组于2014年推出的飞控PX4的升级版,它同时拥有PX4和APM两套固件和相应的地面站软件。该飞控是目前全世界飞控产品中硬件规格最高的产品。 Pixhawk基础 端口介绍 1、Spektrum DSM receiver(Spektrum DSM信号转换为PWM…

pixhawk入门知识

Pixhawk是一种先进的自动驾驶仪,由PX4开放硬件项目设计和3D机器人制造。它具有来自ST公司先进的处理器和传感器技术,以及NuttX实时操作系统,能够实现惊人的性能,灵活性和可靠性控制任何自主飞行器。Pixhawk旗舰版模块将伴随着新的…

实验室无人机平台 Pixhawk 2.4.8 / PX4 v1.9.2

实验室无人机平台及相关应用 无人机平台 目录 实验室无人机平台及相关应用无人机平台1. 硬件1.1 无人机本体1.1.1 四旋翼无人机机架1.1.2 Pixhawk 2.4.8 飞控板1.1.3 电调1.1.4 分电板1.1.5 锂电池1.1.6 电机1.1.7 遥控模块 1.2 机载电脑与传感器1.2.2 激光雷达1.2.3 双目相机…