公告:新满多没有杂乱广告的网站, 请大家收藏!很好记,域名是 新满多 拼音!xinmanduo.com ! 更简洁好记的 ykyh.net

您的当前位置:首页 > 科技小制作 > 正文 -- 手机或者平板访问

乐高EV3和Docker ROS机器人

来源:未知 编辑:晚一步 时间:2018-05-28

这个机器人能是什么?

使用这个命令,你可以远程控制乐高EV3机器人使用电脑键盘。在我的下一个命令你将能够通过点击三维地图移动。你也可以在电脑上模拟机器人的观点

这是第一步,更令人印象深刻的项目。ROS提供各种机器人的应用包数百:SLAM(同步定位与地图)、言语、语言和图像识别,…

我的目标是建立一个自主机器人能拿球和避免障碍物。这将是其他教学主体。

ROS是什么?

http://wiki.ros.org/ros/introduction

ROS是一个开源的机器人元操作系统。它提供的服务,你会期望从一个操作系统,包括硬件抽象层、底层设备控制、常用功能的实现,过程之间的信息传递和包装管理。

ROS是用研究者、爱好者和工业。

 

Docker是什么?

https://www.docker.com/what-docker

Docker容器包装的软件在一个完整的文件系统,包含运行所需的一切:代码,运行时,系统工具,系统库–任何可以安装在服务器上。这保证了软件都运行相同的,不管它的环境。

为什么是Docker?

ROS运行最好的Linux,但是你可能不想在您的计算机上安装Linux。你可以在你的Windows安装Docker,Mac OS或Linux PC,你将能够运行,我为你准备的所有要求的ROS包泊坞容器。这将节省大量的时间,你将能够调整dockerfiles(一种食谱,列出所有的指令)来满足你的需要。

步骤1:你需要什么

乐高EV3和Docker ROS机器人
  • 乐高Mindstorms EV3三万一千三百一十三
  • 与至少2GB的microSD卡
  • 无线上网卡可以工作在流通,如爱迪麦斯ew-7811un
  • 无线路由器,你可以使用你的网络供应商的路由器
  • PC或Mac
  • 以太网电缆连接你的电脑,你的网络路由器-它不会在WiFi
  • PC键盘

    步骤2:使机器人

    乐高EV3和Docker ROS机器人

    使用下面的指令:

    http:/ / www.lego。COM / en GB /头脑风暴/ build-a-robo…

    你不一定需要打造武器和头盔,你可以在74页停止(步骤41)

    步骤3:对ev3砖安装ROS

    h4r_ev3

    遵循这些指示,直至及包括“无线设置”:

    HTTP:/ / hacks4ros。GitHub。IO / h4r_ev3_ctrl HTML /指标…

    改变你的无线路由器设置,确保对ev3砖的IP地址将永远是相同的。

    • 在维珍传媒路由器去:HTTP:/ / 192.168.0.1,然后“高级设置”、“DHCP预订”,选择ev3dev,点击'添加预订”和“应用”

      应用补丁

      我们需要这个补丁:https://github.com/hacks4ros/h4r_ev3_ctrl/releases

      wget http:/ / GitHub。COM / hacks4ros / h4r_ev3_ctrl /发布/下载/ hf-i3-0.1 / h4r-ev3-control_0.1-r0_armel .deb 
       wget https: / / GitHub。COM / hacks4ros / h4r_ev3_ctrl /发布/下载/ hf-i3-0.1 / h4r-ev3-manager_0.1-r0_armel .deb 
       dpkg -我的.deb 
       rm *。Deb

      步骤4:安装工人

      码头工人发动机

      按照相应的指令,这取决于你的平台:

      https://www.docker.com/products/overview

      码头工人组成

      遵循这些指示:

      https://docs.docker.com/compose/install/

      步骤5:设置泊坞窗文件

      1)在您的计算机上,复制或下载我的GitHub库:

      https://github.com/mikaelv/rosev3

      2)编辑rosev3 / gripp3r / docker-compose.yml

      本文件描述了泊坞容器和网络,我们将开始:

      • 泊坞窗网络命名为“rosnet”。它使用macvlan使容器看起来像是如果他们在本地网络上单独的机器。这个工作你必须使用一个以太网电缆连接到您的路由器。大多数WiFi卡不兼容的macvlan因为他们不能放在混杂模式。你可能需要改变以太网接口的名称。在我的手提电脑是enp0s25,但它可能在你的平台上的不同。
      • 一个容器命名为“主人”,这是roscore。看到http://wiki.ros.org/master更多信息。
      • 一个容器命名为'机器人',这是机器人的启动文件。启动文件宣布将对ev3砖”ev3_manager '程序通信节点。有电机和一个红外控制器启动文件。随时检查这些文件和相关的配置文件。你可以在这里找到更多的信息关于他们的意义:http://wiki.ros.org/ros_control在这里:http://wiki.ros.org/diff_drive_controller
      • 一个名为“teleop容器的运行teleop节点。使用键盘,它将让我们把“扭曲”的消息。在主题和扭曲的更多信息在这里:HTTP:/ /维基。ROS。org /氧/教程/ understandingtop…

        现在改变IP地址,根据你的路由器的设置:

        • 确定你的路由器的IP地址。在大多数情况下,这将是192.168.0.1或者192.168.1.1
        • 如果你的路由器的IP与我的不同,代替一切从192.168.0.x你的路由器的前缀地址,比如我们的
        • 你可以看到机器人节点和teleop节点都有一个固定的IP地址。如果你已经有其他的设备具有相同的地址,你将需要改变他们避免冲突的一个未使用的IP。

          3)编辑rosev3 /硕士/ docker-compose.yml

          • 在同一个主节点的IP地址更改为以上。
          • 改变的extra_hosts截面ev3砖的IP地址。它是由您在步骤2中路由器自动分配

            4)编辑/ etc /对ev3砖主机

            使用ssh,使EV3砖可以使用他们的名字的其他节点通信编辑主机文件。文件应该这样:

            ev3dev.localdomain localhost 127.0.0.1 ev3dev 
             192.168.0.100大师
             192.168.0.102机器人

            步骤6:运行

            1)在您的PC上运行启动脚本启动主节点

            ~ / rosev3 / gripp3r美元。/运行。上海
            创建网络“gripp3r_rosnet“司机”macvlan”<BR>创建主
            请开始ev3_manager对ev3 
            按任意键继续…

            2)连接到ros_ip EV3,确保设置正确

            SSH根@ ev3dev美元
            根@ ev3dev:~ # ros_ip_set wlan0 
             ros_ip设置IP 192.168.0.29 wlan0

            3)运行在EV3控制器经理

            根@ ev3dev:~ # ev3_manager 
             getfileptr开口:/系统/班/测速电机/ motor0 /位置0xb0c70 <BR> getfileptr开口:/系统/班/测速电机/ motor0 /速度0x7d688 
             getfileptr开口:/系统/班/测速电机/资源列表排序选择:/位置0x13aea8 
             getfileptr开口:/系统/类/测速电机/资源列表排序选择:/速度0x13b010 
             getfileptr开口:/系统/班/测速电机/ 2 /位置0x13b178 
             getfileptr开口:/系统/班/测速电机/ 2 /速度0x13b2e0

            3)在PC机上,按任意键继续运行脚本

            该脚本将运行的机器人控制器节点和节点的teleop

            按任意键继续…创建机器人<BR>的rosdep视图是空的:叫“sudo rosdep init”和“rosdep更新”
             
            从键盘和出版扭曲!
             --------------------------- 
            走动:
             U I O 
             J K L 
             M。
             
             Holonomic模式(扫射),按住Shift键:
             --------------------------- 
             U I O 
             J K L M 
             <> 
             
             T:起来(+ Z)
             B:下(Z)
             
            别的:停止
             
             Q、Z:上升/下降最大速度10% 
             W / X:增加/减少线性速度10% 
             E / C:增加/减少角速度10% 
             
             Ctrl-C退出

            4)在流通,你应该可以看到如下输出:

            港口:4 <BR>模式:接近
            刊登率:10 
             getfileptr开口:/系统/班/乐高传感器/ SENSOR0 / driver_name 0xb4a7b818 
             STR:lego-ev3-ir 
             STR不:0:lego-ev3-color 
             STR不:1:lego-ev3-gyro 
             STR不:2:lego-ev3-ir < --- 
            驱动程序名称:4 
            范围模式设置!
            [ INFO] [1492105925.627802900]: Controller Change
            getFilePTR opening: /sys/class/lego-sensor/sensor0/mode 0x13c818
            getFilePTR opening: /sys/class/lego-sensor/sensor0/num_values 0x1277b8
            getFilePTR opening: /sys/class/lego-sensor/sensor0/value0 0x127920
            [ INFO] [1492105973.190347530]: Controller state will be published at 10Hz.
            [ INFO] [1492105973.322766691]: Wheel separation will be multiplied by 1.
            [ INFO] [1492105973.417211894]: Wheel radius will be multiplied by 1.
            [ INFO] [1492105973.517104381]: Velocity commands will be considered old if they are older than 0.5s.
            [ INFO] [1492105973.602212924]: Base frame_id set to base_link
            [ INFO] [1492105973.656389292]: Publishing to tf is enabled
            [ INFO] [1492105974.528557814]: Odometry params : wheel separation 0.148, wheel radius 0.01725
            [ INFO] [1492105974.747566410]: Adding left wheel with joint name: Joint_B and right wheel with joint name: Joint_C
            [ INFO] [1492105975.243133421]: Controller Change
            [ INFO] [1492105975.284316193]: velocity_controllers/JointVelocityController requests Joint OutPortA Joint_A
            getFilePTR opening: /sys/class/tacho-motor/motor0/command 0x129eb0
            [ INFO] [1492105975.388328099]: <--------------EV3 Joint Joint_A---------------->
            [ INFO] [1492105975.452792518]: Joint control mode: velocity
            [ INFO] [1492105975.568053679]: P: 1000  I: 60   D: 0
            [ INFO] [1492105975.594953917]: 
            [ INFO] [1492105975.626518843]: ----------------------------------------------<
            [ INFO] [1492105975.656511828]: PID 1000 60 0
            getFilePTR opening: /sys/class/tacho-motor/motor0/speed_pid/Kp 0x12a0d0
            getFilePTR opening: /sys/class/tacho-motor/motor0/speed_pid/Ki 0x129ba8
            getFilePTR opening: /sys/class/tacho-motor/motor0/speed_pid/Kd 0x66500
            [ INFO] [1492105975.751428230]: diff_drive_controller/DiffDriveController requests Joint diffDrv Joint_B
            getFilePTR opening: /sys/class/tacho-motor/motor1/command 0x66398
            [ INFO] [1492105975.838143075]: <--------------EV3 Joint Joint_B---------------->
            [ INFO] [1492105975.930534411]: Joint control mode: velocity
            [ INFO] [1492105976.05417
                  
            
            
                 
                
               
             
 
手机扫描本二维码

分享创意到朋友圈

网友评论:



Copyright © 2006-2017 新满多 备案:渝ICP备11004546号-1

网站内容来自随意自动采集,如有侵犯没有标注出处,请联系我们删除:Gaocheng365@live.com

Top