Leetop Jetson Cloud Demo 7

Isaac ROS Dev Base Container

l Isaac ROS Pose Estimation

此demo将使用NVIDIA GPU加速包为3D对象姿态预估做加速。使用深度学习的姿态估计模型和单目相机,isaac_ros_dope和isaac-ros_ centerpose包可以实现估计目标对象的6自由度姿态。

l 配置环境

  1. 下载源码包
$ mkdir -p ~/workspaces/isaac_ros-dev/src

$ cd ~/workspaces/isaac_ros-dev/src

$ git clone [https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_common](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_common)

$ git clone [https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_nitros](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_nitros)

$ git clone [https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_pose_estimation](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_pose_estimation)

$ git clone https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_dnn_inference
  1. 下载ROS Bag数据包
$ cd ~/workspaces/isaac_ros-dev/src/isaac_ros_pose_estimation && \

 git lfs pull -X "" -I "resources/rosbags/"
  1. 运行run_dev.sh脚本搭建Docker容器
$ cd ~/workspaces/isaac_ros-dev/src/isaac_ros_common && \

 ./scripts/run_dev.sh
  1. 在Docker容器里创建模型存放目录
$ mkdir -p /tmp/models/
  1. 在DOPE GitHub下载本例程使用的Ketchup.pth模型,在PC(x86_64)机上将模型转成onnx文件,然后存放于Docker里的/tmp/models/目录中
## 注意:此步骤在PC端执行

$ python3 /workspaces/isaac_ros-dev/src/isaac_ros_pose_estimation/isaac_ros_dope/scripts/dope_converter.py --format onnx --input /tmp/models/Ketchup.pth

## 注意:此步骤在Jetson执行,假设onnx模型放于~/Downloads

$ cd ~/Downloads && \

docker cp Ketchup.onnx isaac_ros_dev-aarch64-container:/tmp/models

l 编译 && 运行

  1. 进入上面搭建好的Dokcer容器
$ cd ~/workspaces/isaac_ros-dev/src/isaac_ros_common && \

 ./scripts/run_dev.sh
  1. 编译并在workspaces目录中配置
$ cd /workspaces/isaac_ros-dev && \

 colcon build --symlink-install && \

 source install/setup.bash

Note: 可运行 colcon test --executor sequential 以验证编译安装的完整性和正确性

  1. 运行以下启动文件以启动此软件包的演示:

执行isaac_ros_dope

$ ros2 launch isaac_ros_dope isaac_ros_dope_tensor_rt.launch.py model_file_path:=/tmp/models/Ketchup.onnx engine_file_path:=/tmp/models/Ketchup.plan

打开另一个终端窗口,并进入Docker容器

$ cd ~/workspaces/isaac_ros-dev/src/isaac_ros_common && \

 ./scripts/run_dev.sh

然后运行ROS bag

$ ros2 bag play -l src/isaac_ros_pose_estimation/resources/rosbags/dope_rosbag/
  1. 打开第三个终端窗口并进入Docker查看pose信息
$ cd ~/workspaces/isaac_ros-dev/src/isaac_ros_common && \

 ./scripts/run_dev.sh

$ ros2 topic echo /poses

Note: 当前显示的/poses是从/dope/pose_array这个原始topic获取的poses信息

  1. 使用rviz2显示pose数据

在第三个进入Docker的终端里输入

$ rviz2

此时将出现rviz2工具的窗口界面:

image.png

然后点击Add按钮,在By topic 里的PoseArray下选择/poses选项,确保将固定帧更新为摄像机。最后,可通过改变ShapeAxes信息来更新显示位置。
Note: 为了获得最佳效果,请将输入图像裁剪或调整大小,使其与DNN模型所期望的尺寸相同

支持如下的设备:
Module Jetpack config Software other SW HW
Orin devkit module 35.0 EA V2 default DS + Full Jetpack + Pytorch + TF Todesk NV devkit
Orin 32G 35.0 EA V2 default DS + Full Jetpack + Pytorch + TF Todesk NV devkit
Orin devkit module 35.0 EA V2 default DS + Full Jetpack + Pytorch + TF Todesk Leetop carry board
Orin 32G 35.0 EA V2 default DS + Full Jetpack + Pytorch + TF Todesk Leetop carry board
Orin devkit 35.0 EA V2 Orin nx 16G DS + Full Jetpack + Pytorch + TF Todesk
Orin devkit 35.0 EA V2 Orin nx 8G DS + Full Jetpack + Pytorch + TF Todesk
Xavier devkit module 35.0 EA V2 default DS + Full Jetpack + Pytorch + TF Todesk NV devkit
Xavier 32G 35.0 EA V2 default DS + Full Jetpack + Pytorch + TF Todesk Leetop carry board
Xavier Industry 35.0 EA V2 default DS + Full Jetpack + Pytorch + TF Todesk Leetop carry board
Xavier Industry 35.0 EA V2 default DS + Full Jetpack + Pytorch + TF Todesk NV devkit
Xavier NX 35.0 EA V2 default DS + Full Jetpack + Pytorch + TF Todesk Leetop carry board
Xavier NX 16G 35.0 EA V2 default DS + Full Jetpack + Pytorch + TF Todesk Leetop carry board
Nano R 32.7.2 default DS + Full Jetpack + Pytorch + TF Todesk Leetop carry board
TX2 NX R 32.7.2 default DS + Full Jetpack + Pytorch + TF Todesk Leetop carry board
Xavier devkit module R 32.7.2 default DS + Full Jetpack + Pytorch + TF Todesk NV devkit
Xavier 32G R 32.7.2 default DS + Full Jetpack + Pytorch + TF Todesk Leetop carry board
Xavier Industry R 32.7.2 default DS + Full Jetpack + Pytorch + TF Todesk Leetop carry board
Xavier Industry R 32.7.2 default DS + Full Jetpack + Pytorch + TF Todesk NV devkit
Xavier NX R 32.7.2 default DS + Full Jetpack + Pytorch + TF Todesk Leetop carry board
Xavier NX 16G R 32.7.2 default DS + Full Jetpack + Pytorch + TF Todesk Leetop carry board

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342

推荐阅读更多精彩内容