Difference between revisions of "Simulation"
Line 3: | Line 3: | ||
==Installation== | ==Installation== | ||
First check your current version of ROS by simply typing in the following command:<br /> | First check your current version of ROS by simply typing in the following command:<br /> | ||
− | < | + | <syntaxhighlight lang="bash" line='line'> |
− | + | rosversion -d | |
− | </ | + | </syntaxhighlight> |
Please consider that our recommended working version of ROS is Indigo. If needed, an installation guide for Indigo can be found at the following link: http://wiki.ros.org/indigo/Installation/Ubuntu | Please consider that our recommended working version of ROS is Indigo. If needed, an installation guide for Indigo can be found at the following link: http://wiki.ros.org/indigo/Installation/Ubuntu | ||
Before cloning, Some dependencies are needed if not already installed:<br /> | Before cloning, Some dependencies are needed if not already installed:<br /> | ||
− | < | + | <syntaxhighlight lang="bash" line='line'> |
− | + | sudo apt-get install ros-indigo-ros-control ros-indigo-ros-controllers ros-indigo-gazebo-ros ros-indigo-gazebo-ros-control ros-indigo-gazebo-ros-pkgs ros-indigo-controller-manager ros-indigo-gazebo-plugins ros-indigo-hector-gazebo ros-indigo-hector-gazebo-plugins ros-indigo-ackermann-msgs | |
− | </ | + | </syntaxhighlight> |
Next you should go ahead and create a catkin workspace:<br /> | Next you should go ahead and create a catkin workspace:<br /> | ||
− | < | + | <syntaxhighlight lang="bash" line='line'> |
− | + | source /opt/ros/indigo/setup.bash | |
− | + | mkdir -p ~/hamster_simulation/src | |
− | + | cd ~/hamster_simulation/src | |
− | + | catkin_init_workspace | |
− | </ | + | </syntaxhighlight> |
Now we can clone the Hamster simulation source code into the new workspace and make it:<br /> | Now we can clone the Hamster simulation source code into the new workspace and make it:<br /> | ||
− | < | + | <syntaxhighlight lang="bash" line='line'> |
− | + | git clone https://github.com/cogniteam/hamster_simulation.git | |
− | + | cd ~/hamster_simulation | |
− | + | catkim_make | |
− | </ | + | </syntaxhighlight> |
==Launching== | ==Launching== | ||
Before continuing, source your workspace.<br /> | Before continuing, source your workspace.<br /> | ||
<syntaxhighlight lang="bash" line='line'> | <syntaxhighlight lang="bash" line='line'> | ||
− | + | source ~/hamster_simulation/devel/setup.bash | |
</syntaxhighlight> | </syntaxhighlight> | ||
Revision as of 09:45, 27 February 2017
Hamster Simulation
Installation
First check your current version of ROS by simply typing in the following command:
<syntaxhighlight lang="bash" line='line'>
rosversion -d
</syntaxhighlight>
Please consider that our recommended working version of ROS is Indigo. If needed, an installation guide for Indigo can be found at the following link: http://wiki.ros.org/indigo/Installation/Ubuntu
Before cloning, Some dependencies are needed if not already installed:
<syntaxhighlight lang="bash" line='line'>
sudo apt-get install ros-indigo-ros-control ros-indigo-ros-controllers ros-indigo-gazebo-ros ros-indigo-gazebo-ros-control ros-indigo-gazebo-ros-pkgs ros-indigo-controller-manager ros-indigo-gazebo-plugins ros-indigo-hector-gazebo ros-indigo-hector-gazebo-plugins ros-indigo-ackermann-msgs
</syntaxhighlight>
Next you should go ahead and create a catkin workspace:
<syntaxhighlight lang="bash" line='line'>
source /opt/ros/indigo/setup.bash
mkdir -p ~/hamster_simulation/src
cd ~/hamster_simulation/src
catkin_init_workspace
</syntaxhighlight>
Now we can clone the Hamster simulation source code into the new workspace and make it:
<syntaxhighlight lang="bash" line='line'>
git clone https://github.com/cogniteam/hamster_simulation.git
cd ~/hamster_simulation
catkim_make
</syntaxhighlight>
Launching
Before continuing, source your workspace.
<syntaxhighlight lang="bash" line='line'>
source ~/hamster_simulation/devel/setup.bash
</syntaxhighlight>
The launch file contains hamster_vehicle.launch which runs one agent called agent1 You can add more agents by editing the launch file.
Also, the launch file launches a joystick node if any is connected as working on /dev/js*
To launch Gazebo, type in the following command:
$ roslaunch hamster_vehicle_gazebo hamster_vehicle.launch
Available Topics
You should see something like this: <agent> = agent1 on default
- Camera - /<agent>/image_raw/
- GPS - /<agent>/gps
- IMU - /<agent>/imu
- Lidar - /<agent>/scan_raw
- Speed Commands (Ackermann) - /<agent>/ackermann_cmd
<syntaxhighlight lang="python" line='line'>
def quickSort(arr):
less = []
pivotList = []
more = []
if len(arr) <= 1:
return arr
else:
pass
</syntaxhighlight>