Skip to content
This repository has been archived by the owner on Apr 12, 2024. It is now read-only.
Alan Chung Ma edited this page Apr 30, 2022 · 3 revisions

Welcome to the AMP Autonomous Software System v2 wiki!

This wiki contains design docs, standards, and other subsystem-related documents for the second iteration of the AMP Autonomous Software Stack.

Design

Our software stack uses the ROS 2d navigation package to obtain control information given sensor and odometry sources, a map, a tf transform tree, a node to publish the desired kart position (i.e. goal setting), and a set of configurations for the naviagtion stack's global and local planners and costmaps. This repository contains top-level launch files for simulation and physical testing in src/sim_stage/launch and .../launch (TODO: Issue 34). We highlight some of the main packages below:

TODO(35): Add other packages and refactor current ones.

sim_stage

This package runs the stage_ros node. See src/sim_stage/sim_files for the image file that specifies the shape of the racetrack and the config files that define the simulated laserscanner sensor and kart. This simulated kart takes /cmd_vel topic to move. (cmd_vel contains tf map frame, quaternion, and 3d pose, but we are only using it for forward displacement and yaw displacement) Broadcasts /top/scan, which is the current moment laserscan data as a list of each ray's distance in a 180 degree range.

slam_mode_goal

Reads top/scan and moves the kart towards open space (path finding). Puts out /amp_slam_goal which is a MoveBaseGoal structure that represents displacement. TODO: change from MoveBaseGoal to something simpler. slam_mode_goal is intended to put out high-level, ideal cart commands that are translated by the mover node into hardware commands for the kart's motors and steering.