ros编译
① qtcreator怎么找到编译后的ros
下载安装
从http://qt-project.org/downloads下载QtCreator安装程序。对于Ubuntu 32位系统,点击 Qt 5.2.0 for linux 32-bit (425 MB) 将下载离线安装程序( Qt Online Installer for Linux 32-bit (23 MB) 为在线安装程序,不推荐),下载后的文件名为 qt-linux-opensource-5.2.0-x86-offline.run。
双击 .run 安装文件直接图形界面安装,默认安装在 /home/<user>/Qt5.2.0 下( <user> 为你的用户名,这里为 viki )。
② 在Ubuntu中用rosmake编译没有可执行文件生成是怎么回事
提示:make:没有什么可以做的为`first'。这个是Makefile的一个提示,出现这个提示是因为你编译出来的可执行文件的时间戳比你的源代码文件的时间戳“迟”,所以make认为你这种情况下没必要编译,因为即使编译了,编出来的东西和现有的可执行文件一样,就是浪费时间了,所以提示没有什么可以做的为`first'。如果你还要编,随便打开源代码的一个文件,保存下,就可以编译了
③ ros中classloader动态加载的对象是什么时候编译的
众所周知,java代码很容易被反编译,如果你需要把自己的代码进行加密,可以先将编译后的代码用某种加密算法加密,然后实现自己的类加载器,负责将这段加密后的代码还原。
④ ros 怎么单独编译一个指定的包
切换到自己的ROS工作空间: $ cd ~/catkin_ws
如果你想编译整个工作空间里面的包:$ catkin_make
如果你只想编译工作空间某一个包:$ catkin_make -DCATKIN_WHITELIST_PACKAGES= "包名"
例如:
⑤ 如何修改ros自带的cmake 版本
这个已经淘汰了。 ros里面有两种编译方式:ros_build和catkin_make。因为是基于cmake编译的,所以叫ros build cmake。但是ros build cmake用起来麻烦,修改一次程序往往重编译很麻烦,改很多配置文件。 现在基本都用catkin make。
⑥ 如何在ros中新建rosinstall文件
ROS的stack库分作两部分,一部分为核心部分,即main部分,简而言之就是使用下面命令,安装ROS系统时就已经安装到我们用户电脑上的那部分。$ sudo apt-get install ros-diamondback-desktop-full
另一部分为选用部分,即universe部分,它不仅包括一些开源库的支持,如opencv,pcl,openni_kinect等,还有更上面以机器人功能模块命令的一些stack,例如pr2_doors,find_object,face recognition,grasp等等,真是一个丰富的宝藏,更详细的stack包可以在官网的StackList页面查询。(http://www.ros.org/wiki/StackList)
当然,除了随系统自动安装到我们客户端的那部分stack之外,当我们需要某特定功能的模块(如pr2_doors)时,此时,rosinstall就派上用场了,下面就简单以pr2_doors为例.
$ cp /opt/ros/diamondback/.rosinstall ~/stacks/pr2_doors.rosinstall //在stacks文件夹里面创建新的rosinstall文件
$ roslocate info pr2_doors >> ~/stacks/pr2_doors.rosinstall //此句是自动寻找pr2_doors信息
命令执行到这儿,打开pr2_doors.rosinstall,可以看到:
$ rosinstall ~/stacks ~/stacks/pr2_doors.rosinstall
$ source ~/stacks/setup.bash //为防止每次使用启动后都要重新编译,可将相应地址添到~/.bashrc中
$ rosmake .......(pr2_doors里面所需的package文件)
⑦ Ros中msg创建.h的问题
自己测试结果如下,当你按照wiki教程写好cmakelist.txt之后,第一次catkin_make会生成Num.h。之后就可以 #include <pkg_name/Num.h>了。
⑧ 什么是ros build cmake
这个已经淘汰了。
ros里面有两种编译方式:ros_build和catkin_make。因为是基于cmake编译的,所以叫ros build cmake。但是ros build cmake用起来麻烦,修改一次程序往往重编译很麻烦,改很多配置文件。
现在基本都用catkin make。
⑨ 如何使用 sdk交叉编译ros
使用ros_qtc_plugin插件新建项目
使用插件新建项目Import ROS
Workspace选项仅新建工作空间导入现工作空间新建文件ROS面Package、Basic
Node等选项创建package节点、launch文件、urdf文件等
现我创建新catkin工作空间,并且面创建package
1、新建项目
文件——新建文件或项目选择Import ROS Workspace——choose图
填写catkin工作空间名字位置图
我Namecatkin工作空间文件夹名字相同(同)名catkin_new选择浏览——创建文件夹创建名catkin_new文件夹图按车再选择打
现框询问新建工作空间未初始化否执行初始化我选择yes
相于执行catkin_init_workspace命令使工作空间初始化
点击Generate Project File再点击步
项目管理步骤配置版本控制系统我选择完图
建工作空间catkin_new空图
2、创建package
接我工作空间创建新package
catkin_new面src右键单击选择添加新文件图
选择ROS——package——choose
填写package名字test1
填写作者(Authors)维护者(Maintainers)Qt环境部没配置文支持请要用文否则新建package或者新建package面package.xml空文件
DependenciesCatkin栏填写依赖通用C++写节点需要添加roscpp依赖
图
点击完
3、添加新节点
目前package空没任何节点
我test1src文件夹右键单击选择添加新文件
选择ROS——Basic Node——choose创建节点新建.cpp文件
节点名称写node1则名node1.cpp源文件
用ROS模板新建node1.cpp源文件图自Hello World程序
4、编译节点
让编译执行文件我需要编辑test1makefile图
test1CMakeLists.txt加面几行意思node1.cpp编译名node1节点
add_executable(node1 src/node1.cpp)
target_link_libraries(node1
${catkin_LIBRARIES}
)
⑩ 如何编写ros的python程序
ROS Indigobeginner_Tutorials-10编写ROS话题版的Hello World程序(Python版)
我使用的虚拟机软件:VMware Workstation 11
使用的Ubuntu系统:Ubuntu 14.04.4 LTS
ROS版本:ROS Indigo
1. 前言 :
Hello world程序,在我们编程界,代表学习某种语言编写的第一个程序。对于ROS机器人操作系统来说,这个Hello World程序就是 : 写一个简单的消息发布器(发送) 和 订阅器(接收)。
2. 准备工作 :
C++的程序都会存放在每个程序包的src文件夹里。Python不同,Python程序都存放在scripts文件夹中, 反正意思都是源文件包。
Step 1 .所以,先在beginner_tutorials软件包中创建一个scripts文件夹:
$ roscd beginner_tutorials$ mkdir scripts$ cd scripts123
3. 编写消息发布器节点程序:
如果你懒得去写的话,你可以使用wget命令, 在github上获取一个talker.py源代码。如何获取呢 ?
Step 2 .开一个终端,输入下面的命令就可以获取talker.py:
$ wget
-devel/rospy_tutorials/001_talker_listener/talker.py$ ls
talker.py123
但是我建议你亲自动手,写一写:手动创建一个talker.py文件在/scripys文件夹里:
$ roscd beginner_tutorials/scripts$ gedit talker.py12
将这上面链接里的代码手动输入到talker.py文件中。(我就不将代码贴上来了)
下面我来讲解一下代码:
这些足以说明,hello_world_topic.launch启动脚本文件,启动成功。
总结:发布器和订阅器是很简单的, 就是简单的发布一个 自定义的话题。
我之前使用说过:节点之间通讯的方式有两种 : 话题(rostopic) 和 服务(rosservice)
所以,接下来,我们会讲:使用ROS服务来完成ROS版Hello World程序的例子。但是在这之前,我们需要学一学:如何创建自定义的ROS消息和ROS服务,以便ROS服务版的Hello World程序的编写。
所以下一讲,我们来学习:如何创建自定义的ROS消息和ROS服务。