You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 19 Next »

本页介绍了如何将机器人系统设置为建图模式和定位模式


本页内容





运行环境准备

          (以下任选其一)

      • Slamware SDP mini 
      • Slamware 套装 (基于Slamware导航方案的用户机器人系统)
      • Apollo/Ares/Athena/Hermes等底盘系统

例程下载

EnableMapdemo.py


编译运行

        如下说明使用的是以PyCharm作为demo

  1. 下载例程到本地文件夹中,并使用PyCharm打开此文件夹
  2. 在PyCharm中配置好 Python 解释器


  3. 在终端中传参运行并连上Robostudio查看机器人建图功能打开

       

         



代码描述

      如下代码实现的是给开启机器人系统的建图模式

  • 开启建图模式

    data = {"enable": True}
  •  开启定位模式

    data = {"enable": False}
    #!/usr/bin/python
    # -*- coding:utf-8 -*-
    import requests
    import sys
    
    # 检查输入参数
    if len(sys.argv) < 2:
        print("请提供IP地址")
        sys.exit(1)
    
    ip = sys.argv[1]
    url = f"http://{ip}:1448/api/core/slam/v1/mapping/:enable"
    headers = {'Content-Type': 'application/json'}
    data = {"enable": True} # 设置为False后,机器人系统就会切换到定位模式
    
    
    def send_request(method, url, headers, json_data=None, timeout=30):
        try:
            response = requests.request(method=method, url=url, headers=headers, json=json_data, timeout=timeout)
            response.raise_for_status()  # 如果状态码是4xx或5xx,会抛出HTTPError异常
            return response
        except requests.exceptions.RequestException as e:
            print(f"发生错误: {e}")
            sys.exit(1)
    
    response = send_request("PUT", url, headers, json_data=data)
    
    if response.status_code in [200, 201, 203, 204]:
        print("接口调用成功, 返回内容如下: " + response.text)
    else:
        print(f"请求 {url} 的状态码不正确: {response.status_code}")
    
    




  • No labels