【ROS2】ROS2 基础学习教程 以lerobot-so100为例
参考资料:
b战荔枝澄
b战哈萨克斯坦x
《ROS 2机器人开发从入门到实践》6.2.2 在RViz中显示机器人_哔哩哔哩_bilibili
动手学ROS2
ROS2导入机械臂URDF竟有这些坑?SO-ARM100 Rivz可视化避坑指南_ros2导入机械臂urdf竟有这些坑?so-arm100 rivz可视化避坑指南-CSDN博客
https://medium.com/@kabilankb2003/training-so-100-robot-for-cube-lifting-in-isaac-lab-from-simulation-to-intelligent-control-with-9e81f94c6d6e
其他参考:
Lerobot. so-100 仿真環境數據搜集_哔哩哔哩_bilibili
lerobot_so100_sim仿真操控_哔哩哔哩_bilibili
逆映射唯一的个人空间-逆映射唯一个人主页-哔哩哔哩视频
28BoundlessHope的个人空间-28BoundlessHope个人主页-哔哩哔哩视频
11jzzz的个人空间-11jzzz个人主页-哔哩哔哩视频
1 ROS入门学习
古月居ROS2入门教程:
工作空间 - 图书资源
1.1 工作空间
下载古月居项目编译报错,原因是直接使用了Anaconda 环境
临时停用Anaconda 环境
永久停用Anaconda 环境
1.2 gazebo
gazebo启动不了,安装之后
xzl@xzl-HP99:~/Desktop$ ros2 launch gazebo_ros gazebo.launch.py [INFO] [launch]: All log files can be found below /home/xzl/.ros/log/2025-05-26-00-10-53-007034-xzl-HP99-76311 [INFO] [launch]: Default logging verbosity is set to INFO [INFO] [gzserver-1]: process started with pid [76312] [INFO] [gzclient-2]: process started with pid [76314] [gzclient-2] gzclient: /usr/include/boost/smart_ptr/shared_ptr.hpp:728: typename boost::detail::sp_member_access<T>::type boost::shared_ptr<T>::operator->() const [with T = gazebo::rendering::Camera; typename boost::detail::sp_member_access<T>::type = gazebo::rendering::Camera*]: 断言 "px != 0" 失败。 [ERROR] [gzclient-2]: process has died [pid 76314, exit code -6, cmd 'gzclient --gui-client-plugin=libgazebo_ros_eol_gui.so'].
本质就是第一个连接解决方案,没source setup文件
source /usr/share/gazebo/setup.sh
gazebo 启动失败_gzclient process has died-CSDN博客
启动gazebo失败报错[gazebo-1] process has died [pid 10999, exit code 255-CSDN博客
使用gazebo的官方模型库文件_gazebo官网的模型数据-CSDN博客
gazebo报错 | 鱼香ROS
1.2 其他难点(后续需重新研究)
通行接口是如何从cmake文件编译到各类文件的?
话题、服务、动作回调函数是如何执行的?回调函背后的机制是啥?
参数是如何在需要重新编译的情况下动态设置的,看视频第一遍没看懂?
launch资源重映射的例子?
tf坐标系里面没有太搞明白代码如何操作的?
2 moviet学习
2.1 Tutorials
Getting Started
可以参考爱喝青柑普洱的鸭梨,主要就是如何创建工作空间和编译,注意编译内存不够非常容易崩了,所以最好参考文档,加上--parallel-workers 1,一个个编译。
MoveIt Quickstart in RViz
主要介绍了rviz的面板怎么用,一个正常的机械臂,各个规划按钮怎么使用
Your First C++ MoveIt Project
主要讲解了一个简单的c++代码,如何从初始状态规划到目标状态,并且在rviz中显示。注意编译时候可以参用增量编译,参考爱喝青柑普洱的鸭梨 colcon build --packages-select hello_moveit 单独编译这一个包
Visualizing In RViz
这一讲,主要讲的是如何使用代码控制rivzvisualtools
Planning Around Objects
这一讲,主要讲的是环境中添加了碰撞对象,如何使用代码控制rivzvisualtools,并且规划执行