【机器人和人工智能——自主巡航赛项】基础篇

server/2024/10/9 1:31:35/

文章目录

  • 基础培训
    • 模块安装
    • 电池、接口使用
    • 使用注意事项
    • ROS基础培训
  • 功能测试实践
    • 运动控制测试
    • 激光雷达建图测试
    • 导航测试
    • 视觉功能测试
  • 讲解视频
  • 其余篇章

基础培训

模块安装

安装视频

电池、接口使用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

使用注意事项

1、在箱子里取机器时双手请放在前后轮胎间位置抬起,请勿用手托拽激光雷达。
2、激光雷达上方不要压放任何物体。
3、不要将任何液体倒在(洒在)ABOT-M1-ATK 的机身上。
4、在学习操作时,不要用手指或者尖锐的物体触碰相机模块。
5、在不使用 ABOT-M1-ATK 的时候(主控制器关机的情况下),随手关闭电源。
6、在电源电量不足时候,请及时充电,充电器背部(红灯)充电状态;(绿灯)充满状态。
7、ABOT-M1-ATK 在长时间(半个月)不使用的情况下需要充电维护电源。
8、在使用和学习的过程中,禁止私自拆解 ABOT-M1-ATK,私自拆卸出现问题后果自负。

ROS基础培训

在这里插入图片描述
在这里插入图片描述

build文件夹存放配置文件
devel文件夹存放依赖文件
包package必须包含CMakeList.txt和package.xml
若想建其他文件须按如图创建对应的文件夹

目录名内容
CMakeLists.txtpackage的编译规则(必须)
package.xmlpackage的描述规则(必须)
src/源代码文件
inlcude/C++头文件
scripts/可执行脚本
msg/自定义消息
srv/自定义服务
models/3D模型文件
urdf/urdf文件
launch/launch文件

命令行指令

指令使用方法
rospackrospack find 包名
roscdroscd [本地包名称[/子目录]]
roslsrosls [本地包名称[/子目录]]
Tabroscd [功能包名称前部分] +Tab键
ROS_PACKAGE_PATHecho $ROS_PACKAGE_PATH 环境变量
roscoreroscore启动 ROS 主节点(master)
rosrunrosrun 包名 可执行文件名 === 运行指定的ROS节点
roslaunchroslaunch 包名 launch文件名 === 执行某个包下的 launch 文件
rostopicrostopic [ list

功能测试实践

运动控制测试

启动底盘通讯和激光雷达节点

roslaunch abot_bringup robot_with_imu.launch

启动键盘控制节点

rosrun teleop_twist_keyboard teleop_twist_keyboard.py

在这里插入图片描述

用给的几个字符来控制小车行进方向

使用restopic工具
查看当前运行的话题信息,利用rostopic list显示所有活动状态下的主题
==配图???!!!!==

查看/cmd_vel的话题信息,利用rostopic echo答应信息到屏幕
在这里插入图片描述

查看/cmd_vel的话题类型,利用restopic type打印主题类型
在这里插入图片描述
查看话题类型、发布者(发布指令)、订阅者(订阅指令)
在这里插入图片描述

激光雷达建图测试

打开建图文件

./1-gmapping.sh

在这里插入图片描述

==配图在此!==
其每行内容具体为:
启动底盘通讯和激光雷达节点
启动gmapping建图节点
启动rviz虚拟仿真节点
启动键盘控制节点在这里插入图片描述

建图完成后保存地图

roslaunch robot_slam save_map.launch

在这里插入图片描述

这个launch文件用于保存 机器人生成的地图信息
使用了map_server包和map_saver节点来将地图数据保存在文件中
map_name参数指定要保存的地图文件的名称,默认为my_lab
地图文件将保存在robot_slam包的maps目录下,并使用指定的名称

<launch><!-- 定义地图名称--><arg name="map_name" default="my_lab"><!-- 使用map server包中的map_saver节点保存地图><node name="map_saver" type="map_saver" args="-f $(find robot_slam)/maps/$(args map_name)"/>
<launch>

导航测试

打开新终端,并输入指令

./2-navigation.sh

在这里插入图片描述

指令的具体内容:
==配图==
启动底盘通讯和激光雷达节点
启动navigation导航节点
启动rviz虚拟仿真节点

这个launch文件主要用于启动地图服务器(map_server)以及包含move_base和amcl的其他launch文件。下面是各部分的功能及参数说明:

  • use_sim_time:用于指定是否使用仿真时间,这里设置为false表示不使用仿真时间。
  • map_name:定义了一个名为map_name的参数,如果未指定参数值,则默认为"my_lab.yaml"。
  • map_server节点:启动map_server节点,加载地图文件。args=" ( f i n d r o b o t s l a m ) / m a p s / (find robot_slam)/maps/ (findrobotslam)/maps/(arg map_name)"指定了地图文件的路径。
  • include file=".../move_base.launch.xml":包含了move_base的launch文件,启动move_base相关节点。
  • include file=".../amcl.launch.xml":包含了amcl的launch文件,启动amcl(自适应蒙特卡洛定位)相关节点。
<launch><param name="use_sim_time" value="false"/><arg name="map_name" default="my_lab.yaml"/><node name="map_server" pkg="map_server" type="map_server" args="$(find robot_slam)/maps/$(arg map_name)"/><include file="$(find robot_slam)/launch/include/move_base.launch.xml"/><include file="$(find robot_slam)/launch/include/amcl.launch.xml"/>
</launch>

视觉功能测试

打开终端,输入指令

roslaunch usb_cam usb_cam-test.launch

在这里插入图片描述

查看当前运行的话题信息,利用rostopic list显示所有活动状态下的主题
在这里插入图片描述

查看当前/usb_cam/image_raw的话题类型,利用rostopic info打印主题类型
publishers:发布者;subscribers:定位者
在这里插入图片描述

打开rqt工具查看图像消息

rqt_image_view

讲解视频

万创鑫诚.机器人基础培训

其余篇章

1.【机器人人工智能——自主巡航赛项】进阶篇
2.【机器人人工智能——自主巡航赛项】动手实践篇


http://www.ppmy.cn/server/48929.html

相关文章

海外仓系统选择指南:中小海外仓选择海外仓系统要考虑的5件事

对中小型海外仓来说&#xff0c;选择海外仓管理系统是一项重要的决定&#xff0c;不应该掉以轻心。所选择的海外仓系统是否合适&#xff0c;直接决定了后续海外仓运营效率是否能得到有效的提升。 今天我们会重点讨论中小型海外仓在选择海外仓系统时的一些注意事项&#xff0c;…

C# WPF入门学习主线篇(十三)—— StackPanel布局容器

C# WPF入门学习主线篇&#xff08;十三&#xff09;—— StackPanel布局容器 欢迎来到C# WPF入门学习系列的第十三篇。在前一篇文章中&#xff0c;我们探讨了 Canvas 布局容器及其使用方法。本篇博客将介绍另一种常用的布局容器——StackPanel。通过本文&#xff0c;您将学习如…

Flowable-决策表设计器

✨✨✨ 最好用的Flowable决策表设计器 ✨✨✨ 最好用的Flowable流程设计器 本文中内容和案例出自贺波老师的书《深入Activiti流程引擎&#xff1a;核心原理与高阶实战》&#xff0c;书中的介绍更全面、详细&#xff0c;推荐给大家。 深入Activiti流程引擎

【Unity+AI01】在Unity中调用DeepSeek大模型!实现AI对话功能!

要在Unity中调用DeepSeek的API并实现用户输入文本后返回对话的功能&#xff0c;你需要遵循以下步骤&#xff1a; 获取API密钥&#xff1a; 首先&#xff0c;你需要从DeepSeek获取API密钥。这通常涉及到注册账户&#xff0c;并可能需要订阅相应的服务。 集成HTTP请求库&#xf…

【APP移动端自动化测试】第三节.UIAutomatorViewer元素定位API操作

文章目录 前言一、UIAutomatorViewer的介绍二、元素定位API操作 2.1 定位一个元素 2.2 定位一组元素 2.3 定位元素注意点 2.4 元素等待的概述 2.5 隐式等待 2.6 显示等待 2.7 隐式等待和显示等待的选择总结 前言 一、UIAutomatorViewer的介…

Django分页

1、在视图函数文件中引入‘分页器’ from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger 2、给原来的罗列信息函数&#xff0c;添加分页功能&#xff0c;即按照页码&#xff0c;只返回部分信息。 login_required def article_list(request):article…

界面控件DevExpress WinForms垂直属性网格组件 - 拥有更灵活的UI选择(一)

DevExpress WinForms垂直&属性网格组件旨在提供UI灵活性&#xff0c;它允许用户显示数据集中的单个行或在其90度倒置网格容器中显示多行数据集。另外&#xff0c;用户可以把它用作一个属性网格&#xff0c;就像在Visual Studio IDE中那样。 P.S&#xff1a;DevExpress Win…

【网络安全】跨站脚本攻击漏洞—HTML前端基础

目录 一、HTML概述 1.1 head部分 1.2 body部分 1.3 HTML特殊符号 二、JavaScript概述 2.1 HTML中JavaScript的存在方式 2.2 DOM操作 2.3 BOM操作 跨站脚本攻击&#xff08;Cross-site scripting&#xff0c;通常缩写为XSS&#xff09;是一种常见的网络安全漏洞&#xff…