ROS_安装一个第三方仿真软件包——机器人模拟世界

本文记录安装一个第三方仿真软件包的实战,从下载到成功运行!
环境:ubuntu16.04 & ROS-Ubuntu2

下载源码包

在Ubuntu系统上,确保git已经安装
sudo apt-get install git

然后再创建一个名为tutorial_ws的工作空间,在它的src路径下克隆ROS-Academy-for-Beginners软件包
cd
mkdir -p tutorial_ws/src           创建catkin工作空间
cd tutorial_ws/src                 进入src路径,克隆教学软件包
git clone https://github.com/DroidAITech/ROS-Academy-for-Beginners.git

安装依赖

安装依赖:

cd ~/tutorial_ws
rosdep install --from-paths src --ignore-src --rosdistro=kinetic -y

过程图:

9125154-3bcfd5cf9a52cc75.png

9125154-e7cc41df6841025a.png

9125154-512e58528c2ee62a.png

注意:以上命令非常重要,缺少依赖将导致软件包无法正常编译和运行。
在开始编译之前,需要确保Gazebo在7.0版本以上

gazebo -V
9125154-462195736c51afe0.png

编译

接着回到catkin_ws下编译:

cd ~/tutorial_ws
catkin_make

过程图:

9125154-f8a2cec0c561f248.png

9125154-074b6f3278a41079.png

9125154-a5ebb9c82d1d355b.png

9125154-815033b62a85f243.png

下面是刷新环境的两种方法:

source ~/tutorial_ws/devel/setup.bash
rospack profile

过程图:

9125154-a7e6b0587303f63f.png

9125154-d826d016cf527096.png

运行仿真程序

首先需要解决一个问题,不然待会儿运行时会闪退:

roslaunch robot_sim_demo robot_spawn.launch

下面是运行过程图(是的,一开始可能会遇到一个报错[robot_spawn.launch] is neither a launch file in package [robot_sim_demo] nor is [robot_sim_demo] a launch file name The traceback for the exception was written to the log file,然而下面的过程图已经是从报错到解决报错成功运行的过程了):

9125154-176082a1db564bf7.png

liweipeng@liweipeng-virtual-machine:~$ rospack profile
Full tree crawl took 0.189714 seconds.
Directories marked with (*) contain no manifest.  You may
want to delete these directories.
To get just of list of directories without manifests,
re-run the profile with --zombie-only
-------------------------------------------------------------
0.141810   /opt/ros/kinetic/share
0.000770 * /opt/ros/kinetic/share/OpenCV-3.3.1-dev
0.000257 * /opt/ros/kinetic/share/doc
0.000043 * /opt/ros/kinetic/share/OpenCV-3.3.1-dev/haarcascades
0.000019 * /opt/ros/kinetic/share/OpenCV-3.3.1-dev/lbpcascades
0.000008 * /opt/ros/kinetic/share/doc/liborocos-kdl
liweipeng@liweipeng-virtual-machine:~$ roslaunch robot_sim_demo robot_spawn.launch 
[robot_spawn.launch] is neither a launch file in package [robot_sim_demo] nor is [robot_sim_demo] a launch file name
The traceback for the exception was written to the log file
liweipeng@liweipeng-virtual-machine:~$ roslaunch robot_sim_demo robot_spawn.launch 
[robot_spawn.launch] is neither a launch file in package [robot_sim_demo] nor is [robot_sim_demo] a launch file name
The traceback for the exception was written to the log file
liweipeng@liweipeng-virtual-machine:~$ cd ~/tutorial_ws
liweipeng@liweipeng-virtual-machine:~/tutorial_ws$ roslaunch robot_sim_demo robot_spawn.launch 
[robot_spawn.launch] is neither a launch file in package [robot_sim_demo] nor is [robot_sim_demo] a launch file name
The traceback for the exception was written to the log file
liweipeng@liweipeng-virtual-machine:~/tutorial_ws$ source ~/tutorial_ws/devel/setup.bash
liweipeng@liweipeng-virtual-machine:~/tutorial_ws$ rospack profile
Full tree crawl took 0.025369 seconds.
Directories marked with (*) contain no manifest.  You may
want to delete these directories.
To get just of list of directories without manifests,
re-run the profile with --zombie-only
-------------------------------------------------------------
0.016329   /opt/ros/kinetic/share
0.008478   /home/liweipeng/tutorial_ws/src
0.008405   /home/liweipeng/tutorial_ws/src/ROS-Academy-for-Beginners
0.000169 * /opt/ros/kinetic/share/OpenCV-3.3.1-dev
0.000036 * /opt/ros/kinetic/share/doc
0.000035 * /opt/ros/kinetic/share/OpenCV-3.3.1-dev/haarcascades
0.000015 * /opt/ros/kinetic/share/OpenCV-3.3.1-dev/lbpcascades
0.000006 * /opt/ros/kinetic/share/doc/liborocos-kdl
liweipeng@liweipeng-virtual-machine:~/tutorial_ws$ roslaunch robot_sim_demo robot_spawn.launch 
... logging to /home/liweipeng/.ros/log/3bcd5ac4-be9d-11e8-a270-000c29f43d2c/roslaunch-liweipeng-virtual-machine-2603.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

xacro: Traditional processing is deprecated. Switch to --inorder processing!
To check for compatibility of your document, use option --check-order.
For more infos, see http://wiki.ros.org/xacro#Processing_Order
xacro.py is deprecated; please use xacro instead
started roslaunch server http://liweipeng-virtual-machine:41819/

SUMMARY
========

PARAMETERS

9125154-3e2995762fbdd852.png

9125154-88d696568d681e73.png
9125154-07ccda2ec5d0e160.png
9125154-c61dbff42d98a7ff.png

再打开一个终端,输入以下命令,用键盘控制机器人移动,聚焦控制程序窗口,按下i、j、l等按键,控制机器人移动:

rosrun robot_sim_demo robot_keyboard_teleop.py

过程图如下,记得运行前要刷新环境,或者用上面的方法把刷新命令添加到脚本:

9125154-543c62da37910dc4.png

呐,对比上图,我把它移到了简介牌的右边:

9125154-ccabd78b5ebe8ca6.png

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
DDCOPY 1.5 版使用说明 功能特点: 程序容量小,速度快;不到40KB的程序可以快速拷贝几十GB的硬盘; 支持8GB以上容量的大硬盘间拷贝; 提供BADCOPY(坏盘拷贝)功能,可以跳过损坏的扇区继续拷贝; 对同一PC机内的多个硬盘进行全盘复制,支持IDE,EIDE,SCSI; 对硬盘的文件系统无限制(FAT32,NTFS,UNIX……); 快速清除硬盘的主引导扇区(MBR); 自动检测所接硬盘参数(柱面数、磁头数、扇区数、容量); 硬盘连接方法: 将硬盘接到计算机,并在CMOS中正确设置硬盘参数; 记下硬盘的排放顺序,以免拷贝时出现错误; 如果条件许可,以下连接方法可以提高20%拷贝速度: 对于 IDE硬盘,将源盘与目标盘分别用两根数据(排)线连接于主板上; 对于SCSI硬盘,将源盘与目标盘分别连接在不同的SCSI控制器上; 通常的连接方法(在CMOS中设置以"C"启动时): IDE硬盘: Primary Master -> 80h Primary Slave -> 81h Secondary Master-> 82h Secondary Slave -> 83h SCSI硬盘: ID=0 -> 80h ID=1 -> 81h ... 程序的运行: DDCOPY [-d|]|[-c|[-s]] [-y] DDCOPY [选项] 源盘标识 目标盘1# 目标盘2# ... Options[选项]: -s: 显示全部或指定硬盘信息 -d: 默认拷贝方式(拷贝PC机内所有硬盘,顺序为80h -> 81h 82h ...) -c: 清除指定硬盘的主引导扇区(MBR) -y: 对所有确认信息以回答“Yes” Samples[示例]: ddcopy -d -y 以默认顺序拷贝所有硬盘 ddcopy -c 81 80 清除指定硬盘的主引导扇区 ddcopy -s 80 81 显示指定硬盘的信息 ddcopy 81 80 82 按照指定顺序拷贝指定硬盘(此处81h为源盘) ==================================================== RouterOS爱好者|ROS爱好者 http://www.126cm.com 收集整理 天偶发现一个十分好用的软件,与大家分享(希望能进精华):      一般我们对系统进行备份,克隆都是用了ghost软件,但在UNIX系统方面,使用GHOST克隆会出现不能正常启动的问题,或者操作方法十分的麻烦。   推荐大家使用DDCOPY软件对UNIX系统进行备份或者双硬盘对拷。DDCOPY采用的是完全物理扇区拷贝方法,而GHOST是识别磁盘上的文件系统,所以只拷贝有效数据,在速度方面ghost是比ddcopy快得多,但ddcopy可以完完全全的把unix系统备份好。我用ddcopy对双硬盘linux7.3对拷,拷贝时间大概花了2个半小时,硬盘大小36G,数据完整是最重要的,时间花得多些也值。   ddcopy特点: (1)彻底的硬盘拷贝 (2)坏伞区拷贝 (3)支持单硬盘容量最大2TB (4)支持多系统 下载地址: http://www.100free.com/ddcopy/html/page2.html (最好使用1.5版本的,我双硬盘对拷时在1.6版本下不成功,在1.5版本下成功了) ddcopy的使用方法:   程序的运行 ddcopy [-d s=m d=d1,dn]|[-p s=m:i d=d1:j,dn] [-v n] [-s] [-c] [-f] [-y] [-h] 命令行参数 -d 设定拷贝模式为硬盘整盘拷贝 s 表示数据源,m可以为硬盘号或映像文件. d 表示目标,dn可以为硬盘号或映像文件,多个目标间用“,” 分隔. -p 设定拷贝模式为分区拷贝 s 表示数据源,m可以为硬盘号或映像文件,i为分区号. d 表示目标,dn可以为硬盘号或映像文件,k为分区号,多个 目标间用“,”分隔. -v 表示如目标为映像文件,则对其分卷存储,n为每卷容量(MB) -c 采用数据压缩方式保存映像文件 -s 显示计算机内所有硬盘的信息 -f 缺省拷贝模式(拷贝计算机内所有的硬盘),源盘为第1硬盘, 目标盘为其余的硬盘。此参数等同于-d s=1 d=2,3, ... -y 对于在运行过程的提示信息均回答Yes -h 显示帮助信息和示例 使用示例 ddcopy -d s=1 d=2,3,4 将第1硬盘上的数据复制到第2、3、4硬盘上。 ddcopy -d s=1 d=2,x:\d1.img -c 将第1硬盘复制到第2硬盘,并采用压缩方式保存到映像文件“d1.img”上。 ddcopy -d s=x:\d1.img d=1,3 将映像文件“d1.img”上的数据复制到第1、3硬盘上。 ddcopy -p s=1:1 d=2:1,3:2 将第1硬盘第1分区上的数据复制到第2硬盘的第1分区和第3硬盘的第2分区上。 ddcopy -p s=2:1 d=1:2,x:\p21.img -v 634 将第2硬盘第1分区上的数据复制到第1硬盘的第2分区上,并保存到映像文件“p21.img”中, 并设定分卷容量为634MB (649216KB)。 ddcopy -p s=x:\p21.img d=2:1,1:2 将映像文件“p21.img”中的数据复制到第2硬盘的第1分区和第1硬盘的第2分区上。 使用说明 DDCOPY是DOS模式下运行的程序,可以运行在PC-DOS、MS-DOS和Win95/98/Me的DOS环境下。不能在NT、Win2000、XP环境下运行。 硬盘号:“1”表示80h硬盘,即BIOS中所认的第一块硬盘,“2”表示81h硬盘,即BIOS中所认的第二块硬盘,依此类推。 分区号:“1”表示硬盘上的第一个分区,“2”表示硬盘上的第二个分区。每个硬盘上取多有四个分区。 映像文件所在的磁盘区域不要位于将要对其进行操作的“源盘”或“目标盘”上。 硬盘连接方法 前提:在计算机BIOS中设置以"C"或"IDE0"启动时 IDE硬盘: Primary Master ->; 第1硬盘 (80h) Primary Slave ->; 第2硬盘 (81h) Secondary Master->; 第3硬盘 (82h) Secondary Slave ->; 第4硬盘 (83h) SCSI硬盘: ID=0 ->; 第1硬盘 (80h) ID=1 ->; 第2硬盘 (81h) …… 说明: 将硬盘接到计算机,并在BIOS中正确设置硬盘参数; 记下硬盘的排放顺序,以免拷贝时出现错误; 提高拷贝速度 如果条件允许,用以下连接方法可以提高20%拷贝速度: 对于IDE硬盘,将源盘与目标盘分别用两根数据(排)线与主板连接 对于SCSI硬盘,将源盘与目标盘分别连接到不同的SCSI控制器上
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凌川江雪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值