参考网址:
http://www.ros.org/wiki/ROS/Tutorials/BuildingPackages
前面我们用roscreate-pkg建立package,这里我们根据系统关联来编译这些packages
1,系统关联
ROS
package有时运行时需要连接外部库或者可执行程序。这些库或者程序的连接经常被关联到系统关联中。在一些情况下,这些系统关联不会被默认的安装,ROS提供了一个简单的工具--rosdep,用来下载和安装系统关联的。
ROS rospack必须在相应的package
manifest申明,参考小海龟的例子,
$ roscd turtlesim
$ cat manifest.xml
得到结果:
<package>
<description brief='turtlesim'>
参考网址:
ROS的软件以Package的方式组织起来。package包含节点(Node)、ROS依赖库、数据套、配置文件、第三方软件、或者任何其他逻辑构成。package的目标是提供一种易于使用的结构以便于软件的重复使用。总得来说,ROS的package遵从Goldilocks原则:短小精干。所有的ROS
packages包括很多类似的文件:manifests, CMakeLists.txt, mainpage.dox,
和Makefiles.
参考ROS官网:
http://www.ros.org/wiki/ROS/Tutorials/NavigatingTheFilesystem
对于ROS系统,很多代码关联于很多的packages和stacks之间,如果用简单的liunx命令行,比如ls,cd
等,会导致路径冗长等问题,所以ROS提供了自己的命令行。根据官网,我整理出ROS系统下常用的命令:
1,find命令
----查找相应的package或者stack
用法:
$ rospack find [package
name]
$ rosstack find
[stack_name]
例子:
$ rospack find roscpp
得到结果:
YOUR_INSTALL_PATH/ros/core/roscpp
2,roscd命令
----改变路径到相应的package或者stack
用法:
$ roscd
[Locationname[/subdir]]
http://xiangge2009.blog.sohu.com/147112222.html
图像任意角度的旋转公式
图像旋转是指把定义的图像绕某一点以逆时针或顺时针方向旋转一定的角度,通常是指绕图像的中心以逆时针方向旋转。
首先根据旋转的角度、图象对角线的长度计算旋转后的图像的最大宽度、高度,根据旋转后图象最大的宽度、高度生成新的缓冲区,假设图像的左上角为(left,
top),右下角为(right, bottom),则图像上任意点(x,
y)绕其中心(xcenter, ycenter)逆时针旋转angle角度后,新的坐标位置(x1,
y1)的计算公式为:
xcenter = (width+1)/2+left;
ycenter = (height+1)/2+top;
x1 = (x-xcenter) cosθ- (y
- ycenter)