Dirección de almacén de código de ejemplo
https://gitee.com/HUAWEI-ASCEND/robot-cuadrúpedo
entorno de laboratorio
SO: Ubuntu 20.04
CPU: Intel® Xeon® Gold 6278C CPU a 2,60 GHz
Memoria: 16 GB
preparar el ambiente
Instale el kit básico de Intel OneAPI (no es necesario)
¿Qué es Intel OneAPI?
Intel oneAPI es un modelo de programación unificado basado en estándares, abierto e intersectorial que proporciona una experiencia unificada para los desarrolladores en CPU, GPU, FPGA y aceleradores dedicados. Consta de dos componentes: un plan industrial y un producto beta de Intel.
La especificación abierta oneAPI se basa en los estándares de la industria y los modelos de programación de desarrolladores existentes, y es ampliamente aplicable a diferentes arquitecturas y hardware de diferentes proveedores. El plan industrial oneAPI fomenta la cooperación dentro del ecosistema en función de la especificación oneAPI y las prácticas compatibles con oneAPI.
El producto oneAPI de Intel es la implementación basada en oneAPI de Intel, que incluye componentes estándar de oneAPI, como herramientas de programación directa (Data Parallel C++), herramientas de programación basadas en API con una serie de bibliotecas de rendimiento y herramientas avanzadas de análisis y depuración. Los desarrolladores ahora pueden usar Intel DevCloud para oneAPI para el código y la aplicación para las pruebas.
En general, Intel oneAPI es solo un modelo de programación y una especificación industrial, y los productos relacionados con Intel oneAPI, como Intel oneAPI Base Toolkit, Intel oneAPI HPC Toolkit e Intel AI Analytics Toolkit, son productos desarrollados en base al modelo de programación de Intel oneAPI.
oneAPI es una especificación abierta que incluye un lenguaje de programación de arquitectura cruzada Data Parallel C++ (DPC++), un conjunto de bibliotecas de funciones para la programación de API y la interfaz de hardware subyacente (oneAPI Level Zero). Con estos componentes, Intel y otras empresas pueden crear su propia implementación de oneAPI para respaldar sus propios productos o desarrollar nuevos productos basados en oneAPI.
Referencias
Si está interesado en OneAPI, puede consultar este artículo:
https://www.zhihu.com/tardis/zm/art/103299140
Nota: Si solo desea completar el experimento de seguimiento, no necesita instalar este kit. Después de todo, el kit aún es relativamente grande. Si quiere perder el tiempo, puede intentar instalarlo.
Instalar
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
Agregue variables de entorno al ~/.bashrc
final del archivo.
source /opt/intel/oneapi/setvars.sh
Instalar ROS
Instalación con un solo clic de Xiaoyu (recomendado)
URL: https://fishros.org.cn/forum/topic/20/Serie de instalación con un solo clic de Xiaoyu?lang=zh-CN
wget http://fishros.com/install -O fishros && . fishros
Durante el proceso de instalación, puede elegir de acuerdo con las indicaciones de texto combinadas con las necesidades reales (en la mayoría de los casos, elija 1 y elija el que reemplace la imagen reflejada de acuerdo con sus propias necesidades)
Nota: personalmente recomiendo usar el entorno ROS1.0 para experimentos
Instala el emulador
El entorno de instalación depende de
sudo apt install libyaml-cpp-dev
sudo apt install libeigen3-dev
sudo apt install liblcm-dev
sudo apt install libglm-dev
inicialización catkin_ws
mkdir catkin_ws
cd catkin_ws
mkdir src
cd src
git clone https://gitee.com/HUAWEI-ASCEND/quadruped-robot
cd ..
catkin_make
Nota: Si Intel OneAPI no está instalado, aparecerá un mensaje que le indicará que no se puede encontrar la API de BLAS o que no se puede encontrar la LIB de BLAS. Solución
:
puede quadruped-robot/model-control/quadruped/CMakeLists.txt
comentar el código relacionado con BLAS en el archivo o USE_BLAS
desactivarlo en el archivo de configuración
variable de entorno de origen
source devel/setup.bash
Nota: debe ejecutar este comando cada vez que abra una nueva terminal, por lo que si solo hay una en el entorno catkin_ws
, puede agregar la ruta absoluta del archivo al ~/.bashrc
final del archivo, de modo que la variable de entorno sea se carga automáticamente cada vez que arranca
correr
Ejecute el emulador de Gazebo
roslaunch qr_gazebo gazebo_startup.launch wname:=earth
Comience el primer modelo de robot
roslaunch qr_gazebo model_spawn.launch rname:=a1 use_xacro:=true use_camera:=false
ejecutar un ejemplo
rosrun examples example_a1_sim
ejecutar un panel de control
rosrun examples example_keyboard