CS-8803 Special Topic: Machine Learning for Robotics Homework 1 solution

$30.00

Original Work ?
Category: You will Instantly receive a download link for .ZIP solution file upon Payment

Description

5/5 - (1 vote)

Step 0: infrastructure
All PCs are setup with Ubuntu 16.04, ROS kinetic and V-REP.
More details about ROS can be found on www.ros.org
More details about V-REP can be found on www.vrep.eu
If the PCs are running windows, you can access linux by rebooting and pressing Escape during the
PXE boot process. This will trigger a menu in which you can chose to start linux.
You can login with your normal user account and password, which will make your windows home
space available. Note that, when you are logged in, you cannot see the home folders of your project
group partners. To share files in a proper way, it is recommended to use the GT github service on
github.gatech.edu. To proceed:
1. Login on github.gatech.edu with your GT account (jsmith8) and password.
2. Create a new private repository (e.g. cs8803_jsmith8)
3. Add your instructor (cpradalier7) as collaborators, and potentially your group partner for the
larger projects.
4. Use git clone, git add, git commit, git push and git pull to recover your files.
Check the following GIT cheat sheet for reference: https://www.git-tower.com/blog/git-cheat-sheet/
Note: any other version control system would be acceptable (bitbutcket also lets you create private
accounts if you signup with a @gatech.edu email address).
Step 1: teach yourself ROS
For this set of project we will use the Kinetic version of ROS (ignore anything mentionning rosbuild).
Go to https://www.ros.org/wiki/ROS/Tutorials and follow tutorials 1 to 17. 9 is not really necessary. Get
familiar with BOTH Python and C++: we will need them during the class
As a suggestion, edit the file .bashrc in your group home folder and add the following line:
source /opt/ros/kinetic/setup.bash
(in case it is not yet so).
Note that you don’t need “sudo” access. Any command suggested by the tutorials that requires root
access can be skipped.
Step 2: start V-REP
V-REP is installed in /cs-share/pradalier/V-REP.
Launch it by running the following line:
cd /cs-share/pradalier/V-REP
sh vrep.sh ou ./vrep.sh
Run roscore before V-REP to make it export all its variable to ROS.
Once V-REP is running, open the scene rosControlKinect.ttt in /csshare/pradalier/scenes
Start playing it by clicking on the triangular icon in the menu bar. The first time a scene is launched, the
pre-processing takes some time. The simulation is running once you see the red laser marks on the
ground.
V-REP exports the following topics:
/rosout
/rosout_agg
Ignore, used in ROS logging system
/tf The tree of transformation describing the relation
between different objects in the scene. Ignore for
now.
/vrep/depthSensor The laser scanner data points.
/vrep/info Internal vrep data
/vrep/leftWheelEncoder
/vrep/rightWheelEncoder
The position of the encoder for the left and right
wheel
/vrep/leftWheelCommand
/vrep/rightWheelCommand
The desired velocity of the left and right wheel
/vrep/twistCommand
/vrep/twistStatus
Commanded velocity vector (6D) and status.
Use /vrep/twistCommand to make the robot move.
/vrep/visionSensor
/vrep/visionSensor/compressed …
/vrep/visionSensor/theora …
The output of the on-board camera. You can
ignore the compressed and theora topic for now.
/vrep/visionSensorInfo The camera calibration.
Use rostopic list and rostopic echo to check the data published by V-REP but do not spend too much
time on it for this homework, will work on the data later.
Step 3: Implement a joystick control
A set of joystick is available on demand. Please borrow them when you need them. You can keep them
during the semester, but please bring them back after the final project.
ROS provides tools to read the joystick state. Check the web for details.
Create a small ros package with a node that will receive the joystick data and send corresponding
commands to the simulated robot.
Submit the ros package (tar.gz or zip) by email by next Wednesday, 10:00 to
cedric.pradalier@georgiatech-metz.fr (don’t forget to mention you group name)