125 lines
3.8 KiB
Markdown
125 lines
3.8 KiB
Markdown
# 智慧医疗2026年代码仓库
|
||
|
||
# 一、文件夹说明
|
||
## `dependencies`
|
||
`dependencies.txt`存储依赖名称
|
||
|
||
## `src`
|
||
存放源代码
|
||
|
||
## `bashes`
|
||
自动脚本的存放路径
|
||
|
||
---
|
||
<br></br>
|
||
# 二、关于雷达驱动自动配置脚本的说明
|
||
## 1. 配置说明:在设备上配置开机自启动(仅使用雷达的情况直接看第二点)
|
||
1. 放到固定位置并授权
|
||
```bash
|
||
sudo cp 你的脚本路径 /usr/local/bin/radar-driver-switch.sh
|
||
sudo chmod +x /usr/local/bin/radar-driver-switch.sh
|
||
sudo chown root:root /usr/local/bin/radar-driver-switch.sh
|
||
```
|
||
2. 创建 systemd 服务文件
|
||
```bash
|
||
sudo vim /etc/systemd/system/radar-driver-switch.service
|
||
```
|
||
编辑内容:
|
||
```ini
|
||
[Unit]
|
||
Description=雷达驱动自动切换程序
|
||
After=sysfs.target udev.target systemd-udevd.service
|
||
Before=multi-user.target
|
||
|
||
[Service]
|
||
Type=oneshot
|
||
ExecStart=/usr/local/bin/radar-driver-switch.sh
|
||
User=root
|
||
Group=root
|
||
StandardOutput=journal+console
|
||
StandardError=journal+console
|
||
|
||
[Install]
|
||
WantedBy=multi-user.target
|
||
```
|
||
3. 应用开机自启
|
||
```bash
|
||
sudo systemctl daemon-reload
|
||
sudo systemctl enable radar-driver-switch.service
|
||
```
|
||
4. 测试与debug
|
||
- 测试一次
|
||
```bash
|
||
sudo systemctl start radar-driver-switch.service
|
||
```
|
||
- 查看状态 / 日志(排查必用)
|
||
```bash
|
||
sudo systemctl status radar-driver-switch.service
|
||
```
|
||
- 看 dmesg 日志
|
||
```bash
|
||
dmesg | grep 雷达驱动自动切换程序
|
||
```
|
||
---
|
||
### 特别说明
|
||
1. 关于退出码对应的情况,详见sh文件开头
|
||
2. 日志输出在`/dev/kmsg`文件中,使用`dmesg | grep 雷达驱动自动切换程序`命令即可查看
|
||
|
||
## 2. 使用说明:
|
||
1. 设备开机自动启动脚本连接雷达。若开机时雷达与设备没有物理连接,则需要手动启动脚本连接雷达
|
||
2. 查看雷达是否物理连接
|
||
```bash
|
||
lsusb
|
||
```
|
||
返回的数据中,如果有` ID 1a86:55d4 QinHeng Electronics USB Single Serial`,则物理连接成功。
|
||
3. 查看是否成功驱动雷达
|
||
```bash
|
||
ls /dev/tty*
|
||
```
|
||
看返回数据,默认串口连接设备为`ttyACM*`,名为`ttyACM0`的设备是IMU,如果存在`ttyACM1`,则雷达连接失败;
|
||
|
||
如果出现`ttyCH340`,则说明雷达设备驱动成功
|
||
|
||
---
|
||
<br></br>
|
||
|
||
# 三、指令
|
||
启动雷达:
|
||
`ros2 launch lslidar_driver lsn10_launch.py `
|
||
open new terminal
|
||
```bash
|
||
# 简洁前:
|
||
ros2 topic pub -1 /lslidar_order std_msgs/msg/Int8 data:\ 1\ # (open radar)
|
||
ros2 topic pub -1 /lslidar_order std_msgs/msg/Int8 data:\ 0\ # (close radar)
|
||
|
||
# 简洁后:
|
||
lidar
|
||
```
|
||
|
||
启动qr_detect的方式:
|
||
```bash
|
||
ros2 launch car_usb_cam hobot_usb_cam.launch.py # 终端1
|
||
ros2 launch qr_detection qr_detect.launch.py # 终端2
|
||
```
|
||
|
||
# 四、其它说明
|
||
我设置了一些自定义指令,方便终端调试:
|
||
```bash
|
||
rosbuild <package_name> # 编译指定包
|
||
build_debug <package_name> # 以调试模式编译指定包
|
||
foxglove # 启动foxbridge
|
||
```
|
||
启动键盘控制:
|
||
`ros2 run teleop_twist_keyboard teleop_twist_keyboard `
|
||
|
||
运行二维码检测(无缓存版):
|
||
`ros2 run qr_detection qr_dete_depth_node --ros-args -p use_buffer:=false`
|
||
|
||
二维码识别出来是一个四位数,偶数为逆,奇数为顺
|
||
|
||
# 五、tools 工具使用
|
||
`measure_turning_radius.py`:功能为测试实际转向角度与输入的关系。启动后,会在/turning_radius_data文件夹下生成测试数据
|
||
`set_volume.py`:功能为设置USB声卡的音量,修改第七行或直接`python3 set_volume.py 80`即可更改为80(或任何你想要的数字)
|
||
`windows_keyboard_control.py`:用于Windows端发送Twist控制命令(键盘遥控)
|
||
`udp_to_cmdvel.py`:用于板端接收键盘遥控命令(与上一个文件联动)
|