# 第六周

## 一些命令
1. 没接电控时模拟urdf的作用：
    ```bash
    ros2 run tf2_ros static_transform_publisher --frame-id base_link --child-frame-id imu_link --qx 0.0 --qw 1.0
    ```
2. 建图：
    ```bash
    ros2 launch sentry_bringup mapping.launch.py
    ```

    存好的图在运行存图命令的目录下
    - 存.png：
        ```bash
        ros2 run nav2_map_server map_saver_cli -t /projected_map -f test_map --fmt png
        ```

   - 存.pcd
       ```bash
       ros2 service call /map_save std_srvs/srv/Trigger
       ```


<font color="gray">重新编译（清空以前的编译文件）：</font>
```shell
colcon build --packages-select sentry_bringup --cmake-clean-cache
```

```shell
source install/setup.bash
```

build的时候加--symlink-install，改launch文件不用重新编译

<BR>
查看容器ID：

```SHELL
docker ps -a
```

容器内外传递文件：

```shell
docker cp 4d3bc3433f4e:/home/sentry_ws/test.pcd /home/scurm/Downloads/
```

```shell
docker cp /home/scurm/Downloads/sentry_description 4d3bc3433f4e:/home/sentry_ws/src/sentry_description
```

---

## 关于fast-lio和fast-lio-sam
后续测试选一个效果好的用
### 1.改mapping.launch
- fast-lio：
    ```python
    # fast-lio localization   
    fast_lio_param = '/home/sentry_ws/src/sentry_bringup/params/fast_lio_mapping_param.yaml'
    fast_lio_node = Node(
            package='fast_lio',
            executable='fastlio_mapping',
            parameters=[
            fast_lio_param
            ],
            output='screen',
            remappings=[('/Odometry','/state_estimation')]
        )
    ```
- fast-lio-sam：
    ```python
    # fast-lio localization   
    fast_lio_sam_param = os.path.join(
        config_path, 'fast_lio_sam_mapping_param.yaml')
    fast_lio_sam_node = Node(
                package='fast_lio_sam',
                executable='fastlio_sam_mapping',
                name='fastlio_sam_mapping',
                output='screen',
                parameters=[fast_lio_sam_param],
                remappings=[('/Odometry','/state_estimation')]
    )
    ```
### 2.改delayed_start_mapping（也在mapping.launch里）：
- fast-lio
    ```python
    delayed_start_mapping = TimerAction(
        period=8.0,
        actions= [
            fast_lio_node,
            start_octomap_server
        ]
    )
    ```
- fast-lio-sam
    ```python
    delayed_start_mapping = TimerAction(
        period=8.0,
        actions= [
            fast_lio_sam_node,
            start_octomap_server
        ]
    )
    ```
