最好的电子音响科技diy制作网站

haoDIY_音响电子电脑科技DIY小制作发明

乐高EV3和Docker ROS机器人

时间:2017-05-22 21:24来源:未知 作者:admin 点击:
这个机器人能是什么? 使用这个命令,你可以远程控制乐高EV3机器人使用电脑键盘。 在我的下一个命令你将能够通过点击三维地图移动。 你也可以在电脑上模拟机器人的观点 这是第一步,更令人印象深刻的项目。 ROS提供各种机器人的应用包数百:SLAM(同步定位与

这个机器人能是什么?

使用这个命令,你可以远程控制乐高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
      
      (责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片