ROS下连接dobot机械臂

ROS下连接dobot机械臂

    我使用的操作系统是ubuntu16.04,ros是kinetic!

      首先到dobot官网下载ros下的demo模块,网址:https://cn.dobot.cc/downloadcenter/dobot-magician.html?sub_cat=72#sub-download


    将压缩包解压到指定目录下,并编译压缩包,我是在主目录下创建dev文件夹,并吧dobot_ws放入该目录下:


$ cd ~/dev/dobot_ws
$ catkin_make
$ source devel/setup.bash

     然后在另一个终端中,输入roscore打开ros

     回到刚才的目录下,运行服务器节点

    

$ rosrun dobot DobotServer ttyUSB0

        

    运行成功后再打开另一端口,运行客户端

$ rosrun dobot DobotClient_PTP


    运行成功后,可以看到机械臂在两个固定点之间来回运行。

可能出现的问题

   1 、若输入rosrun dobot DobotServer ttyUSB0之后,出现如下错误:

  

    首先检查dobot的USB线是否连接了电脑,可以利用dobot的API接口函数SearchDobot来搜索dobot设备;

    打开dobot中DobotServer.cpp原函数:

    

$ rosed dobot DobotServer.cpp

   在最下方main函数的开始部分添加一下代码:

char dobotlist[100];
    uint32_t maxlen = 100;
    int number = SearchDobot(dobotlist, maxlen);
    if(number == 0)
    { ROS_INFO("no dobot device!");}
    else{
    ROS_INFO("all: %d",number);
    ROS_INFO("%s",dobotlist);}
   如果,显示no dobot device!则连接有问题,可以在windows下利用dobot自带的软件DobotStudio看看是否能够连接!

   若果,显示 all:1      ttyUSB0!则可能是串口权限问题!


   修改串口的权限:在 /etc/udev/rules.d 目录下,自己再添加一个 20-usb-serial.rules文件,内容如下:

sudo gedit 20-usb-serial.rules
添加内容:
KERNEL=="ttyUSB*"  MODE="0777" 
KERNEL=="ttyS*"  MODE="0777" 
保存
  拔掉usb线重现连接,去掉刚才在DobotServer.cpp中添加的内容,再运行rosrun dobot DobotServer ttyUSB0 就可以正常运行了!

2、若出现如下问题


  这是没有运行roscore,打开新端口输入roscore运行ros后,再重新运行即可!

你可能感兴趣的:(linux,ROS,机械臂视觉)