在市场对效率和成本效益的双重驱动下,基于复杂硬件叠加的传统机器人开发模式已逐渐被企业抛弃。更符合高效率、高性价比期望的一体化解决方案,慢慢进入了机器人厂商的视线。
搭载融合架构操作系统平台AidLux的高通开发板不仅能满足智能机器人的Android人机交互需求,还能高效集成AI视觉分析、终端侧大模型部署、运动控制和ROS。让机器人项目的开发和部署更加高效、便捷、人性化。
融合系统架构
在2024高通边缘智能创新应用大赛中,我们特别设置了智能机器人赛道,并提供了两款基于高通平台的高性能开发板以及一系列专业技术培训,让更多的开发者能够体验到Agaxi带来的强大优势通过技术与高通硬件的结合,可以加速智能机器人项目的落地和实施。
培训课程以机械臂仿真培训为例,通过阿加西AidLux和边缘智能工具链进行开发和部署演示。最终在基于高通平台的物联网开发板上快速搭建了机械臂定位抓取系统。不仅可以准确识别和定位物体,还可以让声控机械臂执行抓取任务。
机器人开发环境配置
01 安装ROS/ROS2
在AidLux 应用中心下载
02 安装Xfce4并显示渲染图形
Xwayland:在HDMI显示或adb抄屏显示下可用,但在网页版下不可用。
VNC: 需要在投屏设备(如PC)上下载RealVNC等VNC软件,输入软件中列出的“IP地址:端口号”
03 安装Gazebo模拟工具
参考官方教程
安装: sudo apt install Gazebo11
运行:凉亭
创建虚拟仿真环境
04 安装RViz可视化开发工具
参考官方教程
运行方式:ROS1需要在一个终端运行roscore,然后在另一终端运行rviz; ROS2可以直接在终端上运行rviz2。
可视化ROS数据(调试机器人传感器信息、状态和环境模型)
05 安装MoveIt
参考官方教程
安装方法:
sudo apt install ros-noetic-moveit (根据不同版本修改版本号) 操作方法:MoveIt有多个与RViz集成的插件,可以直接在RViz中运行,也可以结合MoveIt提供的API接口和一个真实的机器人来实现对机械臂的控制。
roslaunch moveit_setup_assistant setup_assistant.launch(设置助手用于导入机械臂模型和相关文件配置)机器人运动规划、控制和仿真的集成软件框架
用于机器人运动规划、控制和仿真的集成软件框架
ROS开发流程
01 创建工作区
创建工作空间目录,例如~/catkin_ws。然后进入工作空间,使用catkin_make进行初始化。此步骤类似于为机器人开发项目创建专用工作区,确保所有文件都位于有组织的位置。
mkdir -p ~/catkin_ws/srccd ~/catkin_ws/srccatkin_init_workspace02 创建功能包
进入src目录,新建函数包。这一步就像在项目中创建一个子模块一样。每个模块负责实现特定的功能,例如控制机器人运动、处理传感器数据等。
cd ~/catkin_ws/srccatkin_create_pkgturtlesim_circle roscpp rospy std_msgs Geometry_msgs03 写入节点代码
在my_robot_pkg/src 目录中创建节点代码文件,例如my_node.cpp (C++) 或my_node.py (Python)。这一步类似于在某个函数下编写各种组件。每个节点(组件)执行特定的任务,例如读取和分析传感器数据、控制电机等。
04 编译工作区
将源代码转换为机器可执行的二进制文件。 C++代码需要编译,而Python代码不需要编译。 CMakeLists.txt 是CMake 构建系统的配置文件。 CMake 是一个跨平台编译工具,可以帮助开发人员自动生成构建文件,例如Makefiles 或项目文件。 CMakeLists.txt 文件定义了如何构建你的项目,包括源文件、依赖库、目标等。它一般是自动生成的,可以根据需要进行修改。
cd ~/catkin_wscatkin_make05 配置环境
编译成功后执行:
source ~/catkin_ws/devel/setup.bash 这会将工作区添加到ROS 环境中。
06 运行节点
使用rosrun 或roslaunch 运行节点
rosrunturtlesim_circleturtle_circleroslaunchturtlesim_circleturtle_circle.launch其中rosrun命令用于运行特定包中的单个ROS节点。 roslaunch命令用于启动一组ROS节点,可以通过launch文件(.launch)配置节点参数、节点依赖关系、启动顺序等,比rosrun更加灵活。
使用MoveIt 开发机械臂
01 运行MoveIt Setup Assistant并创建新的MoveIt配置包
roslaunch moveit_setup_assistant setup_assistant.launch
02 导入MoveIt示例机械臂配置文件
选择个人资料
/opt/ros/noetic/share/franka_description/robots/panda/panda.urdf.xacro 设置文件参数hand:=true
选择Load Files加载机械臂文件
03 自碰撞检查
通过调整碰撞对的采样密度和最小碰撞率,可以生成显示机器人各部分之间碰撞的碰撞矩阵。绿色表示安全,红色表示碰撞,蓝色表示可忽略的碰撞对,有助于提高运动规划的效率。
04 定义虚拟关节
给机器人在世界坐标系中的位置或将其放置在移动平台上。通过输入虚拟关节的名称、子链接和父框架并选择关节类型(例如固定或浮动)来完成设置。
05 定义规划组
定义规划组,它们是基于用于规划和碰撞检测的关节、链接和运动链的集合。每个规划组代表机器人的一部分,例如“panda_arm”和“hand”,其中包含相应的关节和连杆。定义这些组有助于明确在运动规划中需要考虑和控制哪些部件,以优化机器人的运动性能。
06 定义机械臂的具体姿势
这些姿势由规划组的一组关节值组成。您命名姿势并选择相应的规划组,然后通过调整滑块设置每个关节的具体位置。这些姿势可用于机器人初始化位置和特定任务的预定义位置,从而简化和加速运动规划。
07 定义末端执行器
08 定义机器人被动关节
即不由电机驱动或不需要主动控制的关节。您可以通过将哪些关节从左侧的“主动关节”列表移动到右侧的“被动关节”列表来指定哪些关节是被动的。此步骤有助于在运动规划中准确识别和处理这些关节,避免不必要的控制计算。
09 配置控制器
控制器用于操作机器人的物理硬件,实际执行规划的运动轨迹。为新控制器指定名称和类型,然后添加相关关节或规划组,使其能够控制机器人的特定部分。
10 配置3D传感传感器
配置3D 感知传感器以与MoveIt 配合使用。这些传感器可以帮助机器人感知周围环境,以执行物体识别、避障和导航等任务。可以选择和配置不同类型的3D 传感器插件,以在机器人应用中使用3D 传感功能。
11 生成配置文件包
这些文件包包含了运行MoveIt所需的所有配置文件,包括机械臂配置文件、控制器配置文件、运动规划配置文件、传感器配置文件、启动文件等。路径选择中的src文件夹中的功能包文件夹您创建的工作区,例如/home/aidlux/test_ws/src/panda_test。
12 编译生成的文件包并配置环境
cd ~/test_wscatkin_makesource ~/test_ws/devel/setup.bash13 Rviz 中的机械臂仿真
roslaunch panda_test demo.launch
14 编写代码控制机械臂
mkdir ~/test_ws/src/panda_test/scriptstouch move_arm.py 编写一个简单的机械臂随机运动代码
chmod +x move_arm.py
跑步:
roslaunch panda_test demo.launchpython3 move_arm.py 真机演示效果
视觉定位和抓取
语音控制执行爬行任务
在高性能SoC和阿加西底层技术的支持下,更高维度的集成化、智能化的机器人解决方案逐步落地。该解决方案不仅满足了机器人在复杂功能和可靠性方面的高标准,而且成本控制也得到了优化,让机器人制造商在激烈的市场竞争中占据有利地位。
标签:
用户评论
智能机器人这个创新解决方案真是让人眼前一亮,感觉我们终于可以摆脱那些枯燥的重复工作了。
有12位网友表示赞同!
内卷化真是让人头疼,这智能机器人要是真能解决问题,那我的生活估计能轻松不少。
有18位网友表示赞同!
早就该有这种解决方案了,内卷化已经让我快窒息了,智能机器人来帮忙,太好了。
有18位网友表示赞同!
这个创新解决方案听起来不错,但我担心成本太高,普通企业能承受得起吗?
有16位网友表示赞同!
内卷化的问题太严重了,智能机器人或许能缓解一些,但根本问题还是得从源头解决。
有15位网友表示赞同!
智能机器人打破内卷化困境,这要是真能实现,那我们的工作效率能提升一大截。
有20位网友表示赞同!
内卷化让人焦虑,这个解决方案如果能推广开来,那大家的生活质量都能提高。
有10位网友表示赞同!
智能机器人这个创新确实厉害,但关键还是得看实际应用效果如何。
有18位网友表示赞同!
内卷化的问题不容忽视,智能机器人能帮忙解决一部分,但长远来看,教育改革才是关键。
有17位网友表示赞同!
智能机器人创新解决方案,听起来很科幻,但实际应用中会不会出现新的问题呢?
有6位网友表示赞同!
这个解决方案太及时了,内卷化让人疲惫不堪,智能机器人来帮忙,期待效果。
有9位网友表示赞同!
智能机器人打破内卷化困境,这要是真的能成真,那我们这些上班族的生活就能有所改变了。
有14位网友表示赞同!
内卷化问题困扰我好久,这个解决方案如果能成功,那我就不用再熬夜加班了。
有14位网友表示赞同!
智能机器人创新解决方案,这个方向是对的,但具体实施起来还有很多挑战。
有18位网友表示赞同!
内卷化太痛苦了,智能机器人如果能帮忙缓解,那我就不用再担心失业问题了。
有18位网友表示赞同!
这个解决方案听起来很理想,但我担心实施过程中会遇到很多技术难题。
有17位网友表示赞同!
智能机器人打破内卷化困境,这要是能实现,那我们国家的制造业水平肯定能提升一大步。
有8位网友表示赞同!
内卷化问题真的需要解决,智能机器人创新解决方案是一个不错的尝试,希望它能成功。
有10位网友表示赞同!
智能机器人这个创新解决方案,如果能推广到各行各业,那我们的生活将变得更加美好。
有12位网友表示赞同!