进阶编程

本小节将介绍如何通过编写的 python 代码,来获取机器人的信息,或者让机器人动起来。

代码说明

这里有三份代码,分别是

  • get_angular_odom.py 获取偏航角度(角度制)
  • nav_obstacle.py 一直延x轴方向运动,直到感知到附近有障碍物时,停下
  • nav_square.py 使用直接发线速度和角速度话题的方式画出一个正方形

运行get_angular_odom.py

  1. 打开终端,开启机器人驱动节点

     roslaunch handsfree_hw handsfree_hw.launch
    
  2. 打开第二个终端,开启键盘控制节点

     roslaunch handsfree_teleop keyboard_teleop.launch
    
  3. 打开第三个终端,运行python文件

     rosrun handsfree_tutorials get_angular_odom.py
    

    一开始打印的是0.0,当我们鼠标选中第二个终端后,通过j或k键来控制机器人转动,就会看到打印的数据发生了变化,会显示
    get-angular-odom

运行nav_obstacle.py

  1. 打开终端,开启机器人驱动节点(如果之前打开,请忽略这一步)

     roslaunch handsfree_hw handsfree_hw.launch
    
  2. 打开第二个终端,开启激光节点(如果之前打开,请忽略这一步)

     roslaunch handsfree_lidar lidar.launch
    
  3. 打开第三个终端,运行python文件(建议机器人正前方距离障碍物超过一米,否则效果不明显。)

     rosrun handsfree_tutorials nav_obstacle.py
    

    机器人会一直前进,大约在距离障碍物半米处停下
    nav-obstacle

运行nav_square.py

  1. 打开终端,开启机器人驱动节点(如果之前打开,请忽略这一步)

     roslaunch handsfree_hw handsfree_hw.launch
    
  2. 打开第二个终端,运行python文件(机器人需要一个2.5平方米的空间来走正方形)

     rosrun handsfree_tutorials nav_square.py
    

    正常情况下,会显示
    nav-square

results matching ""

    No results matching ""