Repository for the final project of the course "Fundament of Robotic 2023/2024".
Team members: Carlotta Cazzolli, Riccardo Randon, Martina Panini.
The project involves the simulation of an ur5 manipulator equipped with a ZED camera for perception. The goal is to identify objects on the table, grab them with the gripper of the manipulator and move them according to their class.
Before you begin, ensure you have Eigen lib installed:
sudo apt install libeigen3-dev
git clone https://github.com/rikirandon/roboticProject.git
cd roboticProject- In
roboticProject/worldfolder bring the "blocks.world" file into theros_ws/install/share/ros_impedance_controller/worldsfolder. - Then bring
roboticProject/model/X1-Y2-Z2intoros_ws/install/share/ros_impedance_controller/worlds/model. - In
ros_ws/src/locosim/robot_control/base_controllers/ur5_generic.pychange at line 71 :
self.world_name = 'blocks.world'
- in
ros_ws/src/locosim/robot_control/base_controllers/params.pyat line 32 set True the variable:
'gripper_sim': True,
catkin_make
nano ~/.bashrcAdd the path at the and of the file setup.bash.
source $HOME/roboticProject/devel/setup.bashThen execute.
source ~/.bashrcWe need to run 3 different programs in 3 different terminal:
- The ur5_generic in
ros_ws/src/locosim/robot_control/base_controllers/
python3 ur5_generic.py
- The vision node in
roboticProject/src/package/src/vision/
python3 vision.py
- The motion_planner node
rosrun package motion_planner
├── world
│ └── blocks.world
├── model
│ └── X1-Y2-Z2
├── build
├── devel
├── presentation
│ ├── report_robotics.pdf
│ └── Vroboticproject.mp4
├── src
│ └── package
│ ├── include
│ │ └── package
│ │ ├── jointStatePublisher.h
│ │ └── ur5Object.h
│ ├── src
│ │ ├── motion_planning
│ │ │ ├── jointStatePublisher.cpp
│ │ │ ├── motion_planner.cpp
│ │ │ └── ur5Object.cpp
│ │ ├── tests
│ │ │ ├── testJointStatePublisher.cpp
│ │ │ ├── test_node.cpp
│ │ │ ├── testObject.cpp
│ │ │ └── testUr5Movement.cpp
│ │ └── vision
│ │ └── vision.py
│ └── srv
│ └── coordinates.srv
└── README.md