Difference between revisions of "Marcelo-TurtleBot"
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 | ||
− | |||
− | + | ---- | |
− | + | 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== | ||
− | < | + | <table> |
+ | <tr> | ||
+ | <td>Connect to the PC-robot</td> | ||
+ | <td><syntaxhighlight lang=Bash>ssh turtlebot@IP_OF_PCROBOT</syntaxhighlight></td> | ||
+ | </tr> | ||
− | + | <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> | ||
− | < | + | <tr> |
+ | <td>Compile the programs added on CMakeList.txt</td> | ||
+ | <td><syntaxhighlight lang=Bash>make</syntaxhighlight></td> | ||
+ | </tr> | ||
− | == | + | <tr> |
− | + | <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> | ||
− | = | + | <tr> |
+ | <td>Starting the Teleoperator</td> | ||
+ | <td><syntaxhighlight lang=Bash>roslaunch turtlebot_teleop keyboard_teleop.launch</syntaxhighlight></td> | ||
+ | </tr> | ||
− | |||
<tr> | <tr> | ||
− | <td> | + | <td>Starting the RVIZ software</td> |
− | <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.
Contents
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