2018-11-13Ubuntu下使用ROS 控制桌面机械手Dobot魔术师

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018-11-13Ubuntu下使用ROS 控制桌面机械手Dobot魔术师相关的知识,希望对你有一定的参考价值。

参考技术A 如何使用ROS 控制桌面机械手Dobot魔术师?

如何使用ROS 控制桌面机械手Dobot魔术师?

ROS 不能再详细的安装教程

ROS下连接dobot机械臂

安装完操作步骤:

0、电脑连接dobot的USB口

1、打开一个终端:roscore启动Ros

2、再打开一个终端:

cd ~/projectcodebackup/Dobot/Dobot-Magician-ROS-Demo/dobot_ws/

source ./devel/setup.bash

rosrun dobot DobotServer ttyUSB0

3、再打开一个终端:

cd ~/projectcodebackup/Dobot/Dobot-Magician-ROS-Demo/dobot_ws

source ./devel/setup.bash

rosrun dobot DobotClient_JOG ttyUSB0

4、ctrl+c终止

rosrun dobot DobotClient_PTP

Dobot Magician会自动沿X轴来回运动

5、Ros因和机械分拣项目的cameo.py冲突

Ubuntu Anaconda 安装tensorflow及opencv3.2.0

gedit /home/gameboy/.bashrc

最后1行source /opt/ros/kinetic/setup.bash加#注释去掉

source ~/.bashrc

重启终端即可

HMI-45-控制台控制台代码迁移

HMI-45-【控制台】控制台代码迁移

​ 今天实在是看不下去控制台了,多媒体先放一下,先搞一下控制台,说好听点就是优化一下控制台控制逻辑。

当前进度

​ 这个就是今天的成果,就是把转向灯控制和电话控制放到了一起,方便操控。


文章目录

关键字: HMIControlPanelQtlight控制台

转向灯控制迁移

​ 转向灯控制迁移到主控制面板中,通过信号给到控制台。代码如下

主控制面板

void MainControl::on_radioButton_turnLight_off_clicked(bool checked)

    if(checked)
        emit signal_TurnLight(3);



void MainControl::on_radioButton_turnLight_left_clicked(bool checked)

    if(checked)
        emit signal_TurnLight(0);



void MainControl::on_radioButton_turnLight_right_clicked(bool checked)

    if(checked)
        emit signal_TurnLight(1);



void MainControl::on_radioButton_turnLightDouble_clicked(bool checked)

    if(checked)
        emit signal_TurnLight(2);

控制台

    connect(m_maincontrol,&MainControl::signal_TurnLight,[=](int light)
        switch (light) 
        case 0:
        
            if(m_meterDisplay)
                m_meterDisplay->setTurnLight(turnLight::m_turnLightLeft);
            if(m_hud)
                m_hud->setTurnLight(turnLight::m_turnLightLeft);
            break;
        
        case 1:
        
            if(m_meterDisplay)
                m_meterDisplay->setTurnLight(turnLight::m_turnLightRight);
            if(m_hud)
                m_hud->setTurnLight(turnLight::m_turnLightRight);
            break;
        
        case 2:
        
            if(m_meterDisplay)
                m_meterDisplay->setTurnLight(turnLight::m_turnLightWarning);
            if(m_hud)
                m_hud->setTurnLight(turnLight::m_turnLightWarning);
            break;
        
        case 3:
        
            if(m_meterDisplay)
                m_meterDisplay->setTurnLight(turnLight::m_turnLightOff);
            if(m_hud)
                m_hud->setTurnLight(turnLight::m_turnLightOff);
            break;
        
        
    );

电话控制迁移

​ 同转向灯一样,把电话控制迁移到主控制面板中,通过信号传递给控制台。代码如下:

主控制面板代码

void MainControl::on_pushButton_phone_call_clicked()

    emit signal_Phone(0);



void MainControl::on_pushButton_phone_answer_clicked()

    emit signal_Phone(1);



void MainControl::on_pushButton_phone_hangUp_clicked()

    emit signal_Phone(2);


控制台代码

    connect(m_maincontrol,&MainControl::signal_Phone,[=](int type)
        switch (type) 
        case 0:
        
            if(m_meterDisplay)
                m_meterDisplay->callIn("大模仿","12345678901",QPixmap(":/Comfort/Resources/MeterDisplay/Comfort/Phone/Picture.png"));
            break;
        
        case 1:
        
            if(m_meterDisplay)
                m_meterDisplay->setPhoneAnswer();
            break;
        
        case 2:
        
            m_meterDisplay->setPhoneHangUp();
            break;
        
        
    );

第三阶段成果展示

​ 目前已完成液晶仪表三种模式的初步显示,小模块后期根据精力更新了,主要还得找美术来搞资源,自己能力不够。暂未跟新计划。展示如下:

基于Qt的汽车仪表模拟 3.0

第二阶段成果展示

​ 目前以完成HUD界面及接口开发,液晶仪表舒适模式和运动模式的开发。展示如下:

基于Qt的汽车仪表模拟 2.0

第一阶段成果展示

​ 目前以完成HUD界面及接口开发,液晶仪表舒适模式开发。展示如下:

基于Qt的汽车仪表模拟 1.0)


说明:

本项目中所使借鉴原型来自:[吉利] 博瑞GE | 仪表HMI设计吉利汽车HMI项目

多媒体部分是来自吉利博瑞2017旗舰版界面所有权和解释权都归吉利汽车所有。

设计图的所有权和解释权都归吉利汽车所有。

本项目所有资源文件均由**打不死的小海**复刻制作。

本项目代码暂时不会开源,有需要的源码的可与我联系,左上角二维码加微信。

本项目仅限学习交流、禁止商业使用。


以上是关于2018-11-13Ubuntu下使用ROS 控制桌面机械手Dobot魔术师的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu 将手柄控制信息发布到ros上

Ubuntu20.04下折腾ROS

Ubuntu20.04下折腾ROS

Ubuntu20.04下折腾ROS

ROS分布式控制的节点配置

ubuntu16.04使用Qt开发ROS