This repository contains the stdr_dead_reckoning package developed. The package is designed to move 2D robot from where it is spawned at (1, 2, 0) to (1, 14, 0) without hitting the walls.
Note: This package is intended for ROS Noetic on Ubuntu Focal. It is recommended to have basic knowledge of ROS nodes, services, and tf transformations to use this package effectively.
- Package Structure
- Installation of Required Packages
- Installation of ARIAC Project
- Launching the Package
- Interpreting the Output
- Links and Resources
stdr_dead_reckoning
├── CMakeLists.txt
├── package.xml
├── launch
│ ├── dead_reckoning.launch
│ └──stdr_dead_reckoning_with_robot.launch
├── scripts
│ └──talker
├── src
│ └──stdr_dead_reckoning
│ └──talker_module.py
└── README.md
To use this package, ensure the following dependencies are installed:
Retrieve and prepare the STDR for building. Make a catkin workspace and make it the current working directory.
mkdir ‐p ~/stdr_ws/src
cd ~/stdr_ws/srcClone the STDR repository from GitHub (Noetic is the default branch).
git clone ‐b noetic-devel / https://github.com/cwru‐ecse‐376/stdr_simulator.gitPrepare to make the packages Change to the base of the catkin workspace.
cd ../Configure to use ROS manually
source /opt/ros/noetic/setup.bashEnsure all the dependencies are installed.
rosdep install -‐from‐paths src ‐i ‐y ‐rBuild the packages
catkin_makeAdd the newly built packages to the environment
source devel/setup.bashStart the STDR to test the installation.
roslaunch stdr_launchers server_with_map_and_gui_plus_robot git clone https://github.com/cwru-courses/ecse_476_s25_ixk238_stdr_dead_reckoning.git- Compile the workspace
catkin_make- Run workspace configuration to be used by ROS
source devel/setup.bash-
Launch the Dead Reckoning Navigation by using dead_reckoning.launch file :
Firstly, run the server_with_map_and_gui_plus_robot.launch in the background
roslaunch stdr_launchers server_with_map_and_gui_plus_robot.launch&Then, run the dead_reckoning.launch file
roslaunch stdr_dead_reckoning dead_reckoning.launchThese two lines will open the simulator run both server_with_map_and_gui_plus_robot node and dead_reckoning_talker node installed previously.
- Launch the Dead Reckoning Navigation by using dead_reckoning.launch file :
roslaunch stdr_dead_reckoning stdr_dead_reckoning_with_robot.launchThis one line will open the simulator run both server_with_map_and_gui_plus_robot node and dead_reckoning_talker node installed previously.
- When you run the roslaunch file, you will the output in the following Figure:

- As seen in the above terminal image, there is no error and the file can be launched correctly. We can see that the robot moved by set of instructions by using two main functions which publish Twist to cmd_vel topic. One of these functions is "move_forward". It sets the x axis of the linear velocity while "rotate_robot" sets the z axis of the angular velocity of the robot. In this way, robot moves to the requested position (1,14,0) approximaetly. The output lines "Rotating robot by ... radians at ... rad/s.." and "Moving forward by ... meters at ... m/s..." indicates that these functions are running, accordingly.