当前位置:   article > 正文

前视声呐目标识别定位(五)-代码解析之修改声呐参数

前视声呐目标识别定位(五)-代码解析之修改声呐参数

前视声呐目标识别定位(一)-基础知识

前视声呐目标识别定位(二)-目标识别定位模块   

前视声呐目标识别定位(三)-部署至机器人

前视声呐目标识别定位(四)-代码解析之启动识别模块

前视声呐目标识别定位(五)-代码解析之修改声呐参数

前视声呐目标识别定位(六)-代码解析之目标截图并传输

前视声呐目标识别定位(七)-代码解析之录制数据包

前视声呐目标识别定位(八)-代码解析之各模块通信

前视声呐目标识别定位(九)-声呐驱动  

修改声呐参数,以将声呐量程修改为10m为例,其余参数修改可参照协议文件。

1、client_test.py

python3 clien_test.py 13 10

  1. elif cmd == str(13):
  2. print("set sonar range: " + str(value))
  3. arrBuff = b'\xee\xbb\xee\x03'
  4. arrBuff += struct.pack('i', int(value))
  5. arrBuff += b'\xee\xaa\xee\xff'

在协议文件中,修改声呐量程的协议为:

故模块将该数据包发送至auv_server。

2、auv_server.py

  1. # cmd callback state msg
  2. if pkg_head == b'\xee\xff\xee\xff':
  3. print(self.cmd_callback_state[recv_msg[4:8]])

直接将指令转发至center_server

3、center_sever.py

  1. # send the control_center cmd from auv to the control_center module on nx
  2. def recv_control_center_msg(self):
  3. #self.sonar_param_socket, self.sonar_param_addr = self.sonar_param_server.accept()
  4. while True:
  5. cmd_msg = self.nx_client.recv(1024)
  6. if len(cmd_msg) > 3:
  7. # send the control_center cmd to the control_center module
  8. if cmd_msg[-4:] == b'\xee\xff\xee\xff':
  9. self.control_center_socket.send(cmd_msg)
  10. # send the sonar parameters cmd to the sonar module
  11. elif cmd_msg[-4:] == b'\xee\xaa\xee\xff':
  12. self.sonar_param_socket.send(cmd_msg)
  13. else:
  14. print("cmd from auv error, no such cmd...")

根据‘\ee\aa\ee\ff‘判断为带参数的指令,转sonar_node

4、sonar_node(此处以ros1版本中的驱动代码举例)

  1. # receive tcp cmd msg from center server, set the sonar parameter
  2. def recv_tcp_cmd(self):
  3. ...
  4. # set the sonar_range, 1~120
  5. elif sonar_msg[0:4] == b'\xee\xbb\xee\x03':
  6. sonar_range = struct.unpack('i', sonar_msg[4:8])[0]
  7. sonar_range_cmd = 'rosrun dynamic_reconfigure dynparam set sonar_imager range_m ' + str(sonar_range)
  8. sonar_subprocess = subprocess.Popen(sonar_range_cmd, shell=True, executable="/bin/bash")

完成设置

数据包通过网口传输至声呐,声呐解码后进行参数调整。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/363988
推荐阅读
相关标签
  

闽ICP备14008679号