我正在使用SSL-Vision软件.它有一个示例客户端,我一直试图从整个项目中分离出来.我找到了自己编辑客户端所需的资源,所以我只是从软件中复制它们并使用CMake构建我的客户端.
下面的项目结构已经简化,缩小了问题(我相信!).
.
??? CMakeLists.txt
??? main.cc
??? build
? ??? CMakeLists.txt
? ??? messages_ssl_... (.cc/.h, 4 each)
??? src
??? CMakeLists.txt
??? (Other subdirs and sources/headers)
Run Code Online (Sandbox Code Playgroud)
./CMakeLists.txt:
cmake_minimum_required(VERSION 2.6)
项目(TestClient)find_package(PkgConfig REQUIRED)
pkg_check_modules(QTCORE_PKG QtCore)
include_directories($ {QTCORE_PKG_INCLUDE_DIRS})include(FindProtobuf)
find_package(Protobuf REQUIRED)
include_directories($ {PROTOBUF_INCLUDE_DIRS})find_package(PkgConfig REQUIRED)
pkg_check_modules(GLIB_PKG glib-2.0)
include_directories($ {GLIB_PKG_INCLUDE_DIRS})include_directories("src")add_subdirectory(src)
include_directories("build")add_subdirectory(build)
add_executable(clientTest clientTest.cc)
target_link_libraries(clientTest robocup_ssl_client messages_robocup_ssl_detection.pb messages_robocup_ssl_geometry.pb messages_robocup_ssl_wrapper.pb messages_robocup_ssl_refbox_log.pb netraw robocup_ssl_client protobuf QtCore)
./build/CMakeLists.txt:
add_library(messages_robocup_ssl_detection.pb SHARED messages_robocup_ssl_detection.pb.cc)
add_library(messages_robocup_ssl_refbox_log.pb SHARED messages_robocup_ssl_refbox_log.pb.cc)
add_library(messages_robocup_ssl_geometry.pb SHARED messages_robocup_ssl_geometry.pb.cc)
add_library(messages_robocup_ssl_wrapper.pb SHARED messages_robocup_ssl_wrapper.pb.cc)
这可能是一个缺少的#include的 …
我正在编写一个软件代理来控制模拟足球比赛中的机器人玩家.最终我希望参加RoboCup比赛.
在创造这样一个特工所涉及的各种挑战中,它的身体运动是我面对的第一个.我瞄准的模拟使用了一个带有22个铰链的Nao机器人体来控制.每条腿六条,每条手臂四条,颈部两条:
http://simspark.sourceforge.net/wiki/images/b/b4/Models_NaoVirtual.png
我对机器学习很感兴趣,并且相信必须有一些技术可以控制这个人.
在任何时候,它是众所周知的:
我想要实现的任务类型是:
对于这些任务中的每一项,我相信我可以提出一个合适的健身功能,但不是一组具有预期输出的训练输入.也就是说,任何机器学习方法都需要提供无监督学习.
我已经在圆形功能(正弦波)的开源项目中看到了一些例子,它们连接到每个铰链的角度,具有不同的幅度和相位.这些看起来好像是直线行走,但它们看起来都很笨重.这不是一种适用于我上面提到的所有任务的方法.
有些团队显然使用反向运动学,但我对此并不了解.
那么,机器人两足动作/行走的方法是什么?
顺便说一句,我编写并发布了一个名为TinMan的.NET库,它提供了与足球模拟服务器的基本交互.它有一个简单的编程模型,用于机器人22铰链的传感器和执行器.
您可以阅读更多关于RoboCup的3D模拟足球联赛的信息:
我想在SimSpark下运行的3D RoboCup软件足球模拟联盟中编写一个机器人.有人能指出一些已经处理过与服务器通信的代码吗?
理想情况下,这将是.NET代码,但以任何语言生成的示例仍然有用.
编辑对于不熟悉RoboCup 3D足球联赛的人,请查看此YouTube视频.它有一些非常有趣的时刻,如果你有这样的事情......
编辑2仍然没有答案?我在维基百科上整理了一个专门用于 RoboCup 3D模拟足球联赛的页面,以获取更多信息.
这是另一部关于SEU-RedSun团队在2008年RoboCup锦标赛中踢球的YouTube视频.他们的代理人比我链接的第一个视频中的代理人要复杂得多(并且协调一致).