进阶编程
本小节将介绍如何通过编写的 python 代码,来获取机器人的信息,或者让机器人动起来。
代码说明
这里有三份代码,分别是
get_angular_odom.py
获取偏航角度(角度制)nav_obstacle.py
一直延x轴方向运动,直到感知到附近有障碍物时,停下nav_square.py
使用直接发线速度和角速度话题的方式画出一个正方形
运行get_angular_odom.py
打开终端,开启机器人驱动节点
roslaunch handsfree_hw handsfree_hw.launch
打开第二个终端,开启键盘控制节点
roslaunch handsfree_teleop keyboard_teleop.launch
打开第三个终端,运行python文件
rosrun handsfree_tutorials get_angular_odom.py
一开始打印的是0.0,当我们鼠标选中第二个终端后,通过
j或k
键来控制机器人转动,就会看到打印的数据发生了变化,会显示
运行nav_obstacle.py
打开终端,开启机器人驱动节点(如果之前打开,请忽略这一步)
roslaunch handsfree_hw handsfree_hw.launch
打开第二个终端,开启激光节点(如果之前打开,请忽略这一步)
roslaunch handsfree_lidar lidar.launch
打开第三个终端,运行python文件(建议机器人正前方距离障碍物超过一米,否则效果不明显。)
rosrun handsfree_tutorials nav_obstacle.py
机器人会一直前进,大约在距离障碍物半米处停下
运行nav_square.py
打开终端,开启机器人驱动节点(如果之前打开,请忽略这一步)
roslaunch handsfree_hw handsfree_hw.launch
打开第二个终端,运行python文件(机器人需要一个2.5平方米的空间来走正方形)
rosrun handsfree_tutorials nav_square.py
正常情况下,会显示