---
title: Interface Startup Example
sidebar_position: 3
---

## Environment Dependencies

1. Hardware dependency: R1 Lite computing unit
2. Operating system dependency: Ubuntu 22.04 LTS
3. Middleware dependency: ROS2 Humble


## Starting the SDK

Two methods are currently supported for starting the software interface: **separate startup** and **one-click startup**. <span style="color:red">**For your safety, we recommend using the separate startup method to start the SDK.**</span>
The operating instructions are as follows:

<table style="width: 100%; border-collapse: collapse;">
    <thead>
        <tr style="text-align: left;table-layout: fixed;">
            <th style="width: 100px; padding: 8px; border: 1px solid #ddd;">Module Name</th>
            <th style="width: 200px; padding: 8px; border: 1px solid #ddd;">Included Components</th>          
            <th style="width: 400px; padding: 8px; border: 1px solid #ddd;">Path</th>
            <th style="width: 200px; padding: 8px; border: 1px solid #ddd;">Launch File</th>
        </tr>
    </thead>
    <tbody>
        <tr style="text-align: left;">
            <td style="padding: 8px; border: 1px solid #ddd;">HDAS</td>
            <td style="padding: 8px; border: 1px solid #ddd;">Arms Driver<br>Torso Driver <br>Chassis Driver <br>IMU Driver <br>BMS Driver<br></td>                    
            <td style="padding: 8px; border: 1px solid #ddd;">{sdk_path}/install/HDAS/share/HDAS/launch</td>
            <td style="padding: 8px; border: 1px solid #ddd;">r1lite.py</td>
        </tr>
        <tr style="text-align: left;">
            <td style="padding: 8px; border: 1px solid #ddd;">camera_driver</td>
            <td style="padding: 8px; border: 1px solid #ddd;">Head Camera Interface</td>                    
            <td style="padding: 8px; border: 1px solid #ddd;">{sdk_path}/install/camera_driver/share/camera_driver/launch</td>
            <td style="padding: 8px; border: 1px solid #ddd;">run.py</td>
        </tr>
        <tr style="text-align: left;">
            <td style="padding: 8px; border: 1px solid #ddd;">realsense2_camera</td>
            <td style="padding: 8px; border: 1px solid #ddd;">Wrist Camera Interface</td>                    
            <td style="padding: 8px; border: 1px solid #ddd;">{sdk_path}/install/realsense2_camera/share/realsense2_camera/launch</td>
            <td style="padding: 8px; border: 1px solid #ddd;">rs_multi_camera_3.0_launch.py</td>
        </tr>
        <tr style="text-align: left;">
            <td style="padding: 8px; border: 1px solid #ddd;">moca_adapter</td>
            <td style="padding: 8px; border: 1px solid #ddd;">Arm Control<br>Chassis Control<br>Torso Control <br>Gripper Control <br>End Effector Pose interfase</td>              
            <td style="padding: 8px; border: 1px solid #ddd;">{sdk_path}/install/moca_adapter/share/moca_adapter/launch</td>
            <td style="padding: 8px; border: 1px solid #ddd;">moca_launch.py</td>
        </tr>
        <tr style="text-align: left;">
            <td style="padding: 8px; border: 1px solid #ddd;">robot_monitor</td>
            <td style="padding: 8px; border: 1px solid #ddd;">robot monitor Interface</td>                    
            <td style="padding: 8px; border: 1px solid #ddd;">{sdk_path}/install/robot_monitor/share/robot_monitor/launch</td>
            <td style="padding: 8px; border: 1px solid #ddd;">robot_monitor.py</td>
        </tr>
        <tr style="text-align: left;">
            <td style="padding: 8px; border: 1px solid #ddd;">data collection</td>
            <td style="padding: 8px; border: 1px solid #ddd;">data collection</td>                    
            <td style="padding: 8px; border: 1px solid #ddd;">{sdk_path}/install/data_collection/share/data_collection/launch</td>
            <td style="padding: 8px; border: 1px solid #ddd;">data_collection_launch.py</td>
        </tr>
        <tr style="text-align: left;">
            <td style="padding: 8px; border: 1px solid #ddd;">robot diagnosis system</td>
            <td style="padding: 8px; border: 1px solid #ddd;">rds_ros</td>                    
            <td style="padding: 8px; border: 1px solid #ddd;">{sdk_path}/install/rds_ros/share/rds_ros/launch</td>
            <td style="padding: 8px; border: 1px solid #ddd;">monitor.py</td>
        </tr>
    </tbody>
</table>

## Separate Startup

All nodes can be launched using the command template below. The configuration method is as follows:

<span style="color: red;">**Note: Before launching a node, please confirm that the CAN driver has been correctly configured.**</span>

```Bash
bash ~/can.sh
# You may need to enter the password again: 1
# If you see the error message "RTNETLINK answers: Device or resource busy", it usually means that the device you are trying to configure (such as a network interface or CAN transceiver) has already been configured and is currently running.
```

The launch commands for each node are as follows:

```Bash
source {sdk_path}/install/setup.bash
ros2 launch <Package Name> <Launch File>
# Example
ros2 launch HDAS r1lite.py
```

## One-Click Startup

<span style="color: red;">**Note: Executing the following commands will launch all driver and motion control interfaces.**</span>

```Bash
cd {sdk_path}/install/startup_config/share/startup_config/script/
./robot_startup.sh boot ../sessions.d/ATCStandard/R1LITEBody.d
```


<!-- ROS1 -->
<!-- ## Environment Dependencies

1. Hardware dependency: R1 Lite computing unit
2. Operating system dependency: Ubuntu 20.04 LTS
3. Middleware dependency: ROS1 Noetic

## Starting the SDK

Two methods are currently supported for starting the software interface: **separate startup** and **one-click startup**. <span style="color:red">**For your safety, we recommend using the separate startup method to start the SDK.**</span>
The operating instructions are as follows:

<table style="width: 100%; border-collapse: collapse;">
    <thead>
        <tr style="text-align: left;table-layout: fixed;">
            <th style="width: 100px; padding: 8px; border: 1px solid #ddd;">Module Name</th>
            <th style="width: 200px; padding: 8px; border: 1px solid #ddd;">Included Components</th>          
            <th style="width: 100px; padding: 8px; border: 1px solid #ddd;">Path</th>
            <th style="width: 100px; padding: 8px; border: 1px solid #ddd;">Launch File</th>
        </tr>
    </thead>
    <tbody>
        <tr style="text-align: left;">
            <td style="padding: 8px; border: 1px solid #ddd;">HDAS</td>
            <td style="padding: 8px; border: 1px solid #ddd;">Arms Driver<br>Torso Driver <br>Chassis Driver <br>IMU Driver <br>BMS Driver<br></td>                    
            <td style="padding: 8px; border: 1px solid #ddd;">{sdk_path}/install/share/HDAS/launch</td>
            <td style="padding: 8px; border: 1px solid #ddd;">r1lite.launch</td>
        </tr>
        <tr style="text-align: left;">
            <td style="padding: 8px; border: 1px solid #ddd;">camera_driver</td>
            <td style="padding: 8px; border: 1px solid #ddd;">Head Camera Interface</td>                    
            <td style="padding: 8px; border: 1px solid #ddd;">{sdk_path}/install/share/camera_driver/launch</td>
            <td style="padding: 8px; border: 1px solid #ddd;">run.launch</td>
        </tr>
        <tr style="text-align: left;">
            <td style="padding: 8px; border: 1px solid #ddd;">realsense2_camera</td>
            <td style="padding: 8px; border: 1px solid #ddd;">Wrist Camera Interface</td>                    
            <td style="padding: 8px; border: 1px solid #ddd;">{sdk_path}/install/share/realsense2_camera/launch</td>
            <td style="padding: 8px; border: 1px solid #ddd;">rs_multiple_devices.launch</td>
        </tr>
        <tr style="text-align: left;">
            <td style="padding: 8px; border: 1px solid #ddd;">mobiman</td>
            <td style="padding: 8px; border: 1px solid #ddd;">Arm Control<br>Chassis Control<br>Torso Control <br>Gripper Control <br>End Effector Pose interfase</td>              
            <td style="padding: 8px; border: 1px solid #ddd;">{sdk_path}/install/share/mobiman/launch</td>
            <td style="padding: 8px; border: 1px solid #ddd;">r1_lite_jointTrackerdemo_fast.launch<br>r1_lite_chassis_control.launch<br>torso_control_r1_lite.launch<br>r1_gripperController.launch<br>r1_lite_eepose.launch</td>
        </tr>
        <tr style="text-align: left;">
            <td style="padding: 8px; border: 1px solid #ddd;">robot_monitor</td>
            <td style="padding: 8px; border: 1px solid #ddd;">robot monitor Interface</td>                    
            <td style="padding: 8px; border: 1px solid #ddd;">{sdk_path}/install/share/system_monitor_node/launch</td>
            <td style="padding: 8px; border: 1px solid #ddd;">robot_monitor.launch</td>
        </tr>
        <tr style="text-align: left;">
            <td style="padding: 8px; border: 1px solid #ddd;">data collection</td>
            <td style="padding: 8px; border: 1px solid #ddd;">data collection</td>                    
            <td style="padding: 8px; border: 1px solid #ddd;">{sdk_path}/install/share/data_collection/launch</td>
            <td style="padding: 8px; border: 1px solid #ddd;">data_collection.launch</td>
        </tr>
        <tr style="text-align: left;">
            <td style="padding: 8px; border: 1px solid #ddd;">robot diagnosis system</td>
            <td style="padding: 8px; border: 1px solid #ddd;">rds_ros</td>                    
            <td style="padding: 8px; border: 1px solid #ddd;">{sdk_path}/install/share/rds_ros/launch</td>
            <td style="padding: 8px; border: 1px solid #ddd;">Rds.launch</td>
        </tr>
    </tbody>
</table>

## Separate Startup

All nodes can be launched using the command template below. The configuration method is as follows:

<span style="color: red;">**Note: Before launching a node, please confirm that the CAN driver has been correctly configured.**</span>

```Bash
bash ~/can.sh
# You may need to enter the password again: 1
# If you see the error message "RTNETLINK answers: Device or resource busy", it usually means that the device you are trying to configure (such as a network interface or CAN transceiver) has already been configured and is currently running.
```

The launch commands for each node are as follows:

```Bash
source {sdk_path}/install/setup.bash
roslaunch <Package Name> <Launch File>
# Example
roslaunch HDAS r1lite.launch
```

## One-Click Startup

<span style="color: red;">**Note: Executing the following commands will launch all driver and motion control interfaces.**</span>

```Bash
cd {sdk_path}/install/share/startup_config/script/
./robot_startup.sh boot ../session.d/ATCStandard/R1LITEBody.d
``` -->
