If you like my content, you can support my channel. I will greatly help me to develop more interesting projects 😀 To support channel: PayPal:www.paypal.com/donate/?hosted_button_id=XHXABEQL94444 Patreon:www.patreon.com/robo_age Buy me a coffee: bmc.link/roboage21Y
Hi, thanks for the tutorial! I am actually a beginner and trying to make a 6DOF robotic arm which will have ROS2+ Arduino interface, so if I copy your steps, will I be able to achieve the same results as of you? I have Humble and 22.04
Hey very nice video! thanks for sharing and taking your time to explain all this. Where can I see into your robot core? The code or sketch that drive your motors.
Thank you for your comment. I use Odrive board to drive the motors. So you can use my code only with this specific board. And I use Arduino to send commands to Odrive. It's just standard serial communication.
Hi i am working on a robotic arm in ros2 .... In this project i am making a controller arm with 5 potentiometers installed at every joint (5th potentiometer is for gripper) , the angles data will be transferred through micro_ros publisher node in esp32 wirelessly to ros2 in the pc, a subscriber node will receive the data .....i have the arduino code of a robotic arm from a tutorial but don't know how to convert it to use in micro_ros also i am struggling with ros2_control how to connect my subscriber node to the 3d model in gazebo.... basically the simulation arm in gazebo has to mimic the movements of the controller arm....
You don't have to make a controller arm just make a tutorial in which you will be controlling your robotic arm with 6 potentiometers i can give you the link to the arduino code if you are interested
Hi. Why do you need micro_ros on Arduino at all. You can transfer data from ROS to Arduino through serial port. You don't need any external libraries for that. I used micro_ros once and I can't say it's very convenient . Concerning gazebo, you will need to send the same commands to ros2 controller that you will send to real robot. Then robot in your gazebo simulation will repeat movements of your real robot.
@@roboage1027 thanks..... but in this video it seem very complex. I mean very very complex It's my FYP project and i can't figure it out it'll be very helpful if you make a video in which your robotic arm is controlled wirelessly through potentiometers and ESP32 microcontroller live (means potentiometer connected to esp32 and sending angles data wirelessly with esp32 to the simulation arm)
@@roboage1027 and furthermore right now I'm in the first step to send data from esp32 to the gazebo simulation and control the arm in simulation after that will work on physical robot
Thanks for the wonderful tutorial!! Quick question: now that you have hardware interface to send position for each joints, how is this implemented on Arduino/driver side? Is there pid to do position control on arduino side and trajectory controller takes the responsibility of just sending different positions? I am confused since the trajectory controller is already sending positions by taking encoder feedback, do you still need to implement pid for each joints on Arduino, because the encoder feedback(current position ) would be sent back and you can only apply forward or reverse voltage pwm. Else wouldnt there would be 2 pid loop, one at ros controller level and one at driver level ? I am building a bipedal robot myself and currently i am able to control all joints using just esp32 and now looking into how i canwrite motion planning. I am very new to ros2 You can see my robot here: ua-cam.com/users/shorts0abCoyroeNA?si=66RCjNYzvqmOJHYF
@@sanjeevhegderobotics Arduino just takes position commands from ros controller and sends them to Odrive board. Odrive uses another pid loop to drive bldc motor to commanded position. It is implemented in Odrive's firmware. So basically, there are two PID loops: one on the ROS side and one on the Odrive's side . Odrive's PID outputs pwm signal to adjust voltages on motors phases.
@@roboage1027 Thanks for explaining. I now understand what I need to try. Apart from position, I think I need velocity interface since I want to achieve trajectory for walking where joints of 2 legs does coordinated movement to different positions with different velocity within same time frame. OR do you think the time parameterization of moveit will take care of it?
@@sanjeevhegderobotics I think you are right. Time parametrisation should take care . You just need to specify correct target points for your trajectory controllers in terms of desired joints positions and time constraints.
There's no specific ros2 package to talk to unreal engine. At least I don't know one. In all my videos, I just use shared memory to exchange information between ros2 and UE. If you mean some package to run ros2 on real hardware , you need to write your own hardware interface . There's standard ros2 hardware interface template. Take it and rewrite read and write functions in it to receive and send information from and to your hardware. I this video I use serial port to talk to arduino. In read function I read positions of each of the joints and in write function I write commands from controllers to arduino.
If you like my content, you can support my channel. I will greatly help me to develop more interesting projects 😀
To support channel:
PayPal:www.paypal.com/donate/?hosted_button_id=XHXABEQL94444
Patreon:www.patreon.com/robo_age
Buy me a coffee: bmc.link/roboage21Y
З цікавістю спостерігаю за вашим проектом,добре , що в такий важкий час для нашої країни цей напрямок розвивається
Very good explanation. Thank you 👍
Hi, thanks for the tutorial! I am actually a beginner and trying to make a 6DOF robotic arm which will have ROS2+ Arduino interface, so if I copy your steps, will I be able to achieve the same results as of you? I have Humble and 22.04
Great tutorial! Thanks!
I like your channel. I'll support you.
Good video!!! Thanks
Good video!
Thank you for the tutorial. I am wondering what is the most necessary math to understand is needeed for robotics? Thanks.
Thank you for your comment. Linear algebra, I guess. In robotics, matrices and vectors are everywhere
@@roboage1027 Thank you!
can i take link form this information?
Hey very nice video! thanks for sharing and taking your time to explain all this. Where can I see into your robot core? The code or sketch that drive your motors.
Thank you for your comment. I use Odrive board to drive the motors. So you can use my code only with this specific board. And I use Arduino to send commands to Odrive. It's just standard serial communication.
Really good channel.
Is it possible to have ros2_control work together on foxy (jetson nano) and humble (workstation)?
Excellent
Can I package the game as an IPA / apk game then running it on my phone in order to control the robot?
No, it's just for simulation.
Is the code available?
what is custom_hardware.launch.py is launching? @12.26 min
Just standard ros2 launch file. docs.ros.org/en/jazzy/Tutorials/Intermediate/Launch/Creating-Launch-Files.html
Is the source code available by any chance?
Hi i am working on a robotic arm in ros2 .... In this project i am making a controller arm with 5 potentiometers installed at every joint (5th potentiometer is for gripper) , the angles data will be transferred through micro_ros publisher node in esp32 wirelessly to ros2 in the pc, a subscriber node will receive the data .....i have the arduino code of a robotic arm from a tutorial but don't know how to convert it to use in micro_ros also i am struggling with ros2_control how to connect my subscriber node to the 3d model in gazebo.... basically the simulation arm in gazebo has to mimic the movements of the controller arm....
Please make a video for it will be very grateful
You don't have to make a controller arm just make a tutorial in which you will be controlling your robotic arm with 6 potentiometers i can give you the link to the arduino code if you are interested
Hi. Why do you need micro_ros on Arduino at all. You can transfer data from ROS to Arduino through serial port. You don't need any external libraries for that. I used micro_ros once and I can't say it's very convenient . Concerning gazebo, you will need to send the same commands to ros2 controller that you will send to real robot. Then robot in your gazebo simulation will repeat movements of your real robot.
@@roboage1027 thanks..... but in this video it seem very complex. I mean very very complex
It's my FYP project and i can't figure it out it'll be very helpful if you make a video in which your robotic arm is controlled wirelessly through potentiometers and ESP32 microcontroller live (means potentiometer connected to esp32 and sending angles data wirelessly with esp32 to the simulation arm)
@@roboage1027 and furthermore right now I'm in the first step to send data from esp32 to the gazebo simulation and control the arm in simulation after that will work on physical robot
Thanks for the wonderful tutorial!!
Quick question: now that you have hardware interface to send position for each joints, how is this implemented on Arduino/driver side?
Is there pid to do position control on arduino side and trajectory controller takes the responsibility of just sending different positions?
I am confused since the trajectory controller is already sending positions by taking encoder feedback, do you still need to implement pid for each joints on Arduino, because the encoder feedback(current position ) would be sent back and you can only apply forward or reverse voltage pwm. Else wouldnt there would be 2 pid loop, one at ros controller level and one at driver level ?
I am building a bipedal robot myself and currently i am able to control all joints using just esp32 and now looking into how i canwrite motion planning. I am very new to ros2
You can see my robot here: ua-cam.com/users/shorts0abCoyroeNA?si=66RCjNYzvqmOJHYF
@@sanjeevhegderobotics Arduino just takes position commands from ros controller and sends them to Odrive board. Odrive uses another pid loop to drive bldc motor to commanded position. It is implemented in Odrive's firmware. So basically, there are two PID loops: one on the ROS side and one on the Odrive's side . Odrive's PID outputs pwm signal to adjust voltages on motors phases.
@@roboage1027 Thanks for explaining. I now understand what I need to try.
Apart from position, I think I need velocity interface since I want to achieve trajectory for walking where joints of 2 legs does coordinated movement to different positions with different velocity within same time frame. OR do you think the time parameterization of moveit will take care of it?
@@sanjeevhegderobotics I think you are right. Time parametrisation should take care . You just need to specify correct target points for your trajectory controllers in terms of desired joints positions and time constraints.
How can I use rose pkg in this video 17:00?
There's no specific ros2 package to talk to unreal engine. At least I don't know one. In all my videos, I just use shared memory to exchange information between ros2 and UE. If you mean some package to run ros2 on real hardware , you need to write your own hardware interface . There's standard ros2 hardware interface template. Take it and rewrite read and write functions in it to receive and send information from and to your hardware. I this video I use serial port to talk to arduino. In read function I read positions of each of the joints and in write function I write commands from controllers to arduino.
"Promosm"