Skip to content

Leveraging system development and robot deployment for ground-based autonomous navigation and exploration.

Notifications You must be signed in to change notification settings

chj0728/autonomous_exploration_development_environment

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Header

The repository is meant for leveraging system development and robot deployment for ground-based autonomous navigation and exploration. Containing a variety of simulation environments, autonomous navigation modules such as collision avoidance, terrain traversability analysis, waypoint following, etc, and a set of visualization tools, users can develop autonomous navigation systems and later on port those systems onto real robots for deployment.

Please use instructions on our project page.

1.真实机器人的话坐标系如何统一

vehicle坐标系对应的是机器人的转向中心, turtlebot的话对应的就是机器人的中心位置, 而一般的localization发布出来的都是传感器的位置 比如在我们的代码里面localization最后发布的是sensor的坐标, 所以只需要把localization最后发布出来的传感器坐标系加上一个x和y的偏置就可以得到vehicle坐标系了, 实际上vehicle坐标系只有local planner会用到,在local planner的launch文件里有两个参数sensorOffsetX和sensorOffsetY,这两个就是控制车辆中心和传感器中心之间的偏移量。

far planner的输入有三个,机器人的精确位姿,当前帧点云以及地形点云,其中地形点云不是必须的,没有也可以,只是对于地面机器人效果会差一些。只要保证有这几个输入,并且对应的坐标系都是对的,那就都可以

代码里当使用摇杆控制的时候,如果把摇杆往两侧推,车就会转向。一样的,如果希望底层能够处理带方向的waypoint,比较简单的方式是写一个类似摇杆控制器的node专门来把处理waypoint的转向,先让机器人使用现有代码到达目标点,然后再发布转向指令让机器人转到目标方向。

5.关于 vehicleX vehicleY 参数设置

  • system_indoor.launch

    将 vehicleX  vehicleY 传递给 local_planner.launch 下的goalX goalY
    表示发送给小车的初始目标位置
    
    将 vehicleX vehicleY 传递给 vehicle_simulator.launch 下的vehicleX vehicleX
    表示初始小车状态位置
    
    两者应保持一致,否则启动仿真,小车会自动启动到达goalX goalY
    
  • 生成路径以及在线搜索的时候都是有考虑运动学约束的

local planner 的论文

  • dirDiff是该条路径与目标点之间的角度差值
  • rotDirW代表了该条路径的方向与当前车辆朝向的角度差
  • Alt text

    经验公式,在实际的应用中,这种非线性的关系效果更好

vehicleX是当前的机器人位置,vehicleRec是接收到第一帧数据时的位置,因为后面需要使用noDataInited来辅助判断一些负障碍物,也就是没有数据的地方,需要确保是因为传感器视野限制导致没有看到数据而不是当前没有接受到数据导致的没有数据,所以需要设置vehicleRec。在每次清理地形图之后也需要重置这个参数。

About

Leveraging system development and robot deployment for ground-based autonomous navigation and exploration.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 85.8%
  • Python 8.8%
  • CMake 4.0%
  • Other 1.4%