天天看点

机器人操作系统ROS笔记--从仿真开始

对于新手来说,自行学习建造一个自动化的机器人是很困难的,因为机器人学覆盖面很广,涉及到大量的硬件和软件知识,这都需要深入了解。尽管ROS可以搭建在多种硬件之上,但是并不一定要有一个真实的机器人才能开始学习它。ROS包括许多能在模拟环境中运行机器人的程序包,以便在真实的世界里冒险之前就可以测试有关程序。

ROS运行的上位机可以是Raspberry Pi,TK1/TX1, BeagleBone, 笔记本电脑等,对于仿真应用来说,采用笔记本即可。

ROS不同版本的语义不尽相同,这里采用的软件版本是:

Software
  • ROS: Indigo version 1.11.20
  • OS: Ubuntu 14.04
  • Gazebo 5.3.0

设置工作环境:

// 安装git svn 
$ sudo apt-get update
$ sudo apt-get install git subversion mercurial
// 安装ROS
$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
$ sudo apt-get update
$ sudo apt-get install ros-indigo-desktop-full
$ sudo rosdep init
$ rosdep update
$ echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc
$ source ~/.bashrc
// 安装catkin Command Line Tools
$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu `lsb_release -sc` main" > /etc/apt/sources.list.d/ros-latest.list'
$ wget http://packages.ros.org/ros.key -O - | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get install python-catkin-tools
// 安装Gazebo
$ curl -ssL http://get.gazebosim.org | sh
// Create workspace:
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ catkin_init_workspace
// Build the workspace:
$ cd ~/catkin_ws/
$ catkin build
// Source your workspace:
$ source devel/setup.bash
           

推荐两个入门的范例:

https://github.com/richardw05/mybot_ws

https://github.com/pirobot/rbx1

区别是使用的仿真器不同,分别使用Gazebo和Arbotix,下面使用arbotix作为示例:

$ rospack profile
$ roslaunch rbx1_bringup fake_pi_robot.launch
           

如果正常可以得到如下启动信息:

机器人操作系统ROS笔记--从仿真开始
rosrun rviz rviz -d `rospack find rbx1_nav`/sim.rviz
           

调出RViz可以看到模拟的机器人pirobot.

机器人操作系统ROS笔记--从仿真开始
$ rostopic pub -r  /cmd_vel geometry_msgs/Twist 
'{linear: {x: 0.2, y: 0, z: 0}, 
angular: {x: 0, y: 0, z: 0.5}}'
           

该命令可以使机器人按照逆时针圆圈方向运动:

机器人操作系统ROS笔记--从仿真开始

发布一个空消息来停止机器人的运动,reset按键可以清屏。

进入launch目录:

可以自定义启动文件:

继续阅读