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模式。
地址:https://developer.nvidia.com
进去点:下载>>Jetson
在NVIDIA SDK Manager 中点:下载 SDK Manager
点击下载按钮开始下载(需要nvidia账户,可以使用QQ号、微信号、google号注册和登录)
下载完成之后,在下载目录里有对应的.deb文件
在.deb所在目录下打开终端输入:sudo apt install ./sdkmanager_1.3.1-7110_amd64.deb
注意吧.deb文件的名字换成自己的,等待安装完成
新打开一个终端,输入sdkmanager
进入登陆界面:
分为1、2、3三部分,第一部分是联网登录(有用),第二部分没用,第三部分是离线登录(有用),联网登录可以下载并安装,离线登录只能安装已经下载好的
首先在第一部分,点击登录,弹出默认浏览器的网页进行登录,默认浏览器最好设为Ubuntu自带的火狐浏览器
注意!!!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,说明安装完成
经过相当多次数的测试,以及查找资料、论坛等,Jstson TX2不支持PX4仿真环境的安装,所以Gazebo也不需要安装
给TX2换源,换清华的源,但是本身自带的源也要保留
跟虚拟机的ubuntu18.04安装完全一样,不详细介绍了,可以去看之前的帖子(https://blog.csdn.net/qq_43115954/article/details/113544187?spm=1001.2014.3001.5501)
这里rosdep update使用的新的方法,proxy代理,好用很多。
硬件:阿木实验室P200无人机
pixhawk4飞控
将Telem2串口通过串口转usb模块连接到tx2英伟达板卡上
此时串口设别名称为ttyUSB0
要测试通信 首先需要给串口设备设置权限
sudo chmod 777 /dev/ttyUSB*
然后运行阿木实验室提供的代码,px4_command功能包或者Prometheus项目,测试指点飞行。(https://github.com/amov-lab)
我这里先测试了px4_command功能包,这个功能包相对简单。后续也测试了Prometheus(这里的调试记录之后再写)
在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正常通信,实机飞行的图片没拍,可以看阿木的视频,都是一样的。