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

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

底盘参数

  • 轮对
    • 六轮(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

参数:

名称

说明

是否必选

备注

从以下版本开始

marker

目标点位代号

与location 必选其一

优先级低于location

location

x<地图中x轴坐标>,y<地图 中y轴坐标>,theta<地图中相对theta值>

与marker 必选其一

max_continuous_retries

原地最大连续重试次数(机器人原地不动时,重试次数超过此值则任务失败)

可选

默认30 次

0.7.11

distance_tolerance

距离容差,类型float,单位米。 (当目标位置被占据等原因无法到达时,机器人移动到目标此距离之内也算任务成功。)

可选

默认值跟机器人型号相关

0.7.12

theta_tolerance

角度容差,类型float,单位弧度。(到达目标点位后,角度小于此值后任务成功)

可选

默认值跟机器人型号相关

0.7.12

angle_offset

到达位置后的角度偏移, 例如使用marker=m1发送任务时, 会以m1的角度

+angle_offset的角度作为最终方向执行任务.

可选

单位弧度, 范围[-3.14,

3.14],

默认0

0.8.2

yaw_goal_reverse_allowed

双向停靠控制参数,取值1或 0或-1。对于双向行走的机器人,此参数用于机器人停靠到点位时,是否允许尾部跟点位方向一致。

可选

1:允许;

0:不允许; 其他: 使用默认

0.8.7

occupied_tolerance

让步停靠距离参数,单位米。当目标点位被占用时,设置此参数机器人会直接在点位附近停靠以完成任务,而不再尝试移动到点位上。距离以占用物边缘至机器人中心计算。

可选

[0.1, )

0.8.7

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

# 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 = 9001chassis_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)

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/292806.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安装部署MariaDB数据库管理系统

目录 一、初始化MariaDB服务 1、安装、启动数据库服务程序、将服务加入开机启动项中。 2、为保证数据库安全性和正常运转&#xff0c;需要对数据库程序进行初始化操作。 3、配置防火墙&#xff0c;放行对数据库服务程序的访问请求&#xff0c;允许管理员root能远程访问数据…

使用 Spring Email 和 Thymeleaf 技术,向新注册用户发送激活邮件(一)

这篇内容对应"2.1 发送邮件"小节 邮箱设置 需要去邮箱对应的官方客户端软件或网站开启IMAP/SMTP服务或POP3/SMTP服务器 如果不开启&#xff0c;就无法使用第三方用户代理&#xff0c;只能走第官方的电子邮件客户端软件或网站&#xff0c;用户代理就是电子邮件客户…

2024-03-26 Android8.1 px30 WI-FI 模块rtl8821cu调试记录

一、kernel 驱动&#xff0c;我这里使用v5.8.1.2_35530.20191025_COEX20191014-4141这个版本&#xff0c;下载这个版本的驱动可以参考下面的文章。 2021-04-12 RK3288 Android7.1 USB wifi bluetooth 模块RTL8821CU 调试记录_rk平台rtl8821cu蓝牙调试-CSDN博客 二、Makefile文…

C++从入门到精通——引用()

C的引用 前言一、C引用概念二、引用特性交换指针引用 三、常引用保证值不变权限的方法权限的放大权限的缩小权限的平移类型转换临时变量 四、引用的使用场景1. 做参数2. 做返回值 五、传值、传引用效率比较值和引用的作为返回值类型的性能比较 六、引用和指针的区别引用和指针的…

web 技术中前端和后端交互过程

1、客户端服务器交互过程 客户端:上网过程中,负责浏览资源的电脑,叫客户端服务器:在因特网中,负责存放和对外提供资源的电脑叫服务器 服务器的本质: 就是一台电脑,只不过相比个人电脑它的性能高很多,个人电脑中可以通过安装浏览器的形式,访问服务器对外提供的各种资源。 个人…

Electron 读取本地配置 增加缩放功能(ctrl+scroll)

最近&#xff0c;一个之前做的electron桌面应用&#xff0c;需要增加两个功能&#xff1b;第一是读取本地的配置文件&#xff0c;然后记载配置文件中的ip地址&#xff1b;第二就是增加缩放功能&#xff1b; 第一&#xff0c;配置本地文件 首先需要在vue工程根目录中&#xff0…

切换ip地址的app,简单易用,保护隐私

在数字化时代&#xff0c;IP地址作为网络设备的标识&#xff0c;不仅承载着数据在网络间的传输任务&#xff0c;还在一定程度上关联着用户的隐私和安全。因此&#xff0c;切换IP地址的App应运而生&#xff0c;为用户提供了一种便捷的方式来改变其网络身份&#xff0c;实现匿名浏…

【Spring MVC】快速学习使用Spring MVC的注解及三层架构

&#x1f493; 博客主页&#xff1a;从零开始的-CodeNinja之路 ⏩ 收录文章&#xff1a;【Spring MVC】快速学习使用Spring MVC的注解及三层架构 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 目录 Spring Web MVC一: 什么是Spring Web MVC&#xff1…

【应用笔记】LAT1413+快速开关蓝牙导致设备无广播

1. 问题背景 客户使用 BlueNRG-345MC 开发了一个 BLE 外设&#xff0c;和手机连接。在测试中发现&#xff0c;手机连接上外设之后&#xff0c;不断地在手机上点击蓝牙的开关按钮&#xff0c;造成设备不断地断开、重连&#xff1b;少则几次&#xff0c;多则几十次。点击之后&am…

【Entity Framework】创建并配置模型

【Entity Framework】创建并配置模型 文章目录 【Entity Framework】创建并配置模型一、概述二、使用fluent API配置模型三、分组配置四、对实体类型使用EntityTypeConfigurationAttribute四、使用数据注释来配置模型五、实体类型5.1 在模型中包含类型5.2 从模型中排除类型5.3 …

loadbalancer 引入与使用

在消费中pom中引入 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-loadbalancer</artifactId> </dependency> 请求调用加 LoadBalanced 注解 进行服务调用 默认负载均衡是轮训模式 想要切换…

【数据结构与算法】二叉树的遍历及还原

树形结构 - 有向无环图 树是图的一种。 树形结构有一个根节点树形结构没有回路根节点&#xff1a;A叶子节点&#xff1a;下边没有其他节点了节点:既不是根节点,又不是叶子节点的普通节点树的度:这棵树最多叉的节点有多少叉&#xff0c;这棵树的度就为多少树的深度&#xff1a…

实例、构造函数、原型、原型对象、prototype、__proto__、原型链……

学习原型链和原型对象&#xff0c;不需要说太多话&#xff0c;只需要给你看看几张图&#xff0c;你自然就懂了。 prototype 表示原型对象__proto__ 表示原型 实例、构造函数和原型对象 以 error 举例 图中的 error 表示 axios 抛出的一个错误对象&#xff08;实例&#xff0…

WiFiSpoof for Mac wifi地址修改工具

WiFiSpoof for Mac&#xff0c;一款专为Mac用户打造的网络隐私守护神器&#xff0c;让您在畅游互联网的同时&#xff0c;轻松保护个人信息安全。 软件下载&#xff1a;WiFiSpoof for Mac下载 在这个信息爆炸的时代&#xff0c;网络安全问题日益凸显。WiFiSpoof通过伪装MAC地址&…

C++入门知识详细讲解

C入门知识详细讲解 1. C简介1.1 什么是C1.2 C的发展史1.3. C的重要性1.3.1 语言的使用广泛度1.3.2 在工作领域 2. C基本语法知识2.1. C关键字(C98)2.2. 命名空间2.2 命名空间使用2.2 命名空间使用 2.3. C输入&输出2.4. 缺省参数2.4.1 缺省参数概念2.4.2 缺省参数分类 2.5. …

GRE和MGRE综合实验

实际网段划分 分配IP 1.IP划分 [r1]int g0/0/0 [r1-GigabitEthernet0/0/0]ip add 192.168.1.254 24 Mar 29 2024 16:42:44-08:00 r1 %%01IFNET/4/LINK_STATE(l)[3]:The line protocol IP on the interface GigabitEthernet0/0/0 has entered the UP state. [r1-Gigabi…

飞天使-k8s知识点28-kubernetes散装知识点5-helm安装ingress

文章目录 安装helm添加仓库下载包配置创建命名空间安装 安装helm https://get.helm.sh/helm-v3.2.3-linux-amd64.tar.gztar -xf helm-v3.2.3-linux-amd64.tar.gzcd linux-amd64mv helm /usr/local/bin修改/etc/profile 文件&#xff0c;修改里面内容,然后重新启用export PATH$P…

动态规划-----背包类问题(0-1背包与完全背包)详解

目录 什么是背包问题&#xff1f; 动态规划问题的一般解决办法&#xff1a; 0-1背包问题&#xff1a; 0 - 1背包类问题 分割等和子集&#xff1a; 完全背包问题&#xff1a; 完全背包类问题 零钱兑换II: 什么是背包问题&#xff1f; 背包问题(Knapsack problem)是一种…

Windows-安装infercnv包(自备)

目录 安装基础 ①安装JAGS a,找到适配版本 b&#xff0c;install for me only安装路径 ②安装"rjags"包 ③安装inferCNV 安装基础 版本&#xff1a; R version 4.2.2 (2022-10-31 ucrt) -- "Innocent and Trusting"安装的JAGS版本为JAGS 4.3.1 首…

GPT提示词分享 —— 智能域名生成器

提示词&#x1f447; 我希望你能充当一个聪明的域名生成器。我将告诉你我的公司或想法是什么&#xff0c;你将根据我的提示回复我一份域名备选清单。你只需回复域名列表&#xff0c;而不是其他。域名应该是最多 7-8 个字母&#xff0c;应该简短但独特&#xff0c;可以是朗朗上口…