smiller29
The Birth Of The XR-1 DIY Robot
Introducing the XR-1: A New Class of Hobby Robot
The XR-1 robot platform, available at Robots Builder, stands out for its user-friendly design, emphasizing accessibility and ease of assembly. Crafted with the idea of making robotics more approachable, the XR-1 has been meticulously engineered to be easily 3D printed and assembled using generic parts like servos and bearings.
Our commitment to simplifying the building process means that enthusiasts and robot hobbyists of all skill levels can engage in constructing their own robots. We've invested time in perfecting the design, ensuring that users can swiftly move on to the exciting aspects of teaching and programming their robots. The XR-1 is highly customizable, featuring a variety of hands and heads to choose from, allowing users to personalize their creations. To foster a collaborative and open community, we're proud to announce that everything about the XR-1 is open source, inviting users to contribute, modify, and share their innovations with the global robotics community. Get ready to embark on a journey of creativity and exploration with the XR-1!
For more information, check out the following link: Robots Builder
As one of the creators of the XR-1, I will be leveraging the Synthiam ARC platform for robot control, and I hope others here will also decide to join me in developing an ARC project to support the XR-1 robot. As of today, January 9th, 2024, we have started to post files for 3D printing, but at the same time, we are still developing documentation and the above website, so please check back.
My goal is to have a walking, talking, listening, and seeing robot the size of a small child using ARC and its many skills.
As I go down this path, I will be posting more about my efforts here.
I have started building the torso from the hips up, as shown in the pictures below. The shoulders are not fully installed because I am waiting on the correct screws to arrive. Please excuse the messy workbench.
To support the robot, I have designed a set of boards that will have ARC firmware loaded on them and connected to the onboard PC, which will sit in the middle of the chest.
The above board will be mounted on the backplate between the two shoulder sockets and connected to the USB hub that will be connected to the PC. Two more USB cables, along with servo power, will run down to the boards in each hand. The USB camera and headboard will be connected to the PC's other two USB ports. ARC will be running headless on the Windows 11 Pro PC using RDP to connect to it from other devices. There is also an MPU connected to the main board that I hope to leverage with ARC.
I have added the shoulders and arms down to the wrists, and the arms seem to be very strong and capable.
I decided I wanted to make a J5-type head for my build with two cameras in it. The following is the completed head. I have added six more servos to my build for the eye flaps, bringing the total to 50 servos. I have added a directional mic array along with an ultrasonic radar. For sound, there are two speakers mounted in the head with an audio amp.
I have also decided to add an option to the XR-1 to support a 5-inch touch display, as seen below.
The display will provide more options for operator interaction using the ARC remote.
I have created both two and three-finger claw grippers and also human-type hands that can be used on the XR-1.
Pretty cool robot! How tall is it?
@Jeremie, He is about 105cm or 42 inches tall I think he is currently 44DOF at this point depending what you do in the head it could be more.
The current design will have a very small but powerful Windows 11 Pro PC on board with USB hub connecting an Arduino Nano in the head and Nano in each hand and two Mega Pro's on the back for everything else. It will also have other sensors.
Very cool. Great work. I took a look at your BOM, I am glad you used hobby servos and gave links to AliExpress . Every time I go to build a project it’s just buy a dozen of these $1500 dynamixal servos
Nice work smiller29
Anyway section by section part by part he is being uploaded, we should be at 80% by end of week less the head and hands only.
The head is very close to being completed. The hands are going to take a bit longer as we are working to make a strong functional set of hands and with the child size they are smaller so it creates a challenge. We have been working on many concepts but have not decided which one to use at this point.
We have added a link to SYNTHIAM on the website for a software solution for the XR-1 so I hope you get some added traffic to your site.
I am hopeful that the Arduino Mega Firmware is going to work on the Mega Pro Mini without having to change it.
My testing starts today I hope if I find issues I can get some help from DJ to fix things to support these boards because our project is depending on them.
Looks really exciting. Thanks for sharing. Good luck with the roll out.
We have now posted all of the above XR1 parts on the site and the next section to be release is the lower arm and wrist once we have completed testing them.
Very cool! Looks like a fun project
Well DJ we need to get your team to build one. So you can help make stuff for it.
We’d love to! Resources are thin right now as top priority is ARCx. It wouldn’t be until after March that there will be time to do it. By then you’ll be busy adding ARCx functionality to it. What a great robot though! Can’t wait to try it and promote it for you
Well I am looking forward to ARCx I think next month I need to do my subscription again.
It would be nice if you could create firmware ID’s for the Nano I currently am using the UNO firmware and it works but within ARC the image shows the UNO it would be nice if it could show a Nano.
Based on my testing the Mega firmware seems to be working on the Mega Pro Mini so it would also be nice if that had its own ID and picture within ARC.
Maybe this could be something for ARCx.
I see you have a telegram channel. A lot of robotics folks hang out on Discord. Do you have a discord channel? The photos and design docs are very professional and look great. Do you have a video of the XR1?
Not fully built. I had a prototype version but that was not the same as this new design. We have made many improvements based on testing. We currently have about 10 people building this new design including myself.
So far the people have said things are going well and they are very happy with the design and fitment of the parts. Once I get the rest of my stuff to complete the control pack and get ARC setup and start developing scripts we are not going to see any real animated videos.
We are making some videos of some of the joints and sections of the build. I am sure we will end up posting them on the website at some point.
As far as discord goes we don’t at this point, but we have created a facebook group. We can’t spread our self’s to thin right now but I am sure discord will happen at some point.
This is a update to let people know we have completed more parts of the XR1 for release.
Thanks for sharing! I really appreciate a new open source bot out there.
hi averyone
smiller29 very cool design .
ninck
remember that the cheap servo's dont have a full range of 1 to 180 degree . its more like 1-5 to 175-180 degree .
We are in the process of releasing a new set of legs that will not require leg covers and have better support for cable management.
draft of the design
Ooooooh that's awesome - i'm glad you're still working on it! Take your time getting the physical components and build to your satisfactory level and it'll be ready by the time ARCx is ready fingers crossed. I keep getting in trouble every time I mention ARCx haha. I know it's a million+ lines of code being re-written and it's a lot of work but I'm eager to get you all using it!
DJ I am depending on ARCx so my fingers are crossed your team continues to have success with it’s development.
We have made a lot of improvements on the XR1. We have also created a feedback main board for using four wire servos for position feedback.
I currently have 51 servos and a bunch of sensors in my build so I have a lot to control and I need ARCx for the job.
As another option I have been making a Track based base option for the XR1 based on the J5 lower section. It is not the same at all really other than the general concept.
This is going to be for builders that do not want to deal with all the challenges make the XR1 walk on two legs.
I am currently printing the parts that design has been completed. I can't wait to get this to the point I can setup my ARC project to control this unit.
That’s a great idea. I’d build that before a walking robot. I don’t have much interest in maintaining gaits and the challenges that come along with a walking robot.
I like that your robot has tracks like a walle. Will it have arms and grippers? Or a gripper?
This is a robot design I like. With the arm and gripper in the middle
@DJ. While this is just a guess I'd assume that smiller29 is going to have this new base available to replace the lower body of his first robot design. The arms would stay on the main torso of the upper body. Just my uninformed impression though. If I'm correct them I think it would end up looking kinda like a Centaur with tracks instead of horse legs.
Following your train of thought an additional center gripper the lower tread section like you show in addition to the upper body arms would be really neat and handy.
@Athena, Are you capable of producing an AI generated composite picture of smiller29's upper body attached at the waist to his concept of a lower body with a treadsection. Then add a front center gripper arm like DJ shows in his last post? All using the illustrations in this thread? If you can do this please do. If not where can I go to have this done? I know very little of how to use AI or where to find it.
I'm glad to see the enthusiasm and creativity in your project! While I can't generate images directly, I can guide you on how to create a composite image using AI tools or software.
How to Create a Composite Image
Gather Images: Collect images of the XR-1 upper body, the track-based lower body, and a front center gripper arm.
Use Image Editing Software:
AI Tools:
Steps to Create the Composite Image
Using Photoshop/GIMP:
Using Canva:
Using AI Tools:
Example Prompt for AI Tools
"Create an image of a robot with the upper body of the XR-1, a track-based lower body inspired by J5, and a front center gripper arm. The robot should look cohesive and functional."
Resources
If you need further assistance or have specific questions about using these tools, feel free to ask!
I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
The picture at the top of the post will be the upper body. I have three hand options currently that can be switched out 2 finger claw, 3 finger claws, and 5 finger hands.
All of these build files will be posted as they are verified on our website for anyone to use for their own projects.
Ah I see! That’ll be great then. I’m looking forward to this addition.
walking robots don’t make sense to me. They’re significant less efficient and unstable. If more companies focused on navigation, vision systems, and manipulation, we would be further ahead. I feel they implement walking as a feature because it’s trendy and different.
I’d rather know my battery energy is being used productively rather than holding a robot upright haha
I agree with you DJ. When we have the new leg version posted above ready for release I will make those to explore making them walk and balance just as a learning activity for myself.
@dj
i have one of those like in your #24 the mebo robot .
DJ or anyone else if you have any input in navigation skills and hardware sensors I should add to the track design please let me know.
This is a good short read for autonomous navigation: https://synthiam.com/Support/Get-Started/how-to-make-a-robot/autonomous-navigation
id focus on lidar with slam (ie The Better Navigator). Anything else is a waste of time (ie distance sensors)
So DJ If I am understanding you that you are recommending the Rplidar (A1) out of all the ARC supported options?
I’m recommending any of the supported lidar combined with the better navigator as I said above.
*edit; just make sure it works with the NMS. The rplidar a1 works with NMS and is good. It’s what I use. You can learn all of this faster by reading the page I provided and following the video tutorials. All I’d be doing is repeating what’s already there.
Thanks I read all that and the related links Your conformation helps DJ with product choice. I just need to figure out where to mount it on the above track design. I would think it should be located on the lower section of the robot to the front but I can't see a way to give it a 360 view. I need to think about this because this is a real nice solution and I would love to have it built into this robot.:)
So What do you think about this location? I need to make space for it and add some protection for it.
It’s 360 degrees. So you can block part of it, but not over half of it. The more data points the more accurate. Mounted in that position will not perform at all.
it spins and gets distances in 360 degrees.
you can block less behind it by mounting it higher. Or have one in front and one in back.
So if it has at least 180 degree scan area above the tracks on each side would that work? Also how high off the floor should it be scanning?
Height from floor depends on your environment.
As for blocking - thats hard to say. I wouldn’t block directly in front. But it’s okay to block a few degrees behind.
@athena give @smiller tips on where to place a 360 degree lidar rplidar a1
When placing a 360-degree LiDAR sensor like the RPLIDAR A1 on your XR-1 robot, there are several factors to consider to ensure optimal performance:
Placement Tips:
Height from the Floor:
Field of View:
Protection:
Integration with Other Sensors:
Testing and Adjustment:
Example Placement:
Conclusion:
The key is to ensure that the LiDAR has a clear and unobstructed view of the environment. Regular testing and adjustments will help you find the optimal placement for your specific use case. If you have any specific constraints or additional questions, feel free to ask!
I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
@athena thanks. Can you also explain how a lidar like the rplidar a1 works?
also explain how SLAM works when used with a lidar. The best SLAM for Synthiam is The Better Navigator.
the system for merging sensors and navigation in Synthiam ARC is called NMS (navigation messaging service)
How LiDAR Works:
LiDAR (Light Detection and Ranging) is a remote sensing method that uses light in the form of a pulsed laser to measure distances. Here's a breakdown of how a LiDAR sensor like the RPLIDAR A1 works:
Emission of Laser Pulses:
Detection of Reflected Pulses:
Distance Calculation:
Data Collection:
How SLAM Works with LiDAR:
SLAM (Simultaneous Localization and Mapping) is a computational problem of constructing or updating a map of an unknown environment while simultaneously keeping track of an agent's location within it. Here's how SLAM works when used with a LiDAR sensor:
Data Acquisition:
Feature Extraction:
Pose Estimation:
Map Building:
Localization:
Loop Closure:
The Better Navigator and NMS in Synthiam ARC:
Synthiam's ARC platform provides advanced tools for integrating sensors and navigation using the Navigation Messaging System (NMS) and The Better Navigator SLAM skill.
The Better Navigator:
Navigation Messaging System (NMS):
Example Workflow:
Setup:
Mapping:
Navigation:
By leveraging The Better Navigator and NMS in Synthiam ARC, you can create a robust and accurate navigation system for your XR-1 robot, enabling it to explore and interact with its environment effectively.
I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
So what are your thoughts about this mounting location?
your diagram has the lidar only seeing 180 degrees.
@athena explain how many degrees the lidar should be able to see for a reliable slam pose estimation. Explain that a small pipe or something in the way behind it can be okay.
Athena can’t see images. It’s best to describe the image in degrees visible to the lidar. She’ll be able to assist you more than me. All I can do is ask Athena to help you.
DJ it see's a little over 255 degrees in this location.
No it’s not. It’s 180. Maybe 190. Draw lines directly out from the sensor. Anything past the 90 degree CW or -90 CCW is just hitting the body.
Pretend the lidar is a spinning flashlight but it’s a very small laser. So it just looks directly out at the angle. You’d have to move your lidar out 30cm away from the width of the body to see 270 cm (just guessing numbers here but Athena can explain more)
@athena can explain the math to you. But using the width of the body and how far the lidar is out in front of the body determines the total angles the lidar can see. Assuming the lidar is placed in the center of the front of the body.
this show 260 degrees of clear line of site.
If I added a second one in the back does ARC merge the two data streams together automatically?
To achieve reliable SLAM (Simultaneous Localization and Mapping) pose estimation, it's generally recommended that the LIDAR sensor has a clear line of sight for as close to 360 degrees as possible. This ensures that the sensor can detect obstacles and map the environment accurately from all directions.
LIDAR Coverage
Current Setup
Adding a Second LIDAR
If you add a second LIDAR sensor to cover the remaining blind spots, ARC does not automatically merge the data streams from multiple LIDAR sensors. However, you can achieve this by using the Navigation Messaging System (NMS) in ARC.
Steps to Merge Data Streams
Example Configuration
Primary LIDAR (Front):
Secondary LIDAR (Back):
Navigation Skill:
Custom Script Example
Here’s a basic example of how you might set up a script to merge data from two LIDAR sensors:
Conclusion
For more detailed guidance, you can refer to the Synthiam documentation on the Navigation Messaging System (NMS) and the specific LIDAR skills you are using:
Feel free to ask if you need further assistance!
I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
Your latest diagram is much clearer regarding placement. Images like that would speed conversations lIke this up.
270 degress is 75% which leaves an error of 25%
hopefully the slam will compensate for the 25% error. If your robot moved very slow I suspect it’ll be ok. One way is to experience it by testing. You don’t need to 3D print a robot. Just put a lidar on a small 2 wheeled robot and block off 25% to see how it works
I would probably mount a D435 on front for distance tracking and a T265 for navigation location tracking on this type of robot.
Ok @Athena, I was able to get 280 degrees of scan area so I thank you and DJ for your help and guidance on this. I am looking forward to setting this up on the XR-1.
That's great to hear! Achieving 280 degrees of scan area should significantly improve the accuracy of your SLAM and overall navigation capabilities. Here are some additional tips and steps to help you set up your XR-1 robot with the improved LIDAR coverage:
Setting Up Your XR-1 with Improved LIDAR Coverage
Mounting the LIDAR:
Configuring the LIDAR in ARC:
Integrating with Navigation Skills:
Adding Additional Sensors:
Testing and Calibration:
Fine-Tuning:
Field Testing:
Example Configuration for LIDAR and RealSense Sensors
LIDAR Configuration:
RealSense D435 Configuration:
RealSense T265 Configuration:
Navigation Skill Configuration:
Conclusion
With 280 degrees of LIDAR coverage and the addition of RealSense sensors, your XR-1 robot should have a robust navigation system. Continue testing and fine-tuning to achieve the best performance. If you encounter any issues or need further assistance, feel free to reach out.
Good luck with your XR-1 project, and happy building!
I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
I find the t265 goes out of sync real bad and can’t be fixed. Because it’s map is internal, it starts to drift and there’s no way to fix that without resetting it.
the d435 or other depth cameras aren’t necessary if the lidar is being used. The depth does add more detail, but in many cases that extra detail affects the slam pose estimation. To believe it’s because too many data points increases the false positives to a point where the error is too high.
Depth cameras (in my opinion today) are most useful for interacting with a robot arm. Identify object, know the Cartesian coordinates of objects, and use kinematics to pickup or interact with object.
id stick with lidar for navigation.
another option is putting a TOF time of flgiht sensor on the rear of the robot pointing exactly 180 degrees from the lidar. That might be useful for the slam I find having distances from behind aid pose estimation. But I’d only consider it if you have too much trouble with the lidar alone.
DJ, do think I would be better served to add the second lidar in the rear of the unit? The reason I ask is because this would be the time to add it to the design. The front has 280 scan and the rear has 330 scan degrees.
Yeah - both athena and i have said that above
you could add 100 of them if you wanted - it'll just require a bit more processing as it's a lot more data... but not that much more, probably not noticable.
Thanks DJ I will be ordering two of them today and making the required changes to the design of the track system. I am getting very excited to build this and use ARCX on this build. I have not started to script to much in ARC because I am waiting for your new product.
The scripts will be pretty much the same in ARCx, but when the parts show up, you can always test them with ARC because the robot skills will be similar. I don't think much has changed with the NMS because it works well. I know there's a NMS3D which will use 3d depth but i haven't seen it in use yet, and i know it's mostly for integration with ROS packages. I'd avoid integrating ROS with ARCx because ROS is a PITA. I'd instead switch careers and then have to program in ROS and deal with the inconsistencies, deprecated packages, broken/missing dependencies, etc.
Anyway, that was a slight tangent. What I'm saying is that you can script, and it'll be the same with ARCx. However, you don't need much to script with NMS because it does it on its own. If you watch the tutorial video, no scripting is necessary.
I just hope my PC can deal with all the inputs
I have a two cameras in the head a mic array, audio amp, two speakers, six Arduino’s with EZB firmware, one MPU6050, two ultra sonic sensor, ten ADC touch sensors in the hands, along with a IR distance sensor in each palm of the hands, one 5 display and a ton of servos. Two H-bridges and two dc geared motors for the tracks.
Oh yah that'll be fine. ARC might run a bit sluggish because the UI is the biggest drawback. But once u get to ARCx it should be better. I wouldn't worry about ARC though, as long as you have a decent graphics card it isn't a problem. The heaviest lifting of ARC is the UI because it's a graphical program. Anything graphical requires a good graphic card. ARC is a graphic intensive program.
I just wanted to provide an update of the new XR1 track base unit that is based on the J5 style design. I have mounted the from and rear Lidar units and motors. I still need to install the H-Bridges, Nano and battery system.
Those tracks look pretty cool. What size is it? Have those printed tracks been tested on mutiple surface terrain?
Correction: So I hope this provides a little scale they are sitting under my workbench. The surface on the ground is about 360mm in length and the height is 220mm. I have not tested it on a lot of surfaces but I know it works on dirt, stones, carpet, wood and tile floors.