teaching:se-kiba:plan-based-assignment
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| teaching:se-kiba:plan-based-assignment [2013/04/22 12:14] – Added repo URL winkler | teaching:se-kiba:plan-based-assignment [2016/05/19 09:19] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Homework: ROS packages for plan-based robot control ====== | ====== Homework: ROS packages for plan-based robot control ====== | ||
| - | Git repository | + | {{ : |
| + | |||
| + | ===== Installation ===== | ||
| + | Please install the base ROS system according to the guide found [[software: | ||
| + | |||
| + | ===== Getting Started ===== | ||
| + | The beginner ROS tutorials given [[http:// | ||
| + | |||
| + | A familiarity with the rosbuild system and writing ROS nodes in C++ and/or Python is mandatory and important for the assignments during the seminar. | ||
| + | |||
| + | The following topics are especially important: | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | |||
| + | ===== Workspace Setup ===== | ||
| + | We have created a git repository | ||
| + | https:// | ||
| + | rosws set group_highlevel --git https:// | ||
| + | rosws update | ||
| + | source ~/.bashrc | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ===== Assignment ===== | ||
| + | To successfully pass this assignment, you must write a ROS node that communicates with a TurtleSim simulation and sends target poses to it. | ||
| + | |||
| + | This includes doing the following: | ||
| + | * Write a .launch-file for starting the turtlesim_node node in the turtlesim package (this will automatically start the roscore master node if none is active) | ||
| + | * Write a main function that starts the ROS node and connects it to the ROS master. | ||
| + | * Go through a list of cities (*cities*, as defined in the assignment template) and make sure the turtle reaches all of these city coordinates (use a reasonably small threshold around the target city to check if it reached the target spot). | ||
| + | * For this, you will need to write a controller in Lisp as you can only command the turtle velocity. | ||
| + | * Change the background of the turtle visualization every time you reach a city to a random color | ||
| + | * Output a message containing the city name every time you visit a city and start out to a new one using for example < | ||
| + | * Once all spots were visited, go back to the initial position. | ||
| + | * Implement an interface for the / | ||
| + | |||
| + | To change the background color, inspect the /clear ROS service. | ||
| + | The parameters can be set using the | ||
| + | < | ||
| + | (roslisp: | ||
| + | </ | ||
| + | call. Afterwards, you have to call the /clear service. You can do this in Lisp using the roslisp call-service function: | ||
| + | < | ||
| + | (roslisp: | ||
| + | </ | ||
| + | with respective service-name and -type. | ||
| + | |||
| + | Document the code you write (preferably in the GitHub Wiki) and add documentation strings to the implemented funtions. | ||
| + | |||
| + | For details concerning the TurtleSim package, consult the manual: [[http:// | ||
| + | For details about the assignment, look at the README.md file also shown in the GitHub main page for the repository: [[https:// | ||
| + | ===== Side Notes ===== | ||
| + | In order to get a better understanding of Lisp (and for reference purposes), the following links can support you while getting the grips of it: | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
teaching/se-kiba/plan-based-assignment.1366632854.txt.gz · Last modified: (external edit)
