ros调试
来源:互联网 发布:网络个人信息安全论文 编辑:程序博客网 时间:2024/05/16 12:42
在hydro版本下面,添加自己的.cpp文件,然后编译的方法: catkin_make编译:add_executable(parser src/parser.cpp)target_link_libraries(parser ${catkin_LIBRARIES})对比古月居使用前面版本的方法:rosbuild编译:
- rosbuild_add_boost_directories()
- rosbuild_add_executable(smartcar_keyboard_teleop src/keyboard.cpp)
- target_link_libraries(smartcar_keyboard_teleop boost_thread)
turtlesim机器人的仿真:
1. 使用rosrun运行node.可以改造成launch文件的方式。 done.
2. 机器人的模型是自己画出来的,可以改造成urdf形式的机器人。done.3. teleop_key键盘操作,可以改造成语音控制的形式。rosrun turtlesim turtlesim_noderosrun turtlesim turtle_teleop_keyroslaunch turtlesim turtle_teleop.launch
<launch> <node name="turtlesim" pkg="turtlesim" type="turtlesim_node" ></node> <node name="teleop_turtle" pkg="turtlesim" type="turtle_teleop_key" /> </launch>创建自己的package方法:ppeix@ppeix-ppstudio:~/tutorials/catkin_ws/src$catkin_create_pkg r2d2 std_msgs roscpp rospy漏加了一个tf库,导致catkin_make编译不通过。在package.xml文件中添加build_depend run_depend即可。需要在CMakeList.txt中同步添加tf库。1 <launch> 2 <param name="robot_description" command="cat $(find r2d2)/model.xml" /> 3 <node name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher" /> 4 <node name="state_publisher" pkg="r2d2" type="state_publisher" /> 5 </launch>
rosrun r2d2 state_publisher
典型的launch文件举例:
- <launch>
- <arg name="model" />
- <arg name="gui" default="False" />
- <param name="robot_description" textfile="$(find smartcar_description)/urdf/smartcar.urdf" />
- <param name="use_gui" value="$(arg gui)"/>
- <node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" ></node>
- <node name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher" />
- <node name="rviz" pkg="rviz" type="rviz" args="-d $(find urdf_tutorial)/urdf.vcg" />
- </launch>
运行rbx1时,提示找不到dae文件,一直没有找到合适的解决办法。
roslaunch turtlebot_gazebo turtlebot_empty_world.launch再次运行gazebo simulator时,简单的quick start都不能运行了。无奈重新安装hydro包。
首先删除:
sudo apt-get remove ros-hydro-*然后再次安装sudo apt-get install ros-hydro-desktop-fullcatkin_init_workspacecatkin_init_workspacecatkin_make 终于将arbitix机器人跑起来了。遇到的问题:1. catkin_make之后的包,拷贝到ROS_PACKAGE_PATH路径看到的地方。注意如果有多个地方同时有自定义的包,ROS_PACKAGE_PATH有先后顺序的。之前遇到的找不到//package...dae文件的问题,就是因为有限搜索了catkin_ws/src路径下面的包,找不到dae文件。而ROS_PACKAGE=$ROS_PACKAGE_PATH:.之后,就可以搜索到了。2. rviz窗口中只能看到TOP view的问题,通过修改Views菜单来实现。而网上教程早期版本用的还是修改vcg文件的方法,已经不适用了。安装rqt工具:sudo apt-get install ros-hydro-rqt ros-hydro-rqt-common-plugins ros-hydro-turtlesimcatkin_create_pkg smartcar_description urdf
ROS node编程模板
http://www.robotos.net/thread-54-1-1.html
pcDuino 书籍_第三章: C语言和pcDuino的Arduino风格IDEpcDuino的硬件PWM和软件PWM分配http://www.oschina.net/question/1174645_121224
hydro 语音包处理。
sudo apt-get install gstreamer0.10-pocketsphinx
sudo apt-get install ros-hydro-audio-common
sudo apt-get install libasound2
下载最新的hydro版本pocketsphinx包源码(教程上的旧版本只适用于对应的ros版本,大多数包都有此问题)
git clone https://github.com/mikeferguson/pocketsphinx.git
执行roslaunch pocketsphinx robocup.launch 时提示找不到包的错误。
File "/usr/lib/pymodules/python2.7/rospkg/rospack.py", line 190, in get_path
raise ResourceNotFound(name, ros_paths=self._ros_paths)
rospkg.common.ResourceNotFound: pocketsphinx
ROS path [0]=/opt/ros/hydro/share/ros
ROS path [1]=/opt/ros/hydro/share
ROS path [2]=/opt/ros/hydro/stacks
ROS path [3]=.
[recognizer-2] process has died [pid 11893, exit code 1, cmd /home/ppeix/tutorials/catkin_ws/src/pocketsphinx/nodes/recognizer.py __name:=recognizer __log:=/home/ppeix/.ros/log/ab621940-b099-11e3-9789-002511e7bcff/recognizer-2.log].
log file: /home/ppeix/.ros/log/ab621940-b099-11e3-9789-002511e7bcff/recognizer-2*.log
即问题为:解决办法:roslib.load_manifest('pocketsphinx')执行失败
将pocketsphinx拷贝到/opt/ros/hydro/share目录中
还遇到一种情况是,type为.py文件时,文件执行权限有问题导致的。
在使用语音的时候,总是出现
raise ResourceNotFound(name, ros_paths=self._ros_paths)
rospkg.common.ResourceNotFound: roslang
ROS path [0]=/opt/ros/hydro/share/ros
ROS path [1]=/opt/ros/hydro/share
ROS path [2]=/opt/ros/hydro/stacks
[voice_nav-1] process has died [pid 18126, exit code 1, cmd /opt/ros/hydro/share/rbx1/rbx1_speech/voice_nav.py __name:=voice_nav __log:=/home/ppeix/.ros/log/176ed5ba-b0a4-11e3-a814-002511e7bcff/voice_nav-1.log].
log file: /home/ppeix/.ros/log/176ed5ba-b0a4-11e3-a814-002511e7bcff/voice_nav-1*.log
的问题。
1.目录问题。确保在ROS_PACKAGE_PATH路径中可看到。
2.type文件执行权限问题。包括用户相关执行权限。尤其在文件夹拷贝时容易出现此问题。
3.看具体提示,NotFound:roslang。这里的roslang为关键词。
google得出一种情况:add roslang for manifest.xml and package.xml
https://github.com/start-jsk/openhrp3/issues/32<rosdep name="rostest" /><rosdep name="rosbuild" />+ <rosdep name="roslang" /><rosdep name="mk" />
或<build_depend>mk</build_depend><build_depend>rosbuild</build_depend><build_depend>rostest</build_depend>+ <build_depend>roslang</build_depend><run_depend>atlas</run_depend><run_depend>boost</run_depend>但我这里添加后尝试让然不成功。
4.最后尝试sudo apt-get install ros-hydro-roslang 后再次执行则成功了。说明是roslang这个包没有安装导致的。
0 0
- ros调试
- ROS调试
- ROS调试常用命令
- ROS调试方法
- 使用Eclipse调试ROS包
- eclipse下调试ROS工程
- ros小车调试笔记1
- ros 下语音调试-1
- ros下语音调试-2
- ros小语音调试-3
- ros小车调试经验2
- ROS功能程序调试记录
- 使用QT调试ROS工程
- ROS调试和可视化总结
- Matlab协助调试ROS程序: matlab2015b + ros indigo
- ROS实战_1.5 ROS调试与可视化
- codeblocks中,启动、编译、调试ROS节点
- ROS实践(5)-调试相关
- django开发微信简单消息交互
- MongoDB资料汇总专题
- oracle命令
- 在js中怎样捕获css3动画事件
- 分类器
- ros调试
- 男神金秀贤令万千粉丝中“星星毒”
- DLL生成lib
- NSTableView的使用例子
- ADO参考, 各种连接数据库字符串
- MVC二级联动使用$.getJSON方法
- liferay之使用iframe
- oracle expdp导出 去除表统计信息
- JAVA操作数据库的一个通用类