# Robot算法模型 **Repository Path**: CastleJing/robot-algorithm-demo ## Basic Information - **Project Name**: Robot算法模型 - **Description**: No description available - **Primary Language**: C++ - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-03-11 - **Last Updated**: 2022-04-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # RobotDemo ## 介绍 本项目的目的是完成一个具有机器人渲染、操作、正运动学、逆运动学、运动规划等功能的程序,目前使用的机器人模型是北京珞石的XB4,根据目标以后会将XB4更换成更加通用的抽象模型。 ## 目前完成状况 * 当前已完成的项目 - [x] 机器人渲染 - [x] 正运动学 - [x] 简易操作方法 * 下一步计划完成 - [ ] 抽象机器人,优化项目结构 - [ ] 逆运动学 - [ ] 运动路径规划 - [ ] 环境物体渲染 - [ ] 引入IMGUI制作简易、易操作的UI ## 当前阶段操作方法 |操作|效果| | 操作 | 效果 | |-|-|-|-|-| | w | 相机上移 | | s | 相机下移 | | a | 相机左移 | | d | 相机右移 | | q | 相机前移 | | e | 相机后移 | | i | 相机向前翻转 | | k | 相机向后翻转 | | j | 相机向左翻转 | | l | 相机向右翻转 | | u | 相机延轴向翻滚(+) | | o | 相机延轴向翻滚(-) | | esc | 退出 | | 空格 | 相机位姿还原 | | z | 机械臂轴1(+) | | ctrl + z | 机械臂轴1(-) | | x | 机械臂轴2(+) | | ctrl + x | 机械臂轴2(-) | | c | 机械臂轴3(+) | | ctrl + c | 机械臂轴3(-) | | v | 机械臂轴4(+) | | ctrl + v | 机械臂轴4(-) | | b | 机械臂轴5(+) | | ctrl + b | 机械臂轴5(-) | | n | 机械臂轴6(+) | | ctrl + n | 机械臂轴6(-) | ## 项目结构 * include、interface、src中存放了项目编译所需要的头文件、源文件 * shader中存放了渲染使用的着色器 * bits目录存放了当前项目所用到的二进制文件 * thirdparty目录中存放了多个平台依赖的文件, 目前提供Windows下使用MinGW与MSVC编译运行所需要的SDL2以及Assimp的链接库与头文件, Linux与MacOS需要手动添加需要的库 ## 项目依赖 本项目依赖SDL2与Assimp运行 * Windows 本项目已经提供了在MinGW与MSVC下编译所需要的SDL2与Assimp的文件, 同时在生成项目时会自动将所需要动态库复制到目标目录, 无需手动解决依赖问题 * Ubuntu 在终端中使用以下代码安装所需要的依赖 ```shell sudo apt install libsdl2-dev sudo apt install libassimp-dev ``` ## 编译 * Windows Windows下请使用CMake-Gui进行项目配置与生成(当然喜欢终端的话也可以使用CMake终端程序生成), 使用CMake-Gui可以很方便的生成VisualStudio工程(注意使用该工程时需要设置项目工作目录为二进制文件生成目录), 也可以生成MinGW项目. Windows下也可以使用QtCreator更加简单的生成项目 * Linux ```shell mkdir build cd build cmake .. make ``` ## 许可 * 本项目源码使用GPLv3协议开源 * bits目录中的XB4模型版权属于北京珞石公司 * thirdparty目录的第三方库版权参照各库的授权许可