当前位置: 首页 > news >正文

学校网站建设及使用档案宁波发布最新通报

学校网站建设及使用档案,宁波发布最新通报,网站建设 公司 常州,网站建设接单写在前面 最近项目一直用matlab#xff0c;防止手生整一个回忆工具使用的简单的pid demo#xff0c;走一边流程#xff0c;包括配工程debug看结果#xff0c;复用之前记录的配置见我的bloghttps://blog.csdn.net/weixin_46479223/article/details/135082867?csdn_share_t…写在前面 最近项目一直用matlab防止手生整一个回忆工具使用的简单的pid demo走一边流程包括配工程debug看结果复用之前记录的配置见我的bloghttps://blog.csdn.net/weixin_46479223/article/details/135082867?csdn_share_tail%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22135082867%22%2C%22source%22%3A%22weixin_46479223%22%7D。visual studio在这方面感觉比vscode 方便不少 使用说明不基于内容是什么主要是配置好基本内容可以快速编译打印验证或者配置visualstudio单个文件的话可以使用在线ide页面https://godbolt.org/ 结构 cmakelist cmake_minimum_required(VERSION 3.14.1) project(project_PIDControllerDemo) set( CMAKE_CXX_STANDARD 11 ) set( CMAKE_CXX_STANDARD_REQUIRED ON ) set( THREADS_PREFER_PTHREAD_FLAG ON )function(include_sub_directories_recursively root_dir)if (IS_DIRECTORY ${root_dir})include_directories(${root_dir})file(GLOB children RELATIVE ${root_dir} ${root_dir}/*)foreach(child ${children})if (IS_DIRECTORY ${root_dir}/${child})include_sub_directories_recursively(${root_dir}/${child})endif()endforeach()endif() endfunction()function(aux_source_directory_recursively root_dir var_name)if(IS_DIRECTORY ${root_dir})aux_source_directory(${root_dir} TMP_SRC_LIST)set(${var_name} ${${var_name}} ${TMP_SRC_LIST} PARENT_SCOPE)file(GLOB children RELATIVE ${root_dir} ${root_dir}/*)foreach(child ${children})if(IS_DIRECTORY ${root_dir}/${child})aux_source_directory_recursively(${root_dir}/${child} ${var_name}) endif()endforeach()endif() endfunction()find_package(glog REQUIRED) find_package(Eigen3 REQUIRED) #find_package(osqp REQUIRED ) find_package(OsqpEigen REQUIRED) find_package(yaml-cpp REQUIRED)Set(GLOG_INCLUDE_DIRS /usr/include/glog/) Set(GLOG_LIBRARIES /usr/lib/x86_64-linux-gnu/libglog.so) #Set(GLOG_LIBRARIES /usr/local/lib/libglog.so)# message(STATUS GLOG_INCLUDE_DIRS: ${GLOG_INCLUDE_DIR}) # message(STATUS GLOG_LIBRARIES: ${GLOG_LIBRARIES}) # message(STATUS EIGEN3_INCLUDE_DIR: ${EIGEN3_INCLUDE_DIR}) # message(STATUS EIGEN3_LIBRARIES: ${EIGEN3_LIBRARIES}) # message(STATUS osqp_INCLUDE_DIR: ${osqp_INCLUDE_DIR}) # message(STATUS osqp_LIBRARIES: ${osqp_LIBRARIES})set(CMAKE_BUILD_TYPE Debug) set(CMAKE_INCLUDE_CURRENT_DIR ON)# aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR} SRC_LIST)aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR}/src/. SRC_LIST)aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR}/commen/. SRC_LIST)#aux_source_directory_recursively(${CMAKE_CURRENT_SOURCE_DIR}/src SRC_LIST) include_sub_directories_recursively(${CMAKE_CURRENT_SOURCE_DIR}/include) include_sub_directories_recursively(${CMAKE_CURRENT_SOURCE_DIR}/libs) include_sub_directories_recursively(${CMAKE_CURRENT_SOURCE_DIR}/src) include_sub_directories_recursively(${CMAKE_CURRENT_SOURCE_DIR}/inc)##############################debug start############################## get_property(include_dirs DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY INCLUDE_DIRECTORIES)foreach(dir ${include_dirs})message(Include directory: ${dir}) endforeach()message(Source files:) foreach(file IN LISTS SRC_LIST)message( ${file}) endforeach() #################################debug end####################################include_directories(${GLOG_INCLUDE_DIRS}) include_directories(${EIGEN3_INCLUDE_DIR})add_executable(${PROJECT_NAME} ${SRC_LIST}) #add_library(${PROJECT_NAME} STATIC ${SRC_LIST}) # temp use target_include_directories(${PROJECT_NAME} PRIVATE ${GLOG_INCLUDE_DIRS}) #target_include_directories(${PROJECT_NAME} PRIVATE ${OSQP_INCLUDE_DIRS}) #target_link_libraries(${PROJECT_NAME} OsqpEigen::OsqpEigen) target_link_libraries(${PROJECT_NAME} PRIVATE ${GLOG_LIBRARIES}) target_link_libraries(${PROJECT_NAME} PRIVATE ${EIGEN3_LIBRARIES}) target_link_libraries(${PROJECT_NAME} PRIVATE yaml-cpp)# link_directories(${CMAKE_CURRENT_SOURCE_DIR}/libs/yaml-cpp/)# for all # target_link_libraries(${PROJECT_NAME} PRIVATE libyaml-cpp.a) #target_link_libraries(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/libs/yaml-cD/libyaml-cD.a) #target_link_libraries(${PROJECT_NAME} PRIVATE osqp::osqp) #####################################unit test ################################### # add_executable(unit_test_pathFW ${SRC_LIST}) # target_link_libraries( unit_test_pathFW # ${GLOG_LIBRARIES} # # ${CMAKE_CURRENT_SOURCE_DIR}/libs/yaml-cD/libyaml-cD.a # ${CMAKE_CURRENT_SOURCE_DIR}/libs/yaml-cD/libyaml-cD.a # # yaml-cD # ) #####################################unit test end#################################c_cpp_properties.json {configurations: [{name: Linux,includePath: [${workspaceFolder}/**,${workspaceFolder}/inc,/usr/include/**],defines: [],compilerPath: /usr/bin/gcc,cStandard: c17,cppStandard: gnu14,intelliSenseMode: linux-gcc-x64}],version: 4 }launch.json {// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息请访问: https://go.microsoft.com/fwlink/?linkid830387version: 0.2.0,configurations: [{name: (gdb) 启动,type: cppdbg,request: launch,program: ${workspaceFolder}/build/project_PIDControllerDemo,args: [],stopAtEntry: false,cwd: ${fileDirname},environment: [],externalConsole: false,MIMode: gdb,setupCommands: [{description: 为 gdb 启用整齐打印,text: -enable-pretty-printing,ignoreFailures: true},{description: 将反汇编风格设置为 Intel,text: -gdb-set disassembly-flavor intel,ignoreFailures: true}]}] } pid.h # ifndef _PID_H_ # define _PID_H_#include cmath #include algorithm# define RUNCYCLE 0.02class PID{public:PID(): ki_(0), kp_(0), kd_(0){}PID(const float KI,const float KP,const float KD): ki_( KI), kp_( KP) , kd_(KD){}PID(const PID pid)delete;~PID(){}void updatePos();void calError(const float targetPos);float getRes();private:float ki_ ;float kp_;float kd_;float error_ {0.f};float pos_ {0.f}; float res_ {0.f}; };# endifpid.cc #include pid.husing namespace std;void PID:: calError( const float targetPos ){float error_i0.f,error_d0.f,error_p0.f; static float error_last0;error_ptargetPos-pos_;error_iRUNCYCLE*error_p;error_d(error_p-error_last)/RUNCYCLE;if (error_p*error_p0){error_i0;}error_imin(error_i,3.f);error_imax(error_i,-3.f);error_lasterror_p;res_ ki_*error_ikp_*error_pkd_*error_d;}void PID:: updatePos(){pos_res_*RUNCYCLE;}float PID:: getRes(){return pos_;}main.cc # include pid.h #include glog/logging.hint main(int argc, char* argv[]){google::InitGoogleLogging(argv[0]);google::SetStderrLogging(google::GLOG_ERROR); FLAGS_colorlogtostderr true;FLAGS_logtostderr true; FLAGS_minloglevel 0; PID pidUser (0.3f,1.f,0.5f); // user defined parametersint Target10; // user definedint count0; // counter LOG(INFO) Hello,myPID;while (fabs(Target-pidUser.getRes())0.1count1000){pidUser.calError(Target);pidUser.updatePos();count;LOG(INFO) Target: Target Current pos: pidUser.getRes();}LOG(INFO) End at count Times; google::ShutdownGoogleLogging(); }结果 用重定向 放入excel中画图展示如下
http://www.zqtcl.cn/news/660513/

相关文章:

  • 老城网站建设注册网站不需要手机验证的
  • 可以赚钱做任务的网站有哪些莘县做网站
  • 可信网站 认证规则山东网站建设代理
  • 网站怎么谈设计常用的软件开发文档有哪些
  • 该怎么给做网站的提页面需求焦作做网站公司
  • 自己做的网站找不到了制作网站问题和解决方法
  • 5118站长平台cento安装wordpress
  • 政务大厅网站建设管理制度wordpress商城移动端
  • 提供中小企业网站建设北京企业网站建设公司哪家好
  • 做海报找图片的网站黑群晖按照wordpress
  • 网站建设与运营市场开拓方案网站首页策划
  • 做国外网站什么好网站快速优化排名排名
  • 如东做网站专注高密网站建设
  • dw网页设计作品简单宁波seo排名方案
  • 网站做微信接口吗小说网站首页模板
  • 网站正在建设中html个人站长做网站需要多少钱
  • 做推广便宜的网站有哪些数据网站建设哪家好
  • 中介网站制度建设wordpress genesis
  • 广东贸易网站开发用数据库做学校网站论文
  • 关于省钱的网站名字东莞哪些网络公司做网站比较好
  • net网站建设多少前MAC怎么做网站
  • 创建网站流程图国内高清图片素材网站推荐
  • 淄博住房和城乡建设局网站建设外贸网站哪家好
  • dede网站地图路径密云区免费网站建设
  • 男女做那事是什 网站软文网
  • 安徽建海建设工程有限公司网站活动推广宣传方案
  • 镇江市建设审图网站关键词优化过程
  • 广州个人网站备案要多久手机软件界面设计
  • 网站建设成都公司哪家好wordpress悬浮代码
  • 制作网站服务公司wordpress文章添加关注公众号