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

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

进入登陆界面:

Jetson Tx2配置PX4飞控实机开发环境_第1张图片

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

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

4、开始下载和安装

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

第一步

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

Jetson Tx2配置PX4飞控实机开发环境_第2张图片

在2处,选择Jetson TX2 P3310

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

第二步

点击CONTINUE进入第二步:

Jetson Tx2配置PX4飞控实机开发环境_第3张图片

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

第三步

Jetson Tx2配置PX4飞控实机开发环境_第4张图片

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

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

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

Jetson Tx2配置PX4飞控实机开发环境_第5张图片

开始刷机(这部分依然是账号登陆状态),且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

Jetson Tx2配置PX4飞控实机开发环境_第6张图片

继续安装,这一步虽然是离线模式,但是宿主机的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 连接测试

Jetson Tx2配置PX4飞控实机开发环境_第7张图片
Jetson Tx2配置PX4飞控实机开发环境_第8张图片

将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"' \

Jetson Tx2配置PX4飞控实机开发环境_第9张图片
这里要修改串口名称:/dev/ttyTHS2:921600修改为/dev/ttyUSB0:921600
然后保存退出
运行该脚本./test.sh

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

你可能感兴趣的:(无人机,自动驾驶)