
ROS-----赵虚左的课程
赵虚左课程的代码实现
cosX+sinY
不要去考虑两小时后和八公里以外的事
展开
-
10 基于Gazebo和Rviz实现导航仿真,包括SLAM建图,地图服务,机器人定位,路径规划
在9中我们已经实现了机器人的模块仿真,现在要在这个基础上实现SLAM建图,地图服务,机器人定位,路径规划1. 还是在上述机器人的工作空间下,新建功能包(nav),导入依赖2. 导航实现SLAM建图(gmapping)在功能包下新建文件夹(launch)---> 新建文件(map.launch)写入。原创 2025-04-29 22:37:01 · 878 阅读 · 0 评论 -
9. 使用Gazebo和Rviz显示机器人(包括运动控制,雷达,摄像头仿真以及显示)
-- 将 Urdf 文件的内容加载到参数服务器 -->-- 启动 gazebo --></include>-- 在 gazebo 中显示机器人模型 -->原创 2025-04-28 16:40:55 · 888 阅读 · 0 评论 -
8. ROS中常见命令
其中 rostopic list / rostopic pub / rostopic echo /rostopic info 是比较重要的,下面展开说说。rostopic list -v 获取话题详情(比如列出:发布者和订阅者个数...),所以这个更详细,更好用。2) rostopic pub 向订阅者发布消息,相当于话题通信中的发布方。3) rostopic echo获取指定话题当前发布的消息,相当于订阅者。获取当前话题的具体信息,包括消息类型,发布者信息,订阅者信息等。以小乌龟的GUI为例。原创 2025-04-21 22:25:59 · 291 阅读 · 0 评论 -
7. 服务通信 ---- 使用自定义srv,服务方和客户方cpp,python文件编写
在srv文件夹下新建Add.srv文件,然后,catkin_make(Ctrl + shift +B),编译。知道了路径,就可以在C++和python的头文件包含这个路径。1) 在功能包下新建文件夹srv,在目录下查看自定义srv的C++和python路径。2.3 Python服务方编写。2.4 Python客户方编写。在CMakeLists.txt 添加执行依赖。2.1 C++服务方编写。2.2 C++客户方编写。ps:其中-------是必须要有的。2. 服务方和客户方的文件编写。原创 2025-04-21 21:46:21 · 295 阅读 · 0 评论 -
6. 话题通信 ---- 使用自定义msg,发布方和订阅方cpp,python文件编写
查看Person.h的C++路径和python路径,后续调用相关msg时,是从这些中间文件中调用的。2.2)功能包下CMakeLists.txt 文件修改。2.1) 功能包下package.xml文件修改。3)编译Ctrl+shift+B。原创 2025-04-19 22:40:30 · 322 阅读 · 0 评论 -
5. 话题通信 ---- 发布方和订阅方python文件编写
1)在功能包下新建scripts文件夹,在scripts文件夹下新建python文件,写入。2)修改CMakeLists.txt 162行。本节对应赵虚左ROS书籍的2.1.3。以10hz,发布消息和消息的订阅。3)运行rosrun。原创 2025-04-19 20:14:52 · 232 阅读 · 0 评论 -
4. 话题通信 ---- 发布方和订阅方cpp文件编写
1) 在功能包的src文件夹下,新建cpp文件,并且写入。“chatter”为话题名,10为队列长度。本节对应赵虚左ROS书籍的2.1.2。2) 配置CMakeLists文件。1.1)包含ros头文件。"talker"为节点名。加入语句,防止中文乱码。以10hz,发布消息。1.2) 在主函数中。3)运行rosrun。原创 2025-04-19 17:36:31 · 176 阅读 · 0 评论 -
3. 在 2节的基础上 ,实现launch文件简单编写
1.在hello_ros功能包下,新建launch文件夹,在launch文件夹下新建.launch文件。3. 运行launch, roslaunch <包名> <launch文件名>实现效果:能够一次运行多个节点,包括2节中显示"ha 哈",乌龟显示,乌龟运动。output 设置日志输出目标。2.在launch文件中写入。type 为被运行的节点文件。node 为包含的某个节点。name 为节点命名。原创 2025-04-19 16:06:44 · 230 阅读 · 0 评论 -
2. ubuntu20.04 和VS Code实现 ros的输出 (C++,Python)
8.2) python执行 rosrun <包名> <python文件名>在弹出的横框中写入功能包名 hello_ros ,回车。再输入依赖 roscpp rospy std_msgs。7.1) C++的修改(136行,149行)8.1) cpp执行 rosrun <包名> <节点名>本节对应赵虚左ROS书籍的1.4.2-->1.4.3。7) 修改功能包目录下CMakeLists.txt。7.2)python的修改。在vscode 的终端下 编译一下。这样就新建了一个功能包了。原创 2025-04-19 15:28:50 · 316 阅读 · 0 评论 -
1. ubuntu20.04 终端实现 ros的输出 (C++,Python)
编辑catkin_ws 包下的CMakeLists.txt (136行,149行)在工作空间下新建scripts文件夹,在scripts目录下新建python文件。编辑catkin_ws 包下的CMakeLists.txt (162行)5.2)python执行 rosrun <包名> <python文件名>5.1)cpp执行 rosrun <包名> <节点名>给hello_ros.py 加权限。2)创建一个功能包和导入依赖。4.1)编辑cpp配置文件。1)创建一个工作空间。1)创建一个工作空间。原创 2025-04-19 11:19:37 · 216 阅读 · 0 评论 -
7.2.3 导航实现03_amcl定位
在启动的 rviz 中,添加RobotModel、Map组件,分别显示机器人模型与地图,添加 posearray 插件,设置topic为particlecloud来显示 amcl 预估的当前机器人的位姿,箭头越是密集,说明当前机器人处于此位置的概率越高;g)通过键盘控制机器人运动,会发现 posearray 也随之而改变。d)先启动 Gazebo 仿真环境(此过程略);a)编写amcl节点相关的launch文件。f)启动测试amcl的launch文件。b)编写测试launch文件。原创 2025-03-19 22:16:46 · 333 阅读 · 0 评论 -
7.2.1 导航实现----SLAM(gmapping)建图
2.编写gmapping节点相关地图绘制launch文件。运行launch,在终端打开Rviz,增加Map组件。5.启动键盘键盘控制节点,用于控制机器人运动建图。6.在 rviz 中添加组件map,显示栅格地图。3.启动 前面已经生成Gazebo 仿真环境。4.启动地图绘制的 launch 文件。7.地图保存launch文件。1.gmapping安装。原创 2025-03-18 21:07:06 · 274 阅读 · 0 评论 -
6.7.3 摄像头信息仿真以及显示
1.新建 Xacro 文件,配置摄像头传感器信息。3.启动Gazebo 和Rviz。2.集成xacro文件。原创 2025-03-18 19:17:35 · 160 阅读 · 0 评论 -
6.7.2 雷达信息仿真以及显示
3.启动launch文件,开启Gazebo和Rviz。1.新建 Xacro 文件,配置雷达传感器信息。2.xacro 文件集成。原创 2025-03-18 18:59:14 · 175 阅读 · 0 评论 -
6.7.1 机器人运动控制以及里程计信息显示
在6.6.3节已经实现在Gazebo中显示小车,在这个基础上,新编写一个单独的 xacro 文件,为机器人模型添加传动装置以及控制器。运行launch文件后,在 Rviz 中添加图示组件。设置运动线速度和角速度。原创 2025-03-18 17:36:24 · 222 阅读 · 0 评论 -
6.6.3 URDF集成Gazebo实操
【代码】6.6.3 URDF集成Gazebo实操。原创 2025-03-18 17:11:24 · 306 阅读 · 0 评论 -
6.6.1 URDF与Gazebo集成流程
material 标签中,设置的值区分大小写,颜色可以设置为 Red Blue Green Black .....原创 2025-03-18 17:03:38 · 265 阅读 · 0 评论 -
6.5 Rviz中控制机器人模型运动---Arbotix使用流程
2.创建新功能包,准备机器人 urdf、xacro 文件。urdf 和 xacro 调用上一讲6.4实现即可。控制机器人模型在 rviz 中做圆周运动。3.添加 arbotix 所需的配置文件。1.安装 Arbotix。原创 2025-03-10 16:47:41 · 199 阅读 · 0 评论 -
6.4 xacro 实操 --- 生成小车
创建一个四轮圆柱状机器人模型,机器人参数如下,底盘为圆柱状,半径 10cm,高 8cm,四轮由两个驱动轮和两个万向支撑轮组成,两个驱动轮半径为 3.25cm,轮胎宽度1.5cm,两个万向轮为球状,半径 0.75cm,底盘离地间距为 1.5cm(与万向轮直径一致)---使用 Xacro 优化 URDF 版的小车底盘模型实现。原创 2025-03-10 11:39:39 · 233 阅读 · 0 评论 -
6.4 xacro 初体验
2.将xacro文件转化为urdf文件。原创 2025-03-10 11:26:15 · 193 阅读 · 0 评论 -
6.3 Rviz环境集成urdf文件---完整流程
创建一个四轮圆柱状机器人模型,机器人参数如下,底盘为圆柱状,半径 10cm,高 8cm,四轮由两个驱动轮和两个万向支撑轮组成,两个驱动轮半径为 3.25cm,轮胎宽度1.5cm,两个万向轮为球状,半径 0.75cm,底盘离地间距为 1.5cm(与万向轮直径一致)2.launch文件编写。1.urdf文件编写。3.运行launch。原创 2025-03-10 10:52:28 · 148 阅读 · 0 评论 -
6.4 xacro 实操 --- 生成小车+摄像头+雷达传感器
在前面小车底盘基础之上,添加摄像头和雷达传感器。2.整合摄像头,雷达,底盘 xacro 文件。c.底盘xacro文件。3.launch 文件编写。4.运行launch文件。1.编写xacro文件。原创 2025-03-10 15:29:50 · 173 阅读 · 0 评论 -
6.3 Rviz环境集成urdf文件---joint标签
launch 文件内容不变。原创 2025-03-10 10:30:27 · 277 阅读 · 0 评论 -
6.2 Rviz环境集成urdf文件---link标签
再启动时,就可以包含之前的组件配置了,使用更方便快捷。:机器人模型渲染文件(暂不使用): 存储 launch 启动文件。: 存储 urdf 文件的目录。首先,将当前配置保存进。原创 2025-03-09 22:03:40 · 346 阅读 · 0 评论