Difference between revisions of "Marcelo-TurtleBot"

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