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

文章目录

基础培训

模块安装

安装视频

电池、接口使用



使用注意事项

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.txt package的编译规则(必须)
package.xml package的描述规则(必须)
src/ 源代码文件
inlcude/ C++头文件
scripts/ 可执行脚本
msg/ 自定义消息
srv/ 自定义服务
models/ 3D模型文件
urdf/ urdf文件
launch/ launch文件

命令行指令

指令 使用方法
rospack rospack find 包名
roscd roscd [本地包名称[/子目录]]
rosls rosls [本地包名称[/子目录]]
Tab roscd [功能包名称前部分] +Tab键
ROS_PACKAGE_PATH echo $ROS_PACKAGE_PATH 环境变量
roscore roscore启动 ROS 主节点(master)
rosrun rosrun 包名 可执行文件名 === 运行指定的ROS节点
roslaunch roslaunch 包名 launch文件名 === 执行某个包下的 launch 文件
rostopic rostopic [ list

功能测试实践

运动控制测试

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

linux 复制代码
roslaunch abot_bringup robot_with_imu.launch

启动键盘控制节点

linux 复制代码
rosrun teleop_twist_keyboard teleop_twist_keyboard.py

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

使用restopic工具

查看当前运行的话题信息,利用rostopic list显示所有活动状态下的主题

查看/cmd_vel的话题信息,利用rostopic echo答应信息到屏幕

查看/cmd_vel的话题类型,利用restopic type打印主题类型

查看话题类型、发布者(发布指令)、订阅者(订阅指令)

激光雷达建图测试

打开建图文件

linux 复制代码
./1-gmapping.sh

其每行内容具体为:

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

启动gmapping建图节点

启动rviz虚拟仿真节点

启动键盘控制节点

建图完成后保存地图

linux 复制代码
roslaunch robot_slam save_map.launch

这个launch文件用于保存 机器人生成的地图信息

使用了map_server包和map_saver节点来将地图数据保存在文件中
map_name参数指定要保存的地图文件的名称,默认为my_lab

地图文件将保存在robot_slam包的maps目录下,并使用指定的名称

launch 复制代码
<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>

导航测试

打开新终端,并输入指令

linux 复制代码
./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(自适应蒙特卡洛定位)相关节点。
xml 复制代码
<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>

视觉功能测试

打开终端,输入指令

linux 复制代码
roslaunch usb_cam usb_cam-test.launch

查看当前运行的话题信息,利用rostopic list显示所有活动状态下的主题

查看当前/usb_cam/image_raw的话题类型,利用rostopic info打印主题类型
publishers:发布者;subscribers:定位者

打开rqt工具查看图像消息

linux 复制代码
rqt_image_view

讲解视频

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

其余篇章

1.【机器人和人工智能------自主巡航赛项】进阶篇

2.【机器人和人工智能------自主巡航赛项】动手实践篇

相关推荐
小嗷犬15 分钟前
【论文笔记】VCoder: Versatile Vision Encoders for Multimodal Large Language Models
论文阅读·人工智能·语言模型·大模型·多模态
Struart_R20 分钟前
LVSM: A LARGE VIEW SYNTHESIS MODEL WITH MINIMAL 3D INDUCTIVE BIAS 论文解读
人工智能·3d·transformer·三维重建
lucy1530275107922 分钟前
【青牛科技】GC5931:工业风扇驱动芯片的卓越替代者
人工智能·科技·单片机·嵌入式硬件·算法·机器学习
幻风_huanfeng1 小时前
线性代数中的核心数学知识
人工智能·机器学习
怀旧6661 小时前
spring boot 项目配置https服务
java·spring boot·后端·学习·个人开发·1024程序员节
volcanical1 小时前
LangGPT结构化提示词编写实践
人工智能
粤海科技君1 小时前
如何使用腾讯云GPU云服务器自建一个简单的类似ChatGPT、Kimi的会话机器人
服务器·chatgpt·机器人·腾讯云
weyson1 小时前
CSharp OpenAI
人工智能·语言模型·chatgpt·openai
RestCloud2 小时前
ETLCloud异常问题分析ai功能
人工智能·ai·数据分析·etl·数据集成工具·数据异常
infiniteWei2 小时前
【Lucene】原理学习路线
学习·搜索引擎·全文检索·lucene