【睿尔曼-RealMan】睿尔曼超轻量仿人机械臂之复合机器人底盘介绍及接口调用

harry@realman-robot.com 2024-03-29

 机器人移动平台是一个包含完整成熟的感知、认知和定位导航能力的轮式机器人底盘产品级平台,产品致力于为各行业细分市场的商用轮式服务机器人提供一站式移动机器人解决方案,让合作伙伴专注在核心业务/人机交互的实现。以下是我司产品双臂机器人以及复合升降机器人,都搭载了移动底盘。

​​​​​​​​

 

 

底盘参数

轮对

六轮(2个驱动轮+4个万向轮)

差速驱动+主动悬挂 250W轮毂伺服电机x2个

重量

50Kg

承重能力

承重60Kg(过坎能力8mm,爬坡角度5°)

承重40Kg(过坎能力12mm,爬坡角度5°)

空载(过坎能力20mm,爬坡角度10°)

尺寸

高:280mm 直径:505mm

电源

18650锂离子电池组: 25.2V 20Ah(21V-29.4V) 4A适配器

可选25.2V 35Ah 6A适配器

满电工作时长

20Ah电池: 静止(0m/s)可运行20小时, 无负载运行(0.7m/s)可运行11小时

Web示教器界面的进入以及在示教器里面禁行移动测试      

         连接底盘进入底盘web示教器的方式可以有两种,一种是有线连接然后在浏览器输入对应的ip地址我这里的IP地址为192.168.10.10:9001。一种是通过无线的方式连接底盘的ip,无线连接的WiFi是以admin开头,密码默认为12345678,再在了浏览器输入对应的IP地址即可进入web界面。我这里使用有线连接的方式进入(不用输入密码)web界面如下:

值得注意的是,当我们从新打开地图后,我们进入后先矫正底盘的位置然后再进行操作,矫正完成后再进行所需点位的建立,建立好点所需要的的点位后,我们进入以下的测试工具。

随即会进行url的跳转进入到如下的界面

我们可以进行点位的选取以及循环次数的设置,点击开始执行确保机器人的急停处于打开状态机器人就可以按照点位来进行运动。

调用Api来进行底盘根据点位的运动

首先我们需要提前了解移动底盘的api接口文档,此次demo以两点之间的移动举例

指令: /api/move

接下来我们在程序当中进行调用:

# demo9

def move_chassis(client, marker):

    move_command = f'/api/move?marker={marker}'

    client.send(move_command.encode('utf-8'))

    chassis_receive_data = client.recv(1024)

    print("++++++++")

    response = client.recv(1024).decode()

    print("Response:", response)

    data = json.loads(response)

    move_code = data.get("code")

    # time.sleep(10)

    while True:

        response = client.recv(1024).decode()

        print("Response:", response)

        data = json.loads(response)

        move_code = data.get("code")

        if move_code == "01002":

            print("Move completed successfully.")

            time.sleep(1)

        break

这段代码主要是与底盘建立连接以及参数的的编写,循环监听返回的状态码来进行到位信息的判断。

 

 

在主函数当中调用的代码如下:

   #建立与机器人的socoket链接

    chassis_client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

    chassis_host = '192.168.10.10'

    chassis_port = 9001

    chassis_client.connect((chassis_host, chassis_port))

    print("-------------")

   #前往Test_1点位

    target_marker = 'Test_1'

    move_chassis(chassis_client,target_marker)

    time.sleep(10)

   #前往的Test_2点位

    target_marker = 'Test_2'

    move_chassis(chassis_client,target_marker)

这里,我们建立了与底盘的链接以及调用了两个点位具体内容如上程序所示。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 条评论

关于作者

harry@realman-robot.com

这家伙很懒,什么也没写!

选择发帖板块
选择发帖板块