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

文章目录

基础培训

模块安装

安装视频

电池、接口使用



使用注意事项

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.【机器人和人工智能------自主巡航赛项】动手实践篇

相关推荐
sp_fyf_202419 分钟前
【大语言模型】ACL2024论文-35 WAV2GLOSS:从语音生成插值注解文本
人工智能·深度学习·神经网络·机器学习·语言模型·自然语言处理·数据挖掘
AITIME论道20 分钟前
论文解读 | EMNLP2024 一种用于大语言模型版本更新的学习率路径切换训练范式
人工智能·深度学习·学习·机器学习·语言模型
明明真系叻1 小时前
第二十六周机器学习笔记:PINN求正反解求PDE文献阅读——正问题
人工智能·笔记·深度学习·机器学习·1024程序员节
88号技师3 小时前
2024年12月一区SCI-加权平均优化算法Weighted average algorithm-附Matlab免费代码
人工智能·算法·matlab·优化算法
IT猿手3 小时前
多目标应用(一):多目标麋鹿优化算法(MOEHO)求解10个工程应用,提供完整MATLAB代码
开发语言·人工智能·算法·机器学习·matlab
青春男大3 小时前
java栈--数据结构
java·开发语言·数据结构·学习·eclipse
88号技师3 小时前
几款性能优秀的差分进化算法DE(SaDE、JADE,SHADE,LSHADE、LSHADE_SPACMA、LSHADE_EpSin)-附Matlab免费代码
开发语言·人工智能·算法·matlab·优化算法
2301_764441333 小时前
基于python语音启动电脑应用程序
人工智能·语音识别
HyperAI超神经3 小时前
未来具身智能的触觉革命!TactEdge传感器让机器人具备精细触觉感知,实现织物缺陷检测、灵巧操作控制
人工智能·深度学习·机器人·触觉传感器·中国地质大学·机器人智能感知·具身触觉
galileo20163 小时前
转化为MarkDown
人工智能