运行环境:Ubuntu 16.04 64位虚拟机

ROS配置

要加载一个配置文件,就像在ROS安装过程中使用的以下命令一样,每次打开新的终端窗口时都必须运行它。

$ source /opt/ros/kinetic/setup.bash

$ source ~/catkin_ws/devel/setup.bash

为了避免这个繁琐的任务,可以设置终端,使得每次打开新的终端窗口时,都读入配置文件。另外,配置ROS网络,还将常用的命令简化为快捷命令。

首先,使用文本编辑器gedit程序来加载bashrc文件。本书使用gedit编辑文档,但也可以使用atom、sublime text、vim、emacs、nano和visual studio code等等。

$ gedit ~/.bashrc

打开bashrc文件就可以看到已经有了很多设置。不要修改以前的设置,而是到bashrc文件的最底部添加以下内容(xxx.xxx.xxx.xxx是用户自己的IP地址,请参阅第31页的ifconfig了解IP地址设置)。输入了所有内容之后,保存用户的更改并退出gedit。

# Set ROS Kinetic

source /opt/ros/kinetic/setup.bash

source ~/catkin_ws/devel/setup.bash



# Set ROS Network

export ROS_HOSTNAME=xxx.xxx.xxx.xxx

export ROS_MASTER_URI=http://${ROS_HOSTNAME}:11311



# Set ROS alias command

alias cw='cd ~/catkin_ws'

alias cs='cd ~/catkin_ws/src'

alias cm='cd ~/catkin_ws && catkin_make'

快捷命令:

cw:进入~/catkin_ws,预设的catkin工作目录

cs:进入catkin工作目录中保存源文件的~/catkin_ws/src目录

cm:在移动到catkin工作目录~/catkin_ws之后,用catkin_make命令构建ROS功能包

 

为了让修改了的bashrc文件发挥作用,输入如下命令。或者,如果用户关闭当前正在运行的终端窗口并运行新的终端窗口,用户也将得到相同的效果,因为用户在bashrc中所做的设置会适用于新的终端窗口。

$ source ~/.bashrc

集成开发环境(IDE)

我们这里直接使用常规的代码编辑器进行开发,然后使用catkin_make进行编译。

ROS操作测试

开启一个命令窗口1,执行指令:roscore

然后开启命令窗口2

运行turtlesim功能包的turtlesim_node

打开一个新的终端并运行以下命令。那么将显示下面的消息,并执行turtlesim功能包的turtlesim_node。可以在一个单独的蓝色窗口中看到一只乌龟

$ rosrun turtlesim turtlesim_node

[INFO] [1499182058.960816044]: Starting turtlesim with node name /turtlesim

[INFO] [1499182058.966717811]: Spawning turtle [turtle1] at x=[5.544445], y=[5.544445], theta=[0.000000]

开启窗口3,

运行turtlesim功能包的turtle_teleop_key

打开一个新的终端窗口并执行以下命令。将显示下面消息,并执行turtlesim功能包

中的turtle_teleop_key。如果您按下该终端窗口上的方向键(←,→,↑,↓),您将

看到乌龟按照图3-6右侧所示的方向键移动。您必须在终端窗口中输入键盘。这看似只是

一个简单的仿真,但实体机器人也可以通过这种方式进行远程控制。

$ rosrun turtlesim turtle_teleop_key

Reading from keyboard

---------------------------

Use arrow keys to move the turtle.

然后通过鼠标的方向键,就可以控制小乌龟了。

查看正在运行的节点(程序)信息图

在新的终端窗口中执行rqt_graph命令,这将启动rqt_graph功能包的rqt_graph节点。其结果是当前正在运行的节点(程序)的信息图

$ rqt_graph

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐