ubuntu20.04配置UR机械臂的仿真环境
1. 首先安装好ROS
ubuntu20.04安装Noetic版本的ros,具体安装可见之前写的博客
2. 配置UR机械臂仿真工具包
- 找一个你喜欢的地方创建ros工作空间(也就是找个文件夹放ros的包,然后编译运行)
例如在根目录创建catkin_ws文件夹,并创建src子文件夹,然后catkin_make编译一下
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
catkin_make
在运行catkin_make
后报错
这是因为catkin找的python版本为anaconda下面的版本,所以需要改为指定采用下面的命令,参考之前的博客
catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3
之后要source一下,才能读取到工作空间里的文件,以后每次打开终端进入工作空间都要执行该命令
source devel/setup.bash
- 进入catkin_ws目录下,下载UR机械臂相关工具包到src文件夹中
cd ~/catkin_ws/
#clone the driver
git clone https://github.com/UniversalRobots/Universal_Robots_ROS_Driver.git src/Universal_Robots_ROS_Driver
#clone fork of the description.
git clone https://github.com/ros-industrial/universal_robot.git src/universal_robot
rosdep update #如果之前在安装ros时候已经做了这步那就不用重复了
rosdep install --from-paths src --ignore-src -y
catkin_make #开始编译,这次不用加上面的指定路径了
之后要source一下,才能读取到工作空间里的文件,以后每次打开终端进入工作空间都要执行该命令
source devel/setup.bash
在运行上面的命令时遇到问题,运行rosdep update
时,一直不成功,解决办法可以看我之前写的博客
3. Rviz和Gazebo仿真环境用moveit路径规划同步运动
接着上面的命令行窗口继续运行
# 启动gazebo仿真环境
roslaunch ur_gazebo ur3_bringup.launch
# 如果gazebo报错,可能是之前的没有完全关闭,需要执行killall gzserver
可以在Gazebo看到ur3的仿真模型
新开两个命令行,并在catkin_ws
目录下,先source devel/setup.bash
一下,分别在两个命令行窗口运行下面两行命令
# 在仿真中进行路径规划
roslaunch ur3_moveit_config moveit_planning_execution.launch sim:=true
roslaunch ur3_moveit_config moveit_rviz.launch
此时会打开rviz,可以看到ur3的仿真模型
gazebo和rviz中的机械臂的位姿是一样的,要实现同步控制,可以拖动rviz中的球移动到指定位置,点击plan观察路径规划,点击execute执行该路径规划,可以在gazebo和rviz中同步看到刚刚的路径规划运动,实现了简单的机械臂仿真环境搭建