1. 如何编译ROS 工作空间下的代码?
# 建立ROS工作空间
mkdir -p ~/catkin_ws/src
cd catkin_ws/src
# 克隆代码
git clone url
# 安装依赖包
rosdep install --from-paths src --ignore-src --rosdistro=melodic -y
# 编译
cd ..
catkin_make
# 刷新该终端下的环境变量(可在该终端下直接召唤ros节点)
source ~/catkin_ws/devel/setup.bash
# 将package信息写入环境变量(打开任意终端就可以直接召唤ros节点了)
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
2. 如何在ROS空间下创建一个package?
# 在ROS工作空间src文件夹下
cd ~/catkin_ws/src
# roscpp rospy std_msgs为常用依赖
catkin_create_pkg test_pkg roscpp rospy std_msgs
3. 如何配合Qt Creator食用ROS?
4. 如何调试ROS工程?
- 若采用
rosrun
启动节点,ROS_INFO
和cout
语句都可以在终端输出调试信息; - 若采用
.laucnh
启动多个节点,默认不会在终端输出调试信息,但是会在日志中记录ROS_INFO
和cout
语句的调试信息,日志路径为~/.ros/log
,/latest
文件夹中有最近一次调试的信息。
如果希望该种情况下仍然在终端输出调试信息,可以在.launch
中添加参数output="screen"
,如<node pkg="pkg_test" name="node_a" type="node_a" output="screen"/>
。 ROS_INFO
输出的信息带有[INFO]前缀,cout
输出的信息则没有。
断点调试
参考文献
- https://blog.csdn.net/shaochuang1/article/details/98890222