2024-04-16 20:06:03 +08:00
|
|
|
|
4.17组会
|
|
|
|
|
|
|
|
|
|
### 上周工作内容:
|
|
|
|
|
|
|
|
|
|
##### 1. python文件实现按键控制启动launch文件,实现割草机各个功能
|
|
|
|
|
|
|
|
|
|
a:摄像头
|
|
|
|
|
b:导航
|
|
|
|
|
c:客户端
|
|
|
|
|
d:服务端
|
|
|
|
|
|
|
|
|
|
出现的问题:想要实现按键退出 ,识别按键后并没有终止运行;当关闭终端时并没有停止运行程序;由于启动各个launch会在终端打印调试信息,信息刷新很快不能识别到按键的输入。
|
|
|
|
|
|
|
|
|
|
##### 2. 摄像头设备号总是发生变化
|
|
|
|
|
|
|
|
|
|
由于r是全局变量,从主函数中读取设备号参数较麻烦。所以更改ranging类的初始化方式。在初始化过程中尝试打开设备0,如果打开设备失败则打开设备40.
|
|
|
|
|
|
|
|
|
|
##### 3. 草地测试割草机定位和避障效果
|
|
|
|
|
|
|
|
|
|
### 下周工作内容
|
|
|
|
|
|
|
|
|
|
##### 1. 将usb-hid改为ros工程,gcc改为CMake,读取超声波数据。
|
|
|
|
|
|
2024-04-23 22:37:58 +08:00
|
|
|
|
##### 2.在3588上发送信号给标签,通知其发送手持标签的定位数据还是割草机的定位数据。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4.24组会
|
|
|
|
|
|
|
|
|
|
为了解决串口冲突,使用usb-hid通过识别pid、vid。
|
|
|
|
|
|
|
|
|
|
##### usb-hid 非root用户在linux下使用串口权限不够。
|
|
|
|
|
|
|
|
|
|
解决:需要设置udev规则来实现。
|
|
|
|
|
|
2024-04-23 22:44:29 +08:00
|
|
|
|
![1](./image/1.png)
|
2024-04-23 22:37:58 +08:00
|
|
|
|
|
|
|
|
|
通常情况下,udev规则文件的命名规则是按照数字和规则名称的顺序来加载的。数字越小的规则文件会先被加载,而数字越大的规则文件会后被加载。因此,可以选择一个数字较大的数字作为规则文件的名称,以确保在其他规则文件之后加载。
|
|
|
|
|
|
|
|
|
|
1. 创建规则文件
|
|
|
|
|
|
|
|
|
|
```c++
|
|
|
|
|
sudo gedit /etc/udev/rules.d/99-usb-serial.rules
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
2. 写入规则
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
SUBSYSTEM=="usb" ATTRS{idVendor}=="YOUR_VENDOR_ID", ATTRS{idProduct}=="YOUR_PRODUCT_ID", MODE:="0777"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
3. 重新加载udev规则,以使更改生效
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
sudo udevadm control --reload-rules
|
|
|
|
|
sudo udevadm trigger
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
##### 通过发送指令给车上的标签,发送0x00启动的是手持标签的定位,发送0x01启动的是车自身的定位,以实现手持标签划范围
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
tmp_char[0] = 0x00;
|
|
|
|
|
r = libusb_interrupt_transfer(dev_handle, (0x01 | LIBUSB_ENDPOINT_OUT), tmp_char, 64, &transferred, 1000);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
切换模式时:当从手持标签模式切换到车自身模式时,需要将手持标签断开,否则会干扰定位数据,收上来的数据是乱的。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
##### 下周工作内容
|
|
|
|
|
|
|
|
|
|
联合调试:用手持标签画的边界执行全覆盖。
|
|
|
|
|
|
2024-05-28 17:23:18 +08:00
|
|
|
|
超声波、碰撞数据接入
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 5.28 组会
|
|
|
|
|
|
|
|
|
|
##### 1. 将超声波和碰撞模块数据接入并转化为ros消息格式,以供避障使用
|
|
|
|
|
|
2024-05-28 17:25:59 +08:00
|
|
|
|
<img src="./image/5.png" alt="5" style="zoom:67%;" />
|
2024-05-28 17:23:18 +08:00
|
|
|
|
|
|
|
|
|
2. ##### app测试
|
|
|
|
|
|
2024-05-28 17:25:59 +08:00
|
|
|
|
<img src="./image/2.png" alt="2" style="zoom:50%;" />
|
2024-05-28 17:23:18 +08:00
|
|
|
|
|
2024-05-28 17:25:59 +08:00
|
|
|
|
<img src="./image/3.png" alt="3" style="zoom:50%;" />
|
2024-05-28 17:23:18 +08:00
|
|
|
|
|
2024-06-04 22:51:53 +08:00
|
|
|
|
<img src="./image/4.png" alt="4" style="zoom:50%;" />
|
|
|
|
|
|
|
|
|
|
### 6.4 组会
|
|
|
|
|
|
|
|
|
|
##### 这周完成了:
|
|
|
|
|
|
|
|
|
|
1. 完成了UPbot的通信协议设计
|
|
|
|
|
|
|
|
|
|
2. 沟通研一完成了APP具体功能的实现
|
|
|
|
|
|
2024-06-04 23:11:05 +08:00
|
|
|
|
![](./image/6.png)
|
2024-06-04 22:51:53 +08:00
|
|
|
|
|
|
|
|
|
3. 制作初始化定位的视频渲染
|
|
|
|
|
|
|
|
|
|
4. 实际草坪的数据采集
|
|
|
|
|
|
|
|
|
|
5. 单独测试APP功能实现(不通过协议,简单通过发送指令例如1等实现程序启动)
|
|
|
|
|
|
|
|
|
|
##### 下周工作:
|
|
|
|
|
|
2024-06-18 19:46:17 +08:00
|
|
|
|
根据协议解析客户端的数据,在服务端实现割草机的相关功能
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app
|
|
|
|
|
|
|
|
|
|
1. 返回按钮
|
|
|
|
|
|
|
|
|
|
启动机器人、全覆盖割草、返回充电、草坪巡逻、基站初始化、割草边界设定
|