ROS-TroubleShooting

ROS101

clone别人ros项目

例如想clone这个项目页面,可以

// 建立工作空间和里面的src文件夹
mkdir -p ~/ur_ws/src
// clone源码
git clone https://github.com/lihuang3/ur5_ROS-Gazebo
// 添加项目中需要的依赖
rosdep install ur5_ROS-Gazebo
// 回答工作空间
cd ~/ur_ws
// buildin 编译
catkin_make
// 添加工作空间到环境变量 (此处用zsh)
source ~/ur_ws/devel/setup.zsh
// 永久添加到环境变量
echo "source ~/ur_ws/devel/setup.zsh" >> ~/.zshrc

查看ros包的环境变量

echo $ROS_PACKAGE_PATH

在给出的结果中,系统会从左往右搜索。例如
在这里插入图片描述
比如项目中需要ur_description包,那么系统会先搜索ur_ws,再搜索ur5_test101,再catkin_ws,最后是ros自带的share.
所以即使ur_ws中没有安装universal_robot meta-package,那么系统会去ur5_test101中寻找。

查看ur_description包的路径

rospack find ur_description

打开~/.zshrc

gedit ~/.zshrc 

指定分支clone某个项目

git clone -b xxx(分支名) xxx(git地址)

例如在安装universal_robot的时候,可以使用

git clone -b melodic-devel https://github.com/ros-industrial/universal_robot

注意:在对照包页面时候,是把'$ROS_DISTRO'替换成ros版本,一定要连同$一起替换成melodic.

多工作空间切换问题

遇到过同样的问题,即使在.zshrc中删除相关包的'source [package_name]/deve/setup.zsh', 但是环境变量里还是有所有的工作空间。最后解决方法参考
ref: https://haoqchen.site/2019/03/28/ros-same-ws-bug/

包名 package_name

A package includes

  • CMakelists.txt
  • package.xml
    其实真正的包名是定义在package.xml文件中的
<package>
	<name>ur5_notebook</name>
	...
</package>

一个包的包名和它在src中创建的文件夹的名字可以是不同的

pycharm 中 ‘No module named rospy’

ref:
https://blog.csdn.net/weixin_44481159/article/details/112583202

自定义 msg 及调用

例如在包ur_move_test中建立一个msg文件夹, 里面新建一个Tracker.msg, 如下图
工作空间: ur5_test101, 包: ur_move_test
在同一个包内的节点ur5_vision.py 需要调用这个message, 则

from ur_move_test.msg import Tracker

注: nr5_vision.py 路径为 home/ur5_test101/src/ur_move_test/scripts.

ref:

知乎内容 https://zhuanlan.zhihu.com/p/82381074
wiki – 自定义msg
http://wiki.ros.org/cn/ROS/Tutorials/CreatingMsgAndSrv#Creating_a_msg
wiki – 调用msg
http://wiki.ros.org/cn/ROS/Tutorials/DefiningCustomMessages

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值