# 移动机器人路径规划算法仿真器 **Repository Path**: chenjmg/path_planning_simulation ## Basic Information - **Project Name**: 移动机器人路径规划算法仿真器 - **Description**: 移动机器人路径规划算法仿真器 - **Primary Language**: C++ - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 1 - **Created**: 2021-09-24 - **Last Updated**: 2024-11-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 移动机器人路径规划仿真器 ![][simulation_ui] 基于OPENCV的仿真软件开发 ## 编译 ```bash $ cd build ``` 首次编译 ```bash $ cmake .. ``` 编译 ```bash $ make ``` ## 运行 编译完成后,生成一个`path_planning_sim` 可执行文件,执行 ```bash $ ./path_planing_sim ``` ## 操作 ### 鼠标操作 - 鼠标左键选择起点 - 鼠标右键选择终点 ### 键盘操作 - S 或者 s 开始路径规划 - C 或者 c 清除界面 --- End of file --- [simulation_ui]:data:image/png;base64,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5NLrAACQS68DAEAuvQ4AALn0OgAA5NLrAACQS68DAEAuvQ4AALn0OgAA5NLrAACQS68DAEAuvQ4AALn0OgAA5NLrAACQq9FsNuveAEHWr1/f2wecnJzs7QMCAAvKRLvdrntDF61WK3CYVdUN76qpqanePum8zzi8r9Xgxa7asmVL3Ss6rV27NvO1yly1cePGuld0ajabP/zhD+te0emcc87J/ApaVZFV1UWtcj8MAADk0usAAJBLrwMAQC69DgAAufQ6AADk0usAAJBLrwMAQC69DgAAufQ6AADk0usAAJBLrwMAQC69DgAAufQ6AADk0usAAJBLrwMAQC69DgAAufQ6AADk0usAAJBLrwMAQC69DgAAufQ6AADk0usAAJBLrwMAQC69DgAAufQ6AADk0usAAJBLrwMAQC69DgAAufQ6AADk0usAAJBLrwMAQC69DgAAufQ6AADk0usAAJBLrwMAQC69DgAAufQ6AADk0usAAJBLrwMAQC69DgAAufQ6AADk0usAAJBLrwMAQC69DgAAufQ6AADk0usAAJBLrwMAQC69DgAAuRrNZrPuDRBk/fr1vX3AycnJ3j4gALCgTLTb7bo3dNFqtQKHWVXd8K6amprq7ZPO+4zD+1oNXuyq2267re4VnU477bTM12rDhg11r+h05plnbtmype4VndauXXvLLbfUvaLTWWedlfnnyqqKrKouapX7YQAAIJdeBwCAXHodAABy6XUAAMil1wEAIJdeBwCAXHodAABy6XUAAMil1wEAIJdeBwCAXHodAABy6XUAAMil1wEAIJdeBwCAXHodAABy6XUAAMil1wEAIJdeBwCAXHodAABy6XUAAMil1wEAIJdeBwCAXHodAABy6XUAAMil1wEAIJdeBwCAXHodAABy6XUAAMil1wEAIJdeBwCAXHodAABy6XUAAMil1wEAIJdeBwCAXHodAABy6XUAAMil1wEAIJdeBwCAXHodAABy6XUAAMil1wEAIJdeBwCAXHodAAByTdQ9AADgSDQaB/9b+0EfSdC5qixrm8Lwc30dAABy6XUAAMil1wEAIJdeBwCAXI1ms1n3Bgiyfv363j7g5ORkbx8QYIFrb9xY94Qj1pJbHINGGfkNy61Wq91u172ik1XVDe+qqamp3j7pxRdffPhPGN7XavBiV91xxx11r+i0Zs2azNfq5ptvrntF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ACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACBXo9ls1r0BAADorlGWZd0bumi1Wu12u+4VnayqzqrqrKrOquqsqs6q6qyqzqrqrJqX+2EAACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADI1Wg2m3VvAAAAumuUZVn3hi5arVa73a57RSerqrOqOquqs6o6q6qzqjqrqrOqOqvm5X4YAADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcjWazWbdGwAAgO4aZVnWvaGLVqvVbrfrXtHJquqsqs6q6qyqzqrqrKrOquqsqs6qebkfBgAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFyNZrNZ9wYAAKC7RlmWdW/ootVqtdvtuld0sqo6q6qzqjqrqrOqOquqs6o6q6qzal7uhwEAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADIpdcBACCXXgcAgFx6HQAAcul1AADI9f8BMhjZntciBmMAAAAASUVORK5CYII=