安装ROS-Academy-for-Beginners教学包

本教程详细介绍了如何在Ubuntu系统上安装并配置ROS-Academy-for-Beginners软件包,包括创建工作空间、克隆源码、安装依赖、编译及运行仿真程序。同时,提供了解决Anaconda3和ROS默认Python版本冲突的方法。
部署运行你感兴趣的模型镜像

github地址: https://github.com/DroidAITech/ROS-Academy-for-Beginners

下载源码包

在Ubuntu系统上,确保git已经安装

$	sudo apt-get install git

然后再创建一个名为tutorial_ws的工作空间,在它的src路径下克隆ROS-Academy-for-Beginners软件包

$	mkdir -p tutorial_ws/src #创建catkin工作空间
$	cd tutorial_ws/src #进入src路径,克隆教学软件包
$	git clone https://github.com/DroidAITech/ROS-Academy-for-Beginners.git

安装依赖

安装ROS-Academy-for-Beginners所需要的依赖

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

使用 rosdep install --from-paths src --ignore-src --rosdistro=kinetic -y 安装依赖包
出现错误:
ERROR: the following packages/stacks could not have their rosdep keys resolved to system dependencies:
slam_sim_demo: No definition of [hector_mapping] for OS [debian]
navigation_sim_demo: No definition of [dwa_local_planner] for OS [debian]
robot_sim_demo: No definition of [yocs_cmd_vel_mux] for OS [debian]

解决方法:更改命令为:

rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y --os=ubuntu:xenial

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

$ gazebo -v	 #确认7.0及以上

如果你的Gazebo版本低于7.0,则需要进行升级

$ sudo sh -c ‘echo “deb http://packages.osrfoundation.org/gazebo/ubuntu-stable lsb_re lease -cs main” > /etc/apt/sources.list.d/gazebo-stable.list’
$ wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get install gazebo7

编译

接着回到catkin_ws下编译

$ cd ~/tutorial_ws
$ catkin_make
$ source ~/tutorial_ws/devel/setup.bash #刷新环境

运行仿真程序
编译完成后输入

$ roslaunch robot_sim_demo robot_spawn.launch

如果没有报错,第一次加载需要等待一下:
在这里插入图片描述
加载完全会看到这个画面:
在这里插入图片描述
打开一个新的终端

$ source ~/tutorial_ws/devel/setup.bash
$ rosrun robot_sim_demo robot_keyboard_teleop.py

聚焦控制程序窗口,按下i、j、l等按键,这样你就可以通过键盘来控制机器人的移动了。
在这里插入图片描述
解决Ubuntu16.04中同时使用Anaconda 3和ROS默认Python版本矛盾的问题

原因:ROS默认Python版本为2.x,Anaconda 3将系统的Python设置为3.x。这样编译ROS工作空间中的某些包(例如tf)时,就会因为Python版本报错。
解决方法1: 修改/usr/bin中的python连接,/usr/bin中的python本质是同一文件夹下的python2.x或python3.x的符号链接,因此只要修改连接指向,就可以修改python默认版本。(将环境变量中的Anaconda注释掉)

$ cd /usr/bin
$ ls python*  #查看现有python版本
$ sudo rm python  #此处要输密码
$ sudo ln -s python2.x python  # 创立新的符号链接

解决方法2: 使用Anaconda创建新的环境,制定python版本为2.x。
以2.7为例:

$ conda create -n py27 python=2.7
$ source activate py27
$ source /opt/ros/kinetic/setup.bash
$ source /home/PATH_TO_YOUR_WORKSPACE/devel/setup.bash

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

目錄 前言 第一章 ROS简介 机器人时代的到来 ROS发展历程 什么是ROS 安装ROS 安装ROS-Academy-for-Beginners教学 二进制与源码 安装RoboWare Studio 单元测试一 第二章 ROS文件系统 Catkin编译系统 Catkin工作空间 Package软件 CMakeLists.txt package.xml Metapacakge软件元 其他常见文件类型 单元测试二 第三章 ROS通信架构(一) Node & Master Launch文件 Topic Msg 常见msg类型 单元测试三 第四章 ROS通信架构(二) Service Srv Parameter server 11.5.4 1.5.5 1.5.6 1.5.7 1.6 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.7 1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 1.7.6 1.7.7 1.8 1.8.1 1.8.2 1.8.3 1.8.4 1.9 1.9.1 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.6.1 1.9.6.2 Action 常见srv类型 常见action类型 单元测试四 第五章 常用工具 Gazebo RViz Rqt Rosbag Rosbridge moveit! 单元测试五 第六章 roscpp Client Library与roscpp 节点初始、关闭与NodeHandle Topic in roscpp Service in roscpp Param in roscpp 时钟 日志与异常 第七章 rospy Rospy与主要接口 Topic in rospy Service in rospy Param与Time 第八章 TF与URDF 认识TF TF消息 tf in c++ tf in python 统一机器人描述格式 附录:TF数学基础 三维空间刚体运动---旋转矩阵 三维空间刚体运动---欧拉角 21.9.6.3 1.10 1.10.1 1.10.2 1.10.3 1.10.4 1.11 1.11.1 1.11.2 1.11.3 1.11.4 1.12 1.12.1 1.12.2 1.12.3 1.12.4 1.12.5 1.12.6 1.12.7 1.12.8 1.12.9 1.12.10 1.12.11 1.12.12 1.12.13 1.12.14 1.12.15 1.12.16 三维空间刚体运动---四元数 第九章 SLAM 地图 Gmapping Karto Hector 第十章 Navigation Navigation Stack move_base costmap Map_server & Amcl 附录:Navigation工具说明 amcl local_base_planner carrot_planner clear_costmap_recovery costmap_2d dwa_local_planner fake_localization global_planner map_server move_base_msg move_base move_slow_and_clear navfn nav_core robot_pose_ekf rotate_recovery 3中国大学MOOC---《机器人操作系统入门》 课 程讲义
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值