Difference between revisions of "Marcelo-TurtleBot"

From robotica.unileon.es
Jump to: navigation, search
m
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
* '''Project Name:''' Navigation for the Turtlebot using ROS
 
* '''Project Name:''' Navigation for the Turtlebot using ROS
 +
* '''Author:'''  Marcelo de Souza
 +
* '''Email Addres:'''  bsi.marcelo@gmail.com
 +
* '''Academic Year:''' 2012-2013
 +
* '''Degree:''' Undergraduate
 +
* '''Tags:''' ROS, navigation, turtlebot
 +
* '''Technologies:''' Turtlebot, ROS, MYRA
 +
* '''Status:''' Finished
  
* '''Authors:'''  Marcelo de Souza
 
  
* '''Email Addres:'''  bsi.marcelo@gmail.com
+
----
  
* '''Academic Year:''' 2012-2013
+
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.
  
* '''Degree:''' Ing. Informática
+
----
  
* '''SVN Repository:'''  ----------
 
  
* '''Tags:''' ROS, navigation, turtlebot
+
=Preliminar steps=
  
* '''Technology:''' Turtlebot, ROS, MYRA
+
==Environment Configuration==
  
* '''State:''' Developing
+
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==
  
<hr>
+
<table>
  
 +
<tr>
 +
<td>Connect to the PC-robot</td>
 +
<td><syntaxhighlight lang=Bash>ssh turtlebot@IP_OF_PCROBOT</syntaxhighlight></td>
 +
</tr>
  
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.
+
<tr>
 +
<td>Start/stop the turtlebot service</td>
 +
<td><syntaxhighlight lang=Bash>sudo service turtlebot start/stop</syntaxhighlight></td>
 +
</tr>
 +
 
 +
<tr>
 +
<td>Execute the Turtlebot Dashboard</td>
 +
<td><syntaxhighlight lang=Bash>rosrun turtlebot_dashboard turtlebot_dashboard&</syntaxhighlight></td>
 +
</tr>
 +
 
 +
<tr>
 +
<td>Creating a package</td>
 +
<td><syntaxhighlight lang=Bash>roscreate-pkg PACKAGE_NAME std_msgs turtlebot_node geometry_msgs nav_msgs sensor_msgs image_transport roscpp</syntaxhighlight></td>
 +
</tr>
 +
 
 +
<tr>
 +
<td>Compiling the created package</td>
 +
<td><syntaxhighlight lang=Bash>rosmake PACKAGE_NAME</syntaxhighlight></td>
 +
</tr>
  
 +
<tr>
 +
<td>To compile a program (add in CMakeList.txt)</td>
 +
<td><syntaxhighlight lang=Bash>rosbuild_add_executable(PROGRAM_NAME src/PROGRAM_NAME.cpp)</syntaxhighlight></td>
 +
</tr>
  
<hr>
+
<tr>
 +
<td>Compile the programs added on CMakeList.txt</td>
 +
<td><syntaxhighlight lang=Bash>make</syntaxhighlight></td>
 +
</tr>
  
==Environment Configuration==
+
<tr>
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]].
+
<td>Starting the Gazebo simulator</td>
 +
<td><syntaxhighlight lang=Bash>roslaunch turtlebot_gazebo turtlebot_empty_world.launch</syntaxhighlight></td>
 +
</tr>
 +
 
 +
<tr>
 +
<td>Executing a program</td>
 +
<td><syntaxhighlight lang=Bash>rosrun PACKAGE_NAME PROGRAM_NAME</syntaxhighlight></td>
 +
</tr>
  
 +
<tr>
 +
<td>Copying a program from PC-Workstation to PC-Robot</td>
 +
<td><syntaxhighlight lang=Bash>scp PROGRAM_NAME.cpp turtlebot@IP_OF_TURTLEBOT:/home/turtlebot/ros_workspace/PACKAGE_NAME/src/PROGRAM_NAME.cpp</syntaxhighlight></td>
 +
</tr>
  
===Summary of usually commands===
+
<tr>
 +
<td>Starting the Teleoperator</td>
 +
<td><syntaxhighlight lang=Bash>roslaunch turtlebot_teleop keyboard_teleop.launch</syntaxhighlight></td>
 +
</tr>
  
<table>
 
 
<tr>
 
<tr>
<td>Nome comando</td>
+
<td>Starting the RVIZ software</td>
<td><source>comando code</source></td>
+
<td><syntaxhighlight lang=Bash>rosrun rviz rviz -d `rospack find turtlebot_navigation`/nav_rviz.vcg</syntaxhighlight></td>
 
</tr>
 
</tr>
 +
 
</table>
 
</table>
 +
 +
==File: .bashrc - content==
 +
 +
<syntaxhighlight lang=Bash>
 +
[...]
 +
 +
# 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
 +
</syntaxhighlight>

Latest revision as of 08:38, 25 June 2014

  • Project Name: Navigation for the Turtlebot using ROS
  • Author: Marcelo de Souza
  • Email Addres: bsi.marcelo@gmail.com
  • Academic Year: 2012-2013
  • Degree: Undergraduate
  • Tags: ROS, navigation, turtlebot
  • Technologies: Turtlebot, ROS, MYRA
  • Status: 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