智能机器人技术 课件 项目12智能机器人行走_第1页
智能机器人技术 课件 项目12智能机器人行走_第2页
智能机器人技术 课件 项目12智能机器人行走_第3页
智能机器人技术 课件 项目12智能机器人行走_第4页
智能机器人技术 课件 项目12智能机器人行走_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

授课老师:连国云项目12:智能机器人行走《智能机器人技术》课程任务要求知识导入任务实施任务评价在PC电脑端控制智能机器人以0.3米为半径做圆周转动。任务要求知识导入任务实施任务评价智能机器人的组成在机器人的发展历程上,机器人主要是一种自动化装备,其功能的实现主要是通过人类事先编制好工作程序完成特定的功能。随着人工智能技术的成熟,在传统机器人的基础上,将智能技术与机器人技术相结合,产生了智能机器人。此外智能机器人的感知系统,与传统的传感器有了本质的区别,具有了更接近于人类的感知系统,也为智能机器人实现自主智能控制提供了坚实的基础。任务要求知识导入任务实施任务评价智能机器人的组成任务要求知识导入任务实施任务评价智能机器人的组成这款智能机器人的动力来源采用的是VKESSM-A2系列伺服驱动单元,该驱动单元具有的具有体积小、简单易用、扩展灵活等特点该智能机器人采用的运动控制器是VKESRC。VKESRC控制器的主芯片采用的是STM32F7系列,开发环境是ArduinoIDE,界面非常友善该智能机器人中配置了160度鱼眼摄像头模组,输出图像的分别率最高可达1080p,输出针对最高可达60帧,非常适合运用在智能机器人上做图像识别等应用任务要求知识导入任务实施任务评价智能机器人的组成该智能机器人中配置了EAI公司的YDLidarX2激光雷达,它采用基于三角测距原理,并配以相关光学、电学、算法设计,实现高频高精度的距离测量,可以实现360°扫描测距该智能机器人采用的内部传感器主要是编码器,通过检测机器人两个主动轮单位时间内转动的圈数,检测机器人的速度、角度、里程等信息,可以作为机器人的里程计。编码器采用霍尔传感器,体积小,可直接安装到电机上,信号连接到主控板的编码器接口该智能机器人采用了分布式控制系统,机载控制器和PC均安装了ROS系统任务要求知识导入任务实施任务评价运动控制智能机器人的运动控制实现是通过主控制器和运动控制相结合实现的,主控制器相当于一台计算机,负责计算与功能应用,运动控制负责机器人底盘的移动响应,主控制器与运动控制之间通过串口通信的方式进行数据传输任务要求知识导入任务实施任务评价运动控制智能机器人的控制系统采用“分布式+上下位机”的控制系统架构,其中PC与智能机器人的RaspberryPi4主控制器构成分布式控制系统,在这一分布式控制系统中,PC和RaspberryPi4之间是通过WiFi进行数据通信;智能机器人的RaspberryPi4主控制器与VKESRC运动控制板之间是通过串口进行数据通信的任务要求知识导入任务实施任务评价运动控制任务要求知识导入任务实施任务评价运动控制智能机器人的RaspberryPi4主控制器与VKESRC运动控制板之间是通过串口进行数据通信,在ROS系统中需要对主控制器的串口进行控制,ROS系统中提供了rosserial协议实现对串口的相关操作任务要求知识导入任务实施任务评价运动控制rosserial,它是用于非ROS设备与ROS设备进行通信的一种协议。它为非ROS设备的应用程序提供了ROS节点和服务的发布/订阅功能,使在非ROS环境中运行的应用能够通过串口或网络能够轻松地与ROS应用进行数据交互任务要求知识导入任务实施任务评价运动控制rosserial分为客户端和服务器两部分。rosserial客户端运行在没有安装ROS的环境的应用中,通过串口或网络与运行在ROS环境中的rosserial服务器连接,并通过服务器节点在ROS中发布/订阅话题任务要求知识导入任务实施任务评价运动控制任务要求知识导入任务实施任务评价rosserial服务器rosserial服务器是运行在ROS设备中的一个节点,作为串行协议和ROS网络的连接rosserial_python是一个基于python的rosserial协议实现。它包含主机端rosserial连接的Python实现,能够自动处理连接支持rosserial的设备的设置、以及话题的发布和订阅,此外要注意的是需要事先安装pyserial才能使用任务要求知识导入任务实施任务评价rosserial服务器rosserial_python功能包的serial_node.py节点,与启用了rosserial的设备通过串口通信。该节点根据存储在设备中的配置信息自动启动订阅者和发布者。要使节点以指定的波特率与指定的串口设备连接。例如在/dev/ttyACM1,则必须在命令行上指定参数:$rosrunrosserial_pythonserial_node.py_port:=/dev/ttyACM1_baud:=115200任务要求知识导入任务实施任务评价rosserial服务器可以通过launch文件指定以下参数:<launch>

<nodepkg=“rosserial_python”

type=“serial_node.py”name="serial_node">

<paramname="port"

value="/dev/ttyACM1"

/>

<paramname="baud"

value="115200"

/>

</node></launch>任务要求知识导入任务实施任务评价rosserial服务器rosserial_server提供serial_node和socket_node两个节点,分别用于串口连接和网络套接字连接。建议的用法是在消息信息节点侧启动主服务器节点。提供了启动文件以启动串行链接。服务器节点的启动方法如下:$roslaunchrosserial_serverserial.launchport:=/dev/ttyUSB0同样可以使用launch文件启动socket节点,其默认监听端口为11411:$roslaunchrosserial_serversocket.launch任务要求知识导入任务实施任务评价rosserial客户端rosserial_client包含通用的客户端rosserial实现,它主要是为微控制器设计的。客户端库使用户可以轻松地启动ROS节点并在各种系统上运行。这些客户端是常规ANSIC++rosserial_client库的端口。当前,这些软件包包括:rosserial_arduinorosserial_embeddedlinuxrosserial_windowsrosserial_mbedrosserial_tivacrosserial_vex_v5rosserial_vex_cortexrosserial_stm32ros-teensy任务要求知识导入任务实施任务评价网络配置ROS系统是基于分布式计算的软件环境,ROS系统在运行过程中,可以包含分布在不同计算设备上的多个节点,只要对ROS的网络参数进行正确的设置,任意节点可以在任意时间与任意其他节点进行通信。在ROS系统中为了实现分布式计算,需要事先进行网络配置,完成网络配置后,在进行分布式计算之前需要进行网络登录任务要求知识导入任务实施任务评价机器人端网络配置远程电脑和智能机器人机载主控制器需要连接到同一个局域网内,这一点通过智能机器人机载的无线路由可以实现。默认情况下,智能机器人的机载主控器已经通过有线的方式连接到机载的路由器上,IP地址默认为192.168.1.100,也可以通过下面的命令查找机载主控器的IP地址$ipconfig任务要求知识导入任务实施任务评价任务要求知识导入任务实施任务评价机器人端网络配置输入命令:$nano~/.bashrc同样需要在文档的末尾添加ROS_MASTER_URI和ROS_HOSTNAME两个全局变量的赋值语句,ROS_MASTER_URI设置成远程电脑的IP地址,例如这里是192.168.1.101,ROS_HOSTNAME的IP值都设置成机载主控器的IP,这里为192.168.1.100任务要求知识导入任务实施任务评价任务要求知识导入任务实施任务评价机器人端网络配置然后,使用以下命令使刚才修改的bashrc文件生效$source~/.bashrc到这里,智能机器人端的网络配置已经完成任务要求知识导入任务实施任务评价PC端网络配置在PC端,点击远程电脑界面右上角的无线网络图标,连接智能机器人机载的无线路由器,然后输入以下命令,以查看远程PC的IP地址$ipconfig任务要求知识导入任务实施任务评价任务要求知识导入任务实施任务评价PC端网络配置输入以下命令:$sudovim~/.bashrc在文档的末尾添加ROS_MASTER_URI和ROS_HOSTNAME两个全局变量的赋值语句,ROS_MASTER_URI和ROS_HOSTNAME中IP值设置成远程电脑的IP值,其值为上述终端窗口红色边框里的IP地址192.168.0.101任务要求知识导入任务实施任务评价任务要求知识导入任务实施任务评价PC端网络配置然后,使用以下命令使刚才修改的bashrc文件生效$source~/.bashrc到这里,PC端的网络配置已经完成任务要求知识导入任务实施任务评价远程登录要在PC端实现对智能机器人的控制,除了要事先配置好PC和智能机器人的网络之外,在进行操作控制之前,还需要通过网络在PC端登录智能机器人。在进行网络登录时,一般采用SSH登录方式任务要求知识导入任务实施任务评价远程登录SSH是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,就可以认为这种登录是安全的,即使被中途截获,密码也不会泄露任务要求知识导入任务实施任务评价远程登录假定要以用户名user,登录远程主机host,只要一条简单命令就可以了$sshuser@host

如:sshpika@192.168.0.111如果本地用户名与远程用户名一致,登录时可以省略用户名$sshhost任务要求知识导入任务实施任务评价远程登录SSH的默认端口是22,也就是说,登录请求会送进远程主机的22端口。使用p参数,可以修改这个端口$ssh-p2222user@host上面这条命令表示,SSH直接连接远程主机的2222端口任务要求知识导入任务实施任务评价远程登录如果是第一次登录对方主机,系统会出现下面的提示:$sshuser@hostTheauthenticityofhost'host(12.18.429.21)'can'tbeestablished.RSAkeyfingerprintis98:2e:d7:e0:de:9f:ac:67:28:c2:42:2d:37:16:58:4d.Areyousureyouwanttocontinueconnecting(yes/no)?这是在提示无法确认host主机的真实性,只知道它的公钥指纹,问你还想继续连接吗?任务要求知识导入任务实施任务评价远程登录假定经过风险衡量以后,用户决定接受这个远程主机的公钥Areyousureyouwanttocontinueconnecting(yes/no)?yes系统会出现一句提示,表示host主机已经得到认可Warning:Permanentlyadded'host,12.18.429.21'(RSA)tothelistofknownhosts.任务要求知识导入任务实施任务评价远程登录当远程主机的公钥被接受以后,它就会被保存在文件$HOME/.ssh/known_hosts之中。下次再连接这台主机,系统就会认出它的公钥已经保存在本地了,从而跳过警告部分,直接提示输入密码。任务要求知识导入任务实施任务评价根据任务要求,具体的工作任务实施步骤如下:(1)启动PC和智能机器人将控制智能机器人用电脑上电,进入Ubuntu系统;按下智能机器人电源按钮,智能机器人的主控制器进入Ubuntu系统任务要求知识导入任务实施任务评价(2)对PC端和智能机器人端的网络的参数进行设置。在PC端使用vim命令在bashrc文件中追加ROS_MASTER_URI和ROS_HOSTNAME两个全局变量,在智能机器人端使用nano命令bashrc文件中追加ROS_MASTER_URI和ROS_HOSTNAME两个全局变量任务要求知识导入任务实施任务评价(3)在PC端的catkin_ws工作空间中创建move_control功能包$cd~/catkin_ws/src$catkin_create_pkgmove_controlrospystd_msgs(4)在PC端建立scripts目录,编译工作空间$cdmove_control$mkdirscripts$cd~/catkin_ws$catkin_make&&source./devel/setup.bash任务要求知识导入任务实施任务评价(5)在PC端编写智能机器人转圈运动控制节点代码并进行编译在/catkin_ws/src/move_control/scripts文件夹下编写transbot_circle.py代码文件$

gedit

transbot_circle.py(6)在PC端启动master节点在PC端输入以下命令,启动ROS系统的master节点$roscore任务要求知识导入任务实施任务评价(7)在PC端登录到智能机器人主控制器通过SSH远程登录到智能机器人主控制器,这里需要输入机载主控器在局域网中的用户名和IP地址,默认用户名为:transbot,IP:92.168.1.100,然后根据提示输入密码,默认为vkrobot,当成功登录到主控制器时,命令窗口输入栏的抬头会标称transbot在PC端输入以下命令:$sshtransbot@192.168.1.100任务要求知识导入任务实施任务评价(8)运行智能机器人的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论