Install
教程
ROS tutorial- Justin Huang
Programming for Robotics (ROS) Course 1
Autolabor- ROS机器人入门
- 视频以及对应文档
source ~/工作空间/devel/setup.bash
可以添加进.bashrc
文件中,使用更方便:echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
- 安装vscode环境并配置
- 防止不同ros版本导致的python冲突,可以配置软链接:sudo ln -s /usr/bin/python3 /usr/bin/python
- 如何在ROS中使用anaconda虚拟环境
- 移植别的项目并编译:
- 以ov2slam为例,其中使用了ROS元功能包
- 以VINS-Mono为例:VINS-Mono的编译运行
参考Ubuntu下ROS创建自己的包和使用github下载的包
1. 创建工作空间并编译 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src catkin_make source devel/setup.bash # 如果已经通过source ~/工作空间/devel/setup.bash" >> ~/.bashrc 写在.bashrc中了,则可以忽略 1. 将别的功能包拷贝到src文件中 cd ~/catkin_ws/src ... 1. 编译 cd ~/catkin_ws catkin_make --pkg somepackage # 或者 catkin_make source ~/catkin_ws/devel/setup.bash
- NodeHandle(节点句柄)
NodeHandle(节点句柄)是ROS中的一种工具,它有点像你在ROS中的身份证明和通信工具。它的主要作用是帮助你的_ROS节点与ROS系统进行交流和协调工作_。
想象一下你在一个大型机器人派对上,NodeHandle就像你的派对通行证。它允许你做以下事情:
与其他机器人聊天:NodeHandle允许你与其他机器人(节点)交流,发送和接收信息。你可以向其他机器人发送消息(发布主题)或监听他们说的话(订阅主题)。
访问派对地图:NodeHandle可以帮助你查找派对地图(参数服务器),以获得关于机器人派对的信息。你可以在那里找到一些有用的参数,比如你的机器人的速度限制或其他设置。
提供派对服务:你可以使用NodeHandle提供一些服务(ROS服务),这就像是在派对上提供一些特殊的服务,例如告诉其他机器人派对中有哪些好玩的活动。
保持身份分离:NodeHandle允许你在派对中保持你的身份独立。你可以在不同的房间(命名空间)内与其他机器人互动,以防止你的消息与其他机器人的消息发生混淆。
翻译成ROS的术语,NodeHandle帮助你创建和管理ROS主题(topics)、ROS服务(services)、ROS参数(parameters),并确保你的节点与其他节点协同工作,以实现机器人的功能和任务。它提供了一种与ROS系统进行交流的标准方式,使得不同节点之间可以共同合作完成任务。
- 只编译白名单及启动
catkin_make -DCATKIN_WHITELIST_PACKAGES="feature_tracker" // 或""
roslaunch feature_tracker feature_tracker.launch
roslaunch plvins_estimator euroc_fix_extrinsic.launch
# FAQ
- [ubuntu20.04出现Unable to find either executable ‘empy’ or Python module ‘em’… try](https://blog.csdn.net/weixin_44857882/article/details/124296306)
- 解决:catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3
- [Build OpenCV with CUDA Support for Jetson](https://www.youtube.com/watch?v=art0-99fFa8),指定opencv版本,然后运行脚本即可,然后 opencv with cuda 就会显示YES