UR5机械臂仿真实例(二)moveit运动规划与gazebo仿真 [ubuntu20.04+ROSnoetic+gazebo11]

【UR5机械臂moveit运动规划与gazebo仿真】

1. 安装moveit

sudo apt install ros-noetic-moveit

2. 安装ur机器人的驱动

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
catkin_make
source devel/setup.bash

3. 进入工作空间进行下载驱动

注意:ur5官方没有出noetic版本,而noetic不再包含ur_msgs包,需要单独下载。

cd ~/catkin_ws/
git clone https://github.com/UniversalRobots/Universal_Robots_ROS_Driver.git src/Universal_Robots_ROS_Driver
git clone -b calibration_devel https://github.com/fmauch/universal_robot.git src/fmauch_universal_robot
git clone https://github.com/ros-industrial/ur_msgs.git src/ur_msgs
rosdep update
rosdep install --from-paths src --ignore-src -y
catkin_make

下载后,打开src/fmauch_universal_robot/ur5_moveit_config/launch/moveit_rviz.launch,添加:

<node pkg="tf" type="static_transform_publisher" name="link_name" args="0 0 0 0 0 0 map odom 0" />

如果不添加tf状态广播,rviz启动后会在fixed frame栏中出现unknown frame map错误。

添加后moveit_rviz.launch的内容为:

<launch>

  <arg name="debug" default="false" />
  <arg unless="$(arg debug)" name="launch_prefix" value="" />
  <arg     if="$(arg debug)" name="launch_prefix" value="gdb --ex run --args" />

  <arg name="rviz_config" default="" />
  <arg     if="$(eval rviz_config=='')" name="command_args" value="" />
  <arg unless="$(eval rviz_config=='')" name="command_args" value="-d $(arg rviz_config)" />

  <node name="$(anon rviz)" launch-prefix="$(arg launch_prefix)" pkg="rviz" type="rviz" respawn="false"
        args="$(arg command_args)" output="screen">
  </node>

  <node pkg="tf" type="static_transform_publisher" name="link_name" args="0 0 0 0 0 0 map odom 0" />

</launch>

4. 启动gazebo仿真和moveit

打开终端测试,Alt+T可以在同一个窗口打开多个终端,打开终端记得source devel/setup.bash。

roslaunch ur_gazebo ur5_bringup.launch
roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch sim:=true
roslaunch ur5_moveit_config moveit_rviz.launch config:=true

(1) ur5_bringup.launch:加载机器人参数、发布机器人状态、加载空白gazbeo世界、将model加载在gazbeo中、加载gazbeo中的控制器,并通过节点发布出来;

gazebo服务器在国外,使用起来可能会有些卡顿。

(2) ur5_moveit_planning_execution.launch:映射了控制器的命名空间,与gazebo_controller连接、启动move_group;

其中,“sim:=true”对应ur5_moveit_config/ur5_moveit_planning_execution.launch中下面这句代码。目的是将“/scaled_pos_joint_traj_controller/follow_joint_trajectory"重映射(remap)到"/pos_joint_traj_controller/follow_joint_trajectory",保持gazebo和moveit控制器的命名空间一致,实现两者的连接控制。"sim"即simulation,“sim:=true”即为启动仿真环境,若“sim:=false”(default)则为real robot。

<remap if="$(arg sim)" from="/scaled_pos_joint_traj_controller/follow_joint_trajectory" to="/pos_joint_traj_controller/follow_joint_trajectory"/>

(3) moveit_rviz.launch:启动rviz。

5. rviz设置

打开rviz后,将坐标系(Fixed Frame)改为base,点击Add添加RobotModel和MotionPlanning,将规划组(Planning Group)改为manipulator

拖动rviz中ur5机械臂末端的规划球至目标位置,或者在Joints里拖动关节角度(如果规划球拖不动机械臂,把Approx IK Solutions打勾)

点击plan进行运动轨迹规划,点击execute看到gazebo中机械臂按照轨迹运动

### Ubuntu 20.04 上 Panda Arm 和 Gazebo 联合仿真的设置教程 在 Ubuntu 20.04 系统上配置 Pandas 机械 Gazebo 的联合仿真环境涉及多个步骤,包括安装必要的依赖项、配置 ROS 工作空间以及加载机器人模型。以下是详细的说明。 #### 安装基础软件包 为了支持 Gazebo 和 ROS,在 Ubuntu 20.04 中需要先安装 ROS Noetic 版本及其工具链[^2]。可以通过以下命令完成: ```bash sudo apt update && sudo apt install ros-noetic-desktop-full python3-catkin-tools ``` 这一步会安装完整的桌面版本 ROS Noetic 及其开发工具 `catkin_tools`。 #### 配置 PX4 开发工具链 如果计划使用 PX4 控制器,则需按照官方指南来搭建 PX4 工具链。对于仅用于模拟的情况,可以跳过此部分并专注于 ROS 和 Gazebo 的集成。 #### 下载和编译 Panda URDF 文件 Panda 是一种常见的七自由度机械,通常由 Franka Emika 提供标准的 URDF 描述文件。这些描述文件可以在 ROS 的 franka_ros 或者其他开源项目中找到。下载完成后将其放置于自定义工作区内的 `src` 目录下,并通过 Catkin 构建系统进行编译。 假设已克隆了相关存储库至本地路径 `/home/user/catkin_ws/src/franka_description/robots/panda_arm_hand.urdf.xacro`,则可通过如下脚本启动仿真环境: ```bash roslaunch gazebo_ros empty_world.launch world_name:=/path/to/custom.world rosparam set robot_description $(cat /home/user/catkin_ws/src/franka_description/robots/panda_arm_hand.urdf) rosrun gazebo_ros spawn_model -file /home/user/catkin_ws/src/franka_description/robots/panda_arm_hand.urdf \ -urdf -x 0 -y 0 -z 1 -model panda ``` 上述命令实现了从指定位置读取 URDF 文件并将之导入到当前运行的世界实例中[^4]。 #### 使用预构建模型简化流程 除了手动编写或调整 URDF 外,还可以利用在线资源如 Gazebo Fuel 来获取现成的三维模型[^3]。这种方法特别适合快速原型设计阶段或者教学用途。具体操作方法参见文档章节关于如何连接外部服务的部分。 #### 注意事项 尽管本文档基于较新的操作系统版本进行了讨论,但某些特定功能可能仍受限于旧版兼容性问题。因此建议始终查阅最新发行说明和技术论坛帖子以获得最精确的信息。 ---
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值