https://gitee.com/HUAWEI-ASCEND/quadruped-robot
操作系统:Ubuntu 20.04
CPU:Intel® Xeon® Gold 6278C CPU @ 2.60GHz
内存:16GB
Intel oneAPI 是一个跨行业、开放、基于标准的统一的编程模型,它为跨 CPU、GPU、FPGA、专用加速器的开发者提供统一的体验,包含两个组成部分∶ 一项行业计划和一款英特尔beta 产品。
oneAPI 开放规范基于行业标准和现有开发者编程模型,广泛适用于不同架构和来自不同供应商的硬件。oneAPI 行业计划鼓励生态系统内基于oneAPI规范的合作以及兼容 oneAPI的实践。
英特尔 oneAPI 产品是英特尔基于oneAPI 的实现,它包括了 oneAPI 标准组件如直接编程工具(Data Parallel C++)、含有一系列性能库的基于 API 的编程工具,以及先进的分析、调试工具等组件。开发人员从现在开始就可以在英特尔 DevCloud for oneAPI 上对基于多种英特尔架构(包括英特尔至强可扩展处理器、带集成显卡的英特尔酷睿处理器、英特尔 FPGA 如英特尔 Arria、Stratix 等)的代码和应用进行测试。
总的来说,单说 Intel oneAPI 只是一个编程模型、一个行业规范,二 Intel oneAPI 相关产品如 Intel oneAPI Base Toolkit、Intel oneAPI HPC Toolkit以及Intel AI Analytics Toolkit则是基于 Intel oneAPI 这一编程模型开发的产品。
oneAPI 这一开放式规范包括一种跨架构的编程语言 Data Parallel C++(DPC++)、一套用于API编程的函数库以及底层硬件接口(oneAPI Level Zero)。有了这些组件,英特尔和其它企业就能创建他们自己的 oneAPI 实现来支持他们自己的产品,或基于 oneAPI 进行新产品开发。
对于OneAPI有兴趣的可以参考一下这篇文章:
https://www.zhihu.com/tardis/zm/art/103299140
注:如果只是为了完成后续的实验的话,其实是可以不用装这一个套件的,毕竟套件还是比较大的,如果想捣腾的可以试着安装一下
wget https://registrationcenter-download.intel.com/akdlm/IRC_NAS/7deeaac4-f605-4bcf-a81b-ea7531577c61/l_BaseKit_p_2023.1.0.46401_offline.sh
sudo sh ./l_BaseKit_p_2023.1.0.46401_offline.sh
添加环境变量到~/.bashrc
文件最后
source /opt/intel/oneapi/setvars.sh
网址:https://fishros.org.cn/forum/topic/20/小鱼的一键安装系列?lang=zh-CN
wget http://fishros.com/install -O fishros && . fishros
安装过程根据文字提示结合实际需要进行选择即可(一般情况大部分都是选1,更换镜像那一块根据自己需要选择)
注:本文记录的实例只能使用ROS1进行实验,ROS2目前还不支持
安装环境依赖
sudo apt install libyaml-cpp-dev
sudo apt install libeigen3-dev
sudo apt install liblcm-dev
sudo apt install libglm-dev
catkin_ws初始化
mkdir catkin_ws
cd catkin_ws
mkdir src
cd src
git clone https://gitee.com/HUAWEI-ASCEND/quadruped-robot
cd ..
catkin_make
注:如果没有安装Intel OneAPI的话,会出现提示BLAS API找不到或者BLAS LIB找不到的问题
解决方法:
可以把quadruped-robot/model-control/quadruped/CMakeLists.txt
文件中的BLAS相关代码注释掉,或者将配置文件中的USE_BLAS
设置为 OFF
source环境变量
source devel/setup.bash
注:每开一次新的终端都要执行一下这条命令,所以如果环境中只有一个catkin_ws
的话,其实可以把文件的绝对路径添加到~/.bashrc
文件最后,这样以后每次开机自动加载该环境变量
运行Gazebo模拟器
roslaunch qr_gazebo gazebo_startup.launch wname:=earth
启动第一个机器人模型
roslaunch qr_gazebo model_spawn.launch rname:=a1 use_xacro:=true use_camera:=false
rosrun examples example_a1_sim
运行一个控制盘
rosrun examples example_keyboard