Skip to content
Matheus Vieira Portela edited this page Apr 22, 2014 · 57 revisions

Pending:

Camera:

Dummy Camera:

  • Record test video from Kinect (both image and depth)

Vision:

  • Publish the complete robots pose (x, y and theta) instead of just x

Strategy:

  • Discretize linear and angular velocity in 5 (?) levels (positive and negative)
  • Create game states (running, paused, field kick, goal, etc)
  • Create constants configuration file, to be used by all nodes
  • Create a strategy method to decide with action to use with each robot

Simulator:

  • Figure out why "linear x" makes the robots turn and "angular z" makes them move

Documentation:

  • Write about how to install Freenect, launch freenect_launch, and get the images
  • Write about how the robot methods should be written (state machine with two methods, one to initialize variables and another to execute the action)

In progress:

Gabriel:

  • Start writing vision system with dummy_frame and the old code

Tcholas:

  • Create play class, which will serve as an intermediate layer between a strategy tatic and a robot move

Ícaro:

Done

Camera:

  • Write Kinect node (using roslaunch freenect_launch freenect.launch)
  • Create communication system for transmitting RGBD images

Dummy Camera:

  • Create the dummy_camera node, which loads a video file and publishes it on the /camera/raw_image topic
  • Create the dummy_frame node, which loads a video file and publishes its second frame on the /camera/raw_image topic
  • Get image from Dummy Camera
  • Create test for the dummy_camera module, which prints the images transmitted on the screen
  • Transmit only one frame for testing purposes

Vision:

  • Create vision node, which will subscribe to the camera topic, process the image, and publish important information about the robots, the ball, and the game in general (e.g. "/vision/robots_info")

Strategy:

  • Create strategy node, which will subscribe to either the vision topic or the simulation topic and define the robots behaviour, publishing velocities in a topic (e.g. "/strategy/robots_velocities")
  • Get real information from Vision or Simulation as soon as they are created
  • Change from "rot_vel" to "ang_vel" (make it linear and angular velocities)
  • Make look at function, to turn a robot orientation to a specific (x, y) coordinate
  • Make go to function, to move a robot to a specific (x, y) coordinate

Simulator:

  • Simulation: Create a simulation node, which will have a Gazebo plugin for controlling the robots and publish the state of the simulation
  • Model the field, the robot, and the ball on Gazebo SDF files
  • Lower the gravity center of the robots so that they don't move over time
  • Try this approach to implement a controller to the robots
  • Understand how the differential controller works
  • Control each robot independently
  • Implement communication between strategy and simulator
  • Rotate robots 0, 1 and 2 in 180 degrees to make them look to the opponents field

Documentation:

  • Write unit test section in the Development Guidelines
  • Write about the messages for the project

Clone this wiki locally