Repository Summary
| Description | ROS 2 package for monitoring and controlling NVIDIA Jetson Platform resources |
| Checkout URI | https://github.com/nvidia-ai-iot/ros2_jetson_stats.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2024-01-08 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| jtop_services | 0.0.0 |
| ros2_jetson_stats | 0.0.0 |
README
ROS 2 jetson_stats
ROS2 wrapper for Jetson Stats (jtop)
This repository takes inspiration from ROS-jtop and creates package for ros2 (currently tested on eloquent)
Pre-requisite
ROS2 Eloquent Install Guide
Set up
- Install Jetson Stats:
```sudo -H pip install -U jetson-stats
2. Clone repo in ros2 workspace
``` cd dev_ws/src
``` <br/>
``` git clone https://github.com/NVIDIA-AI-IOT/ros2_jetson_stats.git
``` <br/>
3. Build
``` sudo rosdep install --from-paths ros2_jtop --ignore-src --rosdistro eloquent -y
``` <br/>
``` colcon build
``` <br/>
``` . install/setup.bash
```<br/>
### Usage
The basic usage consists of creating `diagnostics_msgs` and services for control fan mode/speed, setting up `jetson_clocks`, and power mode.
1. Run JTOP node: <br/>
``` ros2 run ros2_jetson_stats ros2_jtop
```<br/>
If you want to change frequency of JTOP messages, do following:<br/>
``` ros2 run ros2_jetson_stats ros2_jtop --ros-args -p interval:=0.2
```<br/>
*Note: JTOP frequency is from 0 - 1 range*
2. You can see diagnostic messages using following command:
``` sudo . install/setup.bash
``` <br/>
``` sudo . install/local_setup.bash
``` <br/>
``` ros2 run rqt_topic rqt_topic
``` <br/>
*Note: for default interval you will see message frequency ~2Hz if you change interval to 0.2 the message frequency will change to 6Hz*
3. To run JTOP services:<br/>
You will need to keep running
```ros2_jetson_stats
``` ; as shown in step 1. <br/>
A. Change Power Model:<br/>
Open new terminal <br/>
``` sudo . install/local_setup.bash
``` <br/>
```ros2 service call /jtop/nvpmodel jtop_services/srv/NVPModel "{nvpmodel: 0}"
``` <br/>
This will change power mode to
``` 15 W 2 Core
``` on Jetson Xavier NX
Following Message will appear on the terminal: <br/>
requester: making request: jtop_services.srv.NVPModel_Request(nvpmodel=2)
response:
jtop_services.srv.NVPModel_Response(power_mode='MODE_15W_2CORE')
B. Change Fan mode and Fan Speed:<br/>
Open new terminal <br/>
``` sudo . install/local_setup.bash
``` <br/>
```ros2 service call /jtop/fan jtop_services/srv/Fan "{mode: system, speed: 100}"
``` <br/>
This will change fan speed to 100; you can see Jetson Fan being turned on.
requester: making request: jtop_services.srv.Fan_Request(mode='system', speed=100)
response:
jtop_services.srv.Fan_Response(set_fan_mode='system', set_fan_speed=100)
```
C. Start Jetson Clocks:
Open new terminal <br/>
sudo . install/local_setup.bash
ros2 service call /jtop/jetson_clocks jtop_services/srv/JetsonClocks "{status: True}"
Other related ROS 2 projects
-
ros2_torch_trt : ROS2 Real Time Classification and Detection
-
ros2_deepstream : ROS2 nodes for DeepStream applications
-
ros2_trt_pose : ROS 2 package for “trt_pose”: real-time human pose estimation on NVIDIA Jetson Platform
CONTRIBUTING
Repository Summary
| Description | ROS 2 package for monitoring and controlling NVIDIA Jetson Platform resources |
| Checkout URI | https://github.com/nvidia-ai-iot/ros2_jetson_stats.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2024-01-08 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| jtop_services | 0.0.0 |
| ros2_jetson_stats | 0.0.0 |
README
ROS 2 jetson_stats
ROS2 wrapper for Jetson Stats (jtop)
This repository takes inspiration from ROS-jtop and creates package for ros2 (currently tested on eloquent)
Pre-requisite
ROS2 Eloquent Install Guide
Set up
- Install Jetson Stats:
```sudo -H pip install -U jetson-stats
2. Clone repo in ros2 workspace
``` cd dev_ws/src
``` <br/>
``` git clone https://github.com/NVIDIA-AI-IOT/ros2_jetson_stats.git
``` <br/>
3. Build
``` sudo rosdep install --from-paths ros2_jtop --ignore-src --rosdistro eloquent -y
``` <br/>
``` colcon build
``` <br/>
``` . install/setup.bash
```<br/>
### Usage
The basic usage consists of creating `diagnostics_msgs` and services for control fan mode/speed, setting up `jetson_clocks`, and power mode.
1. Run JTOP node: <br/>
``` ros2 run ros2_jetson_stats ros2_jtop
```<br/>
If you want to change frequency of JTOP messages, do following:<br/>
``` ros2 run ros2_jetson_stats ros2_jtop --ros-args -p interval:=0.2
```<br/>
*Note: JTOP frequency is from 0 - 1 range*
2. You can see diagnostic messages using following command:
``` sudo . install/setup.bash
``` <br/>
``` sudo . install/local_setup.bash
``` <br/>
``` ros2 run rqt_topic rqt_topic
``` <br/>
*Note: for default interval you will see message frequency ~2Hz if you change interval to 0.2 the message frequency will change to 6Hz*
3. To run JTOP services:<br/>
You will need to keep running
```ros2_jetson_stats
``` ; as shown in step 1. <br/>
A. Change Power Model:<br/>
Open new terminal <br/>
``` sudo . install/local_setup.bash
``` <br/>
```ros2 service call /jtop/nvpmodel jtop_services/srv/NVPModel "{nvpmodel: 0}"
``` <br/>
This will change power mode to
``` 15 W 2 Core
``` on Jetson Xavier NX
Following Message will appear on the terminal: <br/>
requester: making request: jtop_services.srv.NVPModel_Request(nvpmodel=2)
response:
jtop_services.srv.NVPModel_Response(power_mode='MODE_15W_2CORE')
B. Change Fan mode and Fan Speed:<br/>
Open new terminal <br/>
``` sudo . install/local_setup.bash
``` <br/>
```ros2 service call /jtop/fan jtop_services/srv/Fan "{mode: system, speed: 100}"
``` <br/>
This will change fan speed to 100; you can see Jetson Fan being turned on.
requester: making request: jtop_services.srv.Fan_Request(mode='system', speed=100)
response:
jtop_services.srv.Fan_Response(set_fan_mode='system', set_fan_speed=100)
```
C. Start Jetson Clocks:
Open new terminal <br/>
sudo . install/local_setup.bash
ros2 service call /jtop/jetson_clocks jtop_services/srv/JetsonClocks "{status: True}"
Other related ROS 2 projects
-
ros2_torch_trt : ROS2 Real Time Classification and Detection
-
ros2_deepstream : ROS2 nodes for DeepStream applications
-
ros2_trt_pose : ROS 2 package for “trt_pose”: real-time human pose estimation on NVIDIA Jetson Platform
CONTRIBUTING
Repository Summary
| Description | ROS 2 package for monitoring and controlling NVIDIA Jetson Platform resources |
| Checkout URI | https://github.com/nvidia-ai-iot/ros2_jetson_stats.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2024-01-08 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| jtop_services | 0.0.0 |
| ros2_jetson_stats | 0.0.0 |
README
ROS 2 jetson_stats
ROS2 wrapper for Jetson Stats (jtop)
This repository takes inspiration from ROS-jtop and creates package for ros2 (currently tested on eloquent)
Pre-requisite
ROS2 Eloquent Install Guide
Set up
- Install Jetson Stats:
```sudo -H pip install -U jetson-stats
2. Clone repo in ros2 workspace
``` cd dev_ws/src
``` <br/>
``` git clone https://github.com/NVIDIA-AI-IOT/ros2_jetson_stats.git
``` <br/>
3. Build
``` sudo rosdep install --from-paths ros2_jtop --ignore-src --rosdistro eloquent -y
``` <br/>
``` colcon build
``` <br/>
``` . install/setup.bash
```<br/>
### Usage
The basic usage consists of creating `diagnostics_msgs` and services for control fan mode/speed, setting up `jetson_clocks`, and power mode.
1. Run JTOP node: <br/>
``` ros2 run ros2_jetson_stats ros2_jtop
```<br/>
If you want to change frequency of JTOP messages, do following:<br/>
``` ros2 run ros2_jetson_stats ros2_jtop --ros-args -p interval:=0.2
```<br/>
*Note: JTOP frequency is from 0 - 1 range*
2. You can see diagnostic messages using following command:
``` sudo . install/setup.bash
``` <br/>
``` sudo . install/local_setup.bash
``` <br/>
``` ros2 run rqt_topic rqt_topic
``` <br/>
*Note: for default interval you will see message frequency ~2Hz if you change interval to 0.2 the message frequency will change to 6Hz*
3. To run JTOP services:<br/>
You will need to keep running
```ros2_jetson_stats
``` ; as shown in step 1. <br/>
A. Change Power Model:<br/>
Open new terminal <br/>
``` sudo . install/local_setup.bash
``` <br/>
```ros2 service call /jtop/nvpmodel jtop_services/srv/NVPModel "{nvpmodel: 0}"
``` <br/>
This will change power mode to
``` 15 W 2 Core
``` on Jetson Xavier NX
Following Message will appear on the terminal: <br/>
requester: making request: jtop_services.srv.NVPModel_Request(nvpmodel=2)
response:
jtop_services.srv.NVPModel_Response(power_mode='MODE_15W_2CORE')
B. Change Fan mode and Fan Speed:<br/>
Open new terminal <br/>
``` sudo . install/local_setup.bash
``` <br/>
```ros2 service call /jtop/fan jtop_services/srv/Fan "{mode: system, speed: 100}"
``` <br/>
This will change fan speed to 100; you can see Jetson Fan being turned on.
requester: making request: jtop_services.srv.Fan_Request(mode='system', speed=100)
response:
jtop_services.srv.Fan_Response(set_fan_mode='system', set_fan_speed=100)
```
C. Start Jetson Clocks:
Open new terminal <br/>
sudo . install/local_setup.bash
ros2 service call /jtop/jetson_clocks jtop_services/srv/JetsonClocks "{status: True}"
Other related ROS 2 projects
-
ros2_torch_trt : ROS2 Real Time Classification and Detection
-
ros2_deepstream : ROS2 nodes for DeepStream applications
-
ros2_trt_pose : ROS 2 package for “trt_pose”: real-time human pose estimation on NVIDIA Jetson Platform
CONTRIBUTING
Repository Summary
| Description | ROS 2 package for monitoring and controlling NVIDIA Jetson Platform resources |
| Checkout URI | https://github.com/nvidia-ai-iot/ros2_jetson_stats.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2024-01-08 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| jtop_services | 0.0.0 |
| ros2_jetson_stats | 0.0.0 |
README
ROS 2 jetson_stats
ROS2 wrapper for Jetson Stats (jtop)
This repository takes inspiration from ROS-jtop and creates package for ros2 (currently tested on eloquent)
Pre-requisite
ROS2 Eloquent Install Guide
Set up
- Install Jetson Stats:
```sudo -H pip install -U jetson-stats
2. Clone repo in ros2 workspace
``` cd dev_ws/src
``` <br/>
``` git clone https://github.com/NVIDIA-AI-IOT/ros2_jetson_stats.git
``` <br/>
3. Build
``` sudo rosdep install --from-paths ros2_jtop --ignore-src --rosdistro eloquent -y
``` <br/>
``` colcon build
``` <br/>
``` . install/setup.bash
```<br/>
### Usage
The basic usage consists of creating `diagnostics_msgs` and services for control fan mode/speed, setting up `jetson_clocks`, and power mode.
1. Run JTOP node: <br/>
``` ros2 run ros2_jetson_stats ros2_jtop
```<br/>
If you want to change frequency of JTOP messages, do following:<br/>
``` ros2 run ros2_jetson_stats ros2_jtop --ros-args -p interval:=0.2
```<br/>
*Note: JTOP frequency is from 0 - 1 range*
2. You can see diagnostic messages using following command:
``` sudo . install/setup.bash
``` <br/>
``` sudo . install/local_setup.bash
``` <br/>
``` ros2 run rqt_topic rqt_topic
``` <br/>
*Note: for default interval you will see message frequency ~2Hz if you change interval to 0.2 the message frequency will change to 6Hz*
3. To run JTOP services:<br/>
You will need to keep running
```ros2_jetson_stats
``` ; as shown in step 1. <br/>
A. Change Power Model:<br/>
Open new terminal <br/>
``` sudo . install/local_setup.bash
``` <br/>
```ros2 service call /jtop/nvpmodel jtop_services/srv/NVPModel "{nvpmodel: 0}"
``` <br/>
This will change power mode to
``` 15 W 2 Core
``` on Jetson Xavier NX
Following Message will appear on the terminal: <br/>
requester: making request: jtop_services.srv.NVPModel_Request(nvpmodel=2)
response:
jtop_services.srv.NVPModel_Response(power_mode='MODE_15W_2CORE')
B. Change Fan mode and Fan Speed:<br/>
Open new terminal <br/>
``` sudo . install/local_setup.bash
``` <br/>
```ros2 service call /jtop/fan jtop_services/srv/Fan "{mode: system, speed: 100}"
``` <br/>
This will change fan speed to 100; you can see Jetson Fan being turned on.
requester: making request: jtop_services.srv.Fan_Request(mode='system', speed=100)
response:
jtop_services.srv.Fan_Response(set_fan_mode='system', set_fan_speed=100)
```
C. Start Jetson Clocks:
Open new terminal <br/>
sudo . install/local_setup.bash
ros2 service call /jtop/jetson_clocks jtop_services/srv/JetsonClocks "{status: True}"
Other related ROS 2 projects
-
ros2_torch_trt : ROS2 Real Time Classification and Detection
-
ros2_deepstream : ROS2 nodes for DeepStream applications
-
ros2_trt_pose : ROS 2 package for “trt_pose”: real-time human pose estimation on NVIDIA Jetson Platform
CONTRIBUTING
Repository Summary
| Description | ROS 2 package for monitoring and controlling NVIDIA Jetson Platform resources |
| Checkout URI | https://github.com/nvidia-ai-iot/ros2_jetson_stats.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2024-01-08 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| jtop_services | 0.0.0 |
| ros2_jetson_stats | 0.0.0 |
README
ROS 2 jetson_stats
ROS2 wrapper for Jetson Stats (jtop)
This repository takes inspiration from ROS-jtop and creates package for ros2 (currently tested on eloquent)
Pre-requisite
ROS2 Eloquent Install Guide
Set up
- Install Jetson Stats:
```sudo -H pip install -U jetson-stats
2. Clone repo in ros2 workspace
``` cd dev_ws/src
``` <br/>
``` git clone https://github.com/NVIDIA-AI-IOT/ros2_jetson_stats.git
``` <br/>
3. Build
``` sudo rosdep install --from-paths ros2_jtop --ignore-src --rosdistro eloquent -y
``` <br/>
``` colcon build
``` <br/>
``` . install/setup.bash
```<br/>
### Usage
The basic usage consists of creating `diagnostics_msgs` and services for control fan mode/speed, setting up `jetson_clocks`, and power mode.
1. Run JTOP node: <br/>
``` ros2 run ros2_jetson_stats ros2_jtop
```<br/>
If you want to change frequency of JTOP messages, do following:<br/>
``` ros2 run ros2_jetson_stats ros2_jtop --ros-args -p interval:=0.2
```<br/>
*Note: JTOP frequency is from 0 - 1 range*
2. You can see diagnostic messages using following command:
``` sudo . install/setup.bash
``` <br/>
``` sudo . install/local_setup.bash
``` <br/>
``` ros2 run rqt_topic rqt_topic
``` <br/>
*Note: for default interval you will see message frequency ~2Hz if you change interval to 0.2 the message frequency will change to 6Hz*
3. To run JTOP services:<br/>
You will need to keep running
```ros2_jetson_stats
``` ; as shown in step 1. <br/>
A. Change Power Model:<br/>
Open new terminal <br/>
``` sudo . install/local_setup.bash
``` <br/>
```ros2 service call /jtop/nvpmodel jtop_services/srv/NVPModel "{nvpmodel: 0}"
``` <br/>
This will change power mode to
``` 15 W 2 Core
``` on Jetson Xavier NX
Following Message will appear on the terminal: <br/>
requester: making request: jtop_services.srv.NVPModel_Request(nvpmodel=2)
response:
jtop_services.srv.NVPModel_Response(power_mode='MODE_15W_2CORE')
B. Change Fan mode and Fan Speed:<br/>
Open new terminal <br/>
``` sudo . install/local_setup.bash
``` <br/>
```ros2 service call /jtop/fan jtop_services/srv/Fan "{mode: system, speed: 100}"
``` <br/>
This will change fan speed to 100; you can see Jetson Fan being turned on.
requester: making request: jtop_services.srv.Fan_Request(mode='system', speed=100)
response:
jtop_services.srv.Fan_Response(set_fan_mode='system', set_fan_speed=100)
```
C. Start Jetson Clocks:
Open new terminal <br/>
sudo . install/local_setup.bash
ros2 service call /jtop/jetson_clocks jtop_services/srv/JetsonClocks "{status: True}"
Other related ROS 2 projects
-
ros2_torch_trt : ROS2 Real Time Classification and Detection
-
ros2_deepstream : ROS2 nodes for DeepStream applications
-
ros2_trt_pose : ROS 2 package for “trt_pose”: real-time human pose estimation on NVIDIA Jetson Platform
CONTRIBUTING
Repository Summary
| Description | ROS 2 package for monitoring and controlling NVIDIA Jetson Platform resources |
| Checkout URI | https://github.com/nvidia-ai-iot/ros2_jetson_stats.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2024-01-08 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| jtop_services | 0.0.0 |
| ros2_jetson_stats | 0.0.0 |
README
ROS 2 jetson_stats
ROS2 wrapper for Jetson Stats (jtop)
This repository takes inspiration from ROS-jtop and creates package for ros2 (currently tested on eloquent)
Pre-requisite
ROS2 Eloquent Install Guide
Set up
- Install Jetson Stats:
```sudo -H pip install -U jetson-stats
2. Clone repo in ros2 workspace
``` cd dev_ws/src
``` <br/>
``` git clone https://github.com/NVIDIA-AI-IOT/ros2_jetson_stats.git
``` <br/>
3. Build
``` sudo rosdep install --from-paths ros2_jtop --ignore-src --rosdistro eloquent -y
``` <br/>
``` colcon build
``` <br/>
``` . install/setup.bash
```<br/>
### Usage
The basic usage consists of creating `diagnostics_msgs` and services for control fan mode/speed, setting up `jetson_clocks`, and power mode.
1. Run JTOP node: <br/>
``` ros2 run ros2_jetson_stats ros2_jtop
```<br/>
If you want to change frequency of JTOP messages, do following:<br/>
``` ros2 run ros2_jetson_stats ros2_jtop --ros-args -p interval:=0.2
```<br/>
*Note: JTOP frequency is from 0 - 1 range*
2. You can see diagnostic messages using following command:
``` sudo . install/setup.bash
``` <br/>
``` sudo . install/local_setup.bash
``` <br/>
``` ros2 run rqt_topic rqt_topic
``` <br/>
*Note: for default interval you will see message frequency ~2Hz if you change interval to 0.2 the message frequency will change to 6Hz*
3. To run JTOP services:<br/>
You will need to keep running
```ros2_jetson_stats
``` ; as shown in step 1. <br/>
A. Change Power Model:<br/>
Open new terminal <br/>
``` sudo . install/local_setup.bash
``` <br/>
```ros2 service call /jtop/nvpmodel jtop_services/srv/NVPModel "{nvpmodel: 0}"
``` <br/>
This will change power mode to
``` 15 W 2 Core
``` on Jetson Xavier NX
Following Message will appear on the terminal: <br/>
requester: making request: jtop_services.srv.NVPModel_Request(nvpmodel=2)
response:
jtop_services.srv.NVPModel_Response(power_mode='MODE_15W_2CORE')
B. Change Fan mode and Fan Speed:<br/>
Open new terminal <br/>
``` sudo . install/local_setup.bash
``` <br/>
```ros2 service call /jtop/fan jtop_services/srv/Fan "{mode: system, speed: 100}"
``` <br/>
This will change fan speed to 100; you can see Jetson Fan being turned on.
requester: making request: jtop_services.srv.Fan_Request(mode='system', speed=100)
response:
jtop_services.srv.Fan_Response(set_fan_mode='system', set_fan_speed=100)
```
C. Start Jetson Clocks:
Open new terminal <br/>
sudo . install/local_setup.bash
ros2 service call /jtop/jetson_clocks jtop_services/srv/JetsonClocks "{status: True}"
Other related ROS 2 projects
-
ros2_torch_trt : ROS2 Real Time Classification and Detection
-
ros2_deepstream : ROS2 nodes for DeepStream applications
-
ros2_trt_pose : ROS 2 package for “trt_pose”: real-time human pose estimation on NVIDIA Jetson Platform
CONTRIBUTING
Repository Summary
| Description | ROS 2 package for monitoring and controlling NVIDIA Jetson Platform resources |
| Checkout URI | https://github.com/nvidia-ai-iot/ros2_jetson_stats.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2024-01-08 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| jtop_services | 0.0.0 |
| ros2_jetson_stats | 0.0.0 |
README
ROS 2 jetson_stats
ROS2 wrapper for Jetson Stats (jtop)
This repository takes inspiration from ROS-jtop and creates package for ros2 (currently tested on eloquent)
Pre-requisite
ROS2 Eloquent Install Guide
Set up
- Install Jetson Stats:
```sudo -H pip install -U jetson-stats
2. Clone repo in ros2 workspace
``` cd dev_ws/src
``` <br/>
``` git clone https://github.com/NVIDIA-AI-IOT/ros2_jetson_stats.git
``` <br/>
3. Build
``` sudo rosdep install --from-paths ros2_jtop --ignore-src --rosdistro eloquent -y
``` <br/>
``` colcon build
``` <br/>
``` . install/setup.bash
```<br/>
### Usage
The basic usage consists of creating `diagnostics_msgs` and services for control fan mode/speed, setting up `jetson_clocks`, and power mode.
1. Run JTOP node: <br/>
``` ros2 run ros2_jetson_stats ros2_jtop
```<br/>
If you want to change frequency of JTOP messages, do following:<br/>
``` ros2 run ros2_jetson_stats ros2_jtop --ros-args -p interval:=0.2
```<br/>
*Note: JTOP frequency is from 0 - 1 range*
2. You can see diagnostic messages using following command:
``` sudo . install/setup.bash
``` <br/>
``` sudo . install/local_setup.bash
``` <br/>
``` ros2 run rqt_topic rqt_topic
``` <br/>
*Note: for default interval you will see message frequency ~2Hz if you change interval to 0.2 the message frequency will change to 6Hz*
3. To run JTOP services:<br/>
You will need to keep running
```ros2_jetson_stats
``` ; as shown in step 1. <br/>
A. Change Power Model:<br/>
Open new terminal <br/>
``` sudo . install/local_setup.bash
``` <br/>
```ros2 service call /jtop/nvpmodel jtop_services/srv/NVPModel "{nvpmodel: 0}"
``` <br/>
This will change power mode to
``` 15 W 2 Core
``` on Jetson Xavier NX
Following Message will appear on the terminal: <br/>
requester: making request: jtop_services.srv.NVPModel_Request(nvpmodel=2)
response:
jtop_services.srv.NVPModel_Response(power_mode='MODE_15W_2CORE')
B. Change Fan mode and Fan Speed:<br/>
Open new terminal <br/>
``` sudo . install/local_setup.bash
``` <br/>
```ros2 service call /jtop/fan jtop_services/srv/Fan "{mode: system, speed: 100}"
``` <br/>
This will change fan speed to 100; you can see Jetson Fan being turned on.
requester: making request: jtop_services.srv.Fan_Request(mode='system', speed=100)
response:
jtop_services.srv.Fan_Response(set_fan_mode='system', set_fan_speed=100)
```
C. Start Jetson Clocks:
Open new terminal <br/>
sudo . install/local_setup.bash
ros2 service call /jtop/jetson_clocks jtop_services/srv/JetsonClocks "{status: True}"
Other related ROS 2 projects
-
ros2_torch_trt : ROS2 Real Time Classification and Detection
-
ros2_deepstream : ROS2 nodes for DeepStream applications
-
ros2_trt_pose : ROS 2 package for “trt_pose”: real-time human pose estimation on NVIDIA Jetson Platform
CONTRIBUTING
Repository Summary
| Description | ROS 2 package for monitoring and controlling NVIDIA Jetson Platform resources |
| Checkout URI | https://github.com/nvidia-ai-iot/ros2_jetson_stats.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2024-01-08 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| jtop_services | 0.0.0 |
| ros2_jetson_stats | 0.0.0 |
README
ROS 2 jetson_stats
ROS2 wrapper for Jetson Stats (jtop)
This repository takes inspiration from ROS-jtop and creates package for ros2 (currently tested on eloquent)
Pre-requisite
ROS2 Eloquent Install Guide
Set up
- Install Jetson Stats:
```sudo -H pip install -U jetson-stats
2. Clone repo in ros2 workspace
``` cd dev_ws/src
``` <br/>
``` git clone https://github.com/NVIDIA-AI-IOT/ros2_jetson_stats.git
``` <br/>
3. Build
``` sudo rosdep install --from-paths ros2_jtop --ignore-src --rosdistro eloquent -y
``` <br/>
``` colcon build
``` <br/>
``` . install/setup.bash
```<br/>
### Usage
The basic usage consists of creating `diagnostics_msgs` and services for control fan mode/speed, setting up `jetson_clocks`, and power mode.
1. Run JTOP node: <br/>
``` ros2 run ros2_jetson_stats ros2_jtop
```<br/>
If you want to change frequency of JTOP messages, do following:<br/>
``` ros2 run ros2_jetson_stats ros2_jtop --ros-args -p interval:=0.2
```<br/>
*Note: JTOP frequency is from 0 - 1 range*
2. You can see diagnostic messages using following command:
``` sudo . install/setup.bash
``` <br/>
``` sudo . install/local_setup.bash
``` <br/>
``` ros2 run rqt_topic rqt_topic
``` <br/>
*Note: for default interval you will see message frequency ~2Hz if you change interval to 0.2 the message frequency will change to 6Hz*
3. To run JTOP services:<br/>
You will need to keep running
```ros2_jetson_stats
``` ; as shown in step 1. <br/>
A. Change Power Model:<br/>
Open new terminal <br/>
``` sudo . install/local_setup.bash
``` <br/>
```ros2 service call /jtop/nvpmodel jtop_services/srv/NVPModel "{nvpmodel: 0}"
``` <br/>
This will change power mode to
``` 15 W 2 Core
``` on Jetson Xavier NX
Following Message will appear on the terminal: <br/>
requester: making request: jtop_services.srv.NVPModel_Request(nvpmodel=2)
response:
jtop_services.srv.NVPModel_Response(power_mode='MODE_15W_2CORE')
B. Change Fan mode and Fan Speed:<br/>
Open new terminal <br/>
``` sudo . install/local_setup.bash
``` <br/>
```ros2 service call /jtop/fan jtop_services/srv/Fan "{mode: system, speed: 100}"
``` <br/>
This will change fan speed to 100; you can see Jetson Fan being turned on.
requester: making request: jtop_services.srv.Fan_Request(mode='system', speed=100)
response:
jtop_services.srv.Fan_Response(set_fan_mode='system', set_fan_speed=100)
```
C. Start Jetson Clocks:
Open new terminal <br/>
sudo . install/local_setup.bash
ros2 service call /jtop/jetson_clocks jtop_services/srv/JetsonClocks "{status: True}"
Other related ROS 2 projects
-
ros2_torch_trt : ROS2 Real Time Classification and Detection
-
ros2_deepstream : ROS2 nodes for DeepStream applications
-
ros2_trt_pose : ROS 2 package for “trt_pose”: real-time human pose estimation on NVIDIA Jetson Platform
CONTRIBUTING
Repository Summary
| Description | ROS 2 package for monitoring and controlling NVIDIA Jetson Platform resources |
| Checkout URI | https://github.com/nvidia-ai-iot/ros2_jetson_stats.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2024-01-08 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| jtop_services | 0.0.0 |
| ros2_jetson_stats | 0.0.0 |
README
ROS 2 jetson_stats
ROS2 wrapper for Jetson Stats (jtop)
This repository takes inspiration from ROS-jtop and creates package for ros2 (currently tested on eloquent)
Pre-requisite
ROS2 Eloquent Install Guide
Set up
- Install Jetson Stats:
```sudo -H pip install -U jetson-stats
2. Clone repo in ros2 workspace
``` cd dev_ws/src
``` <br/>
``` git clone https://github.com/NVIDIA-AI-IOT/ros2_jetson_stats.git
``` <br/>
3. Build
``` sudo rosdep install --from-paths ros2_jtop --ignore-src --rosdistro eloquent -y
``` <br/>
``` colcon build
``` <br/>
``` . install/setup.bash
```<br/>
### Usage
The basic usage consists of creating `diagnostics_msgs` and services for control fan mode/speed, setting up `jetson_clocks`, and power mode.
1. Run JTOP node: <br/>
``` ros2 run ros2_jetson_stats ros2_jtop
```<br/>
If you want to change frequency of JTOP messages, do following:<br/>
``` ros2 run ros2_jetson_stats ros2_jtop --ros-args -p interval:=0.2
```<br/>
*Note: JTOP frequency is from 0 - 1 range*
2. You can see diagnostic messages using following command:
``` sudo . install/setup.bash
``` <br/>
``` sudo . install/local_setup.bash
``` <br/>
``` ros2 run rqt_topic rqt_topic
``` <br/>
*Note: for default interval you will see message frequency ~2Hz if you change interval to 0.2 the message frequency will change to 6Hz*
3. To run JTOP services:<br/>
You will need to keep running
```ros2_jetson_stats
``` ; as shown in step 1. <br/>
A. Change Power Model:<br/>
Open new terminal <br/>
``` sudo . install/local_setup.bash
``` <br/>
```ros2 service call /jtop/nvpmodel jtop_services/srv/NVPModel "{nvpmodel: 0}"
``` <br/>
This will change power mode to
``` 15 W 2 Core
``` on Jetson Xavier NX
Following Message will appear on the terminal: <br/>
requester: making request: jtop_services.srv.NVPModel_Request(nvpmodel=2)
response:
jtop_services.srv.NVPModel_Response(power_mode='MODE_15W_2CORE')
B. Change Fan mode and Fan Speed:<br/>
Open new terminal <br/>
``` sudo . install/local_setup.bash
``` <br/>
```ros2 service call /jtop/fan jtop_services/srv/Fan "{mode: system, speed: 100}"
``` <br/>
This will change fan speed to 100; you can see Jetson Fan being turned on.
requester: making request: jtop_services.srv.Fan_Request(mode='system', speed=100)
response:
jtop_services.srv.Fan_Response(set_fan_mode='system', set_fan_speed=100)
```
C. Start Jetson Clocks:
Open new terminal <br/>
sudo . install/local_setup.bash
ros2 service call /jtop/jetson_clocks jtop_services/srv/JetsonClocks "{status: True}"
Other related ROS 2 projects
-
ros2_torch_trt : ROS2 Real Time Classification and Detection
-
ros2_deepstream : ROS2 nodes for DeepStream applications
-
ros2_trt_pose : ROS 2 package for “trt_pose”: real-time human pose estimation on NVIDIA Jetson Platform