< >
Home » MIT-RaceCar入门教程 » MIT-RACECAR入门教程-实验

MIT-RACECAR入门教程-实验

MIT-RACECAR入门教程-实验

说明:

  • 介绍如何进行相应实验

相关的实验:

  • 参考源码
  • ta_lab3: Wall following 沿墙运动
  • ta_lab4: Visual servoing 红色椎体跟随及走S
  • ta_lab5: Particle filter localization 定位
  • ta_lab6: Pure Pursuit + A* Trajectory Planning 路径规划

安装源码:

  • 安装
cd ~/racecar-ws/
# Add upstream TA repo
wstool set src/ta_examples_public --git "https://github.com/mit-racecar/TA_example_labs.git"
# Pull in new code from TA repo
wstool update
# Install ros deps
rosdep install -r --from-paths src --rosdistro kinetic -y
# build workspace
catkin_make

ta_lab3实验:

  • 启动
roslaunch ta_lab3 example.launch

ta_lab4实验:

ta_lab5实验:

  • 安装依赖(For RangeLibc:)
sudo pip install cython
git clone http://github.com/kctess5/range_libc
cd range_libc/pywrappers
# on VM
sudo python setup.py install
# on car - compiles GPU ray casting methods
sudo WITH_CUDA=ON python setup.py install
  • 启动
roslaunch ta_lab5 localize.launch
  • 有多种 "range_method" 模式可选,最快的是"rmgpu",如果安装了 RangeLibc+CUDA,可以优先使用。

ta_lab6实验:

  • 安装依赖:
pip install recordclass
# this one will take a while
pip install scikit-image
  • 轨迹跟踪
# For the car
roslaunch racecar teleop.launch
roslaunch ta_lab5 localize.launch
roslaunch ta_lab6 follow_trajectory.launch

# For simulation
roslaunch racecar_gazebo racecar_tunnel.launch
roslaunch ta_lab6 follow_trajectory.launch

roslaunch ta_lab6 trajectory_loader.launch
  • 轨迹跟踪+路径规划(基于航点控制)

    For the car

    roslaunch racecar teleop.launch
    roslaunch ta_lab5 localize.launch
    roslaunch ta_lab6 follow_trajectory.launch
    roslaunch ta_lab6 waypoint_control.launch

    For simulation

    roslaunch racecar_gazebo racecar_tunnel.launch
    roslaunch ta_lab6 follow_trajectory.launch
    roslaunch ta_lab6 waypoint_control.launch

  • 在RVIZ中,先用2D Pose Estimate初始化定位,再使用 2D Nav Goal指定目标点,首先它会计划一个粗略的轨迹,然后改进该轨迹,然后尝试跟踪轨迹。

相关文件解析:

  • ./launch 包含所有运行的文件

  • ./launch/waypoint_control.launch

运行轨迹搜索,使用在odometry/particle filter中的位置作为开始点,监听RViz中的"2D Nav Goal"作为目标点

  • ./launch/follow_trajectory.launch

运行轨迹跟踪,接收到轨迹后才会开始,可以是通过waypoint_control得到轨迹或load_trajectory得到轨迹。

  • ./launch/build_trajectory.launch

允许手工生成轨迹,运行这个文件后,在RVIZ中使用"2D Nav Goal"指定路径中的航点,可增加/built_trajectory/path话题来查看建立的路径。当中止这个节点,会自动保存轨迹到文件系统里,并告诉你具体的文件路径。一般在/trajectories目录里。

  • ./launch/load_trajectory.launch

从文件里载入轨迹,以序列化多边形格式发布它们,启动"follow_trajectory"后,再启动这个节点初始化轨迹跟踪

  • ./src 所有的源码
  • ./src/path_planner.py

实现两级A *搜索,第一级找到一个粗略的轨迹,第二级使用初始轨迹作为启发式来找到一条更平滑和更短的路径。

  • ./src/pure_pursuit.py

实现轨迹跟踪。 固定速度。

  • ./src/trajectory_builder.py

监听RVIZ中的2D Nav Goals,产生分段线性轨迹。关闭节点后保存结果到系统里。

  • ./src/trajectory_loader.py

载入轨迹以序列化多变格式发布

  • ./trajectories

包含一些轨迹的例子以及生成手工指定或航点控制的轨迹。

  • ./rviz

包含RVIZ的配置文件,可在轨迹搜索或轨迹跟踪中可视化一些感兴趣的话题。

参考:

  • https://mit-racecar.github.io/6.141-spring-2016-team-5-documentation/

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: mit-racecar入门教程