当前位置: 代码迷 >> 综合 >> Franka Emika Panda连接真实机械臂(一)
  详细解决方案

Franka Emika Panda连接真实机械臂(一)

热度:100   发布时间:2023-10-22 02:36:47.0

需要的配置

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里啥也没有。
Franka Emika Panda连接真实机械臂(一)
点击Add,从moveit_ros_visualization文件夹中,选择"Motion Planning“作为显示类型。按"Ok”。如图所示:
Franka Emika Panda连接真实机械臂(一)
Franka Emika Panda连接真实机械臂(一)
这里,我们发现规划轨迹的球呢?
所以还需要设置一下:
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

这个时候,你就可以尽情拖动你的机械臂了!
Franka Emika Panda连接真实机械臂(一)
如果你还想进一步设置的话,可以在Planned Path、Scene Robot 、Planning Request中设置碰撞显示等,这里就不赘述了。

配置静态IP

没有想到写了那么久才写到正文,真是令人头大。
要连接真实机器人,首先当然得配置好电脑得静态ip,当然一根优秀的网线也必不可少。
首先,编辑连接。
Franka Emika Panda连接真实机械臂(一)
打开之后,点击有线连接,点击编辑,选择IPv4设置。接下来的设置和截图一样就行了。
Franka Emika Panda连接真实机械臂(一)
因为机器人的ip是172.16.0.2,此处笔记本的ip设置为172.16.0.1即可。设置完了,别忘记点保存。
设置静态ip需要重启电脑,打开终端,输入reboot。重启电脑,打开终端,输入ifconfig,查看电脑ip是否已经更改为172.16.0.1。

连接机器人

franka机器人底座和控制柜都可以插网线,但是为了安全起见,还是要插在控制柜上。
插上电源,给机器人供电,打开控制柜的电源,机器人底座黄灯闪烁。这里因为之前做实验的时候没有拍照,就不附图了,大家可以在网上找一下图片,比如显扬科技的文章。
开始实验之前,别忘了把外部激活设备拿在手里,实验重要,安全更重要啊!
Franka Emika Panda连接真实机械臂(一)
好了,闲话也不多说了。
打开火狐浏览器,网址上输入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机器人