机器人行走

2024-08-28 21:18
文章标签 机器人 行走

本文主要是介绍机器人行走,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

package org.bluebridge.topics;/*机器人行走某少年宫引进了一批机器人小车。可以接受预先输入的指令,按指令行动。小车的基本动作很简单,只有3种:左转(记为L),右转(记为R),向前走若干厘米(直接记数字)。例如,我们可以对小车输入如下的指令:15L10R5LRR10R20则,小车先直行15厘米,左转,再走10厘米,再右转,...不难看出,对于此指令串,小车又回到了出发地。你的任务是:编写程序,由用户输入指令,程序输出每条指令执行后小车位置与指令执行前小车位置的直线距离。【输入、输出格式要求】用户先输入一个整数n(n<100),表示接下来将有n条指令。接下来输入n条指令。每条指令只由L、R和数字组成(数字是0~100之间的整数)每条指令的长度不超过256个字符。程序则输出n行结果。每条结果表示小车执行相应的指令前后位置的直线距离。要求四舍五入到小数后2位。例如:用户输入:5L100R50R103LLL5RR4L12LL100R5L5L5L5则程序输出:102.969.060.00100.000.00*/import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;public class RobotWalking {public static void main(String[] args) throws IOException {BufferedReader br = new BufferedReader(new InputStreamReader(System.in));int n = Integer.parseInt(br.readLine());String[] result = new String[n];// 保存结果的数组int counts = 0;while (n > 0) {String data = br.readLine();// 输入指令int[] dir = new int[] { 1, -1, -1, 1 };// 方向数组// x:距离出发点的水平距离;y:距离出发点竖直距离,count:记录多少次转弯(偶数次,竖直距离发生变化;奇数次,水平距离发生变化)int x = 0, y = 0, count = 0;int start = 0;for (int i = 0; i < data.length() - 1; i++) {char c = data.charAt(i);if (c == 'L' || c == 'R') {String str = data.substring(start, i);int distance = str.equals("") ? 0 : Integer.parseInt(str);start = i + 1;if (count % 2 == 0) {y += distance * dir[count];} else {x += distance * dir[count];}if (c == 'L')count = count + 1 == 4 ? 0 : count + 1;elsecount = count - 1 == -1 ? 3 : count - 1;}}//别忘了最后一个字符char c = data.charAt(data.length() - 1);int distance = 0;if (c != 'L' && c != 'R') {String str = data.substring(start, data.length());distance = str.equals("") ? 0 : Integer.parseInt(str);} else {String str = data.substring(start, data.length() - 1);distance = str.equals("") ? 0 : Integer.parseInt(str);}if (count % 2 == 0)y += distance * dir[count];elsex += distance * dir[count];String xy = String.format("%.2f", Math.sqrt(x * x + y * y));result[counts++] = xy;n--;}for (int i = 0; i < result.length; i++) {System.out.println(result[i]);}}
}

这篇关于机器人行走的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1115904

相关文章

基于树梅派的视频监控机器人Verybot

最近这段时间做了一个基于树梅派 ( raspberry pi ) 的视频监控机器人平台 Verybot ,现在打算把这个机器人的一些图片、视频、设计思路进行公开,并且希望跟大家一起研究相关的各种问题,下面是两张机器人的照片:         图片1:                   图片2                    这个平台的基本组成是:

【机器人工具箱Robotics Toolbox开发笔记(二十)】机器人工具箱SerialLink I类函数参数说明

机器人工具箱中的SerialLink表示串联机器人型机器人的具体类。该类使用D-H参数描述,每个关节一组。SerialLink I类包含的参数如表1所示。 表1 SerialLink I类参数 参  数 意    义 参  数 意    义 plot 显示机器人的图形表示 jacobn 工具坐标系中的雅可比矩阵 plot3D 显示机器人3D图形模型 Jacob_dot

机器人助力上下料搬运,加速仓库转运自动化

近年来,国内制造业领域掀起了一股智能化改造的浪潮,众多工厂纷纷采纳富唯智能提供的先进物流解决方案,这一举措显著优化了生产流程,实现了生产效率的飞跃式增长。得益于这些成功案例,某信息技术服务企业在工厂智能物流建设的进程中,也选择了与富唯智能合作。 为了应对日益增长的物料搬运需求,匹配成品输出节拍,该公司引入了富唯智能复合机器人AMR与搬运机器人AGV,实现了仓库成品搬运自动化,大幅减少人工

【最新华为OD机试E卷-支持在线评测】机器人活动区域(100分)多语言题解-(Python/C/JavaScript/Java/Cpp)

🍭 大家好这里是春秋招笔试突围 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-E/D卷的三语言AC题解 💻 ACM金牌🏅️团队| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 🍿 最新华为OD机试D卷目录,全、新、准,题目覆盖率达 95% 以上,支持题目在线评测,专栏文章质量平均 94 分 最新华为OD机试目录: https://blog.

Dify.ai:部署自己的 AI 应用、知识库机器人,简单易用

Dify.ai:部署自己的 AI 应用、知识库机器人,简单易用 今天,来分享下 Dify.AI 这个产品,一句话介绍:可供普通人简单易用的部署生成出一个 AI 应用。这是一种使用人工智能技术来帮助团队开发和运营 AI 应用的工具。 什么是 Dify.ai Dify.ai 是一个易于使用的 LLMOps 平台,旨在帮助更多的人创建可持续的、AI 原生的应用。通过对各种应用类型的可视化编排,Di

机器人可能会在月球上提供帮助

登月是我们这个时代最具标志性的事件之一,这可能还算轻描淡写了:这是我们迄今为止在物理上探索得最远的一次。我听过一些当时的老广播,它们可以让你想象出这次航行的重要性。 现在,研究人员表示,我们可能很快就能重返月球,甚至可能很快就会有人类任务前往火星。 火星。艺术家:NASA 这次会有什么不同呢? 有一点是确定的:机器人将大力协助—— 非常多。 在麻省理工学院,我们的一些团队正在开发突破性的

【人工智能/机器学习/机器人】数学基础-学习笔记

函数 奇偶性: 偶函数: f ( − x ) = f ( x ) f(-x)=f(x) f(−x)=f(x)     y轴对称 f ( x ) = x 2 f(x)=x^2 f(x)=x2     f ( − x ) = ( − x ) 2 = x 2 = f ( x ) f(-x)=(-x)^2=x^2=f(x) f(−x)=(−x)2=x2=f(x) 奇函数: f ( − x )

全国机器人大赛 Robocon 常州工学院团队首战国三

全国机器人大赛 Robocon 常州工学院团队首战国三 通宵7天7夜,常州工学院RC团队,首次闯入全国机器人大赛国赛,并成功得分! 不同于老牌强队,常州工学院(下面用"常工"代替)的这只队伍,大多数成员由大一组成,核心岗位由一些大二各个专业基础最为扎实的学生担任。 7月7日,19:26分。卡在报道的最后10分钟,由在团队项管和电控成功领队签到,光电Robot成为最近几年唯一一只冲入Roboc

论文速读|利用局部性提高机器人操作的样本效率

项目地址:SGRv2  本文提出了SGRv2,一个系统的视觉运动政策框架,通过整合动作局部性提高了样本效率。在多个模拟和真实世界环境中进行的广泛评估表明,SGRv2在数据有限的情况下表现出色,并且在不同的控制模式下保持一致的性能。未来的工作可以进一步探索将扩散政策与局部性框架结合,以增强在现实世界中的性能,并扩展泛化测试的范围。 论文初读:

用python fastapi写一个http接口,使ros2机器人开始slam toolbox建图

如果你想使用Python的FastAPI框架编写一个HTTP接口,以便通过接口启动ROS 2机器人的SLAM Toolbox建图,可以按照以下方式进行: 首先,确保你已经安装了fastapi和uvicorn库。你可以使用以下命令进行安装: pip install fastapi uvicorn 接下来,创建一个Python文件(例如app.py),并将以下代码添加到文件中: import