1.ROS的安装推荐鱼香ROS一键安装脚本wget http://fishros.com/install -O fishros . fishros在执行这条命令后脚本会根据你的Ubuntu版本来自动推荐对应的ROS版本只要根据提示引导来完成即可2.机械臂的仿真1isaac sim--物理仿真平台将CUDA的版本更新至和电脑显卡的版本一致然后在英伟达的平台上进行一个下载下载好了之后将下载的isaac-sim-standalone-6.0.0-linux-x86_64.zip解压到你想要安装的目录例如~/isaacsim进入该目录运行./post_install.sh脚本完成后续配置最后运行./isaac-sim.sh即可启动Isaac Sim快捷键效果F聚焦选中的物体Fit ViewAlt 左键旋转视角同左键拖动Alt 右键平移视角同右键拖动Ctrl Alt 左键框选缩放Home重置视角到默认位置2rviz--可视化调试工具当你需要调试机械臂的运动规划算法、检查末端执行器的位姿是否正确、或者验证传感器数据是否正常时RViz是必不可少的工具ROS2在终端中输入rviz2即可启动例如我的机械臂就通过在终端中运行ros2 launch arm_description display.launch.py来显示3MeshCat--轻量级Web可视化工具特性RViz (RViz2)MeshCatIsaac Sim核心定位ROS数据可视化工具基于浏览器的3D可视化工具高保真物理仿真平台物理引擎无纯粹可视化无动力学计算无仅作展示有基于NVIDIA PhysX 5主要用途调试ROS系统查看TF树、点云、规划路径等快速、远程查看机器人状态和运动轨迹-机器人AI训练、高精度感知仿真、数字孪生硬件要求低极低只需浏览器极高需要高端NVIDIA RTX GPU典型场景与MoveIt配合进行运动规划可视化算法开发中的快速可视化、远程协作演示具身智能、强化学习、合成数据生成当你需要一个轻量级、跨平台、无需安装复杂软件的可视化方案时MeshCat是一个很好的选择3.深度相机的使用这里以gemini 335为例第一步安装相关依赖# 假设你已经 source 过 ROS2 环境sudo apt install libgflags-dev nlohmann-json3-dev \ros-jazzy-image-transport ros-jazzy-image-publisher \ros-jazzy-camera-info-manager ros-jazzy-diagnostic-updater \ros-jazzy-diagnostic-msgs第二步创建工作空间# 在用户目录下创建 orbbec_ws 工作空间cd ~mkdir -p orbbec_ws/srccd orbbec_ws第三步复制功能包到工作空间# 假设你的功能包在 ~/Downloads/orbbec_ws/src/ 目录下cp -r ~/Downloads/orbbec_ws/src/* ~/orbbec_ws/src/第四步编译功能包cd ~/orbbec_wscolcon build第五步添加环境变量每次打开终端会自动加载echo source ~/orbbec_ws/install/setup.bash ~/.bashrcsource ~/.bashrc第六步安装udev规则让相机有访问权限cd ~/orbbec_ws/src/orbbec_camera/scriptssudo bash install_udev_rules.sh第七步运行相机ros2 launch orbbec_camera gemini_330_series.launch.py第八步查看图像# 查看发布的话题ros2 topic list# 打开图像查看工具ros2 run rqt_image_view rqt_image_view4.机械臂的逆运动学IK和基础运动控制1仿真部分利用Pinocchio进行运动学计算并用MeshCat进行3D可视化。1.准备自己的URDF模型这是所有仿真的基础。你需要为你的四轴机械臂含夹爪创建一个准确描述其连杆、关节、质量、碰撞属性的URDF文件2.进行分布仿真测试第一步测试正运动学。运行fk_sim.py输入你期望的各关节角度查看MeshCat中的模型是否运动正确并核对末端位置是否与你的计算一致。第二步测试逆运动学。运行ik_sim.py输入一个目标点确保在机械臂工作空间内查看求解出的关节角度是否合理以及模型能否准确到达该点。逆运动学这边值得注意的是最好不要给姿态目标。根本原因在于四轴的机械臂它的自由度不够有4个旋转关节全部用于实现末端在空间中的X,Y,Z位置。没有多余的关节冗余自由度来自由调整末端的 rollpitchyaw横滚、俯仰、偏航姿态。第三步测试轨迹规划。运行traj_sim.py让机械臂在多个目标点之间运动观察轨迹是否平滑。2实物测试1.零点校准与角度监控2.位置-速度控制3.正运动学测试4.逆运动学测试5.轨迹规划控制6.重力补偿5.深度相机和YOLO对于桌面物体最可靠的姿态是让夹爪垂直向下即抓取方向沿着Z轴负方向对于四轴机械臂我的改造思路是砍掉姿态估计固定姿态目标先让YOLO能稳定检测物体并输出物体在相机坐标系下的三维位置X,Y,Z。然后在获得物体位置的基础上固定一个合理的抓取姿态并验证其可行性。遇到的问题运行YOLO的时候图像画面不显示。如何解决ROS2 Jazzy自带的cv_bridge等模块是在旧版NumPy1.x环境下编译的而我环境中的NumPy版本是2.5.1两者不兼容导致了错误。我直接创建了一个全新的、专门用于视觉任务的虚拟环境。6.手眼标定眼在手外第一步进行手眼标定1.打印ArUco标定板2.将标定板固定在机械臂上3.运行标定程序按照提示移动机械臂采集多组数据4.最后得到标定的结果第二步进行视觉引导用手眼标定结果将YOLO识别到物体的坐标转换到基坐标下第三步集成将YOLO检测、坐标转换和机械臂控制串联成一个自动化流程