Marcelo-TurtleBot

From robotica.unileon.es
Revision as of 08:36, 25 June 2014 by Victorm (talk | contribs)

Jump to: navigation, search
  • Project Name: Navigation for the Turtlebot using ROS
  • Authors: Marcelo de Souza
  • Email Addres: bsi.marcelo@gmail.com
  • Academic Year: 2012-2013
  • Degree: Undergraduate
  • Tags: ROS, navigation, turtlebot
  • Technology: Turtlebot, ROS, MYRA
  • State: Finished



In this project, we will study some algorithms and behaviors of autonomous movement of theTurtlebot robot, implemented on the ROS platform. After analyzing and experiencing the algorithms used to the handling and studiy its operation, an optimization is proposed. This improvement is to use artificial intelligence (specifically fuzzy logic) to provide the robot more accurate reasoning.



Preliminar steps

Environment Configuration

The structure to operate with Turtlebot/ROS is quite simple, consisting of a computer workstation and a computer robot, which is coupled to the platform Turtlebot. Both computers must communicate in order to perform the desired directions. It is necessary to install the system and ROS previous configuration of these two computers. The Turtlebot netbook comes with the ROS system installed and ready for configuration. Therefore, is necessary to install ROS on the computer workstation and configure them. These steps can be found on this group, on the project Fernando-TFM-ROS02.

Summary of usually commands

Connect to the PC-robot
ssh turtlebot@IP_OF_PCROBOT
Start/stop the turtlebot service
sudo service turtlebot start/stop
Execute the Turtlebot Dashboard
rosrun turtlebot_dashboard turtlebot_dashboard&
Creating a package
roscreate-pkg PACKAGE_NAME std_msgs turtlebot_node geometry_msgs nav_msgs sensor_msgs image_transport roscpp
Compiling the created package
rosmake PACKAGE_NAME
To compile a program (add in CMakeList.txt)
rosbuild_add_executable(PROGRAM_NAME src/PROGRAM_NAME.cpp)
Compile the programs added on CMakeList.txt
make
Starting the Gazebo simulator
roslaunch turtlebot_gazebo turtlebot_empty_world.launch
Executing a program
rosrun PACKAGE_NAME PROGRAM_NAME
Copying a program from PC-Workstation to PC-Robot
scp PROGRAM_NAME.cpp turtlebot@IP_OF_TURTLEBOT:/home/turtlebot/ros_workspace/PACKAGE_NAME/src/PROGRAM_NAME.cpp
Starting the Teleoperator
roslaunch turtlebot_teleop keyboard_teleop.launch
Starting the RVIZ software
rosrun rviz rviz -d `rospack find turtlebot_navigation`/nav_rviz.vcg

File: .bashrc - content

[...]

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
    . /etc/bash_completion
fi

source /opt/ros/fuerte/setup.bash
#source /home/user/setup.sh
ROS_WORKSPACE=~/ros_workspace
ROS_PACKAGE_PATH=~/ros:/home/user/ros_workspace:/opt/ros/fuerte/stacks:/opt/ros/fuerte/share:/opt/ros/fuerte/stacks
export ROS_MASTER_URI=http://IP_OF_PCROBOT:11311
export ROS_HOSTNAME=IP_OF_PCWORKSTATION