Skip to content

praingeard/research-track-final-assignment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 

Repository files navigation

research-track-final-assignment

This code implements several nodes for controlling a robot simulation. The user can either control the robot by giving a goal or by hand using keyboard input.

Documentation

Get the full documentation here

prerequisites

To run the code you need to install the teleop_twist_keyboard package ( sudo apt-get install ros-noetic-teleop-twist-keyboard ) and konsole ( sudo apt-get install konsole).

use

Copy the 2 packages in your ros workspace src folder. Compile with catkin_make. Run simulation using the command roslaunch robot_control_final_assignment sim.launch Run the nodes using the command roslaunch robot_control_final_assignment robot_launch.xml Input 1,2 or 3 to choose your control mode.

Nodes

angle_filter

This node takes a range as parameters and returns the laserscan /base_scan filtered on this range on a chosen topic.

Subscribed topics

  • /scan robot laserscan.

Published topics

  • /scan_topic filtered laserscan.

Parameters

  • min_angle(double) minimum angle of the chosen range.
  • max_angle(double) maximum angle of the chosen range.
  • scan_topic(string) topic name for the published scan.

control_node

This node publishes the desired twist of the robot on the /cmd_vel topic by correcting the one given by the teleop_twist_keyboard.

Subscribed topics

  • /right_scan robot right laserscan.
  • /left_scan robot left laserscan.
  • /front_scan robot front laserscan.
  • /cmd_vel current speed.

Published topics

  • /cmd_vel desired velocities.

Algorithm

The node stops the robot if it is going straight and the front wall is too close, or if it is turning into a wall.

ui_node

This node implements the 3 modes (control using move_base, control by keyboard with or without help)

Algorithm

The node waits for a user input (between 1 and 3) and calls the corresponding nodes.

move_base_position_node

This node publishes the desired goal using the move_base action server.It waits for a certain time the result and cancel the goal if it has not been reached.

Published topics

  • /move_base/cancel cancel the goal

flowchart of the code

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors