运行环境: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