环境:Ubuntu 16.04LTS
ROS:kinetic
三行命令搞定Ubuntu 16.04下安装VMware Tools!!!!!!!!
第一行命令:
sudo apt-get upgrade
第二行命令:
sudo apt-get install open-vm-tools-desktop -y
第三行命令:
sudo reboot
一、ROS kinetic安装与启动
1、设置安装源
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
2 、设置keys
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 0xB01FA116
3 、安装
sudo apt-get update
sudo apt-get install ros-kinetic-desktop-full
4 、初始化
sudo rosdep init
rosdep update
5 、设置环境变量
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
6 、安装rosinstall
sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
7、故障排除-ROS环境测试
export | grep ROS
检查ROS_DISTRO="kinetic"已经ROS_PACKAGE_PATH变量是否正确
二、ROS功能包
1、rospack ,用于获取一个功能包的信息
2、roscd,用于切换ROS目录
roscd turtlesim
/opt/ros/kinetic/share/turtlesim
不切换目录下输入指令
rosls turtlesim
cmake images msg package.xml srv
3、查看清单,输入以下指令
roscd turtlesim
cat package.xml
4、rospack find 功能包
rospack find turtlesim
5、$ rospack list | less //功能包名称和它们的路径。
6、
rospack list-names | grep turtle
//单独列出4个名字含有turtle 的功能包
三、ROS节点与ROS节点管理器
节点;执行某些动作的进程,实际上就是一个软件模块。
节点功能:软件功能、注册连接到ROS节点服务器上、和ROS网络中其他节点通信的功能、能够发布并被订阅。
ROS节点的创建:终端、python、C++
主题:有些节点能够给其它节点提供信息,比如摄像头信息。这样的节点就是所谓的发布信息节点,这些信息能被其他接收。这些信息交主题(topic)
节点管理器:通常是小的,能够同时在多个系统运行的独立程序。 节点-节点管理器(ROS Master)-节点 (TCP)
使用roscode 调用ROS Master ,用来执行roscode 命令的终端窗口要一直处于运行之中
rosnode list 列出运行的节点。
四、Turtlesim-第一个ROS机器人模拟程序
1、roscore 启动ROS Master 第一个终端
2、rosrun [package name][executable name] 格式
rosrun turtlesim turtlesim_node 第二个终端
3、rosrun turtlesim turtle_teleop_key 第三个终端
/turtlesim 节点的主题和消息
主题:rostopic list
主题类型:rostopic type [topic name]
rostopic type turtle1/color_sensor
消息格式:rosmsg show [topic type]
rosmsg show turtlesim/Color
参数服务器;rostopic echo [topic name] ->Ctrl+C
rosservice list 参考服务列表
rosservice info /spawn 查看服务列表具体某个使用,例如spawn
rosservice call spawn 2 2 0.2 "" 绘制第二个小海龟,给定x,y,thera,不给定名字。会返回turtle2
在终端中输入rqt_plot,导入x,y轴,可以在键盘控制窗口控制小海龟的一点,在plot可以看到x,y轴的变化。