在ROS中开始自主机器人仿真 - 1 概述

建立自主机器人是很难的,特别是在刚开始的时候. ROS 仿真有助于帮助我们从宏观上对机器人系统进行把握,帮助我们学习如何可以让机器人学会自己去适应环境. 明白机器人从测量和激光数据采集到转变为电机运动的过程. 机器人如何利用传感器进行感知, 找出好的路径, 应该执行什么样的命令. 这不是一套完整的自主机器人仿真的指导内容,但希望是一个好的开始. 所介绍的是小项目的一部分, 主要集中于如何开始自己的自主机器人仿真.

首先, 我们用ROS自带的turtlebot库,让机器人跑起来,这样我们有了直观的理解, 学习库中如何让机器人运动,掌握基本的工具和调试方法. 并了解机器人如何进行地图构建和借助于地图如何进行导航.

1. 借助ROS库跑一跑机器人

  • part 1 让turtlebot跑起来
  • part 2 让turtlebot自主导航

接着, 我们开始利用现有的机器人库, 开发自己的自主机器人.

2. 基于ROS开发自己的自主机器人
To be continued...

在开始之前,需要安装ROS, 我的版本是ROS indigo, Ubuntu 14.04. 安装教程请见Ubuntu install of ROS Indigo.

Reference:
ROS tutorial :http://wiki.ros.org/ROS/Tutorials.
turtlebot tutorial :http://wiki.ros.org/turtlebot
moorerobots : http://moorerobots.com/
Kinect SDK tutorial : http://homes.cs.washington.edu/~edzhang/tutorials/index.html

时间: 2024-08-06 07:13:18

在ROS中开始自主机器人仿真 - 1 概述的相关文章

在ROS中开始自主机器人仿真 - 3 让turtlebot自主导航

我们已经在gazebo中实现了机器人的仿真,而且能够控制机器人的运动, 查看机器人所感知到的信息, 包括lasercan, 图像信息, 深度信息, 点云, 也包括没有提到的速度信息. 这里,我们建立用ROS navigation stack 导航功能包ROS navigation stack 导航功能包 , 进行机器人地图构建与导航. part 2.1: 让turtlebot自主导航 1 创建地图 使用下面的命令,借助键盘遥控机器人创建精确详尽的地图. 加载Gazebo仿真环境 roslaunc

在ROS中开始自主机器人仿真 - 4 建立自己的自主机器人URDF模型

要建立自己的自主机器人,首先,必须要建立自己的机器人模型,URDF(Unified Robot Description Format)模型. part 3 建立自主机器人URDF模型 机器人URDF模型主要由两个文件组成:.xacro 是主文件,包含URDF项,包括关节,连杆:.gazebo包含gazebo的具体信息以便在gazebo中仿真. 例子请见:How to Build a Differential Drive Simulation 以下工程的源码下载地址请见: http://downl

在ROS中开始自主机器人仿真 - 2 让turtlebot跑起来

借助ROS的工具箱让turtlebot在gazebo中运行起来. part 1.1: 让turtlebot跑起来 1. 在gazebo中显示机器人 roslaunch turtlebot_gazebo turtlebot_world.launch 默认加载了一个playground 的world文件. 2. 用键盘进行控制机器人 roslaunch turtlebot_teleop keyboard_teleop.launch --screen Moving around: u i o j k

ROS和Gazebo进行机器人仿真(一)

Gazebo是一种多机器人仿真器,可用于室内外机器人仿真.Gazebo在ROS中有良好的接口,包含ROS和Gazebo的所有控制. 若要实现ROS到Gazebo的通信,我们必须安装ROS-Gazebo接口. 应该安装以下软件包: $ sudo apt install ros-melodic-gazebo-ros-pkgs  ros-melodic-gazebo-msgs  ros-melodic-gazebo-plugins  ros-melodic-gazebo-ros-control *ga

ROS和Gazebo进行机器人仿真(二)

一.在Gazebo中使用ROS控制器 在本节中,我们将讨论如何在Gazebo中让机器人的每个关节运动. 为了让关节动起来,我们需要分配一个ROS控制器,尤其是,我们需要为每个关节连上一个与transmission标签内指定的硬件接口兼容的控制器. ROS控制器主要由一套反馈机构组成,可以接受某一设定点,并用执行机构的反馈控制输出. ROS控制器使用硬件接口与硬件交互,硬件接口的主要功能是充当ROS控制器与真实或仿真硬件之间的中介,根据ROS控制器生成的数据来分配 资源控制它. 在本机器人,我们定

ROS中的3D机器人建模(二)

一,创建我们的第一个URDF模型 我们设计的第一个机器人模型是pan-and-tilt机械结构,代码如下 pan_tilt.urdf: 1 <?xml version="1.0"?> 2 <robot name="pan_tilt"> 3 4 <link name="base_link"> 5 6 <visual> 7 <geometry> 8 <cylinder length=&

ROS中利用V-rep进行地图构建仿真

V-rep中显示激光扫描点  在VREP自带的场景中找到practicalPathPlanningDemo.ttt文件,删除场景中多余的物体只保留静态的地图.然后在Model browser→components→sensors中找到SICK TiM310 Fast激光雷达,拖入场景中: 打开脚本参数修改器,可以修改雷达扫描范围(默认为270°),是否显示雷达扫描线(true),以及最大探测距离(默认为4m)这三个参数.地图大小为5m×5m,我们将雷达最大探测距离改为2m 将激光雷达放到地图中任

对比几种在ROS中常用的几种SLAM算法

在此因为要总结写一个文档,所以查阅资料,将总结的内容记录下来,欢迎大家指正! 文章将介绍使用的基于机器人操作系统(ROS)框架工作的SLAM算法. 在ROS中提供的五种基于2D激光的SLAM算法分别是:HectorSLAM,Gmapping,KartoSLAM,CoreSLAM和LagoSLAM.当然最后还有比较经典的google开源的cartographer,虽然不是基于ROS的但是大牛们已经将它修改为基于ROS的版本的cartographer_ros, ROS(Robot Operating

ROS中URDF+Xacro的学习和比较

ROS中URDF的学习以及与Xacro的比较 1.urdf与Xacro简单比较 "URDF" 是最初也是比较简单的机器人描述文件,它的结构简单明了,容易理解.但是这也导致当机器人模型变得复杂时,urdf的结构描述就变得冗长,无法简洁有效的描述机器人部件: "Xacro" 的出现在一定程度上有效地解决这种问题.在本质上,Xacro与URDF是等价的,但Xacro格式提供了一些更高级的方式来组织和编辑机器人描述. 2.urdf文件结构与Xacro文件结构 URDF--主