├── .github
└── workflows
│ └── manual.yml
├── CODEOWNERS
├── EKFLab.rviz
├── LICENSE
├── Outcome.png
├── README.md
├── RvizLaunch.launch
├── main
├── CMakeLists.txt
├── launch
│ └── main.launch
└── package.xml
├── odom_to_trajectory
├── CMakeLists.txt
├── README.md
├── launch
│ └── create_trajectory.launch
├── package.xml
└── scripts
│ ├── path_ekf_plotter.py
│ └── path_odom_plotter.py
├── robot_pose_ekf
├── CHANGELOG.rst
├── CMakeLists.txt
├── README.md
├── example_with_gps.launch
├── include
│ └── robot_pose_ekf
│ │ ├── nonlinearanalyticconditionalgaussianodo.h
│ │ ├── odom_estimation.h
│ │ └── odom_estimation_node.h
├── package.xml
├── plotekf.m
├── robot_pose_ekf.launch
├── scripts
│ └── wtf.py
├── src
│ ├── nonlinearanalyticconditionalgaussianodo.cpp
│ ├── odom_estimation.cpp
│ └── odom_estimation_node.cpp
├── srv
│ └── GetStatus.srv
└── test
│ ├── test_robot_pose_ekf.cpp
│ ├── test_robot_pose_ekf.launch
│ ├── test_robot_pose_ekf_zero_covariance.cpp
│ └── test_robot_pose_ekf_zero_covariance.launch
├── turtlebot
├── .gitignore
├── README.md
├── setup_create.sh
├── setup_kobuki.sh
├── turtlebot.rosinstall
├── turtlebot
│ ├── .cproject
│ ├── .project
│ ├── CHANGELOG.rst
│ ├── CMakeLists.txt
│ └── package.xml
├── turtlebot_bringup
│ ├── .cproject
│ ├── .project
│ ├── .pydevproject
│ ├── CHANGELOG.rst
│ ├── CMakeLists.txt
│ ├── env-hooks
│ │ └── 25.turtlebot.sh.em
│ ├── icons
│ │ └── turtlebot2.png
│ ├── interactions
│ │ ├── admin.interactions
│ │ ├── documentation.interactions
│ │ ├── pairing.interactions
│ │ └── visualisation.interactions
│ ├── launch
│ │ ├── 3dsensor.launch
│ │ ├── concert_client.launch
│ │ ├── concert_minimal.launch
│ │ ├── includes
│ │ │ ├── 3dsensor
│ │ │ │ ├── astra.launch.xml
│ │ │ │ ├── asus_xtion_pro.launch.xml
│ │ │ │ ├── asus_xtion_pro_offset.launch.xml
│ │ │ │ ├── kinect.launch.xml
│ │ │ │ └── r200.launch.xml
│ │ │ ├── capabilities.launch.xml
│ │ │ ├── create
│ │ │ │ └── mobile_base.launch.xml
│ │ │ ├── description.launch.xml
│ │ │ ├── kobuki
│ │ │ │ ├── bumper2pc.launch.xml
│ │ │ │ ├── mobile_base.launch.xml
│ │ │ │ └── safety_controller.launch.xml
│ │ │ ├── mobile_base.launch.xml
│ │ │ ├── netbook.launch.xml
│ │ │ ├── robot.launch.xml
│ │ │ ├── roomba
│ │ │ │ └── mobile_base.launch.xml
│ │ │ └── zeroconf.launch.xml
│ │ └── minimal.launch
│ ├── package.xml
│ ├── param
│ │ ├── 3dsensor.yaml
│ │ ├── capabilities
│ │ │ └── defaults_tb2.yaml
│ │ ├── create
│ │ │ ├── capability_providers.yaml
│ │ │ └── diagnostics.yaml
│ │ ├── defaults
│ │ │ ├── capability_providers.yaml
│ │ │ └── smoother.yaml
│ │ ├── kinect
│ │ │ └── capability_providers.yaml
│ │ ├── kobuki
│ │ │ ├── capability_providers.yaml
│ │ │ └── diagnostics.yaml
│ │ ├── mux.yaml
│ │ ├── preferred_rapp.yaml
│ │ ├── roomba
│ │ │ ├── capability_providers.yaml
│ │ │ └── diagnostics.yaml
│ │ ├── xtion
│ │ │ └── capability_providers.yaml
│ │ └── zeroconf.yaml
│ └── scripts
│ │ └── turtlebot_addr.py
├── turtlebot_capabilities.rosinstall
├── turtlebot_capabilities
│ ├── .cproject
│ ├── .project
│ ├── .pydevproject
│ ├── CHANGELOG.rst
│ ├── CMakeLists.txt
│ ├── interfaces
│ │ └── TurtleBotBringup.yaml
│ ├── package.xml
│ └── providers
│ │ ├── depthimage_to_laserscan.yaml
│ │ ├── diagnostics.yaml
│ │ ├── differential_mobile_base.yaml
│ │ ├── launch
│ │ ├── depthimage_to_laserscan.launch
│ │ ├── diagnostics.launch
│ │ ├── placeholder.py
│ │ ├── rgbd_sensor.launch
│ │ ├── robot_state_publisher.launch
│ │ ├── turtlebot2_bringup.launch
│ │ └── turtlebot_bringup.launch
│ │ ├── rgbd_sensor.yaml
│ │ ├── robot_state_publisher.yaml
│ │ ├── turtlebot2_bringup.yaml
│ │ └── turtlebot_bringup.yaml
├── turtlebot_description
│ ├── .cproject
│ ├── .project
│ ├── CHANGELOG.rst
│ ├── CMakeLists.txt
│ ├── README.md
│ ├── meshes
│ │ ├── sensors
│ │ │ ├── 0_xtion_pro.jpg
│ │ │ ├── astra.dae
│ │ │ ├── astra.jpg
│ │ │ ├── asus_xtion_pro_live.dae
│ │ │ ├── asus_xtion_pro_live.png
│ │ │ ├── kinect.dae
│ │ │ ├── kinect.jpg
│ │ │ ├── kinect.tga
│ │ │ ├── r200.dae
│ │ │ ├── r200.jpg
│ │ │ ├── r200_bracket.stl
│ │ │ ├── r200_bracket_end.stl
│ │ │ ├── sensor_pole.dae
│ │ │ ├── xtion_pro.jpg
│ │ │ ├── xtion_pro_camera.dae
│ │ │ ├── xtion_pro_camera.jpg
│ │ │ └── xtion_pro_stack.dae
│ │ └── stacks
│ │ │ ├── circles
│ │ │ ├── 68-02403-125_Spacer.dae
│ │ │ ├── 68-02421-8000-RA_Turtlebot_F-F_Standoff.dae
│ │ │ ├── 68-02421-8000-RA_Turtlebot_F-F_Standoff_color.png
│ │ │ ├── 68-04552-1000-RA_Turtlebot_M-F_Standoff.dae
│ │ │ ├── 68-04552-1000-RA_Turtlebot_M-F_Standoff_color.png
│ │ │ ├── 68-04552-2000-RA_Turtlebot_M-F_Standoff.dae
│ │ │ ├── 68-04552-2000-RA_Turtlebot_M-F_Standoff_color.png
│ │ │ ├── 68-04556-RA_Kinect_Standoff_Assy.3ds
│ │ │ ├── 68-04556-RA_Kinect_Standoff_Assy.dae
│ │ │ ├── plate_0_logo.dae
│ │ │ ├── plate_0_logo.tga
│ │ │ ├── plate_1_logo.dae
│ │ │ ├── plate_1_logo.tga
│ │ │ ├── plate_2_logo.dae
│ │ │ └── plate_2_logo.tga
│ │ │ └── hexagons
│ │ │ ├── images
│ │ │ ├── 1f_pole.jpg
│ │ │ ├── 1f_stack.jpg
│ │ │ ├── 2f_pole.jpg
│ │ │ ├── 2f_stack.jpg
│ │ │ ├── 3f_pole.jpg
│ │ │ ├── 3f_stack.jpg
│ │ │ ├── 3f_stack1.jpg
│ │ │ ├── kinect_pole.jpg
│ │ │ └── kinect_pole_old.jpg
│ │ │ ├── plate_bottom.dae
│ │ │ ├── plate_middle.dae
│ │ │ ├── plate_top.dae
│ │ │ ├── pole_bottom.dae
│ │ │ ├── pole_kinect.dae
│ │ │ ├── pole_middle.dae
│ │ │ └── pole_top.dae
│ ├── package.xml
│ ├── robots
│ │ ├── create_circles_asus_xtion_pro.urdf.xacro
│ │ ├── create_circles_kinect.urdf.xacro
│ │ ├── kobuki_hexagons_astra.urdf.xacro
│ │ ├── kobuki_hexagons_asus_xtion_pro.urdf.xacro
│ │ ├── kobuki_hexagons_asus_xtion_pro_offset.urdf.xacro
│ │ ├── kobuki_hexagons_kinect.urdf.xacro
│ │ ├── kobuki_hexagons_r200.urdf.xacro
│ │ ├── roomba_circles_asus_xtion_pro.urdf.xacro
│ │ └── roomba_circles_kinect.urdf.xacro
│ ├── scripts
│ │ └── calc_inertia.m
│ ├── test.launch
│ ├── test
│ │ └── test_urdf.cpp
│ └── urdf
│ │ ├── common_properties.urdf.xacro
│ │ ├── sensors
│ │ ├── astra.urdf.xacro
│ │ ├── asus_xtion_pro.urdf.xacro
│ │ ├── asus_xtion_pro_offset.urdf.xacro
│ │ ├── kinect.urdf.xacro
│ │ └── r200.urdf.xacro
│ │ ├── stacks
│ │ ├── circles.urdf.xacro
│ │ └── hexagons.urdf.xacro
│ │ ├── turtlebot_common_library.urdf.xacro
│ │ ├── turtlebot_gazebo.urdf.xacro
│ │ └── turtlebot_properties.urdf.xacro
└── turtlebot_teleop
│ ├── CHANGELOG.rst
│ ├── CMakeLists.txt
│ ├── README.md
│ ├── launch
│ ├── includes
│ │ └── velocity_smoother.launch.xml
│ ├── keyboard_teleop.launch
│ ├── logitech.launch
│ ├── ps3_teleop.launch
│ └── xbox360_teleop.launch
│ ├── package.xml
│ ├── param
│ └── mux.yaml
│ ├── scripts
│ └── turtlebot_teleop_key
│ └── src
│ └── turtlebot_joy.cpp
└── turtlebot_simulator
├── .gitignore
├── README.md
├── turtlebot_gazebo
├── .cproject
├── .project
├── CHANGELOG.rst
├── CMakeLists.txt
├── env-hooks
│ └── 25.turtlebot-gazebo.sh.em
├── launch
│ ├── amcl_demo.launch
│ ├── gmapping_demo.launch
│ ├── includes
│ │ ├── create.launch.xml
│ │ ├── kobuki.launch.xml
│ │ └── roomba.launch.xml
│ └── turtlebot_world.launch
├── maps
│ ├── playground.pgm
│ └── playground.yaml
├── package.xml
└── worlds
│ ├── corridor.world
│ ├── empty.world
│ └── playground.world
├── turtlebot_simulator.rosinstall
├── turtlebot_simulator
├── .cproject
├── .project
├── CHANGELOG.rst
├── CMakeLists.txt
└── package.xml
├── turtlebot_stage
├── .cproject
├── .project
├── CHANGELOG.rst
├── CMakeLists.txt
├── env-hooks
│ └── 25.turtlebot-stage.sh.em
├── launch
│ └── turtlebot_in_stage.launch
├── maps
│ ├── maze.png
│ ├── maze.yaml
│ ├── robopark2.bmp
│ ├── robopark_plan.yaml
│ └── stage
│ │ ├── maze.world
│ │ ├── robopark_plan.world
│ │ └── turtlebot.inc
├── package.xml
└── rviz
│ └── robot_navigation.rviz
└── turtlebot_stdr
├── .cproject
├── .project
├── .pydevproject
├── CHANGELOG.rst
├── CMakeLists.txt
├── documentation
└── architecture_overview.png
├── env-hooks
└── 25.turtlebot-stdr.sh.em
├── launch
├── includes
│ └── relays.launch.xml
└── turtlebot_in_stdr.launch
├── maps
├── frieburg.png
├── frieburg.yaml
├── hospital_section.png
├── hospital_section.yaml
├── mines.png
├── mines.yaml
├── robocup.png
├── robocup.yaml
├── simple_rooms.png
├── simple_rooms.yaml
├── sparse_obstacles.png
└── sparse_obstacles.yaml
├── nodes
└── tf_connector.py
├── package.xml
├── robot
└── turtlebot.yaml
└── rviz
└── robot_navigation.rviz
/.github/workflows/manual.yml:
--------------------------------------------------------------------------------
1 | # Workflow to ensure whenever a Github PR is submitted,
2 | # a JIRA ticket gets created automatically.
3 | name: Manual Workflow
4 |
5 | # Controls when the action will run.
6 | on:
7 | # Triggers the workflow on pull request events but only for the master branch
8 | pull_request_target:
9 | types: [opened, reopened]
10 |
11 | # Allows you to run this workflow manually from the Actions tab
12 | workflow_dispatch:
13 |
14 | jobs:
15 | test-transition-issue:
16 | name: Convert Github Issue to Jira Issue
17 | runs-on: ubuntu-latest
18 | steps:
19 | - name: Checkout
20 | uses: actions/checkout@master
21 |
22 | - name: Login
23 | uses: atlassian/gajira-login@master
24 | env:
25 | JIRA_BASE_URL: ${{ secrets.JIRA_BASE_URL }}
26 | JIRA_USER_EMAIL: ${{ secrets.JIRA_USER_EMAIL }}
27 | JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }}
28 |
29 | - name: Create NEW JIRA ticket
30 | id: create
31 | uses: atlassian/gajira-create@master
32 | with:
33 | project: CONUPDATE
34 | issuetype: Task
35 | summary: |
36 | Github PR [Assign the ND component] | Repo: ${{ github.repository }} | PR# ${{github.event.number}}
37 | description: |
38 | Repo link: https://github.com/${{ github.repository }}
39 | PR no. ${{ github.event.pull_request.number }}
40 | PR title: ${{ github.event.pull_request.title }}
41 | PR description: ${{ github.event.pull_request.description }}
42 | In addition, please resolve other issues, if any.
43 | fields: '{"components": [{"name":"Github PR"}], "customfield_16449":"https://classroom.udacity.com/", "customfield_16450":"Resolve the PR", "labels": ["github"], "priority":{"id": "4"}}'
44 |
45 | - name: Log created issue
46 | run: echo "Issue ${{ steps.create.outputs.issue }} was created"
47 |
--------------------------------------------------------------------------------
/CODEOWNERS:
--------------------------------------------------------------------------------
1 | * @udacity/active-public-content
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2018 Udacity
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/Outcome.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/udacity/RoboND-EKFLab/1acbf192d5e8bca11b3082d5b882030d63007dd5/Outcome.png
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | [](https://www.udacity.com/robotics)
2 |
3 | # RoboND-EKFLab
4 | In this lab, you will be applying an EKF ROS package to localize your robot inside a Gazebo environment. In the end, you will be able to drive the robot around in simulation and observe the `Odom` and `EKF` trajectories.
5 |
6 | ### Steps to Launch the Simulation
7 | Launch the simulation in the VM machine provided in Term1.
8 |
9 | #### Step 1 Create a Catkin Workspace
10 | ```sh
11 | $ mkdir -p /home/workspace/catkin_ws/src
12 | $ cd /home/workspace/catkin_ws/src
13 | $ catkin_init_workspace
14 | $ cd ..
15 | $ catkin_make
16 | ```
17 |
18 | #### Step 2 Perform a System Update/Upgrade
19 | ```sh
20 | $ apt-get update
21 | $ apt-get upgrade -y
22 | ```
23 |
24 | #### Step 3 Clone the Package in src
25 | ```sh
26 | $ cd /home/workspace/catkin_ws/src
27 | $ git clone https://github.com/udacity/RoboND-EKFLab
28 | ```
29 |
30 | #### Step 4 Edit the main.launch file
31 | Under main/launch, edit the main.launch file:
32 | ```html
33 | Delete this:
34 | Replace with:
35 | ```
36 |
37 | #### Step 5 Install Packages Dependancies
38 | ```sh
39 | $ cd /home/workspace/catkin_ws/
40 | $ source devel/setup.bash
41 | $ rosdep -i install turtlebot_gazebo
42 | $ rosdep -i install turtlebot_teleop
43 | ```
44 |
45 | #### Step 6 Build the Packages
46 | ```sh
47 | $ catkin_make
48 | $ source devel/setup.bash
49 | ```
50 |
51 | #### Step 7 Launch the main file
52 | ```sh
53 | $ roslaunch main main.launch
54 | ```
55 | Now, you should see Gazebo and rviz launching. Please note that Gazebo might take up to 3 min to launch!
56 |
57 |
58 | ### End Result
59 | In the terminal, use the keyboard commands(u-i-o-j-k-l-m-,-.) and drive the robot around. The `red` trajectory represents the `Odom path` whereas the `green` trajectory represents the `EKF path`.
60 |
61 |
62 | 
63 |
64 |
65 |
66 |
67 |
68 |
--------------------------------------------------------------------------------
/RvizLaunch.launch:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/main/package.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | main
4 | 0.0.0
5 | The main package
6 |
7 |
8 |
9 |
10 | root
11 |
12 |
13 |
14 |
15 |
16 | TODO
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 | catkin
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
--------------------------------------------------------------------------------
/odom_to_trajectory/README.md:
--------------------------------------------------------------------------------
1 | [](https://www.udacity.com/robotics)
2 |
3 | # odom_to_trajectory
4 | A ROS Package that subscribes to odometry values and publishes trajectories. This package will append the odometry values generated over time into vector of values.
5 |
6 | ### Nodes
7 | The package contains two nodes
8 | 1. **path_odom_plotter**: Subscribes to 2D unfiltered odometry, appends the robot last 1000 poses, and publishes the robot unfiltered trajectory.
9 | * Script File: path_odom_plotter.py
10 | * Subscriber: "/odom"
11 | * Publisher: "/odompath"
12 | 2. **path_ekf_plotter**: Subscribes to 3D filtered odometry, appends the robot last 1000 poses, and publishes the robot filtered trajectory.
13 | * Script File: path_ekf_plotter.py
14 | * Subscriber: "/robot_pose_ekf/odom_combined"
15 | * Publisher: "/ekfpath"
16 |
17 | ### Steps to launch the nodes
18 | #### Step1: Install the package
19 | ```sh
20 | $ cd /home/workspace/catkin_ws/src
21 | $ git clone https://github.com/udacity/odom_to_trajectory
22 | ```
23 | #### Step2: Build the package
24 | ```sh
25 | $ cd /home/workspace/catkin_ws
26 | $ catkin_make
27 | $ source devel/setup.bash
28 | ```
29 | #### Step3: Launch the nodes
30 | ```sh
31 | $ roslaunch odom_to_trajectory create_trajectory.launch
32 | ```
33 |
--------------------------------------------------------------------------------
/odom_to_trajectory/launch/create_trajectory.launch:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/odom_to_trajectory/package.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | odom_to_trajectory
4 | 0.0.0
5 | The odom_to_trajectory package
6 |
7 |
8 |
9 |
10 | robond
11 |
12 |
13 |
14 |
15 |
16 | TODO
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 | catkin
52 | roscpp
53 | rospy
54 | std_msgs
55 | roscpp
56 | rospy
57 | std_msgs
58 | roscpp
59 | rospy
60 | std_msgs
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
--------------------------------------------------------------------------------
/robot_pose_ekf/CHANGELOG.rst:
--------------------------------------------------------------------------------
1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 | Changelog for package robot_pose_ekf
3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4 |
5 | 1.14.2 (2017-08-14)
6 | -------------------
7 |
8 | 1.14.1 (2017-08-07)
9 | -------------------
10 | * Fix CMakeLists + package.xmls (`#548 `_)
11 | * Initialization of filter with GPS and odometry.
12 | * Contributors: Martin Günther, Vincent Rabaud, azaganidis
13 |
14 | 1.14.0 (2016-05-20)
15 | -------------------
16 | * add to install script/ directory
17 | * add execute bit to scripts/wtf.py
18 | * robot_pose_ekf/src/odom_estimation_node.cpp: add to print gps sensor and used/not used in getStatus
19 | * Contributors: Kei Okada
20 |
21 | 1.13.1 (2015-10-29)
22 | -------------------
23 |
24 | 1.13.0 (2015-03-17)
25 | -------------------
26 |
27 | 1.12.0 (2015-02-04)
28 | -------------------
29 | * update maintainer email
30 | * Contributors: Michael Ferguson
31 |
32 | 1.11.15 (2015-02-03)
33 | --------------------
34 | * Fix bfl includes in robot_pose_ekf
35 | * Contributors: Jochen Sprickerhof
36 |
37 | 1.11.14 (2014-12-05)
38 | --------------------
39 |
40 | 1.11.13 (2014-10-02)
41 | --------------------
42 |
43 | 1.11.12 (2014-10-01)
44 | --------------------
45 | * Fix EKF topic name so that it is unaffected by tf_prefix
46 | * Install launch files, closes `#249 `_
47 | * Fixed hardcoded tf frames issue by fetching base_footprint_frame_ value from param server and using it in OdomEstimation filter
48 | * Fixed hardcoded tf frames issue by adding variables for output and base_footprint frames along with mutator methods
49 | * Contributors: Jochen Sprickerhof, Michael Ferguson, Murilo FM
50 |
51 | 1.11.11 (2014-07-23)
52 | --------------------
53 |
54 | 1.11.10 (2014-06-25)
55 | --------------------
56 |
57 | 1.11.9 (2014-06-10)
58 | -------------------
59 | * fix robot_pose_ekf test
60 | * Contributors: Michael Ferguson
61 |
62 | 1.11.8 (2014-05-21)
63 | -------------------
64 | * fix build, was broken by `#175 `_
65 | * Contributors: Michael Ferguson
66 |
67 | 1.11.7 (2014-05-21)
68 | -------------------
69 | * Even longer Time limit for EKF Test
70 | * make rostest in CMakeLists optional
71 | * Contributors: David Lu!!, Lukas Bulwahn
72 |
73 | 1.11.5 (2014-01-30)
74 | -------------------
75 | * check for CATKIN_ENABLE_TESTING
76 | * Download test data from download.ros.org instead of willow
77 | * Change maintainer from Hersh to Lu
78 |
79 | 1.11.4 (2013-09-27)
80 | -------------------
81 | * Package URL Updates
82 | * upgrade depracated download data calls.
83 | * use tf_prefix to lookup and send transforms
84 |
--------------------------------------------------------------------------------
/robot_pose_ekf/README.md:
--------------------------------------------------------------------------------
1 | [](https://www.udacity.com/robotics)
2 |
3 | # robot_pose_ekf package
4 | The [robot_pose_ekf](http://wiki.ros.org/robot_pose_ekf) ROS package applies sensor fusion on the robot IMU and odometry values to estimate its 3D pose.
5 |
6 | ### Nodes
7 | The package contains a single node
8 | 1. **robot_pose_ekf**: Implements an Extended Kalman Filter, subscribes to robot measurements, and publishes a filtered 3D pose.
9 | * Script File: wtf.py
10 | * Subscriber: "/odom", "/imu_data", and "/vo "
11 | * Publisher: "/robot_pose_ekf/odom_combined"
12 |
13 | ### Steps to launch the nodes
14 | #### Step1: Install the package
15 | ```sh
16 | $ cd /home/workspace/catkin_ws/src/
17 | $ git clone https://github.com/udacity/robot_pose_ekf
18 | ```
19 | #### Step2: Edit the robot_pose_ekf.launch file
20 | ```html
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 | ```
38 | #### Step3: Build the package
39 | $ cd /home/workspace/catkin_ws
40 | $ catkin_make
41 | $ source devel/setup.bash
42 | #### Step4: Launch the node
43 | $ roslaunch robot_pose_ekf robot_pose_ekf.launch
44 |
--------------------------------------------------------------------------------
/robot_pose_ekf/example_with_gps.launch:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/robot_pose_ekf/include/robot_pose_ekf/nonlinearanalyticconditionalgaussianodo.h:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2008 Wim Meeussen
2 | //
3 | // This program is free software; you can redistribute it and/or modify
4 | // it under the terms of the GNU Lesser General Public License as published by
5 | // the Free Software Foundation; either version 2.1 of the License, or
6 | // (at your option) any later version.
7 | //
8 | // This program is distributed in the hope that it will be useful,
9 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 | // GNU Lesser General Public License for more details.
12 | //
13 | // You should have received a copy of the GNU Lesser General Public License
14 | // along with this program; if not, write to the Free Software
15 | // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
16 | //
17 |
18 |
19 | #ifndef __NON_LINEAR_SYSTEM_CONDITIONAL_GAUSSIAN_ODO__
20 | #define __NON_LINEAR_SYSTEM_CONDITIONAL_GAUSSIAN_ODO__
21 |
22 | #include
23 |
24 | namespace BFL
25 | {
26 | /// Non Linear Conditional Gaussian
27 | /**
28 | - \f$ \mu = Matrix[1] . ConditionalArguments[0] +
29 | Matrix[2]. ConditionalArguments[1] + ... + Noise.\mu \f$
30 | - Covariance is independent of the ConditionalArguments, and is
31 | the covariance of the Noise pdf
32 | */
33 | class NonLinearAnalyticConditionalGaussianOdo : public AnalyticConditionalGaussianAdditiveNoise
34 | {
35 | public:
36 | /// Constructor
37 | /** @pre: Every Matrix should have the same amount of rows!
38 | This is currently not checked. The same goes for the number
39 | of columns, which should be equal to the number of rows of
40 | the corresponding conditional argument!
41 | @param additiveNoise Pdf representing the additive Gaussian uncertainty
42 | */
43 | NonLinearAnalyticConditionalGaussianOdo( const Gaussian& additiveNoise);
44 |
45 | /// Destructor
46 | virtual ~NonLinearAnalyticConditionalGaussianOdo();
47 |
48 | // redefine virtual functions
49 | virtual MatrixWrapper::ColumnVector ExpectedValueGet() const;
50 | virtual MatrixWrapper::Matrix dfGet(unsigned int i) const;
51 |
52 | private:
53 | mutable MatrixWrapper::Matrix df;
54 | };
55 |
56 | } // End namespace BFL
57 |
58 | #endif //
59 |
--------------------------------------------------------------------------------
/robot_pose_ekf/package.xml:
--------------------------------------------------------------------------------
1 |
2 | robot_pose_ekf
3 | 1.14.2
4 |
5 |
6 | The Robot Pose EKF package is used to estimate the 3D pose of a robot, based on (partial) pose measurements coming from different sources. It uses an extended Kalman filter with a 6D model (3D position and 3D orientation) to combine measurements from wheel odometry, IMU sensor and visual odometry. The basic idea is to offer loosely coupled integration with different sensors, where sensor signals are received as ROS messages.
7 |
8 |
9 | Wim Meeussen
10 | contradict@gmail.com
11 | David V. Lu!!
12 | Michael Ferguson
13 | BSD
14 | http://wiki.ros.org/robot_pose_ekf
15 |
16 | catkin
17 |
18 | message_generation
19 | roscpp
20 | bfl
21 | std_msgs
22 | geometry_msgs
23 | sensor_msgs
24 | nav_msgs
25 | tf
26 |
27 | message_runtime
28 | roscpp
29 | bfl
30 | std_msgs
31 | geometry_msgs
32 | sensor_msgs
33 | nav_msgs
34 | tf
35 |
36 | rosbag
37 | rostest
38 |
39 |
--------------------------------------------------------------------------------
/robot_pose_ekf/plotekf.m:
--------------------------------------------------------------------------------
1 | load /tmp/odom_file.txt;
2 | %load vo_file.txt;
3 | load /tmp/corr_file.txt;
4 | load /tmp/gps_file.txt;
5 | load /tmp/imu_file.txt;
6 |
7 | figure;
8 | hold on;
9 | axis equal;
10 | plot(odom_file(:,2), odom_file(:,3),'b');
11 | %plot(vo_file(:,2),vo_file(:,3),'g');
12 | plot(corr_file(:,2), corr_file(:,3),'r');
13 | plot(gps_file(:,2), gps_file(:,3),'k');
14 | legend('Wheel Odometry', 'Filter output', 'GPS Measurements');
15 | %legend('Wheel Odometry','Visual Odometry', 'Filter output', 'GPS Measurements');
16 | %legend('Wheel Odometry','Visual Odometry', 'Filter output');
17 | hold off;
18 |
19 | figure;
20 | subplot(3,1,1)
21 | hold on;
22 | plot(odom_file(:,1),odom_file(:,2),'b');
23 | %plot(vo_file(:,1),vo_file(:,2),'g');
24 | plot(corr_file(:,1),corr_file(:,2),'r');
25 | plot(gps_file(:,1), gps_file(:,2), 'k');
26 | legend('Wheel Odometry', 'Filter output', 'GPS Measurements');
27 | %legend('Wheel Odometry','Visual Odometry', 'Filter output', 'GPS Measurements');
28 | %legend('Wheel Odometry','Visual Odometry', 'Filter output');
29 | subplot(3,1,2)
30 | hold on;
31 | plot(odom_file(:,1),odom_file(:,3),'b');
32 | %plot(vo_file(:,1),vo_file(:,3),'g');
33 | plot(corr_file(:,1),corr_file(:,3),'r');
34 | plot(gps_file(:,1), gps_file(:,3), 'k');
35 | legend('Wheel Odometry', 'Filter output', 'GPS Measurements');
36 | %legend('Wheel Odometry','Visual Odometry', 'Filter output', 'GPS Measurements');
37 | %legend('Wheel Odometry','Visual Odometry', 'Filter output');
38 |
39 | subplot(3,1,3)
40 | hold on;
41 | plot(odom_file(:,1),odom_file(:,4),'b');
42 | %plot(vo_file(:,1),vo_file(:,7),'g');
43 | plot(corr_file(:,1),corr_file(:,7),'r');
44 | plot(imu_file(:,1), imu_file(:,2), 'k');
45 | legend('Wheel Odometry', 'Filter output', 'IMU Measurements');
46 | %legend('Wheel Odometry','Visual Odometry', 'Filter output', 'IMU Measurements');
47 |
48 |
49 |
50 | error_odom = sqrt( (odom_file(1,2)-odom_file(end,2))^2 + (odom_file(1,3)-odom_file(end,3))^2 )
51 | %error_vo = sqrt( (vo_file(1,2)-vo_file(end,2))^2 + (vo_file(1,3)-vo_file(end,3))^2 )
52 | error_corr = sqrt( (corr_file(1,2)-corr_file(end,2))^2 + (corr_file(1,3)-corr_file(end,3))^2 )
53 | error_gps = sqrt( (gps_file(1,2)-gps_file(end,2))^2 + (gps_file(1,3)-gps_file(end,3))^2 )
54 |
--------------------------------------------------------------------------------
/robot_pose_ekf/robot_pose_ekf.launch:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/robot_pose_ekf/scripts/wtf.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 |
3 | import rospy
4 | from robot_pose_ekf.srv import GetStatus, GetStatusRequest
5 |
6 | if __name__ == '__main__':
7 | rospy.init_node('spawner', anonymous=True)
8 | print 'looking for node robot_pose_ekf...'
9 | rospy.wait_for_service('robot_pose_ekf/get_status')
10 |
11 | s = rospy.ServiceProxy('robot_pose_ekf/get_status', GetStatus)
12 | resp = s.call(GetStatusRequest())
13 | print resp.status
14 |
--------------------------------------------------------------------------------
/robot_pose_ekf/src/nonlinearanalyticconditionalgaussianodo.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2008 Wim Meeussen
2 | //
3 | // This program is free software; you can redistribute it and/or modify
4 | // it under the terms of the GNU Lesser General Public License as published by
5 | // the Free Software Foundation; either version 2.1 of the License, or
6 | // (at your option) any later version.
7 | //
8 | // This program is distributed in the hope that it will be useful,
9 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 | // GNU Lesser General Public License for more details.
12 | //
13 | // You should have received a copy of the GNU Lesser General Public License
14 | // along with this program; if not, write to the Free Software
15 | // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
16 | //
17 |
18 | #include
19 | #include // Wrapper around several rng libraries
20 | #define NUMCONDARGUMENTS_MOBILE 2
21 |
22 | namespace BFL
23 | {
24 | using namespace MatrixWrapper;
25 |
26 |
27 | NonLinearAnalyticConditionalGaussianOdo::NonLinearAnalyticConditionalGaussianOdo(const Gaussian& additiveNoise)
28 | : AnalyticConditionalGaussianAdditiveNoise(additiveNoise,NUMCONDARGUMENTS_MOBILE),
29 | df(6,6)
30 | {
31 | // initialize df matrix
32 | for (unsigned int i=1; i<=6; i++){
33 | for (unsigned int j=1; j<=6; j++){
34 | if (i==j) df(i,j) = 1;
35 | else df(i,j) = 0;
36 | }
37 | }
38 | }
39 |
40 |
41 | NonLinearAnalyticConditionalGaussianOdo::~NonLinearAnalyticConditionalGaussianOdo(){}
42 |
43 | ColumnVector NonLinearAnalyticConditionalGaussianOdo::ExpectedValueGet() const
44 | {
45 | ColumnVector state = ConditionalArgumentGet(0);
46 | ColumnVector vel = ConditionalArgumentGet(1);
47 | state(1) += cos(state(6)) * vel(1);
48 | state(2) += sin(state(6)) * vel(1);
49 | state(6) += vel(2);
50 | return state + AdditiveNoiseMuGet();
51 | }
52 |
53 | Matrix NonLinearAnalyticConditionalGaussianOdo::dfGet(unsigned int i) const
54 | {
55 | if (i==0)//derivative to the first conditional argument (x)
56 | {
57 | double vel_trans = ConditionalArgumentGet(1)(1);
58 | double yaw = ConditionalArgumentGet(0)(6);
59 |
60 | df(1,3)=-vel_trans*sin(yaw);
61 | df(2,3)= vel_trans*cos(yaw);
62 |
63 | return df;
64 | }
65 | else
66 | {
67 | if (i >= NumConditionalArgumentsGet())
68 | {
69 | cerr << "This pdf Only has " << NumConditionalArgumentsGet() << " conditional arguments\n";
70 | exit(-BFL_ERRMISUSE);
71 | }
72 | else{
73 | cerr << "The df is not implemented for the" <
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/robot_pose_ekf/test/test_robot_pose_ekf_zero_covariance.launch:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/turtlebot/.gitignore:
--------------------------------------------------------------------------------
1 | .settings
2 | bin
3 | build
4 | lib
5 | *.swp
6 | *.swo
7 | *.pyc
8 |
--------------------------------------------------------------------------------
/turtlebot/README.md:
--------------------------------------------------------------------------------
1 | turtlebot
2 | =========
3 |
4 | The turtlebot stack provides all the basic drivers for running and using a [TurtleBot](http://turtlebot.com) with [ROS](http://www.ros.org).
5 |
6 | ROS Wiki : (http://www.ros.org/wiki/Robots/TurtleBot)
7 |
8 |
9 |
10 |
11 | 
12 |
--------------------------------------------------------------------------------
/turtlebot/setup_create.sh:
--------------------------------------------------------------------------------
1 | # This configures the environment variables for a create based turtlebot
2 | # running the Turtlebot 2.0 software. This is necessary to run after
3 | # setup.bash to ensure the create drivers and nodes are all correctly launched.
4 | #
5 | # You may wish to set the 3d sensor to asus_xtion_pro if you do not have a kinect
6 | # though. While the kinect settings work for the asus in terms of 3d sensing (openni
7 | # handles the abstraction) the asus settiing makes sure the mesh shown in rviz/gazebo
8 | # is the asus.
9 |
10 | export TURTLEBOT_BASE=create
11 | export TURTLEBOT_STACKS=circles
12 | export TURTLEBOT_3D_SENSOR=kinect
13 | export TURTLEBOT_SIMULATION=false
14 |
--------------------------------------------------------------------------------
/turtlebot/setup_kobuki.sh:
--------------------------------------------------------------------------------
1 | # This configures the environment variables for a kobuki based turtlebot.
2 | # Currently this script isn't actually needed as the values below are
3 | # defaults.
4 | #
5 | # You may wish to set the 3d sensor to asus_xtion_pro if you do not have a kinect
6 | # though. While the kinect settings work for the asus in terms of 3d sensing (openni
7 | # handles the abstraction) the asus settiing makes sure the mesh shown in rviz/gazebo
8 | # is the asus.
9 |
10 | export TURTLEBOT_BASE=kobuki
11 | export TURTLEBOT_STACKS=hexagons
12 | export TURTLEBOT_3D_SENSOR=kinect
13 | export TURTLEBOT_SIMULATION=false
14 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot.rosinstall:
--------------------------------------------------------------------------------
1 | ##############################################################################
2 | #
3 | # Source installation instructions at:
4 | #
5 | # http://www.ros.org/wiki/turtlebot/Tutorials/hydro/Source%20Installation
6 | #
7 | ##############################################################################
8 |
9 | # Make sure to install these ROCON packages as well:
10 | # https://raw.github.com/robotics-in-concert/rocon/indigo/rocon_app_platform.rosinstall
11 |
12 | # Kobuki / Yujin stacks
13 |
14 | - git:
15 | uri: https://github.com/yujinrobot/kobuki_desktop.git
16 | local-name: kobuki_desktop
17 | version: indigo
18 |
19 | - git:
20 | uri: https://github.com/yujinrobot/yocs_msgs.git
21 | local-name: yocs_msgs
22 | version: indigo
23 |
24 | - git:
25 | uri: https://github.com/yujinrobot/yujin_ocs.git
26 | local-name: yujin_ocs
27 | version: indigo
28 |
29 | - git:
30 | uri: https://github.com/yujinrobot/kobuki_msgs.git
31 | local-name: kobuki_msgs
32 | version: indigo
33 |
34 | - git:
35 | uri: https://github.com/yujinrobot/kobuki_core.git
36 | local-name: kobuki_core
37 | version: indigo
38 |
39 | - git:
40 | uri: https://github.com/yujinrobot/kobuki.git
41 | local-name: kobuki
42 | version: indigo
43 |
44 | # Create stacks
45 |
46 | - git:
47 | uri: https://github.com/turtlebot/turtlebot_create.git
48 | local-name: turtlebot_create
49 | version: indigo
50 |
51 | - git:
52 | uri: https://github.com/turtlebot/turtlebot_create_desktop.git
53 | local-name: turtlebot_create_desktop
54 | version: indigo
55 |
56 | # Turtlebot stacks
57 |
58 | - git:
59 | uri: https://github.com/turtlebot/turtlebot_msgs.git
60 | local-name: turtlebot_msgs
61 | version: indigo
62 |
63 | - git:
64 | uri: https://github.com/turtlebot/turtlebot.git
65 | local-name: turtlebot
66 | version: indigo
67 |
68 | - git:
69 | uri: https://github.com/turtlebot/turtlebot_simulator.git
70 | local-name: turtlebot_simulator
71 | version: indigo
72 |
73 | - git:
74 | uri: https://github.com/turtlebot/turtlebot_apps.git
75 | local-name: turtlebot_apps
76 | version: indigo
77 |
78 | - git:
79 | uri: https://github.com/turtlebot/turtlebot_interactions.git
80 | local-name: turtlebot_interactions
81 | version: indigo
82 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | turtlebot
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.cdt.managedbuilder.core.genmakebuilder
10 | clean,full,incremental,
11 |
12 |
13 | ?name?
14 |
15 |
16 |
17 | org.eclipse.cdt.make.core.append_environment
18 | true
19 |
20 |
21 | org.eclipse.cdt.make.core.autoBuildTarget
22 | all
23 |
24 |
25 | org.eclipse.cdt.make.core.buildArguments
26 |
27 |
28 |
29 | org.eclipse.cdt.make.core.buildCommand
30 | make
31 |
32 |
33 | org.eclipse.cdt.make.core.cleanBuildTarget
34 | clean
35 |
36 |
37 | org.eclipse.cdt.make.core.contents
38 | org.eclipse.cdt.make.core.activeConfigSettings
39 |
40 |
41 | org.eclipse.cdt.make.core.enableAutoBuild
42 | false
43 |
44 |
45 | org.eclipse.cdt.make.core.enableCleanBuild
46 | true
47 |
48 |
49 | org.eclipse.cdt.make.core.enableFullBuild
50 | true
51 |
52 |
53 | org.eclipse.cdt.make.core.fullBuildTarget
54 | all
55 |
56 |
57 | org.eclipse.cdt.make.core.stopOnError
58 | true
59 |
60 |
61 | org.eclipse.cdt.make.core.useDefaultBuildCmd
62 | true
63 |
64 |
65 |
66 |
67 | org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
68 | full,incremental,
69 |
70 |
71 |
72 |
73 |
74 | org.eclipse.cdt.core.cnature
75 | org.eclipse.cdt.core.ccnature
76 | org.eclipse.cdt.managedbuilder.core.managedBuildNature
77 | org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
78 |
79 |
80 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot/CHANGELOG.rst:
--------------------------------------------------------------------------------
1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 | Changelog for package turtlebot
3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4 |
5 | 2.4.2 (2016-12-22)
6 | ------------------
7 |
8 | 2.4.1 (2016-12-22)
9 | ------------------
10 |
11 | 2.4.0 (2016-11-01)
12 | ------------------
13 |
14 | 2.3.12 (2016-06-27)
15 | -------------------
16 |
17 | 2.3.11 (2015-04-15)
18 | -------------------
19 |
20 | 2.3.10 (2015-04-02)
21 | -------------------
22 |
23 | 2.3.9 (2015-03-30)
24 | ------------------
25 |
26 | 2.3.8 (2015-03-23)
27 | ------------------
28 |
29 | 2.3.7 (2015-03-02)
30 | ------------------
31 |
32 | 2.3.6 (2015-02-27)
33 | ------------------
34 |
35 | 2.3.5 (2015-01-12)
36 | ------------------
37 |
38 | 2.3.4 (2015-01-07)
39 | ------------------
40 |
41 | 2.3.3 (2015-01-05)
42 | ------------------
43 |
44 | 2.3.2 (2014-12-30)
45 | ------------------
46 | * cleanup metapackage. add teleop and remove laptop battery_monitor
47 | * Contributors: Jihoon Lee
48 |
49 | 2.3.1 (2014-12-30)
50 | ------------------
51 |
52 | 2.3.0 (2014-11-30)
53 | ------------------
54 | * migrate linux_hardware as linux_peripheral_interfaces repo
55 | * adds turtlebot_capabilities package and related changes
56 | * Contributors: Jihoon Lee, Marcus Liebhardt
57 |
58 | 2.2.2 (2013-10-14)
59 | ------------------
60 |
61 | 2.2.1 (2013-09-14)
62 | ------------------
63 | * CMake logic bugfixes.
64 |
65 | 2.2.0 (2013-08-29)
66 | ------------------
67 | * Changelogs at package level.
68 | * Add eclipse project files.
69 |
70 | Release 2.1.x - hydro, unstable
71 | ===============================
72 |
73 | 2.1.1 (2013-08-06)
74 | ------------------
75 |
76 | 2.1.0 (2013-07-15)
77 | ------------------
78 | * Remove obsolete turtlebot_app_manager, as on Hydro we use rocon_app_manager
79 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8.3)
2 | project(turtlebot)
3 | find_package(catkin REQUIRED)
4 | catkin_metapackage()
5 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot/package.xml:
--------------------------------------------------------------------------------
1 |
2 | turtlebot
3 | 2.4.2
4 |
5 | The turtlebot meta package provides all the basic drivers for running and using a TurtleBot.
6 |
7 | Tully Foote
8 | Michael Ferguson
9 | Melonee Wise
10 | Daniel Stonier
11 | Tully Foote
12 | Michael Ferguson
13 | Melonee Wise
14 | BSD
15 | http://ros.org/wiki/turtlebot
16 | https://github.com/turtlebot/turtlebot
17 | https://github.com/turtlebot/turtlebot/issues
18 |
19 | catkin
20 |
21 | turtlebot_bringup
22 | turtlebot_capabilities
23 | turtlebot_description
24 | turtlebot_teleop
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | turtlebot_bringup
4 |
5 |
6 |
7 |
8 |
9 | org.python.pydev.PyDevBuilder
10 |
11 |
12 |
13 |
14 | org.eclipse.cdt.managedbuilder.core.genmakebuilder
15 | clean,full,incremental,
16 |
17 |
18 | ?name?
19 |
20 |
21 |
22 | org.eclipse.cdt.make.core.append_environment
23 | true
24 |
25 |
26 | org.eclipse.cdt.make.core.autoBuildTarget
27 | all
28 |
29 |
30 | org.eclipse.cdt.make.core.buildArguments
31 |
32 |
33 |
34 | org.eclipse.cdt.make.core.buildCommand
35 | make
36 |
37 |
38 | org.eclipse.cdt.make.core.cleanBuildTarget
39 | clean
40 |
41 |
42 | org.eclipse.cdt.make.core.contents
43 | org.eclipse.cdt.make.core.activeConfigSettings
44 |
45 |
46 | org.eclipse.cdt.make.core.enableAutoBuild
47 | false
48 |
49 |
50 | org.eclipse.cdt.make.core.enableCleanBuild
51 | true
52 |
53 |
54 | org.eclipse.cdt.make.core.enableFullBuild
55 | true
56 |
57 |
58 | org.eclipse.cdt.make.core.fullBuildTarget
59 | all
60 |
61 |
62 | org.eclipse.cdt.make.core.stopOnError
63 | true
64 |
65 |
66 | org.eclipse.cdt.make.core.useDefaultBuildCmd
67 | true
68 |
69 |
70 |
71 |
72 | org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
73 | full,incremental,
74 |
75 |
76 |
77 |
78 |
79 | org.eclipse.cdt.core.cnature
80 | org.eclipse.cdt.core.ccnature
81 | org.eclipse.cdt.managedbuilder.core.managedBuildNature
82 | org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
83 | org.python.pydev.pythonNature
84 |
85 |
86 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/.pydevproject:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Default
6 | python 2.7
7 |
8 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8.3)
2 | project(turtlebot_bringup)
3 |
4 | find_package(catkin REQUIRED COMPONENTS)
5 |
6 | catkin_package()
7 |
8 | catkin_add_env_hooks(25.turtlebot SHELLS sh DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/env-hooks)
9 |
10 | install(
11 | PROGRAMS
12 | scripts/turtlebot_addr.py
13 | DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
14 | )
15 |
16 | install(DIRECTORY launch
17 | DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
18 | )
19 |
20 | install(DIRECTORY param
21 | DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
22 | )
23 |
24 | install(DIRECTORY icons
25 | DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
26 | )
27 |
28 | install(DIRECTORY interactions
29 | DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
30 | )
31 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/env-hooks/25.turtlebot.sh.em:
--------------------------------------------------------------------------------
1 | # Set some sane defaults for the turtlebot launch environment
2 |
3 | ##Documentation:
4 | # The colon command simply has its arguments evaluated and then succeeds.
5 | # It is the original shell comment notation (before '#' to end of line). For a long time, Bourne shell scripts had a colon as the first character.
6 | # The C Shell would read a script and use the first character to determine whether it was for the C Shell (a '#' hash) or the Bourne shell (a ':' colon).
7 | # Then the kernel got in on the act and added support for '#!/path/to/program' and the Bourne shell got '#' comments, and the colon convention went by the wayside.
8 | # But if you come across a script that starts with a colon (Like this one), now you will know why. ~ Jonathan Leffler
9 |
10 | : ${TURTLEBOT_BASE:=kobuki} # create, roomba
11 | : ${TURTLEBOT_BATTERY:=/sys/class/power_supply/BAT0} # /proc/acpi/battery/BAT0 in 2.6 or earlier kernels, /sys/class/power_supply/ (kernels 3.0+)
12 | : ${TURTLEBOT_STACKS:=hexagons} # circles, hexagons
13 | : ${TURTLEBOT_3D_SENSOR:=asus_xtion_pro} # kinect, asus_xtion_pro, asus_xtion_pro_offset
14 | : ${TURTLEBOT_SIMULATION:=false}
15 | : ${TURTLEBOT_SERIAL_PORT:=/dev/kobuki} # /dev/ttyUSB0, /dev/ttyS0
16 |
17 | : ${TURTLEBOT_NAME:=turtlebot}
18 | : ${TURTLEBOT_TYPE:=turtlebot}
19 | : ${TURTLEBOT_RAPP_PACKAGE_WHITELIST:=[rocon_apps, turtlebot_rapps]}
20 | : ${TURTLEBOT_RAPP_PACKAGE_BLACKLIST:=[]}
21 | : ${TURTLEBOT_INTERACTIONS_LIST:=[turtlebot_bringup/admin.interactions, turtlebot_bringup/documentation.interactions, turtlebot_bringup/pairing.interactions, turtlebot_bringup/visualisation.interactions]}
22 |
23 | # Exports
24 | export TURTLEBOT_BASE
25 | export TURTLEBOT_BATTERY
26 | export TURTLEBOT_STACKS
27 | export TURTLEBOT_3D_SENSOR
28 | export TURTLEBOT_SIMULATION
29 | export TURTLEBOT_SERIAL_PORT
30 | export TURTLEBOT_NAME
31 | export TURTLEBOT_TYPE
32 | export TURTLEBOT_RAPP_PACKAGE_WHITELIST
33 | export TURTLEBOT_RAPP_PACKAGE_BLACKLIST
34 | export TURTLEBOT_INTERACTIONS_LIST
35 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/icons/turtlebot2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/udacity/RoboND-EKFLab/1acbf192d5e8bca11b3082d5b882030d63007dd5/turtlebot/turtlebot_bringup/icons/turtlebot2.png
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/interactions/admin.interactions:
--------------------------------------------------------------------------------
1 | # .-----------------------------------------------------------------.
2 | # / .-. .-. \
3 | #| / \ / \ |
4 | #| |\_. | Admin Interactions | /| |
5 | #|\| | /| |\ | |/|
6 | #| `---' | | `---' |
7 | #| | | | *
8 | #| |-----------------------------------------------------| |
9 | #\ | | /
10 | # \ / \ /
11 | # `---' `---'
12 |
13 | - name: rocon_master_info
14 | role: 'Admin'
15 | compatibility: rocon:/pc/*/hydro|indigo/precise|quantal|raring|saucy|trusty
16 | display_name: Rocon Master Info (Direct Executable)
17 | description: Generic information about this master.
18 | max: -1
19 |
20 | - name: rqt_graph/rqt_graph
21 | role: 'Admin'
22 | compatibility: rocon:/pc/*/hydro|indigo/precise|quantal|raring|saucy|trusty
23 | display_name: Rqt Graph (Ros Runnable)
24 | description: Graph of all topics and services in the concert workspace.
25 | max: -1
26 | icon:
27 | resource_name: rocon_bubble_icons/rqt.png
28 |
29 | - name: rqt_console/rqt_console
30 | role: 'Admin'
31 | compatibility: rocon:/pc/*/hydro|indigo/precise|quantal|raring|saucy|trusty
32 | display_name: Rqt Console (Ros Runnable)
33 | description: Shows the Rqt Console
34 | max: -1
35 | icon:
36 | resource_name: rocon_bubble_icons/rqt.png
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/interactions/documentation.interactions:
--------------------------------------------------------------------------------
1 | # .-----------------------------------------------------------------.
2 | # / .-. .-. \
3 | #| / \ / \ |
4 | #| |\_. | Documentation Interactions | /| |
5 | #|\| | /| |\ | |/|
6 | #| `---' | | `---' |
7 | #| | | | *
8 | #| |-----------------------------------------------------| |
9 | #\ | | /
10 | # \ / \ /
11 | # `---' `---'
12 |
13 |
14 | - name: web_url(http://wiki.ros.org/Robots/TurtleBot?distro=indigo)
15 | role: 'Documentation'
16 | compatibility: rocon:/pc
17 | display_name: Ros Wiki - TurtleBot
18 | description: Documentation for TurtleBot on the ros wiki
19 | icon:
20 | resource_name: rocon_bubble_icons/ros.png
21 |
22 | - name: web_url(https://plus.google.com/+TurtleBot/posts)
23 | role: 'Documentation'
24 | compatibility: rocon:/pc
25 | display_name: TurtleBot Google+
26 | description: Official TurtleBot Google+
27 | icon:
28 | resource_name: rocon_bubble_icons/ros.png
29 |
30 | - name: web_url(http://kobuki.yujinrobot.com/home-en/)
31 | role: 'Documentation'
32 | compatibility: rocon:/pc
33 | display_name: TurtleBot 2 Kobuki Page
34 | description: Official TurtleBot 2 Kobuki Page
35 | icon:
36 | resource_name: rocon_bubble_icons/ros.png
37 |
38 | - name: web_url(https://groups.google.com/forum/#!forum/ros-sig-turtlebot)
39 | role: 'Documentation'
40 | compatibility: rocon:/pc
41 | display_name: ROS TurtleBot Special Interest Group
42 | description: Google Groups page for ROS TurtleBot Special Interest Group
43 | icon:
44 | resource_name: rocon_bubble_icons/ros.png
45 |
46 | - name: web_url(http://answers.ros.org/questions/scope:all/sort:activity-desc/page:1/query:turtlebot%7Ckobuki%7Cturtlebot2/)
47 | role: 'Documentation'
48 | compatibility: rocon:/pc
49 | display_name: ROS Answers
50 | description: ROS Answers for TurtleBot, Kobuki, and TurtleBot 2
51 | icon:
52 | resource_name: rocon_bubble_icons/ros.png
53 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/interactions/visualisation.interactions:
--------------------------------------------------------------------------------
1 | # .-----------------------------------------------------------------.
2 | # / .-. .-. \
3 | #| / \ / \ |
4 | #| |\_. | Visualisation Interactions | /| |
5 | #|\| | /| |\ | |/|
6 | #| `---' | | `---' |
7 | #| | | | *
8 | #| |-----------------------------------------------------| |
9 | #\ | | /
10 | # \ / \ /
11 | # `---' `---'
12 |
13 |
14 | - name: turtlebot_rviz_launchers/view_model.launch
15 | role: Visualisation
16 | compatibility: rocon:/pc/*/hydro|indigo/precise|quantal|raring|saucy|trusty
17 | display_name: View Model
18 | description: View the robot model (only).
19 | max: -1
20 | icon:
21 | resource_name: rocon_bubble_icons/rviz.png
22 |
23 | - name: turtlebot_rviz_launchers/view_robot.launch
24 | role: Visualisation
25 | compatibility: rocon:/pc/*/hydro|indigo/precise|quantal|raring|saucy|trusty
26 | display_name: View Robot
27 | description: View the robot with basic sensor connections hooked up.
28 | max: -1
29 | icon:
30 | resource_name: rocon_bubble_icons/rviz.png
31 |
32 |
33 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/launch/includes/3dsensor/astra.launch.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/launch/includes/3dsensor/asus_xtion_pro.launch.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/launch/includes/3dsensor/asus_xtion_pro_offset.launch.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/launch/includes/3dsensor/kinect.launch.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/launch/includes/3dsensor/r200.launch.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/launch/includes/capabilities.launch.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 | - minimal_pkg
25 | - std_capabilities
26 | - turtlebot_capabilities
27 | - kobuki_capabilities
28 |
29 |
30 | - 'std_capabilities/Navigation2D'
31 | - 'std_capabilities/MultiEchoLaserSensor'
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/launch/includes/create/mobile_base.launch.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/launch/includes/description.launch.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/launch/includes/kobuki/bumper2pc.launch.xml:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/launch/includes/kobuki/mobile_base.launch.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/launch/includes/kobuki/safety_controller.launch.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/launch/includes/mobile_base.launch.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/launch/includes/netbook.launch.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/launch/includes/robot.launch.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/launch/includes/roomba/mobile_base.launch.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/launch/includes/zeroconf.launch.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/launch/minimal.launch:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/package.xml:
--------------------------------------------------------------------------------
1 |
2 | turtlebot_bringup
3 | 2.4.2
4 |
5 | turtlebot_bringup provides roslaunch scripts for starting the TurtleBot base functionality.
6 |
7 | Tully Foote
8 | Daniel Stonier
9 | BSD
10 | http://ros.org/wiki/turtlebot_bringup
11 | https://github.com/turtlebot/turtlebot
12 | https://github.com/turtlebot/turtlebot/issues
13 |
14 | catkin
15 |
16 | realsense_camera
17 | astra_launch
18 | zeroconf_avahi
19 | yocs_cmd_vel_mux
20 | kobuki_capabilities
21 | kobuki_node
22 | kobuki_bumper2pc
23 | kobuki_safety_controller
24 | create_node
25 | turtlebot_capabilities
26 | turtlebot_description
27 | robot_state_publisher
28 | robot_pose_ekf
29 | diagnostic_aggregator
30 | openni2_launch
31 | freenect_launch
32 | laptop_battery_monitor
33 | rocon_app_manager
34 | rocon_bubble_icons
35 | depthimage_to_laserscan
36 |
37 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/param/3dsensor.yaml:
--------------------------------------------------------------------------------
1 | # This is only a very minimal set of parameters that really should be configured for the kinect.
2 | # See http://www.ros.org/wiki/openni_camera for more information.
3 |
4 | # Note - this is not working in groovy with asus. It may need a different configuration as well.
5 |
6 | # Defaults for the frame id's are fine
7 | rgb_frame_id: /camera_rgb_optical_frame
8 | depth_frame_id: /camera_depth_optical_frame
9 | # Configured by launcher args in 3dsensor.launch
10 | # depth_registration: true
11 | image_mode: 2
12 | depth_mode: 2
13 | # why is this non-zero?
14 | depth_time_offset: -0.055
15 | image_time_offset: 0
16 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/param/capabilities/defaults_tb2.yaml:
--------------------------------------------------------------------------------
1 | # default providers for the TurtleBot 2
2 | defaults:
3 | 'kobuki_capabilities/KobukiBumper': 'kobuki_capabilities/kobuki_bumper'
4 | 'kobuki_capabilities/KobukiBringup': 'kobuki_capabilities/kobuki_bringup'
5 | 'kobuki_capabilities/KobukiCliffDetection': 'kobuki_capabilities/kobuki_cliff_detection'
6 | 'kobuki_capabilities/KobukiLED': 'kobuki_capabilities/kobuki_led'
7 | 'kobuki_capabilities/KobukiLED1': 'kobuki_capabilities/kobuki_led1'
8 | 'kobuki_capabilities/KobukiLED2': 'kobuki_capabilities/kobuki_led2'
9 | 'kobuki_capabilities/KobukiWheelDropDetection': 'kobuki_capabilities/kobuki_wheel_drop_detection'
10 | 'std_capabilities/Diagnostics': 'turtlebot_capabilities/diagnostics'
11 | 'std_capabilities/DifferentialMobileBase': 'kobuki_capabilities/kobuki_differential_mobile_base'
12 | 'std_capabilities/LaserSensor': 'turtlebot_capabilities/depthimage_to_laserscan'
13 | 'std_capabilities/RobotStatePublisher': 'turtlebot_capabilities/robot_state_publisher'
14 | 'std_capabilities/RGBDSensor': 'turtlebot_capabilities/rgbd_sensor'
15 | 'turtlebot_capabilities/TurtleBotBringup': 'turtlebot_capabilities/turtlebot2_bringup'
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/param/create/capability_providers.yaml:
--------------------------------------------------------------------------------
1 | # default providers for the Create
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/param/create/diagnostics.yaml:
--------------------------------------------------------------------------------
1 | pub_rate: 1.0 # Optional
2 | base_path: '' # Optional, prepended to all diagnostic output
3 | analyzers:
4 | nodes:
5 | type: diagnostic_aggregator/GenericAnalyzer
6 | path: 'Nodes'
7 | timeout: 5.0
8 | contains: ['Node']
9 | mode:
10 | type: diagnostic_aggregator/GenericAnalyzer
11 | path: 'Mode'
12 | timeout: 5.0
13 | startswith: ['Operating Mode']
14 | sensors:
15 | type: GenericAnalyzer
16 | path: 'Sensors'
17 | timeout: 5.0
18 | startswith: ['Cliff Sensor', 'Wall Sensor', 'Gyro Sensor']
19 | power:
20 | type: diagnostic_aggregator/GenericAnalyzer
21 | path: 'Power System'
22 | timeout: 5.0
23 | startswith: ['Battery', 'Charging Sources', 'Laptop Battery']
24 | digital_io:
25 | type: diagnostic_aggregator/GenericAnalyzer
26 | path: 'Digital IO'
27 | timeout: 5.0
28 | startswith: ['Digital Outputs']
29 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/param/defaults/capability_providers.yaml:
--------------------------------------------------------------------------------
1 | # base-agnostic default capability providers for the TurtleBot
2 | defaults:
3 | std_capabilities/Diagnostics: 'turtlebot_capabilities/diagnostics'
4 | std_capabilities/LaserSensor: 'turtlebot_capabilities/depthimage_to_laserscan'
5 | std_capabilities/RGBDSensor: 'turtlebot_capabilities/kinect_rgbd_sensor'
6 | std_capabilities/RobotStatePublisher: 'turtlebot_capabilities/robot_state_publisher'
7 | turtlebot_capabilities/TurtleBotBringup: 'turtlebot_capabilities/tb_bringup'
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/param/defaults/smoother.yaml:
--------------------------------------------------------------------------------
1 | # Default parameters used by the yocs_velocity_smoother module.
2 | # This isn't used by minimal.launch per se, rather by everything
3 | # which runs on top.
4 |
5 | # Mandatory parameters
6 | speed_lim_v: 0.8
7 | speed_lim_w: 5.4
8 |
9 | accel_lim_v: 1.0 # maximum is actually 2.0, but we push it down to be smooth
10 | accel_lim_w: 2.0
11 |
12 | # Optional parameters
13 | frequency: 20.0
14 | decel_factor: 1.5
15 |
16 | # Robot velocity feedback type:
17 | # 0 - none (default)
18 | # 1 - odometry
19 | # 2 - end robot commands
20 | robot_feedback: 2
21 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/param/kinect/capability_providers.yaml:
--------------------------------------------------------------------------------
1 | # default capability providers for the Microsoft Kinect
2 | defaults:
3 | 'std_capabilities/RGBDSensor': 'turtlebot_capabilities/kinect_rgbd_sensor'
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/param/kobuki/capability_providers.yaml:
--------------------------------------------------------------------------------
1 | # default providers for the Kobuki
2 | defaults:
3 | 'kobuki_capabilities/KobukiBringup': 'kobuki_capabilities/kobuki_bringup'
4 | 'kobuki_capabilities/KobukiLED1': 'kobuki_capabilities/kobuki_led1'
5 | 'kobuki_capabilities/KobukiLED2': 'kobuki_capabilities/kobuki_led2'
6 | 'kobuki_capabilities/LED': 'kobuki_capabilities/kobuki_led'
7 | 'std_capabilities/DifferentialMobileBase': 'kobuki_capabilities/kobuki_differential_mobile_base'
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/param/kobuki/diagnostics.yaml:
--------------------------------------------------------------------------------
1 | # The remove_prefix is important - it corresponds to the name of
2 | # the node that is automatically prefixed to cpp diagnostic task
3 | # names. In our case it's the mobile base nodelet manager name.
4 | # Android is not expecting this, so we need to remove it.
5 |
6 | pub_rate: 1.0 # Optional
7 | base_path: '' # Optional, prepended to all diagnostic output
8 | analyzers:
9 | power:
10 | type: diagnostic_aggregator/GenericAnalyzer
11 | path: 'Power System'
12 | timeout: 5.0
13 | contains: ['Battery', 'Laptop Battery']
14 | remove_prefix: mobile_base_nodelet_manager
15 | kobuki:
16 | type: diagnostic_aggregator/GenericAnalyzer
17 | path: 'Kobuki'
18 | timeout: 5.0
19 | contains: ['Watchdog', 'Motor State']
20 | remove_prefix: mobile_base_nodelet_manager
21 | sensors:
22 | type: diagnostic_aggregator/GenericAnalyzer
23 | path: 'Sensors'
24 | timeout: 5.0
25 | contains: ['Cliff Sensor', 'Wall Sensor', 'Wheel Drop', 'Motor Current', 'Gyro Sensor']
26 | remove_prefix: mobile_base_nodelet_manager
27 | input_ports:
28 | type: diagnostic_aggregator/GenericAnalyzer
29 | path: 'Input Ports'
30 | timeout: 5.0
31 | contains: ['Digital Input', 'Analog Input']
32 | remove_prefix: mobile_base_nodelet_manager
33 | # nodes:
34 | # type: diagnostic_aggregator/GenericAnalyzer
35 | # path: 'Nodes'
36 | # timeout: 5.0
37 | # contains: ['Node']
38 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/param/mux.yaml:
--------------------------------------------------------------------------------
1 | # Created on: Oct 29, 2012
2 | # Author: jorge
3 | # Configuration for subscribers to multiple cmd_vel sources.
4 | #
5 | # Individual subscriber configuration:
6 | # name: Source name
7 | # topic: The topic that provides cmd_vel messages
8 | # timeout: Time in seconds without incoming messages to consider this topic inactive
9 | # priority: Priority: an UNIQUE unsigned integer from 0 (lowest) to MAX_INT
10 | # short_desc: Short description (optional)
11 |
12 | subscribers:
13 | - name: "Safe reactive controller"
14 | topic: "input/safety_controller"
15 | timeout: 0.2
16 | priority: 10
17 | - name: "Teleoperation"
18 | topic: "input/teleop"
19 | timeout: 1.0
20 | priority: 7
21 | - name: "Switch"
22 | topic: "input/switch"
23 | timeout: 1.0
24 | priority: 6
25 | - name: "Navigation"
26 | topic: "input/navi"
27 | timeout: 1.0
28 | priority: 5
29 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/param/preferred_rapp.yaml:
--------------------------------------------------------------------------------
1 | # Uncomment and modify below to explicitly set the preferred
2 | # implementation for an ancestor rapp specification:
3 | preferred:
4 | - rocon_apps/chirp: 'rocon_apps/moo_chirp'
5 | # - rocon_apps/chirp: 'rocon_apps/meow_chirp'
6 | # and when an ancestor is an implementation...
7 | # - rocon_apps/talker: 'rocon_apps/talker'
8 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/param/roomba/capability_providers.yaml:
--------------------------------------------------------------------------------
1 | # default providers for the Roomba
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/param/roomba/diagnostics.yaml:
--------------------------------------------------------------------------------
1 | pub_rate: 1.0 # Optional
2 | base_path: '' # Optional, prepended to all diagnostic output
3 | analyzers:
4 | nodes:
5 | type: diagnostic_aggregator/GenericAnalyzer
6 | path: 'Nodes'
7 | timeout: 5.0
8 | contains: ['Node']
9 | mode:
10 | type: diagnostic_aggregator/GenericAnalyzer
11 | path: 'Mode'
12 | timeout: 5.0
13 | startswith: ['Operating Mode']
14 | sensors:
15 | type: GenericAnalyzer
16 | path: 'Sensors'
17 | timeout: 5.0
18 | startswith: ['Cliff Sensor', 'Wall Sensor', 'Gyro Sensor']
19 | power:
20 | type: diagnostic_aggregator/GenericAnalyzer
21 | path: 'Power System'
22 | timeout: 5.0
23 | startswith: ['Battery', 'Charging Sources', 'Laptop Battery']
24 | digital_io:
25 | type: diagnostic_aggregator/GenericAnalyzer
26 | path: 'Digital IO'
27 | timeout: 5.0
28 | startswith: ['Digital Outputs']
29 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/param/xtion/capability_providers.yaml:
--------------------------------------------------------------------------------
1 | # default capability providers for the ASUS Xtion Pro Live
2 | defaults:
3 | 'std_capabilities/RGBDSensor': 'turtlebot_capabilities/xtion_rgbd_sensor'
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/param/zeroconf.yaml:
--------------------------------------------------------------------------------
1 |
2 | # Publishes the ros master service on avahi.
3 |
4 | services:
5 | -
6 | name: "Turtlebot"
7 | type: _ros-master._tcp
8 | domain: local
9 | description: "ros master"
10 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_bringup/scripts/turtlebot_addr.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | # warning: we don't express a rosdep on netifaces. This is part of the turtlebot image
3 | import sys
4 | import netifaces
5 |
6 | for inf in netifaces.interfaces():
7 | if inf.startswith('wlan'):
8 | addrs = netifaces.ifaddresses(inf)
9 | if not netifaces.AF_INET in addrs:
10 | continue
11 | else:
12 | print addrs[netifaces.AF_INET][0]['addr']
13 | break
14 | else:
15 | print >> sys.stderr, "failed to determine IP address"
16 | print "127.0.0.1" #bind to loopback for now
17 | sys.exit(1)
18 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_capabilities.rosinstall:
--------------------------------------------------------------------------------
1 | ##############################################################################
2 | #
3 | # Source installation instructions at:
4 | #
5 | # http://www.ros.org/wiki/turtlebot/Tutorials/hydro/Source%20Installation
6 | #
7 | ##############################################################################
8 |
9 | # Kobuki / Yujin stacks
10 |
11 | - git:
12 | uri: https://github.com/yujinrobot/kobuki_desktop.git
13 | local-name: kobuki_desktop
14 | version: hydro-devel
15 |
16 | - git:
17 | uri: https://github.com/yujinrobot/yujin_ocs.git
18 | local-name: yujin_ocs
19 | version: hydro-devel
20 |
21 | - git:
22 | uri: https://github.com/yujinrobot/kobuki_msgs.git
23 | local-name: kobuki_msgs
24 | version: hydro-devel
25 |
26 | - git:
27 | uri: https://github.com/yujinrobot/kobuki_core.git
28 | local-name: kobuki_core
29 | version: hydro-devel
30 |
31 | - git:
32 | uri: https://github.com/yujinrobot/kobuki.git
33 | local-name: kobuki
34 | version: capabilities_integration
35 |
36 | # Create stacks
37 |
38 | - git:
39 | uri: https://github.com/turtlebot/turtlebot_create.git
40 | local-name: turtlebot_create
41 | version: hydro-devel
42 |
43 | - git:
44 | uri: https://github.com/turtlebot/turtlebot_create_desktop.git
45 | local-name: turtlebot_create_desktop
46 | version: hydro-devel
47 |
48 | # Turtlebot stacks
49 |
50 | - git:
51 | uri: https://github.com/turtlebot/turtlebot_msgs.git
52 | local-name: turtlebot_msgs
53 | version: hydro-devel
54 |
55 | - git:
56 | uri: https://github.com/turtlebot/turtlebot.git
57 | local-name: turtlebot
58 | version: capabilities_integration
59 |
60 | - git:
61 | uri: https://github.com/turtlebot/turtlebot_simulator.git
62 | local-name: turtlebot_simulator
63 | version: hydro-devel
64 |
65 | - git:
66 | uri: https://github.com/turtlebot/turtlebot_apps.git
67 | local-name: turtlebot_apps
68 | version: capabilities_integration
69 |
70 | - git:
71 | uri: https://github.com/turtlebot/turtlebot_viz.git
72 | local-name: turtlebot_viz
73 | version: hydro-devel
74 |
75 | # ROCON stacks
76 |
77 | - git:
78 | uri: https://github.com/robotics-in-concert/rocon_app_platform.git
79 | local-name: rocon_app_platform
80 | version: hydro-devel
81 |
82 | - git:
83 | uri: https://github.com/robotics-in-concert/rocon_msgs.git
84 | local-name: rocon_msgs
85 | version: hydro-devel
86 |
87 | # ROCON forks for now, change to OSRF when stable
88 | - git:
89 | uri: https://github.com/robotics-in-concert/capabilities.git
90 | local-name: capabilities
91 | version: master
92 |
93 | - git:
94 | uri: https://github.com/robotics-in-concert/std_capabilities.git
95 | local-name: std_capabilities
96 | version: initial_specs
97 |
98 | - git:
99 | uri: https://github.com/robotics-in-concert/rqt_capabilities.git
100 | local-name: rqt_capabilities
101 | version: master
102 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_capabilities/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | turtlebot_capabilities
4 |
5 |
6 |
7 |
8 |
9 | org.python.pydev.PyDevBuilder
10 |
11 |
12 |
13 |
14 | org.eclipse.cdt.managedbuilder.core.genmakebuilder
15 | clean,full,incremental,
16 |
17 |
18 | ?name?
19 |
20 |
21 |
22 | org.eclipse.cdt.make.core.append_environment
23 | true
24 |
25 |
26 | org.eclipse.cdt.make.core.autoBuildTarget
27 | all
28 |
29 |
30 | org.eclipse.cdt.make.core.buildArguments
31 |
32 |
33 |
34 | org.eclipse.cdt.make.core.buildCommand
35 | make
36 |
37 |
38 | org.eclipse.cdt.make.core.cleanBuildTarget
39 | clean
40 |
41 |
42 | org.eclipse.cdt.make.core.contents
43 | org.eclipse.cdt.make.core.activeConfigSettings
44 |
45 |
46 | org.eclipse.cdt.make.core.enableAutoBuild
47 | false
48 |
49 |
50 | org.eclipse.cdt.make.core.enableCleanBuild
51 | true
52 |
53 |
54 | org.eclipse.cdt.make.core.enableFullBuild
55 | true
56 |
57 |
58 | org.eclipse.cdt.make.core.fullBuildTarget
59 | all
60 |
61 |
62 | org.eclipse.cdt.make.core.stopOnError
63 | true
64 |
65 |
66 | org.eclipse.cdt.make.core.useDefaultBuildCmd
67 | true
68 |
69 |
70 |
71 |
72 | org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
73 | full,incremental,
74 |
75 |
76 |
77 |
78 |
79 | org.eclipse.cdt.core.cnature
80 | org.eclipse.cdt.core.ccnature
81 | org.eclipse.cdt.managedbuilder.core.managedBuildNature
82 | org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
83 | org.python.pydev.pythonNature
84 |
85 |
86 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_capabilities/.pydevproject:
--------------------------------------------------------------------------------
1 |
2 |
3 | Default
4 | python 2.7
5 |
6 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_capabilities/CHANGELOG.rst:
--------------------------------------------------------------------------------
1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 | Changelog for package turtlebot_capabilities
3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4 |
5 | 2.4.2 (2016-12-22)
6 | ------------------
7 |
8 | 2.4.1 (2016-12-22)
9 | ------------------
10 |
11 | 2.4.0 (2016-11-01)
12 | ------------------
13 |
14 | 2.3.12 (2016-06-27)
15 | -------------------
16 | * Fix typo.
17 | * Contributors: Patrick Chin
18 |
19 | 2.3.11 (2015-04-15)
20 | -------------------
21 |
22 | 2.3.10 (2015-04-02)
23 | -------------------
24 |
25 | 2.3.9 (2015-03-30)
26 | ------------------
27 |
28 | 2.3.8 (2015-03-23)
29 | ------------------
30 |
31 | 2.3.7 (2015-03-02)
32 | ------------------
33 |
34 | 2.3.6 (2015-02-27)
35 | ------------------
36 |
37 | 2.3.5 (2015-01-12)
38 | ------------------
39 | * bringup depend on capabilities. capabilities should not depend on bringup `#185 `_
40 | * Contributors: Jihoon Lee
41 |
42 | 2.3.4 (2015-01-07)
43 | ------------------
44 |
45 | 2.3.3 (2015-01-05)
46 | ------------------
47 |
48 | 2.3.2 (2014-12-30)
49 | ------------------
50 |
51 | 2.3.1 (2014-12-30)
52 | ------------------
53 |
54 | 2.3.0 (2014-11-30)
55 | ------------------
56 | * Enable capabilities server for turtlebot on indigo
57 | * adds turtlebot_capabilities package and related changes
58 | * Contributors: Marcus Liebhardt, kentsommer
59 |
60 | * Enable capabilities server for turtlebot on indigo
61 | * adds turtlebot_capabilities package and related changes
62 | * Contributors: Marcus Liebhardt, kentsommer
63 |
64 | 2.2.5 (2014-05-23)
65 | ------------------
66 |
67 | 2.2.4 (2014-04-07)
68 | ------------------
69 |
70 | 2.2.3 (2014-01-14)
71 | ------------------
72 |
73 | 2.2.2 (2013-10-14)
74 | ------------------
75 |
76 | 2.2.1 (2013-09-14)
77 | ------------------
78 |
79 | 2.2.0 (2013-08-31)
80 | ------------------
81 |
82 | 2.1.1 (2013-08-06)
83 | ------------------
84 |
85 | 2.1.0 (2013-07-15)
86 | ------------------
87 |
88 | 2.0.2 (2013-04-01)
89 | ------------------
90 |
91 | 2.0.1 (2013-03-28)
92 | ------------------
93 |
94 | 2.0.0 (2013-02-16)
95 | ------------------
96 |
97 | 1.9.4 (2013-01-16)
98 | ------------------
99 |
100 | 1.9.3 (2013-01-05)
101 | ------------------
102 |
103 | 1.9.2 (2013-01-02)
104 | ------------------
105 |
106 | 1.9.1 (2012-12-22)
107 | ------------------
108 |
109 | 1.9.0 (2012-12-15)
110 | ------------------
111 |
112 | 1.0.3 (2012-12-05)
113 | ------------------
114 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_capabilities/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8.3)
2 | project(turtlebot_capabilities)
3 |
4 | find_package(catkin REQUIRED)
5 |
6 | catkin_package()
7 |
8 | install(DIRECTORY interfaces
9 | DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION})
10 |
11 | install(DIRECTORY providers
12 | DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION})
13 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_capabilities/interfaces/TurtleBotBringup.yaml:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | ---
3 | name: TurtleBotBringup
4 | spec_version: 1
5 | spec_type: interface
6 | description: 'This is a placeholder capability, which aggregates functionality needed to implement other, standard capabilities for the TurtleBot'
7 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_capabilities/package.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | turtlebot_capabilities
4 | 2.4.2
5 | Capabilities for the TurtleBot
6 |
7 | William Woodall
8 | Marcus Liebhardt
9 |
10 | BSD
11 |
12 | http://ros.org/wiki/turtlebot_capabilities
13 | https://github.com/turtlebot/turtlebot
14 | https://github.com/turtlebot/turtlebot/issues
15 |
16 | William Woodall
17 | Marcus Liebhardt
18 |
19 | catkin
20 |
21 | capabilities
22 | std_capabilities
23 |
24 |
25 |
26 |
27 | interfaces/TurtleBotBringup.yaml
28 |
29 |
30 | providers/depthimage_to_laserscan.yaml
31 |
32 |
33 | providers/diagnostics.yaml
34 |
35 |
36 | providers/differential_mobile_base.yaml
37 |
38 |
39 | providers/rgbd_sensor.yaml
40 |
41 |
42 | providers/robot_state_publisher.yaml
43 |
44 |
45 | providers/turtlebot_bringup.yaml
46 |
47 |
48 | providers/turtlebot2_bringup.yaml
49 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_capabilities/providers/depthimage_to_laserscan.yaml:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | ---
3 | name: depthimage_to_laserscan
4 | spec_version: 1
5 | spec_type: provider
6 | description: 'Implements the standard LaserSensor capability for the TurtleBot by providing a fake laser scan using the depth image from the 3D sensor.'
7 | implements: std_capabilities/LaserSensor
8 | launch_file: 'launch/depthimage_to_laserscan.launch'
9 | depends_on:
10 | 'std_capabilities/RGBDSensor':
11 | provider: 'turtlebot_capabilities/kinect_rgbd_sensor'
12 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_capabilities/providers/diagnostics.yaml:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | ---
3 | name: diagnostics
4 | spec_version: 1
5 | spec_type: provider
6 | description: 'Implements the Diagnostics capability for the TurtleBot.'
7 | implements: 'std_capabilities/Diagnostics'
8 | launch_file: 'launch/diagnostics.launch'
9 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_capabilities/providers/differential_mobile_base.yaml:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | ---
3 | name: differential_mobile_base
4 | spec_version: 1
5 | spec_type: provider
6 | implements: std_capabilities/DifferentialMobileBase
7 | launch_file:
8 | depends_on:
9 | 'turtlebot_capabilities/TurtleBotBringup'
10 | #remappings:
11 | # topics:
12 | # '/cmd_vel': '/cmd_vel'
13 | # '/joint_states': '/robosem/joint_states'
14 | # '/odom': '/robosem/odom'
15 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_capabilities/providers/launch/depthimage_to_laserscan.launch:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_capabilities/providers/launch/diagnostics.launch:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_capabilities/providers/launch/placeholder.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 |
3 | from time import sleep
4 |
5 | while True:
6 | sleep(0.1)
7 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_capabilities/providers/launch/rgbd_sensor.launch:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_capabilities/providers/launch/robot_state_publisher.launch:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_capabilities/providers/launch/turtlebot2_bringup.launch:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_capabilities/providers/launch/turtlebot_bringup.launch:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_capabilities/providers/rgbd_sensor.yaml:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | ---
3 | name: rgbd_sensor
4 | spec_version: 1
5 | spec_type: provider
6 | description: 'Implements the standard RGBDSensor capability on the TurtleBot.'
7 | implements: std_capabilities/RGBDSensor
8 | launch_file: 'launch/rgbd_sensor.launch'
9 | depends_on:
10 | 'turtlebot_capabilities/TurtleBotBringup'
11 | remappings:
12 | topics:
13 | '/rgbd_sensor/rgb/camera_info': '/camera/rgb/camera_info'
14 | '/rgbd_sensor/rgb/image_raw': '/camera/rgb/image_raw'
15 | '/rgbd_sensor/rgb/image_color': '/camera/rgb/image_color'
16 | '/rgbd_sensor/rgb/image_color/compressed': '/camera/rgb/image_color/compressed'
17 | '/rgbd_sensor/depth/camera_info': '/camera/depth/camera_info'
18 | '/rgbd_sensor/depth/image_raw': '/camera/depth/image_raw'
19 | '/rgbd_sensor/depth/points': '/camera/depth/points'
20 | '/rgbd_sensor/depth_registered/points': '/camera/depth_registered/points'
21 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_capabilities/providers/robot_state_publisher.yaml:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | ---
3 | name: robot_state_publisher
4 | spec_version: 1
5 | spec_type: provider
6 | description: 'Implements the RobotStatePublisher capability for the TurtleBot.'
7 | implements: std_capabilities/RobotStatePublisher
8 | launch_file: 'launch/robot_state_publisher.launch'
9 | depends_on:
10 | 'std_capabilities/DifferentialMobileBase':
11 | provider: 'kobuki_capabilities/kobuki_differential_mobile_base'
12 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_capabilities/providers/turtlebot2_bringup.yaml:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | ---
3 | name: turtlebot2_bringup
4 | spec_version: 1
5 | spec_type: provider
6 | implements: turtlebot_capabilities/TurtleBotBringup
7 | launch_file: 'launch/turtlebot2_bringup.launch'
8 | depends_on:
9 | 'std_capabilities/Diagnostics':
10 | provider: 'turtlebot_capabilities/diagnostics'
11 | 'std_capabilities/DifferentialMobileBase':
12 | provider: 'kobuki_capabilities/kobuki_differential_mobile_base'
13 | 'std_capabilities/RobotStatePublisher':
14 | provider: 'turtlebot_capabilities/robot_state_publisher'
--------------------------------------------------------------------------------
/turtlebot/turtlebot_capabilities/providers/turtlebot_bringup.yaml:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | ---
3 | name: turtlebot_bringup
4 | spec_version: 1
5 | spec_type: provider
6 | implements: turtlebot_capabilities/TurtleBotBringup
7 | launch_file: 'launch/turtlebot_bringup.launch'
8 | depends_on:
9 | 'std_capabilities/Diagnostics':
10 | provider: 'turtlebot_capabilities/diagnostics'
11 | 'std_capabilities/DifferentialMobileBase':
12 | provider: 'create_capabilities/create_differential_mobile_base'
13 | 'std_capabilities/RobotStatePublisher':
14 | provider: 'turtlebot_capabilities/robot_state_publisher'
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | turtlebot_description
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.cdt.managedbuilder.core.genmakebuilder
10 | clean,full,incremental,
11 |
12 |
13 | ?name?
14 |
15 |
16 |
17 | org.eclipse.cdt.make.core.append_environment
18 | true
19 |
20 |
21 | org.eclipse.cdt.make.core.autoBuildTarget
22 | all
23 |
24 |
25 | org.eclipse.cdt.make.core.buildArguments
26 |
27 |
28 |
29 | org.eclipse.cdt.make.core.buildCommand
30 | make
31 |
32 |
33 | org.eclipse.cdt.make.core.cleanBuildTarget
34 | clean
35 |
36 |
37 | org.eclipse.cdt.make.core.contents
38 | org.eclipse.cdt.make.core.activeConfigSettings
39 |
40 |
41 | org.eclipse.cdt.make.core.enableAutoBuild
42 | false
43 |
44 |
45 | org.eclipse.cdt.make.core.enableCleanBuild
46 | true
47 |
48 |
49 | org.eclipse.cdt.make.core.enableFullBuild
50 | true
51 |
52 |
53 | org.eclipse.cdt.make.core.fullBuildTarget
54 | all
55 |
56 |
57 | org.eclipse.cdt.make.core.stopOnError
58 | true
59 |
60 |
61 | org.eclipse.cdt.make.core.useDefaultBuildCmd
62 | true
63 |
64 |
65 |
66 |
67 | org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
68 | full,incremental,
69 |
70 |
71 |
72 |
73 |
74 | org.eclipse.cdt.core.cnature
75 | org.eclipse.cdt.core.ccnature
76 | org.eclipse.cdt.managedbuilder.core.managedBuildNature
77 | org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
78 |
79 |
80 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8.3)
2 |
3 | project(turtlebot_description)
4 | find_package(catkin REQUIRED COMPONENTS urdf xacro)
5 |
6 | catkin_package(
7 | CATKIN_DEPENDS urdf xacro
8 | )
9 |
10 | install(DIRECTORY robots
11 | DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
12 | )
13 | install(DIRECTORY meshes
14 | DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
15 | )
16 | install(DIRECTORY test
17 | DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
18 | )
19 | install(DIRECTORY urdf
20 | DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
21 | )
22 |
23 | if(CATKIN_ENABLE_TESTING)
24 |
25 | catkin_add_gtest(${PROJECT_NAME}_test_urdf test/test_urdf.cpp)
26 |
27 | endif()
28 |
29 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/README.md:
--------------------------------------------------------------------------------
1 | # Testing Model Views
2 |
3 | Test the robot descriptions via the launcher in
4 | turtlebot_viz/turtlebot_rviz_launchers.
5 |
6 | roslaunch turtlebot_rviz_launchers view_model.launch
7 |
8 | It is a standalone launcher with minimal dependencies. Comments
9 | on how to reconfigure your environment to view the different
10 | robot models are in the launcher.
11 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/meshes/sensors/0_xtion_pro.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/udacity/RoboND-EKFLab/1acbf192d5e8bca11b3082d5b882030d63007dd5/turtlebot/turtlebot_description/meshes/sensors/0_xtion_pro.jpg
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/meshes/sensors/astra.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/udacity/RoboND-EKFLab/1acbf192d5e8bca11b3082d5b882030d63007dd5/turtlebot/turtlebot_description/meshes/sensors/astra.jpg
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/meshes/sensors/asus_xtion_pro_live.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/udacity/RoboND-EKFLab/1acbf192d5e8bca11b3082d5b882030d63007dd5/turtlebot/turtlebot_description/meshes/sensors/asus_xtion_pro_live.png
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/meshes/sensors/kinect.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/udacity/RoboND-EKFLab/1acbf192d5e8bca11b3082d5b882030d63007dd5/turtlebot/turtlebot_description/meshes/sensors/kinect.jpg
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/meshes/sensors/kinect.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/udacity/RoboND-EKFLab/1acbf192d5e8bca11b3082d5b882030d63007dd5/turtlebot/turtlebot_description/meshes/sensors/kinect.tga
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/meshes/sensors/r200.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/udacity/RoboND-EKFLab/1acbf192d5e8bca11b3082d5b882030d63007dd5/turtlebot/turtlebot_description/meshes/sensors/r200.jpg
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/meshes/sensors/r200_bracket.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/udacity/RoboND-EKFLab/1acbf192d5e8bca11b3082d5b882030d63007dd5/turtlebot/turtlebot_description/meshes/sensors/r200_bracket.stl
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/meshes/sensors/r200_bracket_end.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/udacity/RoboND-EKFLab/1acbf192d5e8bca11b3082d5b882030d63007dd5/turtlebot/turtlebot_description/meshes/sensors/r200_bracket_end.stl
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/meshes/sensors/xtion_pro.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/udacity/RoboND-EKFLab/1acbf192d5e8bca11b3082d5b882030d63007dd5/turtlebot/turtlebot_description/meshes/sensors/xtion_pro.jpg
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/meshes/sensors/xtion_pro_camera.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/udacity/RoboND-EKFLab/1acbf192d5e8bca11b3082d5b882030d63007dd5/turtlebot/turtlebot_description/meshes/sensors/xtion_pro_camera.jpg
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/meshes/stacks/circles/68-02421-8000-RA_Turtlebot_F-F_Standoff_color.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/udacity/RoboND-EKFLab/1acbf192d5e8bca11b3082d5b882030d63007dd5/turtlebot/turtlebot_description/meshes/stacks/circles/68-02421-8000-RA_Turtlebot_F-F_Standoff_color.png
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/meshes/stacks/circles/68-04552-1000-RA_Turtlebot_M-F_Standoff_color.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/udacity/RoboND-EKFLab/1acbf192d5e8bca11b3082d5b882030d63007dd5/turtlebot/turtlebot_description/meshes/stacks/circles/68-04552-1000-RA_Turtlebot_M-F_Standoff_color.png
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/meshes/stacks/circles/68-04552-2000-RA_Turtlebot_M-F_Standoff_color.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/udacity/RoboND-EKFLab/1acbf192d5e8bca11b3082d5b882030d63007dd5/turtlebot/turtlebot_description/meshes/stacks/circles/68-04552-2000-RA_Turtlebot_M-F_Standoff_color.png
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/meshes/stacks/circles/68-04556-RA_Kinect_Standoff_Assy.3ds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/udacity/RoboND-EKFLab/1acbf192d5e8bca11b3082d5b882030d63007dd5/turtlebot/turtlebot_description/meshes/stacks/circles/68-04556-RA_Kinect_Standoff_Assy.3ds
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/meshes/stacks/circles/plate_0_logo.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/udacity/RoboND-EKFLab/1acbf192d5e8bca11b3082d5b882030d63007dd5/turtlebot/turtlebot_description/meshes/stacks/circles/plate_0_logo.tga
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/meshes/stacks/circles/plate_1_logo.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/udacity/RoboND-EKFLab/1acbf192d5e8bca11b3082d5b882030d63007dd5/turtlebot/turtlebot_description/meshes/stacks/circles/plate_1_logo.tga
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/meshes/stacks/circles/plate_2_logo.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/udacity/RoboND-EKFLab/1acbf192d5e8bca11b3082d5b882030d63007dd5/turtlebot/turtlebot_description/meshes/stacks/circles/plate_2_logo.tga
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/meshes/stacks/hexagons/images/1f_pole.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/udacity/RoboND-EKFLab/1acbf192d5e8bca11b3082d5b882030d63007dd5/turtlebot/turtlebot_description/meshes/stacks/hexagons/images/1f_pole.jpg
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/meshes/stacks/hexagons/images/1f_stack.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/udacity/RoboND-EKFLab/1acbf192d5e8bca11b3082d5b882030d63007dd5/turtlebot/turtlebot_description/meshes/stacks/hexagons/images/1f_stack.jpg
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/meshes/stacks/hexagons/images/2f_pole.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/udacity/RoboND-EKFLab/1acbf192d5e8bca11b3082d5b882030d63007dd5/turtlebot/turtlebot_description/meshes/stacks/hexagons/images/2f_pole.jpg
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/meshes/stacks/hexagons/images/2f_stack.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/udacity/RoboND-EKFLab/1acbf192d5e8bca11b3082d5b882030d63007dd5/turtlebot/turtlebot_description/meshes/stacks/hexagons/images/2f_stack.jpg
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/meshes/stacks/hexagons/images/3f_pole.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/udacity/RoboND-EKFLab/1acbf192d5e8bca11b3082d5b882030d63007dd5/turtlebot/turtlebot_description/meshes/stacks/hexagons/images/3f_pole.jpg
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/meshes/stacks/hexagons/images/3f_stack.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/udacity/RoboND-EKFLab/1acbf192d5e8bca11b3082d5b882030d63007dd5/turtlebot/turtlebot_description/meshes/stacks/hexagons/images/3f_stack.jpg
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/meshes/stacks/hexagons/images/3f_stack1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/udacity/RoboND-EKFLab/1acbf192d5e8bca11b3082d5b882030d63007dd5/turtlebot/turtlebot_description/meshes/stacks/hexagons/images/3f_stack1.jpg
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/meshes/stacks/hexagons/images/kinect_pole.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/udacity/RoboND-EKFLab/1acbf192d5e8bca11b3082d5b882030d63007dd5/turtlebot/turtlebot_description/meshes/stacks/hexagons/images/kinect_pole.jpg
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/meshes/stacks/hexagons/images/kinect_pole_old.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/udacity/RoboND-EKFLab/1acbf192d5e8bca11b3082d5b882030d63007dd5/turtlebot/turtlebot_description/meshes/stacks/hexagons/images/kinect_pole_old.jpg
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/package.xml:
--------------------------------------------------------------------------------
1 |
2 | turtlebot_description
3 | 2.4.2
4 |
5 | turtlebot_description provides a complete 3D model of the TurtleBot for simulation and visualization. The files in this package are parsed and used by a variety of other components. Most users will not interact directly with this package.
6 |
7 | Melonee Wise
8 | Daniel Stonier
9 | Daniel Stonier
10 | BSD
11 | http://ros.org/wiki/turtlebot_description
12 | https://github.com/turtlebot/turtlebot
13 | https://github.com/turtlebot/turtlebot/issues
14 |
15 | catkin
16 |
17 | urdf
18 | xacro
19 |
20 | urdf
21 | xacro
22 | kobuki_description
23 | create_description
24 |
25 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/robots/create_circles_asus_xtion_pro.urdf.xacro:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/robots/create_circles_kinect.urdf.xacro:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/robots/kobuki_hexagons_astra.urdf.xacro:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/robots/kobuki_hexagons_asus_xtion_pro.urdf.xacro:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/robots/kobuki_hexagons_asus_xtion_pro_offset.urdf.xacro:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/robots/kobuki_hexagons_kinect.urdf.xacro:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/robots/kobuki_hexagons_r200.urdf.xacro:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/robots/roomba_circles_asus_xtion_pro.urdf.xacro:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/robots/roomba_circles_kinect.urdf.xacro:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/scripts/calc_inertia.m:
--------------------------------------------------------------------------------
1 | % Calculate moments of inertia for 3D sensors and TB2 poles and stacks.
2 | % Formulas extracted from: http://en.wikipedia.org/wiki/List_of_moments_of_inertia
3 | % TODO: do also for turtlebot 1 poles and stacks.
4 |
5 | % Poles are approximated as solid cylinder of radius r, height h and mass m
6 |
7 | % Base poles
8 | m = 0.008;
9 | r = 0.006;
10 | h = 0.0492;
11 |
12 | Ix = (m*(3*r^2 + h^2))/12
13 | Iy = Ix
14 | Iz = (m*r^2)/2
15 |
16 | fprintf('%.9f\n%.9f\n%.9f\n', Ix, Iy, Iz)
17 |
18 | % Middle poles
19 | m = 0.012;
20 | r = 0.006;
21 | h = 0.0608;
22 |
23 | Ix = (m*(3*r^2 + h^2))/12
24 | Iy = Ix
25 | Iz = (m*r^2)/2
26 |
27 | fprintf('%.9f\n%.9f\n%.9f\n', Ix, Iy, Iz)
28 |
29 | % Long poles
30 | m = 0.060;
31 | r = 0.006;
32 | h = 0.2032;
33 |
34 | Ix = (m*(3*r^2 + h^2))/12
35 | Iy = Ix
36 | Iz = (m*r^2)/2
37 |
38 | fprintf('%.9f\n%.9f\n%.9f\n', Ix, Iy, Iz)
39 |
40 | % Kinect poles
41 | m = 0.020;
42 | r = 0.006;
43 | h = 0.0936; % not really... are much shorter!
44 |
45 | Ix = (m*(3*r^2 + h^2))/12
46 | Iy = Ix
47 | Iz = (m*r^2)/2
48 |
49 | fprintf('%.9f\n%.9f\n%.9f\n', Ix, Iy, Iz)
50 |
51 |
52 | % Plates, approximated as a thin, solid disk of radius r and mass m:
53 | m = 0.520;
54 | r = 0.160;
55 |
56 | Ix = (m*r^2)/4
57 | Iy = Ix
58 | Iz = (m*r^2)/2
59 |
60 | fprintf('%.9f\n%.9f\n%.9f\n', Ix, Iy, Iz)
61 |
62 | % Cameras, approximated as a solid cuboid of height h, width w, and depth d, and mass m:
63 |
64 | % Kinect
65 | m = 0.564;
66 | h = 0.073;
67 | w = 0.27794;
68 | d = 0.07271;
69 |
70 | Ix = (m*(w^2 + h^2))/12
71 | Iy = (m*(h^2 + d^2))/12
72 | Iz = (m*(w^2 + d^2))/12
73 |
74 | fprintf('%.9f\n%.9f\n%.9f\n', Ix, Iy, Iz)
75 |
76 | % Asus
77 | m = 0.170;
78 | h = 0.072;
79 | w = 0.276;
80 | d = 0.073;
81 |
82 | Ix = (m*(w^2 + h^2))/12
83 | Iy = (m*(h^2 + d^2))/12
84 | Iz = (m*(w^2 + d^2))/12
85 |
86 | fprintf('%.9f\n%.9f\n%.9f\n', Ix, Iy, Iz)
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/test.launch:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/urdf/common_properties.urdf.xacro:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/urdf/sensors/astra.urdf.xacro:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/urdf/sensors/asus_xtion_pro_offset.urdf.xacro:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/urdf/sensors/kinect.urdf.xacro:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
47 |
48 |
49 |
50 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/urdf/turtlebot_common_library.urdf.xacro:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/urdf/turtlebot_gazebo.urdf.xacro:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | true
8 | 20.0
9 |
10 | ${60.0*M_PI/180.0}
11 |
12 | B8G8R8
13 | 640
14 | 480
15 |
16 |
17 | 0.05
18 | 8.0
19 |
20 |
21 |
22 | camera
23 | true
24 | 10
25 | rgb/image_raw
26 | depth/image_raw
27 | depth/points
28 | rgb/camera_info
29 | depth/camera_info
30 | camera_depth_optical_frame
31 | 0.1
32 | 0.0
33 | 0.0
34 | 0.0
35 | 0.0
36 | 0.0
37 | 0.4
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_description/urdf/turtlebot_properties.urdf.xacro:
--------------------------------------------------------------------------------
1 |
2 |
3 |
10 |
11 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_teleop/CHANGELOG.rst:
--------------------------------------------------------------------------------
1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 | Changelog for package turtlebot_teleop
3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4 |
5 | 2.4.2 (2016-12-22)
6 | ------------------
7 | * Update velocity_smoother.launch.xml to handle namespaces
8 | Changed topic remapping and nodelet manager to avoid absolute paths. In this way the velocity smoother will work even inside a namespace created with the tag .
9 | * Contributors: Luca Cristoforetti
10 |
11 | 2.4.1 (2016-12-22)
12 | ------------------
13 |
14 | 2.4.0 (2016-11-01)
15 | ------------------
16 |
17 | 2.3.12 (2016-06-27)
18 | -------------------
19 |
20 | 2.3.11 (2015-04-15)
21 | -------------------
22 |
23 | 2.3.10 (2015-04-02)
24 | -------------------
25 |
26 | 2.3.9 (2015-03-30)
27 | ------------------
28 |
29 | 2.3.8 (2015-03-23)
30 | ------------------
31 |
32 | 2.3.7 (2015-03-02)
33 | ------------------
34 |
35 | 2.3.6 (2015-02-27)
36 | ------------------
37 | * remove turtlebot_teleop library from catkin_package call closes `#192 `_
38 | * remove old rosbuild imports no longer necessary
39 | * Contributors: Jihoon Lee, Tully Foote
40 |
41 | 2.3.5 (2015-01-12)
42 | ------------------
43 | * update turtlebot_teleop url closes `#188 `_
44 | * Contributors: Jihoon Lee
45 |
46 | 2.3.4 (2015-01-07)
47 | ------------------
48 |
49 | 2.3.3 (2015-01-05)
50 | ------------------
51 |
52 | 2.3.2 (2014-12-30)
53 | ------------------
54 |
55 | 2.3.1 (2014-12-30)
56 | ------------------
57 | * add README on turtlebot_teleop to explain why it is here now fixes `#182 `_
58 | * sync package version with others packages
59 | * turtlebot_teleop to be migrated to new base
60 | * Contributors: Jihoon Lee
61 |
62 | 2.2.4 (2013-10-14)
63 | ------------------
64 | * Remove unnecessary dependency on cmd_vel_mux package.
65 |
66 | 2.2.3 (2013-09-27)
67 | ------------------
68 |
69 | 2.2.2 (2013-09-26)
70 | ------------------
71 |
72 | 2.2.1 (2013-09-23)
73 | ------------------
74 |
75 | 2.2.0 (2013-08-30)
76 | ------------------
77 | * Add bugtracker and repo info URLs.
78 | * Changelogs at package level.
79 |
80 | 2.1.x - hydro, unstable
81 | =======================
82 |
83 | 2.1.1 (2013-08-09)
84 | ------------------
85 | * Add missing include_directories to the teleop build.
86 | * Add absolute namespaces
87 | * Rename include launcher
88 | * Rationalize the use of velocity smoother: remap properly robot_cmd_vel, add comments, and avoid meaningless topic names
89 |
90 | 2.1.0 (2013-07-19)
91 | ------------------
92 | * Catikinized
93 | * Unexsistent include dir removed from package description
94 |
95 |
96 | Previous versions, bugfixing
97 | ============================
98 |
99 | Available in ROS wiki: http://ros.org/wiki/turtlebot_apps/ChangeList
100 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_teleop/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8.3)
2 | project(turtlebot_teleop)
3 |
4 | ## Find catkin macros and libraries
5 | find_package(catkin REQUIRED COMPONENTS roscpp geometry_msgs joy)
6 |
7 | include_directories(${catkin_INCLUDE_DIRS})
8 |
9 | catkin_package(
10 | INCLUDE_DIRS
11 | CATKIN_DEPENDS roscpp geometry_msgs joy
12 | DEPENDS
13 | )
14 |
15 | ###########
16 | ## Build ##
17 | ###########
18 |
19 | add_executable(turtlebot_teleop_joy src/turtlebot_joy.cpp)
20 | target_link_libraries(turtlebot_teleop_joy ${catkin_LIBRARIES})
21 |
22 | #############
23 | ## Install ##
24 | #############
25 |
26 | ## Mark executable scripts (Python etc.) for installation
27 | install(PROGRAMS
28 | scripts/turtlebot_teleop_key
29 | DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
30 | )
31 |
32 | ## Mark executables and/or libraries for installation
33 | install(TARGETS turtlebot_teleop_joy
34 | RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
35 | )
36 |
37 | ## Mark all other useful stuff for installation
38 | install(DIRECTORY launch
39 | DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
40 | )
41 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_teleop/README.md:
--------------------------------------------------------------------------------
1 | turtlebot_teleop
2 | ================
3 |
4 | Turtlebot Teleoperation implementation.
5 | This package used to be in turtlebot_apps repository. It has been temporarily migrated into turtlebot
6 | because it is useful for both robot(turtlebot_apps) side and user side pc(turtlebot_interactions).
7 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_teleop/launch/includes/velocity_smoother.launch.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_teleop/launch/keyboard_teleop.launch:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_teleop/launch/logitech.launch:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_teleop/launch/ps3_teleop.launch:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_teleop/launch/xbox360_teleop.launch:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_teleop/package.xml:
--------------------------------------------------------------------------------
1 |
2 | turtlebot_teleop
3 | 2.4.2
4 | Provides teleoperation using joysticks or keyboard.
5 | Melonee Wise
6 | BSD
7 | http://ros.org/wiki/turtlebot_teleop
8 | https://github.com/turtlebot/turtlebot
9 | https://github.com/turtlebot/turtlebot/issues
10 |
11 | Melonee Wise
12 |
13 | catkin
14 |
15 | roscpp
16 | geometry_msgs
17 | joy
18 |
19 | roscpp
20 | geometry_msgs
21 | joy
22 | kobuki_safety_controller
23 | yocs_velocity_smoother
24 | turtlebot_bringup
25 |
26 |
--------------------------------------------------------------------------------
/turtlebot/turtlebot_teleop/param/mux.yaml:
--------------------------------------------------------------------------------
1 | # Created on: Oct 29, 2012
2 | # Author: jorge
3 | # Configuration for subscribers to cmd_vel sources for kobuki keyop operation
4 | # with safety reactive controller.
5 | #
6 | # Individual subscriber configuration:
7 | # name: Source name
8 | # topic: The topic that provides cmd_vel messages
9 | # timeout: Time in seconds without incoming messages to consider this topic inactive
10 | # priority: Priority: an UNIQUE unsigned integer from 0 (lowest) to MAX_INT
11 | # short_desc: Short description (optional)
12 |
13 | subscribers:
14 | - name: "Safe reactive controller"
15 | topic: "input/safety_controller"
16 | timeout: 0.2
17 | priority: 10
18 | - name: "Teleoperation"
19 | topic: "input/teleop"
20 | timeout: 1.0
21 | priority: 7
22 |
--------------------------------------------------------------------------------
/turtlebot_simulator/.gitignore:
--------------------------------------------------------------------------------
1 | .settings
2 | bin
3 | build
4 | lib
5 |
--------------------------------------------------------------------------------
/turtlebot_simulator/README.md:
--------------------------------------------------------------------------------
1 | turtlebot_simulator
2 | ===================
3 |
4 | Launchers for Gazebo simulation of the TurtleBot
5 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_gazebo/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | turtlebot_gazebo
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.cdt.managedbuilder.core.genmakebuilder
10 | clean,full,incremental,
11 |
12 |
13 | ?name?
14 |
15 |
16 |
17 | org.eclipse.cdt.make.core.append_environment
18 | true
19 |
20 |
21 | org.eclipse.cdt.make.core.autoBuildTarget
22 | all
23 |
24 |
25 | org.eclipse.cdt.make.core.buildArguments
26 |
27 |
28 |
29 | org.eclipse.cdt.make.core.buildCommand
30 | make
31 |
32 |
33 | org.eclipse.cdt.make.core.cleanBuildTarget
34 | clean
35 |
36 |
37 | org.eclipse.cdt.make.core.contents
38 | org.eclipse.cdt.make.core.activeConfigSettings
39 |
40 |
41 | org.eclipse.cdt.make.core.enableAutoBuild
42 | false
43 |
44 |
45 | org.eclipse.cdt.make.core.enableCleanBuild
46 | true
47 |
48 |
49 | org.eclipse.cdt.make.core.enableFullBuild
50 | true
51 |
52 |
53 | org.eclipse.cdt.make.core.fullBuildTarget
54 | all
55 |
56 |
57 | org.eclipse.cdt.make.core.stopOnError
58 | true
59 |
60 |
61 | org.eclipse.cdt.make.core.useDefaultBuildCmd
62 | true
63 |
64 |
65 |
66 |
67 | org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
68 | full,incremental,
69 |
70 |
71 |
72 |
73 |
74 | org.eclipse.cdt.core.cnature
75 | org.eclipse.cdt.core.ccnature
76 | org.eclipse.cdt.managedbuilder.core.managedBuildNature
77 | org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
78 |
79 |
80 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_gazebo/CHANGELOG.rst:
--------------------------------------------------------------------------------
1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 | Changelog for package turtlebot_simulator
3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4 |
5 | 2.2.3 (2017-09-18)
6 | ------------------
7 | * Fix changing amcl.launch.xml and gmapping.launch.xml locations under turtlebot_navigation
8 | * Contributors: Mohamed Al Zaiady, Mohamed Elzaiady, Tully Foote, mzaiady
9 |
10 | 2.2.2 (2015-09-16)
11 | ------------------
12 |
13 | 2.2.1 (2015-08-07)
14 | ------------------
15 | * Enable to run Gazebo w/o GUI.
16 | * Contributors: Isaac IY Saito
17 |
18 | 2.2.0 (2014-12-30)
19 | ------------------
20 | * use env hook to configure gazebo world and map fixes `#40 `_
21 | * now it uses args to load world. and corridor world is added. `#39 `_
22 | * disable create gazebo plugin
23 | * Add turtlebot_navigation to turtlebot_gazebo depends
24 | gmapping_demo.launch depends on it.
25 | * Contributors: Jihoon Lee, Jochen Sprickerhof
26 |
27 | 2.1.1 (2013-10-14)
28 | ------------------
29 | * Rename cmd_vel_mux as yocs_cmd_vel_mux.
30 |
31 | 2.1.0 (2013-08-30)
32 | ------------------
33 | * Add navigation demos on Gazebo on a playground world.
34 | * Add bugtracker and repo info URLs.
35 | * Add cmd_vel_mux for create and roomba.
36 | * Do not use robot_pose_ekf for kobuki base.
37 |
38 | 2.0.0 (2013-07-16)
39 | ------------------
40 |
41 | * Migrated to use stand-alone Gazebo installation
42 | * All packages have been catkinized
43 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_gazebo/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8.3)
2 | project(turtlebot_gazebo)
3 | find_package(catkin REQUIRED)
4 | catkin_package()
5 |
6 | catkin_add_env_hooks(25.turtlebot-gazebo SHELLS sh DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/env-hooks)
7 |
8 | install(DIRECTORY launch
9 | DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION})
10 |
11 | install(DIRECTORY maps
12 | DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION})
13 |
14 | install(DIRECTORY worlds
15 | DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION})
16 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_gazebo/env-hooks/25.turtlebot-gazebo.sh.em:
--------------------------------------------------------------------------------
1 | # Set some sane defaults for the turtlebot stage launch environment
2 | ##Documentation:
3 | # The colon command simply has its arguments evaluated and then succeeds.
4 | # It is the original shell comment notation (before '#' to end of line). For a long time, Bourne shell scripts had a colon as the first character.
5 | # The C Shell would read a script and use the first character to determine whether it was for the C Shell (a '#' hash) or the Bourne shell (a ':' colon).
6 | # Then the kernel got in on the act and added support for '#!/path/to/program' and the Bourne shell got '#' comments, and the colon convention went by the wayside.
7 | # But if you come across a script that starts with a colon (Like this one), now you will know why. ~ Jonathan Leffler
8 | : ${TURTLEBOT_GAZEBO_MAP_FILE:=`rospack find turtlebot_gazebo`/maps/playground.yaml}
9 | : ${TURTLEBOT_GAZEBO_WORLD_FILE:=`rospack find turtlebot_gazebo`/worlds/playground.world}
10 |
11 | # Exports
12 | export TURTLEBOT_GAZEBO_MAP_FILE
13 | export TURTLEBOT_GAZEBO_WORLD_FILE
14 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_gazebo/launch/amcl_demo.launch:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_gazebo/launch/gmapping_demo.launch:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_gazebo/launch/includes/create.launch.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_gazebo/launch/includes/kobuki.launch.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
12 |
13 |
14 |
15 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_gazebo/launch/includes/roomba.launch.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_gazebo/launch/turtlebot_world.launch:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_gazebo/maps/playground.pgm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/udacity/RoboND-EKFLab/1acbf192d5e8bca11b3082d5b882030d63007dd5/turtlebot_simulator/turtlebot_gazebo/maps/playground.pgm
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_gazebo/maps/playground.yaml:
--------------------------------------------------------------------------------
1 | free_thresh: 0.196
2 | image: playground.pgm
3 | negate: 0
4 | occupied_thresh: 0.65
5 | origin: [-6.8999999999999915, -5.8999999999999915, 0.0]
6 | resolution: 0.05
7 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_gazebo/package.xml:
--------------------------------------------------------------------------------
1 |
2 | turtlebot_gazebo
3 | 2.2.3
4 | Gazebo launchers and worlds for TurtleBot simulation
5 | Marcus Liebhardt
6 | BSD
7 | http://ros.org/wiki/turtlebot_gazebo
8 | https://github.com/turtlebot/turtlebot_simulator
9 | https://github.com/turtlebot/turtlebot_simulator/issues
10 | Willow Garage
11 |
12 | catkin
13 |
14 | yocs_cmd_vel_mux
15 |
16 | diagnostic_aggregator
17 | depthimage_to_laserscan
18 | gazebo_ros
19 | kobuki_gazebo_plugins
20 | robot_pose_ekf
21 | robot_state_publisher
22 | turtlebot_bringup
23 | turtlebot_description
24 | turtlebot_navigation
25 | xacro
26 |
27 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_gazebo/worlds/empty.world:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | model://sun
7 |
8 |
9 |
10 | model://ground_plane
11 |
12 |
13 |
14 | 0.01
15 | 1
16 | 100
17 | 0 0 -9.8
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_simulator.rosinstall:
--------------------------------------------------------------------------------
1 | - git: {local-name: kobuki, uri: 'https://github.com/yujinrobot/kobuki.git', version: indigo}
2 | - git: {local-name: kobuki_desktop, uri: 'https://github.com/yujinrobot/kobuki_desktop.git', version: indigo}
3 | - git: {local-name: stdr_simulator, uri: 'https://github.com/stdr-simulator-ros-pkg/stdr_simulator', version: hydro-devel}
4 | - git: {local-name: turtlebot, uri: 'https://github.com/turtlebot/turtlebot.git', version: indigo}
5 | - git: {local-name: turtlebot_create, uri: 'http://github.com/turtlebot/turtlebot_create.git', version: indigo}
6 | - git: {local-name: turtlebot_apps, uri: 'http://github.com/turtlebot/turtlebot_apps.git', version: indigo}
7 | - git: {local-name: turtlebot_msgs, uri: 'http://github.com/turtlebot/turtlebot_msgs.git', version: indigo}
8 | - git: {local-name: turtlebot_simulator, uri: 'http://github.com/turtlebot/turtlebot_simulator.git', version: indigo}
9 | - git: {local-name: turtlebot_create_desktop, uri: 'https://github.com/turtlebot/turtlebot_create_desktop.git', version: indigo}
10 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_simulator/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | turtlebot_simulator
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.cdt.managedbuilder.core.genmakebuilder
10 | clean,full,incremental,
11 |
12 |
13 | ?name?
14 |
15 |
16 |
17 | org.eclipse.cdt.make.core.append_environment
18 | true
19 |
20 |
21 | org.eclipse.cdt.make.core.autoBuildTarget
22 | all
23 |
24 |
25 | org.eclipse.cdt.make.core.buildArguments
26 |
27 |
28 |
29 | org.eclipse.cdt.make.core.buildCommand
30 | make
31 |
32 |
33 | org.eclipse.cdt.make.core.cleanBuildTarget
34 | clean
35 |
36 |
37 | org.eclipse.cdt.make.core.contents
38 | org.eclipse.cdt.make.core.activeConfigSettings
39 |
40 |
41 | org.eclipse.cdt.make.core.enableAutoBuild
42 | false
43 |
44 |
45 | org.eclipse.cdt.make.core.enableCleanBuild
46 | true
47 |
48 |
49 | org.eclipse.cdt.make.core.enableFullBuild
50 | true
51 |
52 |
53 | org.eclipse.cdt.make.core.fullBuildTarget
54 | all
55 |
56 |
57 | org.eclipse.cdt.make.core.stopOnError
58 | true
59 |
60 |
61 | org.eclipse.cdt.make.core.useDefaultBuildCmd
62 | true
63 |
64 |
65 |
66 |
67 | org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
68 | full,incremental,
69 |
70 |
71 |
72 |
73 |
74 | org.eclipse.cdt.core.cnature
75 | org.eclipse.cdt.core.ccnature
76 | org.eclipse.cdt.managedbuilder.core.managedBuildNature
77 | org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
78 |
79 |
80 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_simulator/CHANGELOG.rst:
--------------------------------------------------------------------------------
1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 | Changelog for package turtlebot_simulator
3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4 |
5 | 2.2.3 (2017-09-18)
6 | ------------------
7 |
8 | 2.2.2 (2015-09-16)
9 | ------------------
10 |
11 | 2.2.1 (2015-08-07)
12 | ------------------
13 |
14 | 2.2.0 (2014-12-30)
15 | ------------------
16 | * add turtlebot_stdr in meta package fixes `#44 `_
17 | * add turtlebot_stage
18 | * Contributors: Jihoon Lee
19 |
20 | 2.1.1 (2013-10-14)
21 | ------------------
22 |
23 | 2.1.0 (2013-08-30)
24 | ------------------
25 | * Add bugtracker and repo info URLs.
26 |
27 | 2.0.0 (2013-07-16)
28 | ------------------
29 |
30 | * Migrated to use stand-alone Gazebo installation
31 | * All packages have been catkinized
32 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_simulator/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8.3)
2 | project(turtlebot_simulator)
3 | find_package(catkin REQUIRED)
4 | catkin_metapackage()
5 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_simulator/package.xml:
--------------------------------------------------------------------------------
1 |
2 | turtlebot_simulator
3 | 2.2.3
4 | Catkin metapackage for the turtlebot_simulator stack
5 | OSRF
6 | BSD
7 | http://ros.org/wiki/turtlebot_simulator
8 | https://github.com/turtlebot/turtlebot_simulator
9 | https://github.com/turtlebot/turtlebot_simulator/issues
10 | Willow
11 |
12 | catkin
13 | turtlebot_gazebo
14 | turtlebot_stage
15 | turtlebot_stdr
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_stage/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | turtlebot_stage
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.cdt.managedbuilder.core.genmakebuilder
10 | clean,full,incremental,
11 |
12 |
13 |
14 |
15 | org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
16 | full,incremental,
17 |
18 |
19 |
20 |
21 |
22 | org.eclipse.cdt.core.cnature
23 | org.eclipse.cdt.core.ccnature
24 | org.eclipse.cdt.managedbuilder.core.managedBuildNature
25 | org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
26 |
27 |
28 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_stage/CHANGELOG.rst:
--------------------------------------------------------------------------------
1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 | Changelog for package turtlebot_stage
3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4 |
5 | 2.2.3 (2017-09-18)
6 | ------------------
7 | Fixed include path for turtlebot_navigation/launch/includes/amcl/amcl.launch.xml. https://github.com/turtlebot/turtlebot_apps/commit/cc2671666e8529677e6757fe78de4ff625f946e5
8 | * Contributors: Clyde McQueen
9 |
10 | 2.2.2 (2015-09-16)
11 | ------------------
12 | * view frame is now base_link closes `#51 `_
13 | * Contributors: Jihoon Lee
14 |
15 | 2.2.1 (2015-08-07)
16 | ------------------
17 | * turtlebot_stage: add turtlebot_navigation dependency
18 | * Contributors: Gaël Ecorchard
19 |
20 | 2.2.0 (2014-12-30)
21 | ------------------
22 | * Adds border extension to map to fix map scaling / position in stage
23 | * Added changes in the stage launch file undone before because of the merge
24 | * Merged
25 | * Moved env fold inside stage
26 | * Revert "Stage launch use env variables"
27 | * Small fix for wrong file name of env script
28 | * Added support for map and world file through env variables
29 | * remove annotation and param install rule
30 | * updated rviz configuration for dwa.
31 | * add the trajectory cloud to stage's rviz view.
32 | * stage only permits 'square' robots, so make sure our square fits within
33 | the turtlebot defined circle otherwise it collides when it normally
34 | wouldn't.
35 | * redirect all params and launchers at the real turtlebot configuration files and cleanup, `#21 `_.
36 | * remove unused plugins and add the cost cloud.
37 | * add turtlebot_stage
38 | * Contributors: Alexander Reimann, Daniel Stonier, Jihoon Lee
39 |
40 | * Adds border extension to map to fix map scaling / position in stage
41 | * Added changes in the stage launch file undone before because of the merge
42 | * Merged
43 | * Moved env fold inside stage
44 | * Revert "Stage launch use env variables"
45 | * Small fix for wrong file name of env script
46 | * Added support for map and world file through env variables
47 | * remove annotation and param install rule
48 | * updated rviz configuration for dwa.
49 | * add the trajectory cloud to stage's rviz view.
50 | * stage only permits 'square' robots, so make sure our square fits within
51 | the turtlebot defined circle otherwise it collides when it normally
52 | wouldn't.
53 | * redirect all params and launchers at the real turtlebot configuration files and cleanup, `#21 `_.
54 | * remove unused plugins and add the cost cloud.
55 | * add turtlebot_stage
56 | * Contributors: Alexander Reimann, Daniel Stonier, Jihoon Lee
57 |
58 | 2.1.1 (2013-10-14)
59 | ------------------
60 |
61 | 2.1.0 (2013-09-02)
62 | ------------------
63 |
64 | 2.0.0 (2013-08-12)
65 | ------------------
66 |
67 | 1.9.1 (2013-01-02)
68 | ------------------
69 |
70 | 1.9.0 (2012-12-22)
71 | ------------------
72 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_stage/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8.3)
2 | project(turtlebot_stage)
3 |
4 | find_package(catkin REQUIRED)
5 |
6 | catkin_package()
7 |
8 | catkin_add_env_hooks(25.turtlebot-stage SHELLS sh DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/env-hooks)
9 |
10 | install(DIRECTORY launch
11 | DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
12 | )
13 |
14 | install(DIRECTORY maps
15 | DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
16 | )
17 |
18 | install(DIRECTORY rviz
19 | DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
20 | )
21 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_stage/env-hooks/25.turtlebot-stage.sh.em:
--------------------------------------------------------------------------------
1 | # Set some sane defaults for the turtlebot stage launch environment
2 | ##Documentation:
3 | # The colon command simply has its arguments evaluated and then succeeds.
4 | # It is the original shell comment notation (before '#' to end of line). For a long time, Bourne shell scripts had a colon as the first character.
5 | # The C Shell would read a script and use the first character to determine whether it was for the C Shell (a '#' hash) or the Bourne shell (a ':' colon).
6 | # Then the kernel got in on the act and added support for '#!/path/to/program' and the Bourne shell got '#' comments, and the colon convention went by the wayside.
7 | # But if you come across a script that starts with a colon (Like this one), now you will know why. ~ Jonathan Leffler
8 | : ${TURTLEBOT_STAGE_MAP_FILE:=`rospack find turtlebot_stage`/maps/maze.yaml}
9 | : ${TURTLEBOT_STAGE_WORLD_FILE:=`rospack find turtlebot_stage`/maps/stage/maze.world}
10 | # Exports
11 | export TURTLEBOT_STAGE_MAP_FILE
12 | export TURTLEBOT_STAGE_WORLD_FILE
13 |
14 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_stage/maps/maze.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/udacity/RoboND-EKFLab/1acbf192d5e8bca11b3082d5b882030d63007dd5/turtlebot_simulator/turtlebot_stage/maps/maze.png
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_stage/maps/maze.yaml:
--------------------------------------------------------------------------------
1 | image: maze.png
2 | resolution: 0.05
3 | origin: [0.0, 0.0, 0.0]
4 | negate: 0
5 | occupied_thresh: 0.65
6 | free_thresh: 0.196
7 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_stage/maps/robopark2.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/udacity/RoboND-EKFLab/1acbf192d5e8bca11b3082d5b882030d63007dd5/turtlebot_simulator/turtlebot_stage/maps/robopark2.bmp
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_stage/maps/robopark_plan.yaml:
--------------------------------------------------------------------------------
1 | image: robopark2.bmp
2 | resolution: 0.014
3 | origin: [-0.6, -2.24, 0.0] #The 2-D pose of the lower-left pixel in the map, as (x, y, yaw)
4 | negate: 0
5 | occupied_thresh: 0.65
6 | free_thresh: 0.196
7 |
8 |
9 |
10 | # 2150x700 pix
11 |
12 | # 491 pix -> 13.900 m
13 |
14 | # res = 0.0283 pix/m
15 |
16 | # 1012 >>> 28.6396
17 | # 340 >>> 9.622
18 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_stage/maps/stage/maze.world:
--------------------------------------------------------------------------------
1 | include "turtlebot.inc"
2 |
3 | define floorplan model
4 | (
5 | # sombre, sensible, artistic
6 | color "gray30"
7 |
8 | # most maps will need a bounding box
9 | boundary 1
10 |
11 | gui_nose 0
12 | gui_grid 0
13 | gui_outline 0
14 | gripper_return 0
15 | fiducial_return 0
16 | laser_return 1
17 | )
18 |
19 | resolution 0.02
20 | interval_sim 100 # simulation timestep in milliseconds
21 |
22 | window
23 | (
24 | size [ 600.0 700.0 ]
25 | center [ 0.0 0.0 ]
26 | rotate [ 0.0 0.0 ]
27 | scale 60
28 | )
29 |
30 | floorplan
31 | (
32 | name "maze"
33 | bitmap "../maze.png"
34 | size [ 10.0 10.0 2.0 ]
35 | pose [ 5.0 5.0 0.0 0.0 ]
36 | )
37 |
38 | # throw in a robot
39 | turtlebot
40 | (
41 | pose [ 2.0 2.0 0.0 0.0 ]
42 | name "turtlebot"
43 | color "black"
44 | )
45 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_stage/maps/stage/robopark_plan.world:
--------------------------------------------------------------------------------
1 | include "turtlebot.inc"
2 |
3 | # Definition for an obstacle placed on the map.
4 | define block model
5 | (
6 | size [0.500 0.500 1.500]
7 | gui_nose 0
8 | )
9 |
10 |
11 | # throw in a robot
12 | turtlebot
13 | (
14 | pose [ 2.000 2.000 0.000 0.000 ]
15 | name "turtlebot1"
16 | color "gray"
17 | gui_nose 1
18 | )
19 |
20 | # throw in an obstacle
21 | block( pose [ 4.000 4.000 0.000 0.000 ] color "red")
22 |
23 |
24 | define floorplan model
25 | (
26 | # sombre, sensible, artistic
27 | color "gray30"
28 |
29 | # most maps will need a bounding box
30 | boundary 1
31 |
32 | gui_nose 0
33 | gui_grid 0
34 |
35 | gui_outline 0
36 | gripper_return 0
37 | fiducial_return 0
38 | laser_return 1
39 | )
40 |
41 | # set the resolution of the underlying raytrace model in meters
42 | resolution 0.01
43 |
44 | interval_sim 100 # simulation timestep in milliseconds
45 |
46 | window
47 | (
48 | size [ 600 424 ]
49 | rotate [ 0.000 0.000 ]
50 | )
51 |
52 | # load an environment bitmap
53 | floorplan
54 | (
55 | name "Robo Park floor"
56 | bitmap "../robopark2.bmp"
57 | size [16.800 11.870 1.000]
58 |
59 | pose [ 0.000 0.000 0.000 0.000 ]
60 | #for test
61 | origin [ 7.800 3.700 0.000 0.000] # specify the position of the object's center, relative to its pose
62 | )
63 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_stage/maps/stage/turtlebot.inc:
--------------------------------------------------------------------------------
1 | define kinect ranger
2 | (
3 | sensor
4 | (
5 | range_max 6.5
6 | fov 58.0
7 | samples 640
8 | )
9 | # generic model properties
10 | color "black"
11 | size [ 0.06 0.15 0.03 ]
12 | )
13 |
14 | define turtlebot position
15 | (
16 | pose [ 0.0 0.0 0.0 0.0 ]
17 |
18 | odom_error [0.03 0.03 999999 999999 999999 0.02]
19 |
20 | size [ 0.2552 0.2552 0.40 ]
21 | origin [ 0.0 0.0 0.0 0.0 ]
22 | gui_nose 1
23 | drive "diff"
24 | color "gray"
25 |
26 | kinect(pose [ -0.1 0.0 -0.11 0.0 ])
27 | )
28 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_stage/package.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | turtlebot_stage
4 | 2.2.3
5 |
6 | Stage version of turtlebot simulation. Convenient to test 2D-navigation related stuffs
7 |
8 |
9 | Jihoon Lee
10 | Jorge Santos
11 | BSD
12 |
13 | http://wiki.ros.org/turtlebot_stage
14 | https://github.com/turtlebot/turtlebot_simulator
15 | https://github.com/turtlebot/turtlebot_simulator/issues
16 |
17 | catkin
18 | stage_ros
19 | navigation
20 | turtlebot_bringup
21 | turtlebot_navigation
22 | yocs_virtual_sensor
23 | yocs_velocity_smoother
24 |
25 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_stdr/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | turtlebot_stdr
4 |
5 |
6 |
7 |
8 |
9 | org.python.pydev.PyDevBuilder
10 |
11 |
12 |
13 |
14 | org.eclipse.cdt.managedbuilder.core.genmakebuilder
15 | clean,full,incremental,
16 |
17 |
18 |
19 |
20 | org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
21 | full,incremental,
22 |
23 |
24 |
25 |
26 |
27 | org.eclipse.cdt.core.cnature
28 | org.eclipse.cdt.core.ccnature
29 | org.eclipse.cdt.managedbuilder.core.managedBuildNature
30 | org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
31 | org.python.pydev.pythonNature
32 |
33 |
34 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_stdr/.pydevproject:
--------------------------------------------------------------------------------
1 |
2 |
3 | Default
4 | python 2.7
5 |
6 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_stdr/CHANGELOG.rst:
--------------------------------------------------------------------------------
1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 | Changelog for package turtlebot_stdr
3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4 |
5 | 2.2.3 (2017-09-18)
6 | ------------------
7 | * add turtlebot_navigation as dependency and fix amcl.launch.xml include path in turtlebot_stdr
8 | * Contributors: Gérald Lelong
9 |
10 | 2.2.2 (2015-09-16)
11 | ------------------
12 |
13 | 2.2.1 (2015-08-07)
14 | ------------------
15 |
16 | 2.2.0 (2014-12-30)
17 | ------------------
18 | * add installrule for tf_connector and robot directory
19 | * Use default map topic name map after changing stdr's internal map server's topic
20 | * Use only one map topic and remove unused sensors from rviz
21 | * add stdr_resources as run_depend closes `#38 `_
22 | * correct run_depend for stdr fixes `#37 `_
23 | * renamed new_map to rviz_map, a map with the right global frame id
24 | * Update turtlebot.yaml
25 | * Update tf_connector.py
26 | * fixed map and costmap misalignement due to wrong frame_id
27 | * fix laser scan min max height for simulation
28 | * added architecture image
29 | * deleted cache file
30 | * added env-hooks folder
31 | * add env-hooks and changed the fixed frame in rviz from map to world
32 | * Cleaned up CMakeLists.txt
33 | * removed param and amcl/movebase modified launch files
34 | * turtlebot_stdr v0.1
35 | * Contributors: Jihoon Lee, Mehdi Tlili
36 |
37 | * add installrule for tf_connector and robot directory
38 | * Use default map topic name map after changing stdr's internal map server's topic
39 | * Use only one map topic and remove unused sensors from rviz
40 | * add stdr_resources as run_depend closes `#38 `_
41 | * correct run_depend for stdr fixes `#37 `_
42 | * renamed new_map to rviz_map, a map with the right global frame id
43 | * Update turtlebot.yaml
44 | * Update tf_connector.py
45 | * fixed map and costmap misalignement due to wrong frame_id
46 | * fix laser scan min max height for simulation
47 | * added architecture image
48 | * deleted cache file
49 | * added env-hooks folder
50 | * add env-hooks and changed the fixed frame in rviz from map to world
51 | * Cleaned up CMakeLists.txt
52 | * removed param and amcl/movebase modified launch files
53 | * turtlebot_stdr v0.1
54 | * Contributors: Jihoon Lee, Mehdi Tlili
55 |
56 | 2.1.1 (2013-10-14)
57 | ------------------
58 |
59 | 2.1.0 (2013-09-02)
60 | ------------------
61 |
62 | 2.0.0 (2013-08-12)
63 | ------------------
64 |
65 | 1.9.1 (2013-01-02)
66 | ------------------
67 |
68 | 1.9.0 (2012-12-22)
69 | ------------------
70 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_stdr/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8.3)
2 | project(turtlebot_stdr)
3 |
4 | find_package(catkin REQUIRED)
5 |
6 | catkin_package()
7 |
8 | catkin_add_env_hooks(25.turtlebot-stdr SHELLS sh DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/env-hooks)
9 |
10 | install(DIRECTORY launch
11 | DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
12 | )
13 |
14 | install(DIRECTORY maps
15 | DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
16 | )
17 |
18 | install(DIRECTORY rviz
19 | DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
20 | )
21 |
22 | install(DIRECTORY robot
23 | DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
24 | )
25 |
26 | install(
27 | PROGRAMS
28 | nodes/tf_connector.py
29 | DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
30 | )
31 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_stdr/documentation/architecture_overview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/udacity/RoboND-EKFLab/1acbf192d5e8bca11b3082d5b882030d63007dd5/turtlebot_simulator/turtlebot_stdr/documentation/architecture_overview.png
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_stdr/env-hooks/25.turtlebot-stdr.sh.em:
--------------------------------------------------------------------------------
1 | # Set some sane defaults for the turtlebot stdr launch environment
2 | ##Documentation:
3 | # The colon command simply has its arguments evaluated and then succeeds.
4 | # It is the original shell comment notation (before '#' to end of line). For a long time, Bourne shell scripts had a colon as the first character.
5 | # The C Shell would read a script and use the first character to determine whether it was for the C Shell (a '#' hash) or the Bourne shell (a ':' colon).
6 | # Then the kernel got in on the act and added support for '#!/path/to/program' and the Bourne shell got '#' comments, and the colon convention went by the wayside.
7 | # But if you come across a script that starts with a colon (Like this one), now you will know why. ~ Jonathan Leffler
8 | : ${TURTLEBOT_STDR_MAP_FILE:=`rospack find turtlebot_stdr`/maps/sparse_obstacles.yaml}
9 | # Exports
10 | export TURTLEBOT_STDR_MAP_FILE
11 |
12 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_stdr/launch/includes/relays.launch.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_stdr/maps/frieburg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/udacity/RoboND-EKFLab/1acbf192d5e8bca11b3082d5b882030d63007dd5/turtlebot_simulator/turtlebot_stdr/maps/frieburg.png
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_stdr/maps/frieburg.yaml:
--------------------------------------------------------------------------------
1 | image: frieburg.png
2 | resolution: 0.05
3 | origin: [0.0, 0.0, 0.0]
4 | occupied_thresh: 0.6
5 | free_thresh: 0.3
6 | negate: 0
7 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_stdr/maps/hospital_section.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/udacity/RoboND-EKFLab/1acbf192d5e8bca11b3082d5b882030d63007dd5/turtlebot_simulator/turtlebot_stdr/maps/hospital_section.png
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_stdr/maps/hospital_section.yaml:
--------------------------------------------------------------------------------
1 | image: hospital_section.png
2 | resolution: 0.05
3 | origin: [0.0, 0.0, 0.0]
4 | occupied_thresh: 0.6
5 | free_thresh: 0.3
6 | negate: 0
7 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_stdr/maps/mines.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/udacity/RoboND-EKFLab/1acbf192d5e8bca11b3082d5b882030d63007dd5/turtlebot_simulator/turtlebot_stdr/maps/mines.png
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_stdr/maps/mines.yaml:
--------------------------------------------------------------------------------
1 | image: mines.png
2 | resolution: 0.05
3 | origin: [0.0, 0.0, 0.0]
4 | occupied_thresh: 0.6
5 | free_thresh: 0.3
6 | negate: 0
7 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_stdr/maps/robocup.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/udacity/RoboND-EKFLab/1acbf192d5e8bca11b3082d5b882030d63007dd5/turtlebot_simulator/turtlebot_stdr/maps/robocup.png
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_stdr/maps/robocup.yaml:
--------------------------------------------------------------------------------
1 | image: robocup.png
2 | resolution: 0.03
3 | origin: [0.0, 0.0, 0.0]
4 | occupied_thresh: 0.6
5 | free_thresh: 0.3
6 | negate: 0
7 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_stdr/maps/simple_rooms.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/udacity/RoboND-EKFLab/1acbf192d5e8bca11b3082d5b882030d63007dd5/turtlebot_simulator/turtlebot_stdr/maps/simple_rooms.png
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_stdr/maps/simple_rooms.yaml:
--------------------------------------------------------------------------------
1 | image: simple_rooms.png
2 | resolution: 0.05
3 | origin: [0.0, 0.0, 0.0]
4 | occupied_thresh: 0.6
5 | free_thresh: 0.3
6 | negate: 0
7 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_stdr/maps/sparse_obstacles.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/udacity/RoboND-EKFLab/1acbf192d5e8bca11b3082d5b882030d63007dd5/turtlebot_simulator/turtlebot_stdr/maps/sparse_obstacles.png
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_stdr/maps/sparse_obstacles.yaml:
--------------------------------------------------------------------------------
1 | image: sparse_obstacles.png
2 | resolution: 0.02
3 | origin: [0.0, 0.0, 0.0]
4 | occupied_thresh: 0.6
5 | free_thresh: 0.3
6 | negate: 0
7 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_stdr/nodes/tf_connector.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | __author__ = 'mehdi tlili'
3 | import rospy
4 | from tf2_msgs.msg import TFMessage
5 | import tf
6 |
7 | class Remapper(object):
8 |
9 | def __init__(self):
10 | self.br = tf.TransformBroadcaster()
11 | rospy.Subscriber("/tf", TFMessage, self.tf_remapper)
12 |
13 | def tf_remapper(self, msg):
14 |
15 | if msg.transforms[0].header.frame_id == "/robot0":
16 | self.br.sendTransform((0, 0, 0),
17 | tf.transformations.quaternion_from_euler(0, 0, 0),
18 | rospy.Time.now(),
19 | "base_footprint",
20 | "robot0")
21 |
22 |
23 | if __name__ == '__main__':
24 | rospy.init_node('remapper_nav')
25 | remapper = Remapper()
26 | rospy.spin()
27 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_stdr/package.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | turtlebot_stdr
4 | 2.2.3
5 |
6 | Stdr version of turtlebot simulation. Convenient to test 2D-navigation related stuffs
7 |
8 |
9 | Mehdi Tlili
10 | Mehdi Tlili
11 | BSD
12 |
13 | http://wiki.ros.org/turtlebot_stdr
14 | https://github.com/turtlebot/turtlebot_simulator
15 | https://github.com/turtlebot/turtlebot_simulator/issues
16 |
17 | catkin
18 | stdr_gui
19 | stdr_robot
20 | stdr_server
21 | stdr_resources
22 | navigation
23 | turtlebot_bringup
24 | turtlebot_navigation
25 | yocs_virtual_sensor
26 | yocs_velocity_smoother
27 |
28 |
--------------------------------------------------------------------------------
/turtlebot_simulator/turtlebot_stdr/robot/turtlebot.yaml:
--------------------------------------------------------------------------------
1 | robot:
2 | robot_specifications:
3 | - footprint:
4 | footprint_specifications:
5 | radius: 0.2552
6 | points:
7 | []
8 | - initial_pose:
9 | x: 2.0
10 | y: 2.0
11 | theta: 0.0
12 | - laser:
13 | laser_specifications:
14 | max_angle: 0.5
15 | min_angle: -0.5
16 | max_range: 5
17 | min_range: 0
18 | num_rays: 640
19 | frequency: 15
20 | frame_id: laser_0
21 | pose:
22 | x: -0.1
23 | y: 0
24 | theta: 0
25 | noise:
26 | noise_specifications:
27 | noise_mean: 0.001
28 | noise_std: 0.00001
29 |
30 |
--------------------------------------------------------------------------------