人机智能交互技术(ROS-HRI-人与机器人的智能交互)课程介绍与资料

表达:小说所有内容皆截选自实验楼教程【ROS机器人操作系统的设置、配置与初级教程】,该科目制小编有12年机器人系统虚假与控制学习和研讨经历,教程总共20节内容,作品截选的是学科前两节内容;

亚洲必赢网游戏手机版 1

ROS简介:

那是机器人系统规划与操纵技能的接续课程,全部的课程内容包罗四门科目(本科),如下:

ROS (Robot Operating System,
机器人操作系统)是一个适用于机器人的开源操作系统。它提供了操作系统应该的劳动,蕴涵硬件抽象,底层设备控制,常用函数的落到实处,进程间音讯传递,以及包管理。它也提供用于获取、编译、编写、和跨总括机运行代码所需的工具和库函数。在好几方面ROS相当于一种“机器人框架”。

亚洲必赢网游戏手机版 2

ROS的设置和测试

学习事项:

在进入ROS机器人操作系统课程此前,须求熟知了解下列基础(在实验楼都有免费对应课程,需先完成这类课程,才能更好的学习和使用ROS):

  1. 新手指南之玩转实验楼
  2. Linux基础入门
  3. Vim编辑器
  4. Git实战教程
  5. GDB简明教程
  6. 跟我一头来玩转Makefile
  7. 数据结构(新版)
  8. C语言入门
  9. Python语言入门

人机智能交互技术是人机融合的底蕴,课程介绍多样人机交互技术,蕴含传统和新生的,围绕人、机器人和相互软件拓展。

1 系统创新

  • update

$ sudo apt-get update
  • upgrade

$ sudo apt-get upgrade

正如好玩的案例,如下:

2 安装 ROS

亚洲必赢网游戏手机版 3

此地输入图片的描述

根据网页:http://wiki.ros.org/cn/indigo/Installation/Ubuntu
进行配备,具体步骤如下:

1
语音交互:http://blog.csdn.net/zhangrelay/article/details/68951068

2.1 添加 sources.list

  • 布局你的处理器使其可以设置来自 packages.ros.org 的软件。 ROS
    Indigo 仅 支持 Saucy (13.10) 和 Trusty (14.04)。

$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

注:强烈提出使用国内依然新加坡共和国的镜像源,这样可以大大进步安装下载速度。

  • USTC (China)

$ sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

2
视觉交互:http://blog.csdn.net/zhangrelay/article/details/53223939

2.2 添加 keys

$ sudo apt-key adv --keyserver hkp://pool.sks-keyservers.net --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

亚洲必赢网游戏手机版 4

实验楼

3
感应交互:http://blog.csdn.net/zhangrelay/article/details/52356417

2.3 安装

  • 先是,确保您的Debian软件包索引是最新的:

$ sudo apt-get update
  • 桌面完整版安装:(推荐)

$ sudo apt-get install ros-indigo-desktop-full

4
脑电交互:http://blog.csdn.net/zhangrelay/article/details/50932120

2.4 初始化 rosdep

在起来利用ROS此前您还索要早先化rosdep。rosdep可以一本万利在你需求编译某些源码的时候为其设置一些连串重视,同时也是少数ROS大旨成效组件所必需用到的工具。

$ sudo rosdep init

$ rosdep update

亚洲必赢网游戏手机版 5

实验楼

更加多内容,可在网络上拓展材料搜索。本课程侧重三款常用于机器人的传感器,RGB-D视频头和Leap
Motion手势设备。

2.5 环境设置

若是每一回打开一个新的巅峰时ROS环境变量都能够活动配置好(即添加到bash会话中),那将会便宜得多:

$ echo "source /opt/ros/indigo/setup.zsh" >> ~/.zshrc

$ source ~/.zshrc

三维环境识别感知人体活动识别三维手势跟踪为案例举办实际介绍。

2.6 安装 rosinstall

rosinstall
是ROS中一个单身分开的常用命令行工具,它可以方便让您通过一条命令就能够给某个ROS软件包下载很多源码树。要在ubuntu上设置这些工具,请运行:

$ sudo apt-get install python-rosinstall

亚洲必赢网游戏手机版 6  亚洲必赢网游戏手机版 7

3 ROS测试

测试已经安装好的ROS是或不是足以健康使用。

亚洲必赢网游戏手机版 8  亚洲必赢网游戏手机版 9

3.1 测试 roscore

打开一个终端测试roscore是不是能正常启动,使用ROS必须确保roscore运行:

$ roscore

亚洲必赢网游戏手机版 10

实验楼

课程作业:4次实施告诉、1次立异大作业。越来越多内容稍后补充。

3.2 启动 turtlesim

启动一个turtlesim节点并通过键盘控制其活动,新开启一个巅峰,执行以下命令:

$ rosrun turtlesim turtlesim_node

然后,再打开一个终极:

$ rosrun turtlesim turtle_teleop_key

亚洲必赢网游戏手机版 11

实验楼

—-补充阅读:

3.3 启动 rviz

新开启一个极限输入:

$ rviz

亚洲必赢网游戏手机版 12

实验楼

亚洲必赢网游戏手机版 13

3.4 启动 Gazebo

新开启一个终极输入:

$ gazebo

亚洲必赢网游戏手机版 14

实验楼

此刻就足以健康使用ROS了。测试为止。

open_manipulator:https://github.com/ROBOTIS-GIT/open_manipulator/wiki

4 学习ROS

基于你的上学风格和偏好,你可以选取二种格局来学习ROS:

早先上学课程 – 立即进入和始发拔取ROS
http://wiki.ros.org/cn/ROS/Tutorials

纵览 – 通读ROS和它的职能的那个概览
http://wiki.ros.org/cn/ROS/Introduction

至于ROS架构的越来越多详细新闻,请参考ROS焦点文档
http://wiki.ros.org/cn/ROS

  • 找答案
    有七个地方去搜寻你的难点的答案。首个就是本维基。请尝试右上角的“搜索”(
    Search)成效。

假定您无法找到您的题材的解决措施,就尝试搜索
http://answers.ros.org
或者邮件列表归档。或者在
http://answers.ros.org/questions/ask/
上提议难题。

查看协理页面得到更加多新闻
http://wiki.ros.org/Support

  • 找代码
    想知道是或不是已经有ROS软件包满意你的必要呢?http://www.ros.org/browse/list.php
    这一个浏览软件包的工具得以让您追寻一些立竿见影的软件包。

您也足以经过浏览公开的ROS代码库的那一个列表来搜寻做一般工作的群组
http://wiki.ros.org/RecommendedRepositoryUsage/CommonGitHubOrganizations

行使ROS学习机器人编程的系统方法

5 ROS机器人操作系统官方教程使用验证

亚洲必赢网游戏手机版 15

5.1 成效包配置

一体演示效用包源码文件夹:

/opt/row_ws/src

亚洲必赢网游戏手机版 16

实验楼

特色

  • 从零开端学习ROS,不依靠于在此从前专业知识
  • 据悉一多元有关的焦点,逐步将ROS娓娓道来
  • 内需持有C
    ++的基础知识,不过并不必要编程、机器人、机器视觉、运动学/引力学或软件工程地点的专业知识
  • 呈现ROS编程技术与Gazebo仿真
  • 提供机器人宗旨的研习,蕴涵运动学、机器视觉、点云处理、地图营造、导航和用户界面人机接口内容一部分)。

5.2 环境布署(看重安装)

row_ws目录下输入:

$ rosdep install --from-paths src -iy

有着配置达成后显得如下:

#All required rosdeps installed successfully

概要

采取ROS学习机器人编程的系统方法通过对简易代码示例以及对应操作理论的详尽解释,周详介绍了ROS的主导组件。本书商讨了ROS的集团,怎么着领会ROS软件包,如何利用ROS工具,怎样将现有的ROS软件包纳入新的应用程序,以及哪些开发新的机器人和自动化软件包。它还通过准备读者更好地问询现有的在线文档来推进继续教育。

那本书分为六片段。

1.
先是介绍ROS基础,包涵编写ROS节点和ROS工具。新闻,类和服务器也被掩盖。

2.
本书的第二有的是ROS的虚假和可视化,包括坐标变换。

3.
本书的下一部分谈论了ROS中的感知处理。它包涵在ROS中行使视频头,深度成像和点云以及点云处理。

4.
本书第四有些介绍了ROS中的移动机器人控制和导航。

5.
本书的第五部分分包机器人手臂在ROS中的使用。本节探索机器人手臂运动学,手臂运动设计,使用Baxter
Simulator举办手臂控制以及物体抓取包。

6.
本书的末了一有的主要介绍系统融为一体和更高级其他操纵,包蕴基于感知和活动操作。这一部分情节与本课程有关。

方方面面示范和关于C
++代码的音信,请访问https://github.com/wsnewman/learning_ros

代码应用表明

“使用ROS学习机器人编程的种类方法”。代码示例在与章节对应的文书夹中。

应将此整个存储Cook隆到:〜/ ros_ws /
src(如若ros工作区命名为“ros_ws”并放在主目录中)。

要执行此操作,请从终端导航至〜/ ros_ws
/ src,

然后输入: 

git clone https://github.com/wsnewman/learning_ros.git 

并克隆: 

git clone https://github.com/wsnewman/learning_ros_external_packages.git

然后,从终端,导航到〜/
ros_ws并行任务令编译代码: 

catkin_make

假使第一遍安装ROS,请参阅以下表明: 安装脚本

座落此站点的台本可机关安装ROS(与应用学习-ROS代码示例的版本和包一致)。这一个本子还设置了各种实用的工具。

在源码中得以看来实际的代码应用表达:

譬如说第一章learning_ros/Part_1/commands_summary_part1:

---------roscore, messages, nodes----------
catkin_make
  (if problems, do:
     delete ros_ws/build and ros_ws/devel dirs
     catkin_make clean 
     catkin_make)
roscd
cd src
mkdir ros_class
cd ros_class
cs_create_pkg rosclass_minimal_nodes roscpp std_msgs
(note: cs_create_pkg uses "catkin simple", which is easier than catkin_create_pkg)
cd rosclass_minimal_nodes
ls

-----------minimal publisher--------
open editor (gedit or: netbeans & disown)
open file: .../learning_ros/Part_1/minimal_nodes/minimal_publisher.cpp
save to directory: ros_ws/src/ros_class/rosclass_minimal_nodes/src/minimal_publisher.cpp

gedit CMakeLists.txt (is better than netbeans for this type of file)
add:
cs_add_executable(rc_minimal_publisher src/minimal_publisher.cpp)
in any terminal (e.g. ctl-shift-t or file-> open tab)
 roscd
catkin_make

in a terminal, start a roscore:
roscore

in another terminal, run the new pgm:
rosrun rosclass_minimal_nodes rc_minimal_publisher 

in another terminal:
rostopic list
rostopic info topic1
rosmsg show std_msgs/Float64
rostopic echo topic1
rostopic hz topic1
see performance meter

open:
.../learning_ros/Part_1/minimal_nodes/sleepy_minimal_publisher.cpp
save in: ros_ws/src/ros_class/rosclass_minimal_nodes/src/sleepy_minimal_publisher.cpp
in CMakeLists.txt, add line:
cs_add_executable(rc_sleepy_minimal_publisher src/sleepy_minimal_publisher.cpp)
roscd
catkin_make
rosrun rosclass_minimal_nodes rc_sleepy_minimal_publisher
rostopic echo topic1
rostopic hz topic1
see performance meter

------minimal_subscriber--------
edit .../learning_ros/Part_1/minimal_nodes/minimal_subscriber.cpp
save as: ros_ws/src/ros_class/rosclass_minimal_nodes/src/minimal_subscriber.cpp
CMakeLists.txt:
cs_add_executable(rc_minimal_subscriber src/minimal_subscriber.cpp)
catkin_make

rosrun rosclass_minimal_nodes rc_minimal_subscriber
(see behavior w/ and w/o minimal publisher running)

rostopic pub -r 1 topic1 std_msgs/Float64 1.23

rosnode list
rosnode info minimal_subscriber
rqt_graph

----launch file----
edit .../learning_ros/Part_1/minimal_nodes/launch/minimal_nodes.launch
save as: ros_ws/src/ros_class/rosclass_minimal_nodes/launch/minimal_nodes.launch
edit package name (rosclass_minimal_nodes) and executable name (rc_sleepy_minimal_publisher, etc)
kill running nodes
roslaunch rosclass_minimal_nodes minimal_nodes.launch
rqt_console


----rosbag----
rosbag record topic1
restart minimal subscriber
rosbag play fname.bag
rqt_console

---minimal simulator---
edit minimal_simulator.cpp and minimal_controller.cpp; save in rosclass_minimal_nodes/src
edit CMakeLists.txt:
cs_add_executable(rc_minimal_simulator src/minimal_simulator.cpp)
cs_add_executable(rc_minimal_controller src/minimal_controller.cpp)
catkin_make
rosrun rosclass_minimal_nodes rc_minimal_simulator
rostopic pub -r 10 force_cmd std_msgs/Float64 0.1 
rqt_plot
kill publisher
rosrun rosclass_minimal_nodes rc_minimal_controller
rostopic pub -r 10 vel_cmd std_msgs/Float64 1.0

-------------end CH1----------
----------CH2--------
*custom messages
from ros_class directory,
  cs_create_pkg example_ros_msg roscpp std_msgs
open .../learning_ros/Part_1/example_ros_msg/msg/ExampleMessage.msg
save in: ...ros_class/example_ros_msg/msg/ExampleMessage.msg
in package.xml, uncomment lines:
 <build_depend>message_generation</build_depend>
 <run_depend>message_runtime</run_depend> 
catkin_make
rosmsg show  example_ros_msg/ExampleMessage

open .../learning_ros/Part_1/example_ros_msg/src/example_ros_message_publisher.cpp
 save in ...ros_class/example_ros_msg/src/example_ros_message_publisher.cpp
 edit CMakeLists.txt; add line:
 cs_add_executable(rc_example_ros_message_publisher src/example_ros_message_publisher.cpp)
 catkin_make
 rosrun example_ros_msg rc_example_ros_message_publisher   (with roscore running)
 rostopic echo example_topic

services:
from ros_class:
cs_create_pkg example_ros_service roscpp std_msgs nav_msgs geometry_msgs 
open and save under .../ros_class/example_ros_service/src:
example_ros_service.cpp
example_ros_client.cpp
open and save under ../ros_class/example_ros_service/srv:
ExampleServiceMsg.srv
edit package.xml; uncomment:
<build_depend>message_generation</build_depend> 
<run_depend>message_runtime</run_depend>

edit CMakeLists.txt; add:
cs_add_executable(example_ros_service src/example_ros_service.cpp)
cs_add_executable(example_ros_client src/example_ros_client.cpp)
catkin_make
rosrun example_ros_service example_ros_service
rosservice list
rosservice info
rosservice call lookup_by_name 'Ted'
rosrun example_ros_service example_ros_client 

classes: see example_ros_class (pass in node handle; odd syntax for callbacks)

rosrun example_ros_class example_ros_class
rosservice call example_minimal_service 
rostopic pub -r 2 example_class_input_topic std_msgs/Float32 2.0

*main using a library:
rosrun creating_a_ros_library example_ros_class_test_main
(then test, as above)

libraries: creating_a_ros_library; 
note CMakeLists.txt for adding a library
where to put header file (then use <pkg/header_name.h>)
  *the parameter server
  *creating packages and libraries

action servers: in ros_class dir, create pkg:
cs_create_pkg example_action_server roscpp actionlib
open and save under .../ros_class/example_action_server/action/demo.action
open and save under .../ros_class/example_action_server/src/example_action_server.cpp
open and save under .../ros_class/example_action_server/src/example_action_client.cpp
edit package.xml; uncomment:
 <build_depend>message_generation</build_depend>
  <run_depend>message_runtime</run_depend> 
CMakeLists.txt: 
uncomment:
find_package(Boost REQUIRED COMPONENTS system thread)
add:
cs_add_executable(example_action_server src/example_action_server.cpp)
cs_add_executable(example_action_client src/example_action_client.cpp)
catkin_make

rosrun example_action_server example_action_server
rosrun example_action_server example_action_client

rosrun example_action_server example_countdown_server
rosrun example_action_server timer_client

Parameter server:
rosparam
rosparam set /gains "p: 1.0
i : 2.0
d : 3.0"
rosparam list
rosparam get /gains
from .../learning_ros/Part_1/example_parameter_server/launch:
rosparam load jnt1_gains.yaml
rosparam list
rosparam get jnt1_gains
rosparam delete jnt1_gains
rosparam list
(launch file option--would need to copy over package/directory)
example read_param_from_node: uses: if ( nh.getParam ("/joint1_gains/p", P_gain))

—-请认真读书本书第六章

coordination commands:
Start up gazebo, add starting pen, tables and blocks, spawn baxter-on-mobot:  
 (optirun) `roslaunch baxter_variations baxter_on_mobot.launch` 


Launch multiple nodes, including 6 action servers, 2 services,  and rviz (including trajectory streamers, 
cartesian planner, rviz, baxter-playfile,  triad_display, object-grabber, object-finder and coordinator).  Same
as coordinator for baxter on pedestal:
`roslaunch coordinator coord_vision_manip.launch`

Optionally, test with this example client of the coordinator:
`rosrun coordinator coordinator_action_client_tester`

Start up map server (with starting-pen map), amcl, and move_base with 4 nav config files.  Nearly identical
to nav-launch in Part-4, except do not start up rviz (again):

`roslaunch baxter_variations mobot_startup_navstack.launch`

5.3 编译效能包

ros_ws目录下输入:

$ catkin_make -j1 -l1

亚洲必赢网游戏手机版 17

实验楼

假定没有遇上错误,就可以使用作用包中的学科进行尝试了。
在.zshrc中添加:

source /opt/ros_ws/devel/setup.zsh

要么利用:

$ echo "source /opt/ros_ws/devel/setup.zsh" >> ~/.zshrc

亚洲必赢网游戏手机版 18

实验楼

亚洲必赢网游戏手机版,章节目录

第一节
ROS基础

ROS简介:ROS工具和节点

一些ROS概念

写ROS节点

一部分越来越多的Ros工具:Catkin_Simple,Roslaunch,Rqt_Console和Rosbag

一个微细的仿真器和控制器的事例

使用包

音讯,类和服务器

概念自定义音讯

ROS服务介绍

在ROS中使用C ++类

在ROS中创造库模块

操作服务器和操作客户端简介

参数服务器简介

使用包

首节ROS中的仿真和可视化

ROS仿真

一言以蔽之的二维机器人仿真器

动态仿真建模

联合机器人描述格式

Gazebo介绍

微小联合控制器

动用Gazebo插件进行联合伺服控制

营造移动机器人模型

效仿移动机器人模型

构成机器人模型

使用包

ROS中的坐标变换(TF)

ROS的坐标变换简介

转移监听器

使用特征库

转换ROS数据类型

使用包

ROS中的感知和可视化

标志和互动标记在Rviz

在Rviz中突显传感器值

使用包

其三节 在ROS中利用相机处理

投影变换成相机坐标

本机相机校准

立体相机的内在校准

使用Opencv与Ros

使用包

纵深成像和点云

围观雷达的吃水

深度从立体相机

深度相机

使用包

点云处理

一个不难易行的点云显示节点

从磁盘加载和突显点云图像

将公告的点云图像保存到磁盘

用PCL方法解释点云图像

目标查找器

第三节ROS中的移动机器人

移动机器人运动控制

盼望状态生成

机器人状态推测

差速驱动转向算法

指引地图坐标

使用包

移动机器人导航

地图制作

途径设计

举手投足基础客户端示例

修改导航包

使用包

第五节 ROS中的机器人

起码控制

一维,棱镜 – 联合机器人模型

以身作则地方控制器

示范速度控制器

示例力控制器

机器人臂的轨道新闻用于7-Dof臂的轨迹插补动作服务器

使用包

机器人臂运动学

正向运动学

反向运动学

使用包

手臂运动设计

笛卡尔运动设计

手拉手空间规划动态规划

笛Carl运动动作服务器

运用Baxter模拟器进行臂控制

运作百特模拟器

Buck斯特联合会议难点

百特的夹爪

头盘控制

指挥Buck斯特接头

行使ROS联合轨迹控制器

一道空间记录和播发节点

Buck斯特运动学

百特笛Carl移动

使用包

对象抓取包

指标抓取代码协会

对象操作查询服务

通用抓爪服务

对象抓取动作服务器

以身作则对象抓取操作客户端

使用包

第六节
系统融为一体和高层管理

据悉感知的支配


外部相机校准

归咎感知和控制


活动决定


移动机器人模型

举手投足决定

使用包

结论


5.4 测试

5.4.1 turtlesim绘制五边形

演示源码在/opt/ros_ws/src/common_tutorials/。

分别在分化的终极打开:

$ roscore
$ rosrun turtlesim turtlesim_node
$ rosrun turtle_actionlib shape_server
$ rosrun turtle_actionlib shape_client

亚洲必赢网游戏手机版 19

实验楼

5.4.2 TF2

以身作则源码在/opt/ros_ws/src/geometry_tutorials/。

$ roslaunch turtle_tf2 turtle_tf2_demo.launch
$ rviz

注意:rviz需要正确配置

亚洲必赢网游戏手机版 20

实验楼

亚洲必赢网游戏手机版 21

实验楼

5.4.3 URDF

示范源码在/opt/ros_ws/src/urdf_tutorials/。

$ roslaunch urdf_tutorial display.launch 

亚洲必赢网游戏手机版 22

实验楼

5.4.4 Rviz 可视化

以身作则源码在/opt/ros_ws/src/visualization_tutorials/。

$ roscore
$ rosrun visualization_marker_tutorials points_and_lines
$ rviz

注意:rviz需要正确配置

亚洲必赢网游戏手机版 23

实验楼

$ roscore
$ rosrun interactive_marker_tutorials pong
$ rviz

注意:rviz需要正确配置

亚洲必赢网游戏手机版 24

实验楼

5.4.5 导航 navigation

以身作则源码在/opt/ros_ws/src/navigation_tutorials/。

亚洲必赢网游戏手机版 25

实验楼

亚洲必赢网游戏手机版 26

实验楼

ROS环境安插

连带资料:ROS环境布署

1 安装ROS

在始发学习那些课程之前请先根据ROS安装表达达成安装,在线环境中实验楼已安装了ROS

如需当地安装,请参见设置文档

留神:
假如您是运用类似apt那样的软件管理器来安装ROS的,那么安装后这么些软件包将不抱有写入权限,当前系统用户比如你协调也不能对这么些软件包举行改动编辑。当你的付出涉及到ROS软件包源码层面的操作依旧在创制一个新的ROS软件包时,你应当是在一个富有读写权限的目录下办事,就如在您眼前系统用户的home目录下同样。

2 管理环境

在设置ROS时期,你会晤到提示说必要 source 多个 setup.*sh
文件中的某一个,或者甚至提示添加那条source指令到您的开行脚本里面。那几个操作是必须的,因为ROS是看重于某种组合空间的定义,而那种概念就是通过安顿脚本环境来贯彻的。那足以让针对分化版本或者不一致软件包集的支出越发便于。

如需深远摸底,请参见环境变量

只要你在物色和应用ROS软件包方面蒙受了难点,请保管您早已不错配置了本子环境。一个反省的好格局是保障您已经安装了像ROS_ROOTROS_PACKAGE_PATH如此那般的环境变量,可以由此以下命令查看:

$ export | grep ROS

或者

$ printenv | grep ROS

亚洲必赢网游戏手机版 27

实验楼

假设发现没有配备,这那个时候你就须求source某些setup.*sh文件了。

ROS会帮您自动生成那一个setup.*sh文本,通过以下方式生成并保存在差异地点。

  • 透过类似apt的软件包管理器安装ROS软件包时会扭转setup.*sh文件。
  • 在rosbuild workspaces中经过类似rosws的工具生成。
  • 在编译 或 安装 catkin 软件包时自动生成。

瞩目: 在颇具科目中你将会平日看看个别指向rosbuild 和
catkin的不比操作表达,那是因为眼下有二种分裂的法子可以用来公司和编译ROS应用程序。一般而言,rosbuild相比较不难也易于使用,而catkin使用了尤其正式的CMake规则,所以比较复杂,不过也越来越灵活,更加是对于那几个想结合外部现有代码或者想昭示温馨代码的人。关于这个若是你想询问得更周密请参阅catkin或者rosbuild

倘诺您是由此 ubuntu 上的 apt 工具来安装 ROS
的,那么您将会在/opt/ros/<distro>/目录中见到setup.*sh文本,然后您可以执行上边的source命令:

$ source /opt/ros/<distro>/setup.zsh

请使用具体的ROS发行版名称代替<distro>

诸如您安装的是ROS Indigo,则上述命令改为:

$ source /opt/ros/indigo/setup.zsh

在每便打开终端时你都亟待先运行方面那条命令后才能运行ros相关的吩咐,为了防止这一累赘进度,你可以事先在.bashrc文件(初学者请留意:该公文是在当下系统用户的home目录下。)中添加那条命令,那样当您每一次登录后系统已经帮你执行那些命令配置好条件。那样做也得以便宜你在同一台微机上安装并时刻切换来分歧版本的ROS(比如fuerte和groovy)。

除此以外,你也足以在任何系统平台上相应的ROS安装目录下找到那个setup.*sh文件。

3 创设ROS工作空间

catkin
那几个操作方法只适用于ROS Groovy及中期版本,对于ROS
Fuerte及早期版本请接纳rosbuild。

上面大家先河创办一个catkin
工作空间

$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src

固然那一个工作空间是空的(在’src’目录中没有其余软件包,只有一个CMakeLists.txt链接文件),你仍旧可以编译它:

$ cd ~/catkin_ws/
$ catkin_make

catkin_make指令在catkin工作空间中是一个百般有益的工具。如果您查看一下当前目录应该能看出’build’和’devel’这八个公文夹。在’devel’文件夹里面你可以看看多少个setup.*sh文本。source那么些文件中的任何一个都可以将当前工作空间设置在ROS工作环境的最顶层,想询问愈来愈多请参考catkin文档。接下来首先source一下新生成的setup.*sh文件:

$ source devel/setup.zsh

要想有限援救工作空间已布置不错需确保ROS_PACKAGE_PATH环境变量包涵你的干活空间引得,选择以下命令查看:

亚洲必赢网游戏手机版 28

实验楼

$ echo $ROS_PACKAGE_PATH

/home/<youruser>/catkin_ws/src:/opt/ros/indigo/share:/opt/ros/indigo/stacks

亚洲必赢网游戏手机版 29

实验楼

到此你的行事环境已经搭建落成。

最后

实验楼教程【ROS机器人操作系统的设置、配置与初级教程】制笔者有12年机器人系统虚假与控制学习和钻研经历,该科目总共20节内容:

亚洲必赢网游戏手机版 30

亚洲必赢网游戏手机版 31

亚洲必赢网游戏手机版 32

若果想要查看完整的学科内容,点击【ROS机器人操作系统的装置、配置与初级教程】即可~

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图