• [常见FAQ] 官方SDK的C++为什么在线下用判题器测试时,得分为0?
    这是什么问题导致的??????
  • [区域初赛赛题问题] 怎么下载rep,线上提交作品观看判题器的回放的文件?
    比如这样的,不知道怎么下载https://cn-north-4-obs-competition-craft-20230201.obs.cn-north-4.myhuaweicloud.com:443/competition/1000041868/1120643/1120643_cb91fa6478474eeea06e18a59458ab0e_0_ebbeab56b44179d28701991b3f2be598c7f6f609a0e5c4c6ec1d928b577744fb.rep?AccessKeyId=9KTXEQAWGZGVPTXDRYGX&Expires=1678629693&Signature=Y8ApSgP6+I9COgXjQWM+GSvSrT8=求求各位大佬
  • [常见FAQ] 不懂就问,每一帧有联系吗?
    题中给的是我们回答每个帧的输出数据,难道这个机器人运动过程,每一帧的输出数据是有判题器或者机器给的吗?每一帧的运动状态给我们之后,给出的下一帧的状态就和这帧没关系呢?相当于我们只能给出每一帧的回答,不管这一帧的分数怎么样,下一帧给的状态输入数据和我们这帧的状态与我们这帧回答的输出数据后机器人和工作台状态什么样子都没关系吗?或者每一帧的输出数据只与机器本身给的有关,没有和选手回答输出数据执行之后的状态关系,也就是是说,我们只用考虑当前帧的方案?不用管每一帧数据机器人工作台状态帧与帧之间的联系?即只需考虑接下来5ms的执行方案?
  • [常见FAQ] 输入格式,工作台数量
    请问地图中是同时存在9种工作台的吗?每一种工作台的数量不一定等于1是吗?那么输入格式里面输入的k行工作台信息,同一种工作台中不同的工作台的id如何对应?
  • [技术干货] 2023华为软件精英挑战赛初赛赛题FAQs
    2023华为软件精英挑战赛初赛赛题在3月10日正式发布,本次大赛的赛题需要选手通过代码操控4个机器人完成物资递送任务,以实现收益最大化。赛题简介及相关材料请查看<<赛题简介>>赛题发布后,综合各位参赛者的反馈,组委会汇总了常见问题FAQs如下:Q:各语言该怎么使用判题器?A:对于C/C++,需要先编译成可执行程序,对于python ,可通过引号引起来的 "python xxx" 来执行python程序, 对于java则是通过执行"java xxxx"来执行对应的java程序。 引号中的部分必须是一个命令行可执行的程序,如果判题器运行程序不正常,可以先尝试用纯命令行执行对应程序看看是否正常。Q:为什么看着机器人已经在工作台附近,但是仍然不可交互?A:工作台是一个质点,交互前提是必须满足质点到机器人圆心的距离小于0.4米,这个距离很小。至于GUI界面的工作台模型只是一张贴图,其大小与工作台大小无关,因为工作台只是一个点。Q:机器人加减速是始终用的最大的力或力矩吗?A:在确保下一帧速度不越过设定速度的前提下,始终采用最大的力/力矩进行加速或减速。Q:Java提示找不到主类?A:先看看环境是否都正常 如在Powershell下面java、javac是否都能正常输出,先看看环境变量的问题;如果想先看看效果可以把Main.java最上方的package的一行注释掉,在当前目录下执行 javac Main.java后使用 java Main验证是否能成功执行,如果可以成功执行的话在powershell中执行 .\Robot_gui.exe -m .\maps\1.txt -c path 'java Main'即可Q:为什么本地编译正常,提交上去显示编译错误?A:可能有以下几种原因1. 编译器差异:例如,VS默认引用了一些头文件,而GCC没有,典型的例子是VS下不显示#include <string.h>也可以使用memset等函数,但GCC下必须引用#include <string.h>。我们建议大家使用GCC以缩小编译器差异,如果是Windows,建议使用Mingw-w64的x86_64版本,下载地址:https://sourceforge.net/projects/mingw-w64/files/2. 操作系统差异:平台使用Linux作为编译环境,如果选手使用的不同操作系统,并且引用了操作系统相关的头文件和函数,那么在Linux下无法编译通过。3. CMakeLists.txt被修改,由于平台编译的时候会用原版SDK的cmake文件替换,因此通过修改cmake附加的一些编译选项和链接库均无法生效,请确保在原版cmake文件下是可正常编译的。4. 目录结构问题,请关注编译运行环境说明,例如C/C++要求源码和CMakeLists.txt必须在压缩包的根目录下,即解压后能直接看到而不是在一个子目录中。5. C/C++提交压缩包缺少CMakeLists.txt文件。该文件被用于判定是不是一个C/C++源码目录,因此压缩包中必须包含一个CMakeLists.txt。6. 对于Java,请关注平台使用的JDK版本为:1.8,并且在编译构建环境中没有网络可用。7. Java源代码的入口文件Main.java所在包路径及Main.java文件名不可修改,否则会编译失败;8. 如果你是C/C++使用了多线程,请参考帖子:关于C/C++链接多线程、数学库的解决方案。 Q:为什么本地运行正常,提交上去显示运行错误?A:可能有以下几种原因1. 写了日志文件,由于运行环境没有任何写文件的权限,故所有的写入文件均会失败。2. 内存超限(3.8G),会被系统杀死。3. 运行中尝试引用了代码包中的其他文件,例如数据表、so库、可执行程序等。由于运行时只保留最终编译的可执行程序,因此所有对代码包中其他文件的运行时引用都会失败。4. 调用了特权操作,运行环境无root权限,所有特权操作均会失败。5. 对于python,请关注python的版本,以及是否使用了系统默认支持以外的库。6. 有访问网络的行为,运行环境无网络环境。 Q:已经输出了控制指令,为什么我的机器人一直不动?A:大多数情况下是选手没有在输出OK之后flush标准输出,导致数据留存在缓冲区,没有真正送给判题器。对于C/C++,可以使用fflush(stdout)或cout << flush,对于java,可以使用System.out.flush(),对于python,可以使用sys.stdout.flush()  Q:为什么CMake文件不让选手自己修改?提交修改过的CMake文件会怎么样?A:这是基于安全性和维护比赛公平的考虑。cmake过于灵活,可以在其中执行任意命令,这可能会让某些选手通过执行一些恶意命令来获取一些竞争优势,或者是绕过代码审查的机制(比如不经编译直接生成上传的执行程序),从而影响比赛公平性。故我们将cmake文件锁定了不让修改。提交已修改的CMake文件不会生效,系统依然会使用原版CMake文件进行构建。 Q:直接提交SDK的默认代码也有分数吗?A:是的,会获得初始分值。 Q:平台会编译出Release版本用于运行吗?A:会 Q:正式赛的题目会变吗?A:正式赛和练习赛的题目一样,但是所使用的地图不同。故大家可以提前在练习赛的时候优化好代码,但是不要针对练习赛的地图做拟合设计,因为正式赛会换掉所有地图。建议选手在练习赛期间自己多造图,以提升代码在不同地图下的表现能力。 Q:正式赛的地图也会公开吗?A:会在正式赛开始的时候公开。 Q:复赛和决赛的题目会变吗?A:复赛将在初赛已有内容的基础上加入新的业务难题,同样,决赛也将在复赛的基础上加入新的业务难题。  Q:今年的比赛,性能是否是一个比较重要的考察点?对Python友好吗?A:今年不直接考察性能,但是更高的性能可以让你处理更高的帧率,以此获得更精细的控制,从而间接提高你的机器人表现能力。如果你已经达到了最高帧率(50FPS),那么继续提升性能没有收益。但请大家注意的是,在复赛和决赛中会引入新的业务难题,这可能会需要比初赛更高的算力支持。我们的出题组已经有专家实现了Python版DEMO,验证了Python可以顺利完成这道题。最后,考虑在大多数的真实业务场景中,性能其实都是一个重要的业务指标,因此,性能作为一个间接影响结果的指标,我们认为是合理的。  Q:怎么判断自己的程序是否出现了跳帧?A:1. 可以通过判题器的日志:player skipped frames:xxx获取这一信息。2. 可以通过观看回放,点击播放控制的眼睛图标按钮显示出调试信息,即可在金额的底下显示跳帧信息,该方法同样适用于提交平台之后。3. 可以在代码中通过读入的帧ID进行判定,如果帧ID一直连续,说明没有跳帧,如果断断续续,说明跳帧了。   Q:为什么本地运行结果和提交平台的结果有较大差异?A:1. 平台使用的随机种子不同,由于该随机种子只影响万分之一的机器人参数,故对选手的算法影响非常小。随机性较大的原因通常是因为选手的算法本身呈现出较大的随机性,例如,在选手自己没有考虑避障算法之前,碰撞就是一个随机事件,而这一随机事件将直接影响结果。再例如,选手在做出工作台任务调度的时候比较随意,只根据最近距离的选,那么这种工作台的任务选择也会成为一个随机事件,从而对结果造成较大浮动。总的来说,当选手的结果越接近最优解的时候,随机浮动会越小。2. 平台使用的硬件和本地有差异,有可能本地运行没有跳帧的程序,在服务器运行时出现了跳帧,从而导致了结果差异。请检查回放文件是否出现了跳帧(参考前一条QA),以此判断是否要做出一定的性能冗余。 Q:同一份代码提交到系统后结果会是相同的吗?A:由于平台使用了固定的随机种子,因此一般来说,同一份代码会得到相同的提交结果,如果不同,可能有以下原因:1.出现了跳帧,因为跳帧可能随机跳在不同位置,所以会得到不同结果,请从回放中进行确认。2.代码自身包含了随机因子,每次的输出指令序列不同。  Q:是否能提供精确的物理预测算法?A:不提供,因为在真实的业务场景中,有太多可变的环境因素,并不存在可以精确预测机器人运动的方法。所以本次赛题中,我们也不提供任何有关环境的因素,诸如阻力、弹性系数等。 Q:日志显示Read inf('INF') from player... 是什么意思?A:说明选手程序输出了不合法的浮点数:INF或NAN,请检查输出。这通常是由于选手代码的浮点计算错误引起的,例如出现了除0,或者传递了不合法范围数值给三角函数等,也有可能是由于输出了未初始化变量。 Q:如何从平台下载比赛回放?A:由于该需求提出时间较晚,开发小哥表示这个需求来不及实现,故页面上没有提供下载回放的功能,但是可以通过F12打开浏览器开发者工具,在网络那一栏中开启抓包,然后点击查看视频,通过抓包的方式抓取查看视频时的回放文件下载链接。 Q:不同地图之间物理引擎是否一致,如不一致是哪里不一致,最多会差多少A:不同地图的物理引擎完全一致,仅有随机种子不同,如题目所说,随机种子影响万分之一左右的机器人参数信息,因此相同的指令序列在不同的地图下会有极细微的表现差异,这个差异会随着时间的累加而逐步扩大(例如角度只要稍微偏一点,随着行进路线变长,差异就会越来越大)。注意地图数据也会参与随机种子计算,故相同的随机种子参数在不同的地图上也会表现略有差异。  Q:为什么要引入随机种子的设定?A:随机种子的设定目的旨在不影响选手正常算法的前提下,防止有选手直接打表提交指令序列,故这个随机种子的影响范围被设定的很小,选手在设计算法的时候可以完全忽略它。如果没有这个设定,那么选手很容易在本地得到和服务器完全相同的结果,那么就只需要针对地图做指令序列优化就好了,可以通过DEBUG模式花一个通宵跑一个最优指令序列来直接提交,也可以直接提交别人生成的指令序列来绕开代码查重,这些都会成为影响比赛公平公正的因素,故我们加入了这一个设定来维护比赛的公平公正。  Q:有没有可能通过控制回放文件中的表现来慢慢返回环境中的获取信息,以此得到官方随机种子?A:设计中已经考虑了这个问题,故我们在实现时把这部分算法做了两版不同的实现,也就是平台版和用户版的随机算法实现不同,但它们都保证随机结果在万分之一以内的范围内。故,选手理论上不可能构造出和官方相同行为的随机种子。  Q:提交到线上运行时的日志有没有办法获取A:没有办法获取,这是基于安全和维护比赛公平的考虑,不让选手通过打日志的方式返回一些正式比赛的环境信息(例如官方随机种子甚至是官方判题器等)以影响比赛的公平性。 Q:C/C++如何使用SSE/AVX/BMI等指令集?A:使用此类指令集需要编译选项的支持,由于CMake无法修改,故可以通过在代码中添加:#pragma GCC target("avx") 的方式来支持。
  • [常见FAQ] 判题器怎么使用调试模式
    是先运行命令,再在IDE里开始调试吗?另外java的文件路径怎么写?这样写哪里错了
  • [常见FAQ] 本地窗口化运行java代码
    本地运行的时候给的例子是这个Robot_gui.exe -m map.txt -c ./team1 "python main.py"替换为自己的路径之后为Robot_gui.exe -m maps\1.txt -c SDK\java\src\com\huawei\codecraft "java main.java"但是报错找不到主类不知道是因为路径问题不对吗,还是只能将java程序打包成exe文件进行执行?
  • [区域初赛赛题问题] 机器人的速度与位置如何改变?
    关于机器人的速度、角速度、位置及相关参数的变化情况,能否解答一下以下问题:1. 机器人的速度和角速度是否可以突变?比如第1帧的时候速度是2,角速度是0;此时我返回的控制指令希望将速度变为6,角速度变为π。那么机器人第二帧的速度是不是会突变为6,角速度突变为π?如果不是突变,那么我的控制指令何时生效?即,机器人的速度是按怎样的规则改变的?2. 机器人的位置是以怎样的时间单位进行改变的?假设第一帧的时候机器人的位置坐标是(x, y),速度矢量是(vx, vy),那么第二帧的位置是不是(x+vx*t0, y+vy*t0),这里的t0=20ms。如果不是,应该怎样计算机器人的位置变化?3. 机器人的速度方向是否必须与朝向一致?4. 机器人发生碰撞之后速度会如何改变?5. 机器人碰撞到边界该如何处理?6. 机器人的碰撞冲量如何计算?
  • [大赛资讯] 2023华为软件精英挑战赛初赛赛题及相关材料发布
    赛题简介本次大赛的赛题需要选手通过代码操控4个机器人完成物资递送任务,以实现收益最大化。赛题模拟了真实机器人的操作接口并通过物理引擎来模拟真实世界的物理法则,如惯性、摩擦、碰撞等。比赛所使用的判题器和数据集完全开放给大家下载,并且我们给判题器做了图形化界面设计+键盘操作机器人的能力,让大家可以低门槛的上手本次赛题。判题器运行界面如下图所示:为了照顾到使用不同平台的选手,本次大赛特地对判题器做了跨平台设计,可以支持Windows、Linux、MacOS三个平台,选手可以根据自身习惯选择其中一款判题器下载。每次运行判题器,都会产生一个回放文件置于replay目录中,可以用判题器自带的播放器进行播放,以分析过往比赛的表现。附件下载1. 赛题文档.zip:===下载链接===包含:初赛任务书、判题器使用说明、编译运行环境说明、常见问题FAQ2. WindowsRelease.zip :===下载链接===包含:Windows版本的判题器、播放器、数据集、SDK3. LinuxRelease.zip :===下载链接===包含:Linux版本的判题器、播放器、数据集、SDK4. MacOSRelease.zip :===下载链接===包含:MacOS版本的判题器、播放器、数据集、SDK,该版本可同时支持x86和M1芯片。注意:如若您使用过旧的CPU硬件和系统版本导致无法运行,请下载以下对应的补丁包,以支持较旧的硬件和系统版本。此外,Windows版补丁包中包含一个keyboard_demo.exe,以解除键盘Demo对python的依赖。补丁包用法:解压在原目录上,覆盖对应文件即可。5. WindowsRelease.patch0311.zip :===页面下方===2023-03-11补丁内容:去除了判题器对BMI2指令集的使用,以兼容一些比较旧的不支持BMI2指令集的CPU。如之前运行判题器后打印一条INFO日志之后就退出了,更新此补丁可以解决此问题。去除了Windows版本键盘DEMO对Python的依赖,现在有一个keyboard_demo.exe可以直接运行。6. LinuxRelease.patch0311.zip :===页面下方===2023-03-11补丁内容:去除了判题器对BMI2指令集的使用,以兼容一些比较旧的不支持BMI2指令集的CPU。如之前运行判题器后打印一条INFO日志之后就退出了,更新此补丁可以解决此问题。降低了判题器对GLIBC的版本依赖,以兼容一些使用较低版本的Linux选手。目前对GLIBC的版本依赖为2.17(之前是2.29)7. MacOSRelease.patch0311.zip :===页面下方===2023-03-11补丁内容:去除了判题器对BMI2指令集的使用,以兼容一些比较旧的不支持BMI2指令集的CPU。如之前运行判题器后打印一条INFO日志之后就退出了,更新此补丁可以解决此问题。
  • [大赛资讯] 【普朗克抽奖计划】参赛并完成作品提交,赢惊喜大礼包【已开7轮,还有3个名额】
    2023软件精英挑战赛全新来袭,火热报名!全新玩法,多重礼品,带你一起玩转软挑!【活动报名】1.点击下方报名链接,报名参赛>>>报名链接<<<2.区域初赛期间(3月10-3月24日)完成参赛作品提交即可【双重玩法介绍】“软挑练习生”和“亮相初舞台”双重玩法,总有一款适合你!还有多种激励方式,等你来挑战!玩法一:软挑练习生,万里挑一       在线练习期间(3月10日-3月23日)共开启 7轮抽奖,每2日抽取1位参赛选手,送上软挑周边大礼包。 1.报名软挑,且在线练习期间完成作品提交即可参与; 2.每轮抽奖将在论坛内公布,如遇周末则顺延至工作日抽取;玩法二:亮相初舞台,惊喜加倍       3月24日-3月26日,完成作品提交并按要求参与打卡,抽3名同学送上软挑周边大礼包。 1.@华为云官方微博,分享当日作品提交成功截图+华为云账号,添加话题 #挑战普朗克计划##2023华为软件精英挑战赛# 2. 随机抽取3名参赛选手获得软挑周边大礼包,3月28日在交流论坛公布中奖名单。【惊喜礼包】【活动说明】 抽奖方式:后台导出用户ID,用抽奖平台抽取,中奖名单将在论坛公布 领取方式:中奖用户请登录论坛查看获奖名单,并填写获奖信息表,工作人员核对后发放 发放时间:中奖礼品统一在初赛结束后的15个工作日内寄出 每个参赛选手只有一次获奖机会,不重复抽取,本活动解释权归2023软件精英挑战赛所有↓↓↓各位获奖选手请在2023年3月31日12:00前填写>>奖品领取信息问卷,过期不填将视为自动放弃奖品,如有任何疑问请微信联系小助手hwcloud77。。
  • [常见FAQ] 海外留学生赛区选择
    请问海外留学生报名是否必须根据国内居住地选择赛区?我和我同校的同学在国内居住地并不属于同一赛区,我们是否不能组队?
  • [常见FAQ] 【软挑大咖说直播互动】大神集结!“过来人”带你玩转软挑!
    当你辛苦看攻略、查资料,备战软挑时,有没有过这样的想法:以前参赛的人都是怎么准备的?得奖的那些大神都是啥样的?这比赛到底好不好走搞?参加这比赛能不能写在我简历上?……这些问题的答案,就在2023华为软件精英挑战赛软挑大咖说★直播互动:在本期分享中印象最深的分享嘉宾是哪一位?原因是什么呢?♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥点击本行文字,直接进入直播间直播主题:大神集结!“过来人”带你玩转软挑!直播时间:3月15日 晚19:00直播内容 :软挑之巅的“过来人”独家赛题解读取取经,软挑的这些坑千万不要踩通过“软挑”入职华为的大神们,现在怎么样了嘉宾阵容◆ 2021华为软件精英挑战赛冠军团队选手:猪猪◆ 2021华为软件精英挑战赛冠军团队选手:Boom◆ 2021华为软件精英挑战赛季军团队选手:彪哥◆ 2021华为软件精英挑战赛季军团队选手:Dennis◆ 2020华为软件精英挑战赛亚军团队选手:智凌◆ 2020华为软件精英挑战赛亚军团队选手程:芃芃
  • [常见FAQ] 学校所在地和报名赛区问题
    请问学校所在地和报名赛区必须一致吗?可以报名其他赛区吗
  • [区域初赛赛题问题] 软件精英挑战比赛报名失败
    报名软件精英挑战比赛,无法正确提交
  • OK
    OKOKOKOKOK
总条数:1810 到第
上滑加载中