Skip to content

Commit 4911a44

Browse files
HerculoxzaPR0T0
andauthored
[ Update ] : Rviz to Rviz2 porting with updates main README.md (#70)
* Update rviz.launch.py * Update README.md Description of Rviz2 and few necessary commands to monitor publisher and subscriber * Update display.launch.py added GUI to launch rviz * Update rviz.py updated Rviz script as per Rviz2 documentation and made necessary changes * Update README.md made the suggested changes * Update rviz.py made the suggested changes * Updated CMakeLists.txt with suggested changes * reverted the changes of readme * Updated README.md * Updated rviz.py * Updated README.md * Updated README.md * Updated README.md * Updated LICENSE.md * Update README.md * Add files via upload * Delete assets/simulation_mario_v2.3.mp4 * Add files via upload * Updated README.md with new descriptinos and techstack of mario v2.3 * Update LICENSE --------- Co-authored-by: Mohd Alqama Shaikh <[email protected]>
1 parent 34867fd commit 4911a44

File tree

2 files changed

+35
-31
lines changed

2 files changed

+35
-31
lines changed

README.md

+35-31
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# MARIO WORKSHOP 2.2
1+
# MARIO WORKSHOP 2.3
22
*MARIO* abbreviation for *Manipulator on ROS Based Input Output* is a bot with 3 Degree of Freedom. It consists of two SG90 micro servo and one MG995 metal gear servo motor. The servo motors are placed on base, elbow and shoulder enabling it with 3 Degrees of Freedom.
33

44
## Sneek Peek
@@ -8,7 +8,7 @@
88

99
### Working of the Mario Bot
1010

11-
<p align="center"><img src="assets/Gif2_AdobeExpress.gif" width="500" height="500"></p>
11+
<p align="center"><img src="assets/simulation_mario_v2.3.gif" width="500" height="500"></p>
1212

1313
### Mario bot simulated using Gazebo
1414

@@ -17,20 +17,20 @@
1717

1818

1919
## File Structure
20-
├── 1_chatter_listener # talker and listener script to understand the nodes and communications in ROS
21-
├── 2_simulation_dh # simulation of DH paramteres
22-
├── 3_simulation_rviz # simulation of MARIO bot on rviz
23-
├── 4_simulation_gazebo # simulation of MARIO bot on gazebo
24-
├── assets # contains necessary gifs, images
25-
├── firmware # contains ESP-IDF examples for controlling servo motors and rosserial
26-
│ ├── 1_servo_set_zero # example in ESP-IDF to set angles of all servo motor zero
27-
│ ├── 2_servo_sweep # example in ESP-IDF to set variable angles in servo motor
28-
│ ├── 3_rosserial_rviz # example in ESP-IDF to interface with rviz environment as well as ESP32
29-
│ ├── 4_rosserial_gazebo # example in ESP-IDF to interface with gazebo environment as well as ESP32
30-
│ ├── 5_servo_test_webserver # example in ESP-IDF to set angles of servo over the webserver interface
31-
│ └── components # contains all the dependencies required for the above examples
32-
│ ├── rosserial_esp32 # rosserial library to setup interface between ros environment and ESP32
33-
│ └── sra-board-component # library to interface with SRA board
20+
├── 1_chatter_listener # talker and listener script to understand the nodes and communications in ROS
21+
├── 2_simulation_dh # simulation of DH paramteres
22+
├── 3_simulation_rviz # simulation of MARIO bot on rviz
23+
├── 4_simulation_gazebo # simulation of MARIO bot on gazebo
24+
├── assets # contains necessary gifs, images
25+
├── firmware # contains ESP-IDF examples for controlling servo motors and micro-ROS
26+
│ ├── 1_servo_set_zero # example in ESP-IDF to set angles of all servo motor zero
27+
│ ├── 2_servo_sweep # example in ESP-IDF to set variable angles in servo motor
28+
│ ├── 3_microros_rviz # example in ESP-IDF to interface with rviz environment as well as ESP32
29+
│ ├── 4_microros_gazebo # example in ESP-IDF to interface with gazebo environment as well as ESP32
30+
│ ├── 5_servo_test_webserver # example in ESP-IDF to set angles of servo over the webserver interface
31+
│ └── components # contains all the dependencies required for the above examples
32+
│ ├── micro_ros_espidf_component # library to interface between micro-ROS environment and ESP32
33+
│ └── sra-board-component # library to interface with SRA board
3434
├── LICENSE
3535
└── README.md
3636

@@ -39,28 +39,32 @@
3939
* DH Parameters :- Denavit–Hartenberg parameters (also called DH parameters) are the four parameters associated with a particular convention for attaching reference frames to the links of a spatial kinematic chain, or robot manipulator
4040
* Forward Kinematics :- Forward kinematics refers to the use of the kinematic equations of a robot to compute the position of the end-effector from specified values for the joint parameters. The kinematics equations of the robot are used in robotics, computer games, and animation.
4141
* Inverse Kinematics :- inverse kinematics is the mathematical process of calculating the variable joint parameters needed to place the end of a kinematic chain, such as a robot manipulator or animation character's skeleton, in a given position and orientation relative to the start of the chain.
42-
## ROS
43-
ROS is an open-source, meta-operating system for your robot. It provides the services you would expect from an operating system,
44-
including hardware abstraction, low-level device control, implementation of commonly-used functionality, message-passing between processes,
45-
and package management.
42+
## ROS-2
43+
ROS2 is the ultimate toolkit for robotics enthusiasts and professionals alike. Seamlessly integrating hardware and software, ROS2 streamlines development workflows, accelerates prototyping, and enables rapid iteration. With its modular architecture and extensive library of reusable components, ROS2 simplifies the creation of complex robotics projects, from autonomous drones to collaborative robot arms.
4644

4745
## Publisher and Subscriber
4846
Publish/Subscribe is a messaging pattern that aims to decouple the sending (Publisher) and receiving (Subscriber) party. A real world example could be a sport mobile app that shows you up-to-date information of a particular football game you're interested in. In this case you are the subscriber, as you express interest in this specific game. On the other side sits the publisher, which is an online reporter that feeds a system with the actual match data.
4947
This system, which is often referred as the message broker brings the two parties together by sending the new data to all interested subscribers.
5048

5149
While ROS works on the same system, this system is also used in various other libraries like MQTT.
5250

53-
## ESPIDF
51+
# MICRO-ROS
52+
micro-ROS is a robotic framework targeting embedded and deep-embedded robot components with extremely constrained computational resources. These devices have special characteristics: a minimum real-time operating system or no operating system, battery-powered, wireless low bandwidth connections, and intermittent operation with sleep periods.
53+
54+
## ESP-IDF
5455
ESP-IDF is the development framework for Espressif SoCs.The [SRA Board](https://github.com/SRA-VJTI/sra-board-hardware-design) uses ESP32 as microcontroller, hence ESPIDF is required
5556
to code the ESP32. Examples included inside firmware directory has been written in ESPIDF version 4.2 .
5657

57-
## ROSSERIAL
58-
ROS Serial is a point-to-point version of ROS communications over serial, primarily for integrating low-cost microcontrollers (Arduino) into ROS.
59-
ROS serial consists of a general p2p protocol, libraries for use with Arduino, and nodes for the PC/Tablet side (currently in both Python and Java).
60-
61-
## Installation of ROS
62-
63-
ROS Noetic is now used by MARIO, and there are two ways to install it.
64-
Running `install_codes_jammy.sh` for 22.04 installs ROS Noetic via [Robostack](https://robostack.github.io/), whereas running `install_codes_focal.sh` for 20.04 installs ROS Noetic via the official ROS repository.
65-
66-
`install_codes_jammy.sh` requires itself to be run twice, and run using the command `bash -i install_codes_jammy.sh`. The first time it is run, it will install the Robostack repository, and the second time it is run, it will install ROS Noetic and all the required packages.
58+
## Installation of ROS2
59+
- Clone SRA-VJTI's MARIO repository on your system
60+
```bash
61+
git clone --recursive https://github.com/SRA-VJTI/MARIO.git
62+
```
63+
- Change terminal directory inside the cloned repository
64+
```bash
65+
cd MARIO/
66+
```
67+
- Run the installation script
68+
```bash
69+
./installation.sh
70+
```

assets/simulation_mario_v2.3.gif

18.1 MB
Loading

0 commit comments

Comments
 (0)