文章目录
基础培训模块安装电池、接口使用使用注意事项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.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 |
功能测试实践
运动控制测试
启动底盘通讯和激光雷达节点
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.【机器人和人工智能——自主巡航赛项】动手实践篇