元层是为那些想要使用 i.MX8M 系列 SOC 和 Yocto 系统开发 AGV 和机器人的人设计的。
该平台包括一些关键组件:
1、ROS1(动感、旋律)和ROS2(潇洒、雄辩、狡猾)
2、实时Linux解决方案:Xenomai 3.1 搭配 ipipe 5.4.47 patch
3, Industrial protocol : libmodbus, linuxptp, ros-canopen, EtherCAT(TBD)
4、安全性:增强型 OpenSSL、增强型 GmSSL、增强型 eCryptfs、安全密钥存储、安全启动(待定)、SE-Linux(待定)、Dm-verity(待定)
第一个版本基于 i.MX Yocto 版本 L5.4.47 2.2.0,您需要根据 https://www.nxp.com/docs/en/user-guide/IMX_YOCTO_PROJECT_USERS_GUIDE.pdf 下载 Linux 5.4.47_2.2.0首先。然后您可以按照以下指南构建和测试 ROS 和 Xenomai。
A 、从gitee.com克隆meta-robot-platform
git 克隆https://gitee.com/zxd2021-imx/meta-robot-platform.git
git checkout v0.1-L5.4.47-2.2.0
B 、将 meta-robot-platform 层添加到您的构建中
1,将 meta-robot-platform 复制到
2,您应该创建一个符号链接:setup-imx-robot.sh -> sources/meta-robot-platform/imx/meta-robot/tools/setup-imx-robot.sh
C 、如何构建机器人图像(以 i.MX8MQ EVK 板为例)
$ DISTRO=imx-robot-xwayland MACHINE=imx8mqevk 源设置-imx-robot.sh -r kinetic -b imx8mqevk-robot-kinetic
[或 DISTRO=imx-robot-xwayland MACHINE=imx8mqevk source setup-imx-robot.sh -r melodic -b imx8mqevk-robot-melodic ]
[或 DISTRO=imx-robot-xwayland MACHINE=imx8mqevk source setup-imx-robot.sh -r dashing -b imx8mqevk-robot-dashing ]
[或 DISTRO=imx-robot-xwayland MACHINE=imx8mqevk 源 setup-imx-robot.sh -r eloquent -b imx8mqevk-robot-eloquent ]
[或 DISTRO=imx-robot-xwayland MACHINE=imx8mqevk 源 setup-imx-robot.sh -r foxy -b imx8mqevk-robot-foxy ]
$ bitbake imx-robot-core
[或 bitbake imx-robot-system ]
[or bitbake imx-robot-sdk ]
如果你在 local.conf 中添加 XENOMAI_KERNEL_MODE = "cobalt" 或 XENOMAI_KERNEL_MODE = "mercury",您还可以通过以下命令使用 Xenomai 构建实时图像:
$ bitbake imx-robot-core-rt
[或 bitbake imx-robot-system-rt ]
D 、机器人图像健全性测试
//ROS1 健全性测试 #source /opt/ros/kinetic/setup.sh
[或 # source /opt/ros/melodic/setup.sh ]
#回显 $LD_LIBRARY_PATH
#roscore &
#rosnode 列表
#rostopic 列表 #only 动能
#rosmsg list
#rosnode 信息/rosout
//ROS2健全性测试
#source ros_setup.sh
#回显 $LD_LIBRARY_PATH
#ros2 主题列表
#ros2 消息列表#only dashing
#ros2接口列表
#(睡眠 5;ros2 主题发布/聊天 std_msgs/String“数据:Hello world”)&
#ros2 主题 echo /chatter
E 、Xenomai健全性测试
#/usr/xenomai/demo/cyclictest -p 50 -t 5 -m -n -i 1000
F, vSLAM demo
您可以在
orb-slam2-mono.jpg
/////////////////////////////////////// Yocto L5.4.70 2.3.0 更新///////////////////////////////////////////////////////////
Yocto 版本 L5.4.70 2.3.0 的新发布包 meta-robot-platform-v0.2-L5.4.70-2.3.0,它支持 i.MX8M 系列(8MQ、8MM、8MN 和 8MP)和 i.MX8QM/QXP。
git 克隆https://gitee.com/zxd2021-imx/meta-robot-platform.git
git checkout v0.2-L5.4.70-2.3.0
更新中:
1、支持i.MX8QM和i.MX8QXP
2、在ROS1中添加RPLIDAR和Orbbec 3D相机的ROS驱动
3、升级OpenCV到3.4.13。
4、添加 imx-robot-agv 镜像和 orb-slam2 demo
5、修复添加orb-slam2时创建镜像失败的问题
6、修复添加ISP和ML包时无法创建imx-robot sdk镜像的问题
注意:目前,orb-slam2 演示无法在 i.MX8MM 平台上运行,因为其 GPU 不支持 OpenGL ES3。
imx-robot-sdk 图像仅用于在 i.MX 板上构建 ROS 包,而不是用于交叉编译。您可以尝试“bitbake imx-robot-system -c populate_sdk”来创建没有 gmssl-bin 的交叉编译 sdk。
差异--git a/imx/meta-robot/recipes-core/images/imx-robot-system.bb b/imx/meta-robot/recipes-core/images/imx-robot-system.bb
索引 1991ab10..68f9ad31 100644
--- a/imx/meta-robot/recipes-core/images/imx-robot-system.bb
+++b/imx/meta-robot/recipes-core/images/imx-robot-system.bb
@@ -35,7 +35,7 @@ CORE_IMAGE_EXTRA_INSTALL += " \
${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'weston-xwayland xterm', '', d)} \
${ISP_PKGS} \
“
-IMAGE_INSTALL +=“clblast openblas libeigen opencv gmssl-bin”
+IMAGE_INSTALL +=“clblast openblas libeigen opencv”
图像安装 += " \
${ML_PKGS} \
/////////////////////////////////////// Yocto L5.4.70 2.3.2 更新///////////////////////////////////////////////////////////
适用于 Yocto 版本 L5.4.70 2.3.2 的新发布包 meta-robot-platform-v0.3-L5.4.70-2.3.2。
git 克隆https://gitee.com/zxd2021-imx/meta-robot-platform.git
git checkout v0.3-L5.4.70-2.3.2
更新:
1、升级到L5.4.70-2.3.2
2、启用xenomai rtdm驱动
3、添加NXP软件内容寄存器和i.MX8M Plus AI机器人板的BSP补丁。
注释:如何构建AI机器人板
1, DISTRO=imx-robot-wayland MACHINE=imx8mp-ddr4-ipc source setup-imx-robot.sh -r melodic -b imx8mp-ddr4-ipc-robot-melodic
2,在 bblayers.conf 中添加 BBLAYERS += " ${BSPDIR} /sources/meta-robot-platform/imx/meta-imx8mp-ai-robot "
3, bitbake imx-robot-sdk or bitbake imx-robot-agv
///////////////////////////////////////////////更新至 v1.0-L5.4.70-2.3.2///////////////////////////////////////////////////////////
新发布包 meta-robot-platform-v1.0-L5.4.70-2.3.2 。
git 克隆https://gitee.com/zxd2021-imx/meta-robot-platform.git
git checkout v1.0-L5.4.70-2.3.2
更新:
1、将 ROS1 Kinetic Kame 升级到版本 2021-05-11,即最终同步。
2、在i.MX机器人平台中添加IgH EtherCAT Master for Linux。
///////////////////////////////////////////////更新至 v1.1-L5.4.70-2.3.2///////////////////////////////////////////////////////////
新发布包 meta-robot-platform-v1.1-L5.4.70-2.3.2 。
git 克隆https://gitee.com/zxd2021-imx/meta-robot-platform.git
git checkout v1.1-L5.4.70-2.3.2
更新:
1、添加更多在ROS1 Kinetic Kame中构建通过的软件包。
2、在 Uboot 和内核中将 i.MX8M Plus AI 机器人板的板名(从 IPC 更改为 AI-Robot)更改。您可以使用以下设置命令为 AI 机器人板构建 ROS 图像:
DISTRO=imx-robot-xwayland MACHINE=imx8mp-ai-robot source setup-imx-robot.sh -r kinetic -b imx8mp-ai-robot-robot-kinetic
DISTRO=imx-robot-xwayland MACHINE=imx8mp-ai-robot source setup-imx-robot.sh -r melodic -b imx8mp-ai-robot-robot-melodic
DISTRO=imx-robot-xwayland MACHINE=imx8mp-ai-robot source setup-imx-robot.sh -r dashing -b imx8mp-ai-robot-robot-dashing
DISTRO=imx-robot-xwayland MACHINE=imx8mp-ai-robot source setup-imx-robot.sh -r eloquent -b imx8mp-ai-robot-robot-eloquent
DISTRO=imx-robot-xwayland MACHINE=imx8mp-ai-robot source setup-imx-robot.sh -r foxy -b imx8mp-ai-robot-robot-foxy
顺便说一句,您应该在 conf/bblayers.conf 中添加 BBLAYERS += " ${BSPDIR} /sources/meta-robot-platform/imx/meta-imx8mp-ai-robot "。
//////////////////////////////////////////////更新至 v1.2-L5.4.70-2.3.3///////////////////////////////////////////////////////////
新发布包 meta-robot-platform-v1.2-L5.4.70-2.3.3 。
git 克隆https://gitee.com/zxd2021-imx/meta-robot-platform.git
git checkout v1.2-L5.4.70-2.3.3
更新:
1、更新至 Yocto 版本 L5.4.70-2.3.3
2、启用RTNet FEC驱动程序,在i.MX8M Mini EVK和i.MX8M Plus EVK上进行测试。详细信息请参考社区帖子移植实时Linux方案Xenomai到i.MX ARM64平台(Enable Xenomai on i.MX ARM64 Platform)
//////////////////////////////////////////////更新至 v2.1-L5.10.52-2.1.0///////////////////////////////////////////////////////////
新发布包 meta-robot-platform-v2.1-L5.10.52-2.1.0 。
git 克隆https://gitee.com/zxd2021-imx/meta-robot-platform.git
git checkout v2.1.1-L5.10.52-2.1.0
更新:
1、更新至 Yocto 版本 L5.10.52-2.1.0
2、添加ROS1 noetic、ROS2 galactic和rolling
3、升级Xenomai到v3.2
4, Add vSLAM demo orb-slam3
5、升级OpenCV到3.4.15对于 ROS1
A 、将 meta-robot-platform 层添加到您的构建中
1,将 meta-robot-platform 复制到
2,您应该创建一个符号链接:setup-imx-robot.sh -> sources/meta-robot-platform/imx/meta-robot/tools/setup-imx-robot.sh
B 、如何构建机器人图像(以 i.MX8M Plus EVK 板为例)
$ DISTRO=imx-robot-xwayland MACHINE=imx8mpevk 源设置-imx-robot.sh -r kinetic -b imx8mpevk-robot-kinetic
[or DISTRO=imx-robot-xwayland MACHINE=imx8mpevk source setup-imx-robot.sh -r melodic -b imx8mpevk-robot-melodic ]
[or DISTRO=imx-robot-xwayland MACHINE=imx8mpevk source setup-imx-robot.sh -r noetic-b imx8mpevk-robot-noetic]
[或 DISTRO=imx-robot-xwayland MACHINE=imx8mpevk source setup-imx-robot.sh -r dashing -b imx8mpevk-robot-dashing ]
[或 DISTRO=imx-robot-xwayland MACHINE=imx8mpevk 源 setup-imx-robot.sh -r eloquent -b imx8mpevk-robot-eloquent ]
[或 DISTRO=imx-robot-xwayland MACHINE=imx8mpevk 源 setup-imx-robot.sh -r foxy -b imx8mpevk-robot-foxy ]
[或 DISTRO=imx-robot-xwayland MACHINE=imx8mpevk 源 setup-imx-robot.sh -r galactic -b imx8mpevk-robot-galactic ]
[或 DISTRO=imx-robot-xwayland MACHINE=imx8mpevk source setup-imx-robot.sh -r rolling -b imx8mpevk-robot-rolling ]
$ bitbake imx-robot-agv
[或 bitbake imx-robot-core ]
[或 bitbake imx-robot-system ]
[or bitbake imx-robot-sdk ]
/////////////////////////////////////////////////更新至 v2.2-L5.10.72-2.2.0 //////////////////////////////////////////////////////////////////////////////////////////
新发布包 meta-robot-platform-v2.2-L5.10.72-2.2.0 。
git 克隆https://gitee.com/zxd2021-imx/meta-robot-platform.git
git checkout v2.2.0-L5.10.72-2.2.0
更新:
1、更新至 Yocto 版本 L5.10.72-2.2.0
/////////////////////////////////////////////////更新至 v2.2.3-L5.10.72-2.2.3 ////////////////////////////////////////////////////////////////////////////////////////////
新发布包 meta-robot-platform-v2.2.3-L5.10.72-2.2.3。
repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-hardknott -m imx-5.10.72-2.2.3.xml
git 克隆https://gitee.com/zxd2021-imx/meta-robot-platform.git
git checkout v2.2.3-L5.10.72-2.2.3
1,将 meta-robot-platform 复制到
2,您应该创建一个符号链接:setup-imx-robot.sh -> sources/meta-robot-platform/imx/meta-robot/tools/setup-imx-robot.sh
更新:
1、更新至 Yocto 版本 L5.10.72-2.2.3
2、更新 ISP SDK(isp-imx)补丁以适应 Github 的变化。
/////////////////////////////////////////////////更新至 v3.1-L5.15.71-2.2.0 ///////////////////////////////////////////////////////////////////////////////////////////
新发布包 meta-robot-platform-v3.1-L5.15.71-2.2.0。
repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-kirkstone -m imx-5.15.71-2.2.0.xml
git 克隆https://gitee.com/zxd2021-imx/meta-robot-platform.git
git checkout v3.1-L5.15.71-2.2.0
1,将 meta-robot-platform 复制到
2,您应该创建一个符号链接:setup-imx-robot.sh -> sources/meta-robot-platform/imx/meta-robot/tools/setup-imx-robot.sh
更新:
1、更新至 Yocto 版本 L5.15.71-2.2.0,并将 ROS1 Noetic 和 ROS2 Foxy 更新至最新版本
2、添加 ROS2 Humble 并删除 EOL 分布(ROS1 Kinetic、Melodic 和 ROS2 Dashing、Eloquent 和 Galactic)。
如何构建机器人图像(以 i.MX8M Plus EVK 板为例)
$DISTRO=imx-robot-xwayland MACHINE=imx8mpevk 源 setup-imx-robot.sh -r noetic-b imx8mpevk-robot-noetic
[或 DISTRO=imx-robot-xwayland MACHINE=imx8mpevk 源 setup-imx-robot.sh -r foxy -b imx8mpevk-robot-foxy ]
[或 DISTRO=imx-robot-xwayland MACHINE=imx8mpevk source setup-imx-robot.sh -r humble -b imx8mpevk-robot-humble ]
$ bitbake imx-robot-sdk
[或 bitbake imx-robot-core ]
[或 bitbake imx-robot-system ]
[or bitbake imx-robot-agv ]
/////////////////////////////////////////////////更新至 v3.3-L5.15.71-2.2.0 ////////////////////////////////////////////////////////////////////////////////////////////
新发布包 meta-robot-platform-v3.3-L5.15.71-2.2.0。
repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-kirkstone -m imx-5.15.71-2.2.0.xml
git 克隆https://gitee.com/zxd2021-imx/meta-robot-platform.git
git checkout v3.3-L5.15.71-2.2.0
1,将 meta-robot-platform 复制到
2,您应该创建一个符号链接:setup-imx-robot.sh -> sources/meta-robot-platform/imx/meta-robot/tools/setup-imx-robot.sh
更新:
1、添加基于i.MX vSLAM SDK和i.MX AIBot的vSLAM ROS demo。
vslam.jpg
演示视频在这里:
基于 i.MX 8M Plus 应用处理器的 vSLAM 自主导航
2、启用DDS Security和SROS2以实现ROS 2的安全功能。
如何构建机器人图像(以 i.MX8M Plus EVK 板为例)
$DISTRO=imx-robot-xwayland MACHINE=imx8mpevk 源 setup-imx-robot.sh -r noetic-b imx8mpevk-robot-noetic
[或 DISTRO=imx-robot-xwayland MACHINE=imx8mpevk 源 setup-imx-robot.sh -r foxy -b imx8mpevk-robot-foxy ]
[或 DISTRO=imx-robot-xwayland MACHINE=imx8mpevk source setup-imx-robot.sh -r humble -b imx8mpevk-robot-humble ]
$ bitbake imx-robot-sdk
[or bitbake imx-robot-agv ]
[或 bitbake imx-robot-system ]
[或 bitbake imx-robot-core ]
////////////////////////////////////////////////更新至 v4.0-L6.1.55-2.2.0 /////////////////////////////////////////////////////////////////////////////////////////
新发布包 meta-robot-platform-v4.0-L6.1.55-2.2.0。
回购初始化 -u https://github.com/nxp-imx/imx-manifest-b imx-linux-mickledore -m imx-6.1.55-2.2.0.xml
git 克隆https://gitee.com/zxd2021-imx/meta-robot-platform.git
git checkout mickledore-6.1.55
1,将 meta-robot-platform 复制到
2,您应该创建一个符号链接:setup-imx-robot.sh -> sources/meta-robot-platform/imx/meta-robot/tools/setup-imx-robot.sh
更新:
1、将 i.MX 机器人平台迁移到带有 L6.1.55 的 Yocto mickledore。
2、添加ROS2铁。
如何构建机器人图像(以 i.MX8M Plus EVK 板为例)
$DISTRO=imx-robot-xwayland MACHINE=imx8mpevk 源 setup-imx-robot.sh -r humble -b imx8mpevk-robot-humble
[或 DISTRO=imx-robot-xwayland MACHINE=imx8mpevk source setup-imx-robot.sh -r iron -b imx8mpevk-robot-iron ]
[or DISTRO=imx-robot-xwayland MACHINE=imx8mpevk source setup-imx-robot.sh -r noetic-b imx8mpevk-robot-noetic]
$ bitbake -k imx-robot-sdk
[or bitbake imx-robot-agv ]
[或 bitbake imx-robot-system ]
[或 bitbake imx-robot-core ]
////////////////////////////////////////////////更新至 v5.0-L6.6.52-2.2.0 ////////////////////////////////////////////////////////////////////////////////////////////
新发布包 meta-robot-platform-v5.0-L6.6.52-2.2.0。
repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-scarthgap -m imx-6.6.52-2.2.0.xml
git克隆https://gitee.com/zxd2021-imx/meta-robot-platform.git -b scraphgap-6.6.52
1,将 meta-robot-platform 复制到
2,您应该创建一个符号链接:setup-imx-robot.sh -> sources/meta-robot-platform/imx/meta-robot/tools/setup-imx-robot.sh
更新:
1,将i.MX机器人平台迁移到带有L6.6.52的Yocto scarthgap并支持i.MX95 EVK。
2、添加ROS2 jazzy并删除ROS1。
如何构建机器人图像(以 i.MX95 EVK 板为例)
$DISTRO=imx-robot-xwayland MACHINE=imx95-15x15-lpddr4x-evk 源 setup-imx-robot.sh -r humble -b imx95-15x15-lpddr4x-evk-humble
[或 DISTRO=imx-robot-xwayland MACHINE=imx95-15x15-lpddr4x-evk 源 setup-imx-robot.sh -r jazzy -b imx95-15x15-lpddr4x-evk-jazzy ]
$ bitbake -k imx-robot-sdk
[or bitbake imx-robot-agv ]
[或 bitbake imx-robot-system ]
[或 bitbake imx-robot-core ]