News

Atom Add a new post titled:

Hi all,

Today in class I granted an extension for Assignment 1. You are welcome to demonstrate your code in the lab this Thursday with no loss of marks (the original due date). If you wish you can also demonstrate your code in the lab next Thursday (1 week late) with a 10\% penalty. You are allowed to try both and I'll take the best score. There is an extension on the report until next Thursday with no loss of marks.

Posted Tue 18 Sep 2012 17:35:11 EST

Just a quick note to let everyone know that Leonardo has had its gyro/power board replaced and is now working.

And you may want to look at the TurtleBot page that I've been populating with details on how to use the robots. Feel free to add anything you discover.

Posted Fri 14 Sep 2012 17:01:08 EST

Hi all,

As announced in class today, now that we have working robots I'm fixing assignment dates.

Assignment 1 is similar to previous years: make a turtlebot move between 5 points on the field. Due at the start of the lab of week 9. There will be four beacons placed about the field - these will be the pink/yellow and pink/green robocup beacons. Your team needs to implement three ROS objects:

  • A Bayesian filter,
  • A beacon detector,
  • A control module

Assignment 2 will be due in the last lab of semester, week 13. It will be to do something interesting with the robots. You can use any TurtleBot code you find on the web. I've not played with these robots before - let's see what they can do. If you're short of ideas, ask me.

You should work in teams of 3 or 4 for these assignments. You should have a different team for each assignment - i.e. if there are two people on a team for assignment 1, they would need my permission to be on the same team for assignment 2. I only give permission in rare cases.

Cheers,

Will :-}

Posted Thu 30 Aug 2012 22:48:11 EST

After today's lab, where people were having trouble making the Kinect's work with the TurtleBots, I went though and checked them all. They generally worked fine, but I've listed some useful points below. Here are my notes:

  • The Gyro on Leonardo was broken. This showed up clearly in the Dashboard.
  • The Kinect power connections were loose on a few robots.
  • You need to be careful with your rviz setup.
  • Generally you just need to follow the turtlebot tutorials.

In more detail:

  • Log in to a lab desktop machine.
  • Check that your '.bashrc' file contains the line 'source /opt/ros/electric/setup.bash' (or equivalent setup if you're using a different shell)
  • Choose a robot
    • Unplug the robot
    • Check that the power light on the robot and on the white serial connector is off.
    • Connect the white serial connector
    • turn on the robot
    • Check that the power is on on the robot and the white serial connector
  • open a terminal on the desktop and ssh into the robot
    • Check that your '.bashrc' file on the robot contains the line 'source /opt/ros/fuerte/setup.bash' (and if it didn't then log out and log back in again after you add it. Remember that this file will be different on each robot as your robot home directories are not shared.)
    • roslaunch turtlebot_bringup minimal.launch
  • open a terminal on the desktop
    • export ROS_MASTER_URI=http://<robot>:11311/
    • rosrun turtlebot_dashboard turtlebot_dashboard
    • Wait for everything to start. This can take a little while.
    • Once started, the arrows pointing each direction on the white serial box should be lit. They should stay lit continuously.
    • Check that the dashboard shows the diagnostic and output (leftmost two buttons) green
    • If something doesn't work, you might try killing and restarting your minimal bringup. You'll also want to check that noone else is trying to use the same robot, and that noone else has left zomebie processes runnning on the robot. If in doubt, reboot the laptop (This is currently a little tricky - I'll try to make it easier).
  • open a terminal on the desktop
    • export ROS_MASTER_URI=http://<robot>:11311/
    • roslaunch turtlebot_teleop keyboard_teleop.launch
    • On the turtlebot dashboard, change the drive mode to full
    • Check that you can control the robot base with the keyboard.

Now we'll get the Kinect going:

  • Check the power to the Kinect
    • Check that Breaker 0 is green in the turtlebot dashboard. If it isn't, click on it to make it green.
    • On the robot, there is a small green LED on the Kinect cable. This should now be lit indicating that the Kinect has power. If it isn't then you may want to check that the kinect power cable is seated correctly. If this happens and you're unsure what to do ask Will for help.
  • open another terminal on the desktop and ssh in to the robot
    • roslaunch turtlebot_bringup kinect.launch
    • Wait for everything to start. This can take a while.
    • Again, if there are problems try restarting the kinect drivers (ctrl-c then re-run the command two lines up). You also want to make sure there are no zombie kinect processes by you or anyone else
  • open another terminal on the desktop
    • We're now going to start rviz. When you start rviz, you can supply a configuration. If you don't supply one then it uses the last one you used. For many of you this will be the turtlebot simulation. For this demonstration, you want to start with a very basic config. The easiest way to do this is the rm -rf .rviz in your home dir on the desktop. A better way would be to make a simple config.
    • export ROS_MASTER_URI=http://<robot>:11311/
    • rosrun rviz rviz
    • rviz should start up and not show much.
    • We can not view some data gathered by the kinect. The wireless network in the lab is not high bandwidth. Trying to send uncompressed video over it will not work well, and point clouds can be even larger. We'll start by looking at a 'laser' that the kinect can simulate - this is one horizontal scan line of distance data rather than the full point cloud.
    • Click 'add' and choose 'laser'
    • in the laser section select the kinect's laser topic
    • You should now be able to see some points in rviz. Move in front of the robot and see how the points move.
    • You can also add a camera and look at the camera topic. As noted above, this takes a lot of bandwidth - it can take 30 seconds for a single frame. I wouldn't leave this running. Unchecking the checkbox next to 'camera' allows you to stop this without removing the entire configuration.
    • You can also add a 'pointcloud2'. For more details on how to add the camera or pointcloud2, see the turtlebot tutoral and the rviz documentation.

Shutting down:

  • Close rviz
  • stop the Kinect. (ctrl-c in the kinect bringup window)
  • turn off the 0'th breaker to make sure the kinect doesn't drain the robot's battery
  • stop the turtlebot dashboard
  • stop the turtlebot base (ctrl-c in the mininal bringup window)
  • turn off the turtlebot (press the robot's power button)
  • disconnect the white serial cable
  • connect the turtlebot power cable
  • connect the laptop power cable

As noted above, I've used this approach to get all four working robots (not Leonardo) to move and see with the Kinect. Some of them were a little temperamental, but any problems show up clearly in the diagnostics section of the turtlebot dashboard.

Posted Thu 30 Aug 2012 22:48:11 EST

Hi all,

I've just posted Homework1.pdf. It is due Friday of week 5.

Be well,

Will :-}

Posted Tue 07 Aug 2012 09:03:24 EST

Hi all,

Due to the cosyness of the room this morning I've arranged a change of room for the coarse. We're now in the Australian School of Business room 216 on Tuesdays and room 130 on Thursdays. Lecture times are unchanged.

See you in the new location on Thursday :)

Will :-}

P.S. The lab location also changed from the draft timetable. I'll go over that in class before the lab starts. Next week the lab will be in the robotics lab on the 3rd floor of K17.

Posted Tue 17 Jul 2012 12:49:25 EST

Hi all,

I've had a few people ask me about links to various things. There are two easy ways to find things in this wiki: the 'RecentChanges' link at the top of each page lists recent changes to the wiki :). The 'Site Map' in the 'Quick Links' box on the right hand side lists every page in the wiki. :)

Having said that, the notes from the overview lecture in the last week of class are here, the RL notes are here, and the sample exam is here. Malcolm's planning slides are here.

Will :-}

Posted Thu 28 Oct 2010 16:45:20 EST

Just so everyone is aware. The exam is scheduled for the evening of Tuesday 2nd November, 17:45 - 21:00 (5:45pm - 9:00pm). It will be held in K17_B02. It will be open book, calculator, notes, laptop, internet. The rule is no communication with another person.

Posted Tue 19 Oct 2010 16:23:04 EST

Hi all,

I've had some people ask some questions about assignment 2 this year. Here are the answers so that everyone is on the same page:

  • Goals: will they be there or not? I have no strong opinion either way. I'm leaning towards them being there, but if that causes a problem for someone's localisation then I'll reconsider. I would like it consistant - I don't want to be taking them on and off the field for each team's run.
  • Beacons: Let's have them in the same positions as assignment 1. You are allowed to use your solution to assignment 1 in assignment 2, so you should have reasonable localisation.
  • Usage of functions: In previous years the early assignments already had you implementing ball tracking and grabbing, so I didn't allow use of the built-in code. This year I'm happy for you to re-use the grab. I'd prefer if you implemented your own ball tracking (but look at the code that is there). I'm happy to talk about this in the review lecture tomorrow.
  • Start location: I'll start you pointing across the centre-line. It will not be to far from the centre line. I don't start timing until you cross the centre line (unless your robot seems to be completely confused, in which case I'll ask you to re-start it).
  • Stopping criterion: I'll stop timing when the ball crosses the centre-line even it if then proceeds to go out. I've had close calls before - It matters if the ball goes out just before or just after it crosses the centre line.

Will

Posted Tue 19 Oct 2010 10:34:00 EST

... is at http://www.cse.unsw.edu.au/~cs3431/robotModel.py or ~cs3431/public_html/robotModel.py.

it will be there until assignment 1 is due.

Posted Fri 17 Sep 2010 15:26:29 EST