-
Notifications
You must be signed in to change notification settings - Fork 1
To Do List
Matheus Vieira Portela edited this page Jun 12, 2014
·
57 revisions
Camera:
Dummy Camera:
Vision:
- Publish the complete robots pose (x, y and theta) instead of just x
- Write auto-calibration method
- Segment robots
- Identify robots
Strategy:
- Create constants configuration file, to be used by all nodes
- Discretize linear and angular velocity in 5 (?) levels (positive and negative)
- In the class ActionController, create the action goToBall (remember to get the ball position all the time)
- In the class ActionController, create the action to Kick the ball
- Move MotionState to its own header file
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)
Hardware:
- Search for 3D printers in Brasília
- Study how to design with SolidWorks for 3D printers
Gabriel:
- Segment the field
Tcholas:
- Implement collision detection and avoidance
Ícaro:
Camera:
- Write Kinect node (using roslaunch freenect_launch freenect.launch)
- Create communication system for transmitting RGBD images
- Record test video from Kinect (both image and depth)
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")
- Start writing vision system with dummy_frame and the old code
- Record Kinect video
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
- Create play class, which will serve as an intermediate layer between a strategy tactic and a robot move
- Create game states (running, paused, field kick, goal, etc)
- In the class PlayController, create methods to deal with the mutex (lock, unlock, islocked)
- Make the strategy control the plays by the array play_set_ (switch its name for play_list_), which is not found in the class PlayController
- Create an abstract class Play of which the different plays will inherit from
- Make the PlayController choose from those new classes the play the strategy wants
- Make action_controller use less internal variables
- Create 2 states that define the position of the robots in the beginning of the game and after each goal (one state for when you have the ball, and one for when you dont)
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