utra-robosoccer / soccerbot Goto Github PK
View Code? Open in Web Editor NEWSoccer playing robot representing Canada from University of Toronto
Home Page: https://utra-robosoccer.github.io/
License: BSD 3-Clause "New" or "Revised" License
Soccer playing robot representing Canada from University of Toronto
Home Page: https://utra-robosoccer.github.io/
License: BSD 3-Clause "New" or "Revised" License
The goal is to build a simple test program for the L4 microcontroller that can connect to a Dynamixel AX-12 motor and control it. The first objective is to command the motor to move to different positions. Once you can do that, try experimenting with the other functionality that the motor provides. Reading motor positions, reading joint torques values, temperature readings, etc.
http://www.trossenrobotics.com/images/productdownloads/AX-12(English).pdf
Try docker or something
Replace the current map soccerfield.png, which is not actually a soccerfield, and get information for the actual soccerfield dimensions from the latest rulebook
https://www.robocuphumanoid.org/materials/rules/
The map is a 2D grid of the world, where every pixel is 5cm. The map should contain the field lines as dark spots. You should be able to test the map by using map_server. Create a launch file that only launches the map in soccerbot/launch/modules
Ensure the map file is a pgm file, you can use online converters
Once you are done creating a test map. Send a pull request for review
Instead of the soccerfield map, create a map the same size as the small test grass field I created before. Upload that map in the same directory as the new map
The 3D représentation of the smaller test field can be found within soccerbot/soccer-gazebo and the dimensions are written in I think some .sdf file
The current robosoccer.world is not a realistic version of the actual RoboCup. I need someone to turn the turf into the more realistic grass and turn the goal posts white. Also, there we need to encircle the world inside a large white box to simulate the tournament settings
Difficulty; Advanced
Think of the robot as a serial link (Treat the head and arm joints as non-moving)
Given a fixed trajectory for walking. Calculate the velocity of each of the trajectory
https://www.jetsonhacks.com/2018/07/25/i2c-nvidia-jetson-tx2-development-kit/
https://www.robotshop.com/ca/en/16x2-character-lcd-display-white-blue-5v.html
Procure your own device and then test it with the Tx2. Write some python scripts for testing and sending text to the TX2. Retrieve IP address from the robot and automatically display the IP address
Soccer RL is a new effort to try to publish and subscribe entire states onto the robot, and use a 2 neural network method to train the robot to walk. Enable the connection to work first
Difficulty Level: Advanced
Visualize the Humanoid robot as a serial link where one of the foot is the base of the matrix and the other foot is the endpoint of the matrix. Using this, calculate the mass matrix D(q)*qdot in the Robotics Equation. The mass matrix will be a function of the joint variables q qdot. First the velocity values need to be calculated qdot. See task
Create an automated script for the robot to start in a certain position. Basically pass in the simulation parameter the start_position:=lying_down or something
200 line request so that they wont get mad. Add some stuff we want to purchase
We need to record some video data to test localization.
SIMULATION ONLY
Step 1: Setup your ROS environment
Step 2: I merged omnibot workspace and soccer workspace in soccer_ws. Create a branch of soccer_ws called your initials underscore project. (Etc ap_omnibot_description) Add a launch file here to launch the omnibot instead of the soccer bot.
https://github.com/utra-robosoccer/soccer_ws/tree/master/soccerbot/soccer_gazebo/launch
Step 3: Fix the formatting on omnibot model.xacro
Step 4: Run rviz and usb_cam and install on omnibot
Step 5: Create a package that uses http://wiki.ros.org/teleop_twist_keyboard and control the omnibot with the keyboard
Step 6: Run rosbag and record the robot moving around, keep the video for future purposes
REAL ROBOT
Step 1: Setup the communication between the arduino and the robot to be able publish twist messages to the robot
Step 2: Record video data with rosbag
DEADLINE: October 14th. See the status for added milestone
In soccer_description/config, add the motor limit to each robot's angles.
The soccer_hardware will read these parameters (max angle, min angle) at the start of the script
When running, if the angle exceeds that limit. It will stay in the past position
Instead of running soccer build and soccer gazebo.sh in the scripts folder. We have some desktop shortcuts to make things easier for us. Simply create a copy of the old soccer script and modify the names so that it runs the default soccer_rl script
Since some of our development computers don't have GPU and no CUDA as a result, and some others have CUDA, I need to be able to build the environment smoothly without having to create. CATKIN_IGNORE file every time we are pulling the git repository back into the workspace. Should edit the darknet_ros/darknet_ros/CMakeList.txt to not interrupt build when cuda is not found and instead skip the package
Sure just make a python node that upon seeing a ball where the latest transform to the ball is fairly new. Send a ros message of the position you want to move the robot to
And then upon the robot is close enough. Kick the ball
The python node should also keep track of the current state of the robot. (Fallen, standing, walking)
All of these debugged as a ros message
As in the state of the robot is a string that is published every second
For now, actually, one person can just work on the get back up logic in simulation
http://www.connecttech.com/pdf/CTIM-ASG003_Manual.pdf
Instead of using the external USB to serial, use the native serial port. It is currently not working. It is probably some port settings on the TX2. Fix them
Work on the mechanical design have the Autodesk design completed
Larger feet for better balance. Should leave room for microcontroller + wires on the side for pressure sensor testing.
Foot design based on the largest the foot can be from 2020 rule book restrictions: http://humanoid.robocup.org/wp-content/uploads/RCHL-2020-Rules.pdf
You probably already have these. These repositories will be sub repositories under soccer_ws. Also please let @carl Zhang help you setup your IDE. CLion is the best IDE there is
Sure just make a python node that upon seeing a ball where the latest transform to the ball is fairly new. Send a ros message of the position you want to move the robot to
And then upon the robot is close enough. Kick the ball
The python node should also keep track of the current state of the robot. (Fallen, standing, walking)
All of these debugged as a ros message
As in the state of the robot is a string that is published every second
For now, actually, one person can just work on the get back up logic in simulation
Active Center of Mass and Multiple Moment of Inertia Calculations
Find center of mass of multiple objects by using this
http://ruina.tam.cornell.edu/Book/COMRuinaPratap.pdf
Use the parallel axis theorem for total moments of inertia
https://en.wikipedia.org/wiki/Parallel_axis_theorem
Combine these and use it to visualize them in simulink
Based on accessibility, ventilation, modularity, weight of components, etc.
Carl, this is your opportunity to take what you learned in Simulink tutorials and apply
The launch script should basically launch the omnibot into the real robotcup. It should also launch into the test field. I will show the test field later
In scripts/gazebo.sh.
The line $MY_IP only tests wlp4s0 interface to find the IP address, we need to modify this so that it will try a number of different interfaces such as wlan0 in a try catch statement. This will make it so that we don't have to change the interface line everytime we install the simulator on a new robot
Find out how many we need, what we need, in email to AMD
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.