需要的配置
1.一台安装了ubuntu 16.04 系统的笔记本电脑 2.Franka Emika Panda 机械臂 3.Franka Emika Panda 机械臂环境配置 机械臂环境配置请看上一篇博客:Franka Emika Panda 机械臂环境配置
如果这些都准备好了,那就进行下一步吧! 机械臂的环境是配置好了,但是我们怎么能在rviz里看到franka机械臂的模型呢?
franka仿真
panda_moveit_config下载及编译
在配置好环境之后,是不是能够在rviz规划机械臂呢? 尝试在终端输入命令:roslaunch panda_moveit_config demo.launch rviz_tutorial:=true 在看到tab键能够补全panda_moveit_config 时,还是挺高兴的,没想到报出了很多错误。 经过一番研究,这里的panda_moveit_config 是在/opt/ros/kinetic/share/panda_moveit_config 路径下的包,可能是之前下载机器人模型的遗留。 后来找了教程来看,决定在home目录重新编译moveit 的包。 首先,先把ros软件包更新一下。
rosdep update
sudo apt-get update
sudo apt-get dist-upgrade
因为之前已经安装了catkin和moveit,这里就不需要再装了。如果没有安装:
sudo apt-get install ros-kinetic-catkin python-catkin-tools
sudo apt install ros-kinetic-moveit
回到home目录
mkdir -p ~/ws_moveit/src
cd ~/ws_moveit/src
git clone -b kinetic-devel https://github.com/ros-planning/moveit_tutorials.git
git clone -b kinetic-devel https://github.com/ros-planning/panda_moveit_config.git
这里git clone 可能会失败,建议换个好一点的网络,多git clone几次。
配置环境,设置自动source。
cd ~/ws_moveit/src
rosdep install -y --from-paths . --ignore-src --rosdistro kinetic
cd ~/ws_moveit
catkin config --extend /opt/ros/kinetic
catkin build
source ~/ws_moveit/devel/setup.bash
echo 'source ~/ws_moveit/devel/setup.bash' >> ~/.bashrc
在rodep的时候出现了Cannot locate rosdep definition for [moveit_visual_tools] 只需要sudo apt install ros-kinetic-moveit-visual-tools (缺什么安装什么)
rviz机械臂仿真
终于来到这一步了。启动rviz,让我们看看机械臂吧。
roslaunch panda_moveit_config demo.launch rviz_tutorial:=true
但是,万万没想到,rviz里啥也没有。 点击Add ,从moveit_ros_visualization 文件夹中,选择"Motion Planning “作为显示类型。按"Ok”。如图所示: 这里,我们发现规划轨迹的球呢? 所以还需要设置一下: Global Option 里的Fixed Frame 设置为/panda_link0 ; Motion Planning 里的Robot Description 设置为robot_description ; Motion Planning 里的Planning Scene Topic 设置为/planning_scene ; Planning Request 里的Planning Group 设置为panda_arm ; Planned Path 里的Trajectory Topic 设置为/move_group/display_planned_path ;
这个时候,你就可以尽情拖动你的机械臂了! 如果你还想进一步设置的话,可以在Planned Path、Scene Robot 、Planning Request中设置碰撞显示等,这里就不赘述了。
配置静态IP
没有想到写了那么久才写到正文,真是令人头大。 要连接真实机器人,首先当然得配置好电脑得静态ip,当然一根优秀的网线也必不可少。 首先,编辑连接。 打开之后,点击有线连接,点击编辑,选择IPv4设置。接下来的设置和截图一样就行了。 因为机器人的ip是172.16.0.2,此处笔记本的ip设置为172.16.0.1即可。设置完了,别忘记点保存。 设置静态ip需要重启电脑,打开终端,输入reboot 。重启电脑,打开终端,输入ifconfig ,查看电脑ip是否已经更改为172.16.0.1。
连接机器人
franka机器人底座和控制柜都可以插网线,但是为了安全起见,还是要插在控制柜上。 插上电源,给机器人供电,打开控制柜的电源,机器人底座黄灯闪烁。这里因为之前做实验的时候没有拍照,就不附图了,大家可以在网上找一下图片,比如显扬科技的文章。 开始实验之前,别忘了把外部激活设备拿在手里,实验重要,安全更重要啊! 好了,闲话也不多说了。 打开火狐浏览器,网址上输入172.16.0.2,进入Desk界面,对机械臂解锁。这个时候底座的灯会变成蓝色。 打开终端,ping 172.16.0.2 ,能够通讯,说明笔记本已经和机械臂连接上了。 libfranka/build/examples 里有一些编译好的示例,大家可以多多尝试一下。 这里作者君又发现了一个问题,那就是git clone 下载的franka_ros 似乎不是kinetic版。作者不得不重新下载了kinetic版本的franka_ros 并重新编译。这里还要提醒一下,编译完后,一定要在终端source一下,不然很可能像作者君一样,tab键只能补全franka_description 。 先进入libfranka/build/examples ,
./communication_test 172.16.0.2
这里是测试机器人与笔记本的数据传输情况,这里10000个数据作者君能接受9917个,还算不错。 这里更改了一下demo.launch的代码,在终端运行:
roslaunch panda_moveit_config demo.launch robot_ip:=172.16.0.2
可是,模型虽然可以plan和execute,但是机械臂并没有发生相应运动。所以还需要进一步的学习。 这里提供一个网友的控制机械臂的命令:
roslaunch panda_moveit_config panda_control_moveit_rviz.launch robot_ip:=172.16.0.2 load_gripper:=false
这里提供传送门:【ROS】ROS驱动UR和FRANKA机器人
|