ROS中阶笔记(十):ROS机器人综合应用

简介: ROS中阶笔记(十):ROS机器人综合应用

1 ROS机器人综合应用


PR2:造就了ROS的机器人平台,完全基于ROS开发,功能丰富、强大;


TurtleBot:ROS社区中最流行的高性价比机器人平台,前后共发布三代;


Universal Robot:工业领域的协作工业机器人定义者;


HRMRP:基于ARM+FPGA的异构实时移动机器人平台,可以实现SLAM、导航、图像处理、多机器人协作等功能;


Kungfu Arm:基于ROS-I框架的机械臂控制系统,集成了机器视觉、语音、灵巧手等丰富的传感器和执行器。


1.1 PR2


PR2,Personal Robot2


Willow Garage公司设计;

两条手臂,每条手臂七个关节,手臂未端是一个可以张合的夹爪;

依靠底部的四个轮子移动;

在头部、胸部、肘部、夹爪上分别安装有高分辨率摄像头、激光测距仪、惯性测量单元、触觉传感器等;

底部有两台八核电脑作为机器人各硬件的控制和通信中枢,并且都安装了Ubuntu和ROS系统。


1.2 PR2实践


1、安装PR2功能包


$ sudo apt-get install ros-kinetic-pr2-*                         # 安装PR2功能包


2、启动Gazebo仿真


$ roslaunch pr2_gazebo pr2_empty_world.launch                   # 启动Gazebo仿真


3、在仿真环境中添加障碍物模型,并使用rviz显示PR2的传感器信息


rosrun rviz rviz


4、键盘控制


$ roslaunch pr2_teleop teleop_keyboard.launch


在控制PR2移动时,rviz中的Fixed Frame需要修改为odom_combined


5、启动SLAM建图


$ roslaunch PR2 pr2_build_map.launch
$ roslaunch pr2_teleop teleop_keyboard.launch

6、机械臂控制


$ roslaunch pr2_gazebo pr2_empty_world.launch
$ roslaunch pr2_teleop_ general pr2 teleop_ general_ keyboard.launch


7、机械臂Movelt!控制


$ git clone https://github.com/davetcoleman/pr2_moveit_config.git
$ catkin_make
$ roslaunch pr2_moveit_config demo.launch


8、Movelt!+gazebo控制


$ roslaunch pr2_gazebo pr2_empty_world.launch
$ roslaunch pr2_moveit_config move_group.launch 
$ roslaunch pr2_moveit_config moveit_rviz.launch

1.3 TurtleBot


  • ROS中最为重要、资源最为丰富的机器人之一;
  • 给入门级的机器人爱好者提供一个基础平台;
  • 可以直接使用TurtleBot自带的软硬件,专注于应用程序的开发;
  • 它伴随ROS一同成长,一直都作为ROS开发前沿的机器人。


1.3.1 TurtleBot2实践


1、安装Turtlebot功能包


$ sudo apt-get install ros-kinetic-turtlebot-*


2、启动仿真环境

# 先设置仿真环境的地图,通过环境变量的形式做启动的;
$ export TURTLEBOT_GAZEBO_WORLD_FILE=
"/opt/ros/kinetic/share/turtlebot_gazebo/worlds/playground.world"
$ roslaunch turtlebot_gazebo turtlebot_world.launch
$ rosrun rviz rviz     # 使用rviz显示Turtlebot的传感器信息


3、键盘控制


$ roslaunch turtlebot_teleop keyboard_teleop.launch


4、SLAM建图

$ export TURTLEBOT_GAZEBO_WORLD_FILE="/opt/ros/kinetic/share/turtlebot_gazebo/worlds/playground.world"
$ roslaunch turtlebot_gazebo turtlebot_world.launch 
$ roslaunch turtlebot_gazebo gmapping_demo.launch 
$ roslaunch turtlebot_rviz_launchers view_navigation.launch
$ roslaunch turtlebot_teleop keyboard_teleop.launch

5、自主导航


# 构建好地图之后,保存地图
$ roslaunch turtlebot_ gazebo amcl_demo.launch map_file:=/home/hcx/turtlebot_ test_map.yaml
# 在保存的地图上完成导航
$ roslaunch turtlebot_rviz_launchers view_navigation.launch


1.3.2 TurtleBot3实践


1、安装Turtlebot3功能包


$ sudo apt-get install ros-kinetic-turtlebot3-*


TurtleBot 3目前有两种模型:burger和Waffle,启动之前必须通过环境变量的方式设置所需要的模型,这里选择burger。


2、启动仿真环境


# 需要联网加载
$ export TURTLEBOT3_MODEL=burger        
$ roslaunch turtlebot3_gazebo_ros turtlebot3_world.launch


3、SLAM建图


$ roslaunch turtlebot3_slam turtlebot3_slam.launch
$ rosrun turtlebot3_teleop turtlebot3_teleop_key


1.4 UR


Universal Robots,优傲机器人


一家引领协作机器人全新细分市场的先驱企业

关注机器人的用户可操作性和灵活度

安全度高、无需安全围栏、编程简单、灵活度高

UR5,自重18公斤,负载高达5公斤,工作半径85cm

UR3,自重11公斤,有效负载3公斤,所有腕关节均可360度旋转,未端关节可作无限旋转。

UR10的有效负载为10公斤,工作半径130cm。


1.5 UR实践


1、安装UR功能包


$ sudo apt-get install ros-kinetic-universal-robot


2、启动仿真环境


$ roslaunch ur_gazebo ur5.launch


3、Movelt!+gazebo


$ roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch sim:=true
$ roslaunch ur5_moveit_config moveit_rviz.launch config:=true

*终端查看规划的轨迹可使用如下命令:


$ rostopic echo /arm_controller/follow_joint_trajectory/goal


2 构建综合机器人平台


$ sudo apt-get install ros-kinetic-velodyne-simulator
$ sudo apt-get install ros-kinetic-hector-gazebo-plugins
$ sudo apt-get install ros-kinetic-pcl-conversions ros-kinetic-pointcloud-
to-laserscan
$ catkin_make

2.1 mbot pro


1、模型显示


$ roslaunch mbot_description display_mbot_pro_xacro.launch


2、仿真环境


$ roslaunch mbot_gazebo view_mbot_pro_with_laser_kinect_gazebo.launch


3、物体跟踪


$ roslaunch mbot_gazebo view_mbot_pro_with_laser_kinect_gazebo.launch 
$ roslaunch mbot_follower follower_bringup_nodelet.launch


2.2 marm pro


1、模型显示


$ roslaunch marm_description view_arm.launch


2、仿真环境


$ roslaunch marm_gazebo arm_world.launch


3、Movelt!视觉集成


$ roslaunch marm_gazebo arm_bringup_moveit.launch


2.3 mbot+marm


1、模型显示


$ roslaunch marm_description view_mbot_with_arm.launch


$ roslaunch marm_description view_mbot_with_arm_kinect.launch


2、Movelt!控制


$ roslaunch mbot_with_arm_moveit_config demo.launch


3、gazebo仿真


$ roslaunch marm_gazebo mbot_with_arm_world.launch


4、Movelt!+gazebo控制


$ roslaunch marm_gazebo mbot_with_arm_bringup_moveit.launch
相关实践学习
使用ROS创建VPC和VSwitch
本场景主要介绍如何利用阿里云资源编排服务,定义资源编排模板,实现自动化创建阿里云专有网络和交换机。
ROS入门实践
本课程将基于基础设施即代码 IaC 的理念,介绍阿里云自动化编排服务ROS的概念、功能和使用方式,并通过实际应用场景介绍如何借助ROS实现云资源的自动化部署,使得云上资源部署和运维工作更为高效。
目录
相关文章
|
12月前
|
存储 人工智能 监控
大牛直播SDK在四足机器人和无人机巡检中的创新应用方案
在工业4.0和智能化浪潮下,传统巡检方式正经历深刻变革。四足机器人与无人机凭借灵活机动性和高效巡检能力崭露头角,而大牛直播SDK则赋予其实时直播与智能互动功能。本文介绍大牛直播SDK的核心优势、在四足机器人和无人机巡检中的应用方案,以及技术实现要点和未来展望,展示智能巡检的广阔前景。
380 6
|
机器人 API 数据安全/隐私保护
【最佳实践系列】通过AppFlow,支持飞书机器人调用阿里云百炼应用
本文介绍了如何创建并配置飞书应用及机器人,主要包括三个步骤:1. 登录飞书开发者后台,创建企业自建应用并添加机器人卡片和API权限;2. 创建AppFlow连接流,配置飞书平台凭证和阿里云百炼鉴权凭证,发布WebhookUrl,并在飞书开放平台配置事件订阅;3. 将机器人添加到群聊中,通过@机器人实现互动。以及通过AppFlow连接流集成阿里云百炼应用服务。此过程详细描述了从应用创建到机器人添加的全流程,帮助开发者快速集成飞书机器人功能。
2293 10
|
6月前
|
机器学习/深度学习 存储 算法
【水下机器人建模】基于QLearning自适应强化学习PID控制器在AUV中的应用研究(Matlab代码实现)
【水下机器人建模】基于QLearning自适应强化学习PID控制器在AUV中的应用研究(Matlab代码实现)
429 0
|
7月前
|
存储 人工智能 机器人
别再只做聊天机器人:AI 应用商业闭环的工程落地指南,免费体验中
本文介绍了如何通过阿里云百炼平台创建一个星座运势分析AI智能体,并集成支付宝MCP服务实现支付闭环。解决AI产品无法直接变现的问题,完成“服务-支付-交易”全流程闭环,帮助开发者快速实现商业化。
|
9月前
|
机器学习/深度学习 人工智能 机器人
模仿学习在机器人“接触丰富”任务中的应用
本文结合近期发表的一篇综述性论文,简要介绍了机器人技术中的模仿学习(Imitation Learning)、以及接触丰富(Contact-Rich)任务这两个概念
276 41
|
9月前
|
传感器 机器人 开发者
ROS服务(Service)通信中的模型与实际应用: 初识Hello World并予以扩展
总而言之,ROS服务提供的是一种可靠而灵活的通信方式。每一次服务的请求和应答都会阻塞,直至应答完成。这意味着在调用服务之后,你可以确保你的请求被正确处理。这也是它在机器人系统中如此重要的原因,因为在许多情况下,我们需要获取实时、准确的结果,例如控制机器人执行精确的运动。
516 1
|
9月前
|
人工智能 边缘计算 自然语言处理
大模型应用实践:2025年智能语音机器人厂商推荐和方案详解
随着数字化转型加速,AI客服机器人市场规模预计2025年突破500亿美元,年复合增长率超25%。其发展由语音交互升级、垂直场景解决方案成熟及多模态融合与边缘计算普及三大趋势驱动。文章分析了智能语音机器人的选型核心维度,包括技术性能、场景适配、数据治理与成本效益,并对比了国内外代表厂商如合力亿捷、Zendesk等的方案特点,为企业提供选型策略与落地建议,助力实现服务模式的根本性变革。
802 0
|
自动驾驶 安全 机器人
ROS2:从初识到深入,探索机器人操作系统的进化之路
前言 最近开始接触到基于DDS的这个系统,是在稚晖君的机器人项目中了解和认识到。于是便开始自己买书学习起来,感觉挺有意思的,但是只是单纯的看书籍,总会显得枯燥无味,于是自己又开始在网上找了一些视频教程结合书籍一起来看,便让我对ROS系统有了更深的认识和理解。 ROS的发展历程 ROS诞生于2007年的斯坦福大学,这是早期PR2机器人的原型,这个项目很快被一家商业公司Willow Garage看中,类似现在的风险投资一样,他们投了一大笔钱给这群年轻人,PR2机器人在资本的助推下成功诞生。 2010年,随着PR2机器人的发布,其中的软件正式确定了名称,就叫做机器人操作系统,Robot Op
715 14
|
机器人 API 数据安全/隐私保护
AppFlow:支持飞书机器人调用百炼应用
本文介绍了如何创建并配置飞书应用及机器人,包括登录飞书开发者后台创建应用、添加应用能力和API权限,以及通过AppFlow连接流集成阿里云百炼服务,最后详细说明了如何将机器人添加到飞书群组中实现互动。
1650 5
|
XML 算法 自动驾驶
ROS进阶:使用URDF和Xacro构建差速轮式机器人模型
【11月更文挑战第7天】本篇文章介绍的是ROS高效进阶内容,使用URDF 语言(xml格式)做一个差速轮式机器人模型,并使用URDF的增强版xacro,对机器人模型文件进行二次优化。
756 6

推荐镜像

更多
  • ros