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使用教程
资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/
目录
相关文章
|
1月前
|
传感器 人工智能 文字识别
OrangePi AIpro 机器人仿真与人工智能应用测评(下)
OrangePi AIpro 机器人仿真与人工智能应用测评(下)
53 11
|
1月前
|
人工智能 Ubuntu 机器人
OrangePi AIpro 机器人仿真与人工智能应用测评(上)
OrangePi AIpro 机器人仿真与人工智能应用测评
40 8
|
1月前
|
存储 Ubuntu 数据可视化
Sawyer 机器人 ROS SDK 配置(三)
Sawyer 机器人 ROS SDK 配置(三)
37 5
|
1月前
|
存储 Ubuntu 数据可视化
Sawyer 机器人 ROS SDK 配置(二)
Sawyer 机器人 ROS SDK 配置(二)
21 0
|
1月前
|
存储 网络协议 机器人
Sawyer 机器人 ROS SDK 配置(一)
Sawyer 机器人 ROS SDK 配置
34 0
|
4月前
|
传感器 人工智能 监控
智能耕耘机器人
智能耕耘机器人
104 3
|
1月前
|
人工智能 算法 机器人
机器人版的斯坦福小镇来了,专为具身智能研究打造
【8月更文挑战第12天】《GRUtopia:城市级具身智能仿真平台》新论文发布,介绍了一款由上海AI实验室主导的大规模3D城市模拟环境——GRUtopia。此平台包含十万级互动场景与大型语言模型驱动的NPC系统,旨在解决具身智能研究中的数据稀缺问题并提供全面的评估工具,为机器人技术的进步搭建重要桥梁。https://arxiv.org/pdf/2407.10943
166 60
|
19天前
|
机器人 C# 人工智能
智能升级:WPF与人工智能的跨界合作——手把手教你集成聊天机器人,打造互动新体验与个性化服务
【8月更文挑战第31天】聊天机器人已成为现代应用的重要组成部分,提供即时响应、个性化服务及全天候支持。随着AI技术的发展,聊天机器人的功能日益强大,不仅能进行简单问答,还能实现复杂对话管理和情感分析。本文通过具体案例分析,展示了如何在WPF应用中集成聊天机器人,并通过示例代码详细说明其实现过程。使用Microsoft的Bot Framework可以轻松创建并配置聊天机器人,增强应用互动性和用户体验。首先,需在Bot Framework门户中创建机器人项目并编写逻辑。然后,在WPF应用中添加聊天界面,实现与机器人的交互。
33 0
|
4月前
|
自然语言处理 机器人 Go
【飞书ChatGPT机器人】飞书接入ChatGPT,打造智能问答助手
【飞书ChatGPT机器人】飞书接入ChatGPT,打造智能问答助手
273 0

推荐镜像

更多