Jetson Tx2配置PX4飞控实机开发环境

2023-05-16

Jetson Tx2使用

设备

  • Jetson Tx2板卡(原装或者底板加核心板)
  • 带Ubuntu系统电脑或者虚拟机
  • Tx2原装数据线
  • HDMI显示器
  • 鼠标键盘

刷机

参考链接

1、【使用NVIDIA SDK Manager刷机NVIDIA Jetson TX2开发套件记录_hlld_的博客-CSDN博客】

https://blog.csdn.net/hlld__/article/details/107418100

2、【Jetson TX2 刷机教程(JetPack4.2版本)_幸福回头的博客-CSDN博客_tx2刷机】

https://blog.csdn.net/zt1091574181/article/details/88847775

流程

给TX2配一套显示器、键盘、鼠标

tx2数据线连接ubuntu18.04虚拟机或者电脑

前提

将TX2置为recovery模式:单击开机键>>长按RECOVERY键不松,同时按下RST键>>稍等一两秒松开REC键,然后松开RECOVERY。使用数据线连接TX2到电脑,电脑有新设备显示即为进入recovery模式。

1、下载nvidia官方的SDKmanager

地址:https://developer.nvidia.com

进去点:下载>>Jetson

在NVIDIA SDK Manager 中点:下载 SDK Manager

点击下载按钮开始下载(需要nvidia账户,可以使用QQ号、微信号、google号注册和登录)

下载完成之后,在下载目录里有对应的.deb文件

2、安装SDKmanager

在.deb所在目录下打开终端输入:sudo apt install ./sdkmanager_1.3.1-7110_amd64.deb

注意吧.deb文件的名字换成自己的,等待安装完成

3、运行SDKmanager

新打开一个终端,输入sdkmanager

进入登陆界面:

在这里插入图片描述

分为1、2、3三部分,第一部分是联网登录(有用),第二部分没用,第三部分是离线登录(有用),联网登录可以下载并安装,离线登录只能安装已经下载好的

首先在第一部分,点击登录,弹出默认浏览器的网页进行登录,默认浏览器最好设为Ubuntu自带的火狐浏览器

4、开始下载和安装

注意!!!ubuntu全程连接网络,后面配置Tx2的ubuntu系统,Tx2也需要联网

第一步

登陆进去之后进入第一步:

在这里插入图片描述

在2处,选择Jetson TX2 P3310

在3处选择JetPack的版本,JetPack4.4.1自带ubuntu18.04(建议JetPack包不要选择太新的,后续安装环境很多依赖不支持,还找不到原因)(我这里选择的JetPack4.4.1版本,目前没有发现问题)

第二步

点击CONTINUE进入第二步:

在这里插入图片描述

第二步中,1处表示安装在宿主机上的内容(Ubuntu18.04的电脑或虚拟机),在2、3处打勾,并选择继续

第三步

在这里插入图片描述

等待HOST COMPONENTS、Jetson OS、Jetson SDK Components下载完成

现在依然是登陆状态,不要退出登陆

接下来,将Tx2使用usb线连接ubuntu,只勾选Jetson OS (上面HOST COMPONENTS是默认必选的)

在这里插入图片描述

开始刷机(这部分依然是账号登陆状态),且Tx2要使用HDMI线连接显示器

等待完成

完成之后,显示器会显示ubuntu初始化界面,便进行配置,这一步跟虚拟机里面的ubuntu一样

配置完后,不要更新Tx2的ubuntu,不要做任何操作,进行下一步

第四步

Jetson OS全部完成,开始安装Jetson SDK Components的时候,保持TX2的状态和与宿主机的连接状态不变,TX2需要联网,宿主机会弹出提示框,在提示框中会自动获取TX2的IP,输入TX2的账号和密码,开始安装,直至安装完成。可以选择自动或者手动模式,这里选择手动模式,这里需要进去recovery模式,见下面如何进入。

将登陆SDK的账号退出,选择3离线模式(OFFLINE),保持usb数据线连接ubuntu

这时候会自动

只勾选Jetson SDK Components

在这里插入图片描述

继续安装,这一步虽然是离线模式,但是宿主机的ubuntu必须联网,不然会一直失败,应该中在安装过程中会下载一些东西。

直到结束,中间会出错,出错就重来。

注意:在下载过程中如果网络不好(校园网就不好),很多文件会下载失败,需要多下载几次。

进入第三步,安装Jetson OS的时候,会弹出提示框,可以选择手动模式和自动模式,自动模式需要TX2的板子联网,通过网络与宿主机连接,建议选择手动模式,只需要一根USB连接线即可。

注意:在离线安装过程中,因为东西太多也会经常安装错误,需要注意的是上图中红线画的Jetson OS如果安装成功一次的话,重新开始的时候,需要将这里的勾取消掉,只安装下边的Jetson SDK Components 。

如果全部显示Installed,说明安装完成

UAV PX4实机开发环境搭建(基于TX2 18.04)

经过相当多次数的测试,以及查找资料、论坛等,Jstson TX2不支持PX4仿真环境的安装,所以Gazebo也不需要安装
给TX2换源,换清华的源,但是本身自带的源也要保留

ROS & MAVROS安装

跟虚拟机的ubuntu18.04安装完全一样,不详细介绍了,可以去看之前的帖子(https://blog.csdn.net/qq_43115954/article/details/113544187?spm=1001.2014.3001.5501)
这里rosdep update使用的新的方法,proxy代理,好用很多。

UAV TX2 18.04实机调试与开发

		硬件:阿木实验室P200无人机
					pixhawk4飞控

telem2串口<–>Jetson TX2 连接测试

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

将Telem2串口通过串口转usb模块连接到tx2英伟达板卡上

此时串口设别名称为ttyUSB0

要测试通信 首先需要给串口设备设置权限

sudo chmod 777 /dev/ttyUSB*

然后运行阿木实验室提供的代码,px4_command功能包或者Prometheus项目,测试指点飞行。(https://github.com/amov-lab)
我这里先测试了px4_command功能包,这个功能包相对简单。后续也测试了Prometheus(这里的调试记录之后再写)

telem2串口<–>Jetson TX2 连接测试

在home目录下创建一个名为 “px4_ws” 的工作空间

mkdir -p ~/px4_ws/src

cd ~/px4_ws/src

catkin_init_workspace

大部分时候,需要手动进行source,打开一个新终端

gedit .bashrc

在打开的bashrc.txt文件中添加 source /home/$(your computer name)/px4_ws/devel/setup.bash

下载并编译 px4_command 功能包

cd ~/px4_ws/src

git clone https://github.com/amov-lab/px4_command

cd ..

catkin_make
现在px4_command功能包就编译完成了。

在/px4_ws/src/px4_command/sh文件夹下,有阿木写好的很多脚本。
我们新建一个test.sh脚本,打开并输入以下内容

gnome-terminal --window -e 'bash -c "roscore; exec bash"' \
--tab -e 'bash -c "sleep 5; roslaunch mavros px4.launch fcu_url:="/dev/ttyTHS2:921600"; exec bash"' \
--tab -e 'bash -c "sleep 5; roslaunch px4_command px4_pos_estimator.launch; exec bash"' \
--tab -e 'bash -c "sleep 5; roslaunch px4_command px4_pos_controller.launch; exec bash"' \
--tab -e 'bash -c "sleep 5; rosrun px4_command move; exec bash"' \

在这里插入图片描述
这里要修改串口名称:/dev/ttyTHS2:921600修改为/dev/ttyUSB0:921600
然后保存退出
运行该脚本./test.sh

可以看到飞控和tx2正常通信,实机飞行的图片没拍,可以看阿木的视频,都是一样的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jetson Tx2配置PX4飞控实机开发环境 的相关文章

随机推荐

  • PX4系统学习

    PX4系统学习 扑翼飞行器的硬件组成飞控板电调电调的分类 舵机 扑翼飞行器的硬件组成 要了解学会二次开发首先要知道 xff0c 手头的飞行器的硬件结构 以及各个部分的结构是有何种作用的 xff0c 这样才能在根本上了解编程逻辑 xff0c
  • rostopic echo --noarr查看激光雷达数据详细信息(如frame_id)

    用rostopic echo 激光雷达话题名查看激光雷达返回的数据 xff0c 除了数字什么也显示不出来 想要查看激光雷达数据的frame id等信息 xff0c 加上 noarr参数即可 xff0c 排除话题数据中的数组信息 如图二所示
  • Django基本数据访问

    当需要操作数据时 xff0c 不再需要通过SQL语句 xff0c Django自动为这些模型提供了高级的Python API 接下来联系数据库表的操作 xff0c 运行manage py提供的shell语句 guest gt python3
  • SVO2.0 安装编译

    SVO2 OPEN https github com uzh rpg rpg svo pro open git挂梯子 https blog csdn net qq 33349365 article details 101514412 如果各
  • k8s(一)—pod管理、资源清单编写

    1 pod管理 k8s官方文档 root 64 server2 kubectl run nginx image 61 nginx 运行一个容器 xff0c 镜像为nginx pod nginx created root 64 server2
  • k8s(三)—控制器(replicaset、deployment、daemonset、job、cronjob)

    1 控制器简介 2 Replicaset控制器 root 64 server2 vim rs yaml apiVersion apps v1 kind ReplicaSet metadata name replicaset example
  • k8s(四)—service服务(暴露方式:ClusterIP、NodePort、LoadBalancer、ExternalName、ingress)

    1 service简介 2 开启kube proxy的ipvs root 64 server2 kubectl n kube system get pod grep proxy 每个节点都有haproxy kube proxy d6cp2
  • k8s(五)—容器间的网络通信

    1 同一节点不同pod之间的通信原理 root 64 server2 kubectl get pod o wide 查看pod 的ip NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NOD
  • k8s(七)—statefullset部署mysql主从集群

    1 使用statefullset部署mysql主从集群 mysql 0是master mysql 1和mysql 2是两个备份 当mysql写的时候 xff0c 找headless service中的mysql 0 mysql xff1b
  • k8s(十)— 资源限制(cpu、memory)

    1 k8s容器资源限制简介 2 k8s容器资源限制实施 2 1 内存限制示例 root 64 server1 docker search stress 搜索测试镜像stress NAME DESCRIPTION STARS OFFICIAL
  • k8s(十二)— HPA

    HPA官网 从最基本的角度来看 xff0c Pod 水平自动扩缩控制器根据当前指标和期望指标来计算扩缩比例 期望副本数 61 ceil 当前副本数 当前指标 期望指标 例如 xff0c 如果当前指标值为 200m xff0c 而期望值为 1
  • k8s(十四)—高可用集群部署

    1 部署k8s高可用原理图 2 清理环境 root 64 server2 helm kubectl drain server4 下线server4 root 64 server2 helm kubectl delete nodes serv
  • oracle数据库控制语言—DCL

    文章目录 1 授予系统权限1 1 授予创建其他对象权限 2 撤销系统权限2 1 示例 3 oracle 中的角色3 1 什么时角色3 2 创建角色并且授予权限给角色3 2 1 创建角色3 2 1 1 示例 3 2 2 授予权限给一个角色3
  • 软件测试 | Django插入数据

    gt gt gt from datetime import datetime gt gt gt el 61 Event id 61 2 name 61 39 红米 Pro 发布会 39 xff0c limit 61 2000 status
  • oracle数据库的导入与导出

    文章目录 1 oracle数据库导入与导出需要注意2 导出数据格式介绍3 传统方式exp 导出 xff09 和 xff08 imp xff09 导入3 1 命令执行方式3 2 命令格式3 3 导出数据3 3 1示例 3 4 导入数据3 4
  • oarcle — ANY和ALL、行列转换、递归查询

    文章目录 1 在多行子查询中用ANY运算符1 1 示例 2 在多行子查询中用ALL运算符2 1 示例 3 行列转换3 1 建表3 2 插数3 3 列传行3 3 1 union all 实现列传行3 3 2 oracle 自带函数 3 4 行
  • 嵌入式学习规划

    一 STM32的单片机 1 学习stm32开发板 1 1 流水灯 学习内容 xff1a xff1a 工程建立 xff0c 库的使用 1 2 AD采集 学习内容 xff1a xff1a 学习AD 1 3 串口 学习内容 xff1a xff1a
  • UAV Ubuntu18.04 PX4环境搭建

    Ubuntu18 04 PX4环境搭建 设备 VMware WorkStation16 0pro Ubuntu18 04 虚拟机 参考链接 XTDrone团队的 xff1a 仿真平台基础配置 xff08 PX4 1 11版 xff09 ht
  • 无人机遥控器使用说明

    遥控器使用说明 21 06 09 激光雷达避障使用时候设置的通道 开机前检查 所有拨码开关拨到最上方 SWA SWB两个开关 暂时没用 主要使用SWC和SWD 开机 同时按下两个开机键开机 模式说明 现在使用的模式主要设置了四个 红框 SW
  • Jetson Tx2配置PX4飞控实机开发环境

    Jetson Tx2使用 设备 Jetson Tx2板卡 xff08 原装或者底板加核心板 xff09 带Ubuntu系统电脑或者虚拟机Tx2原装数据线HDMI显示器鼠标键盘 刷机 参考链接 1 使用NVIDIA SDK Manager刷机